maw: czy on będzie miał jakąś wartość kolekcjonerską to pytanie nie do mnie :) Mnie jego wartość kolekcjonerska nie interesuje :) Interesuje mnie zawartość pamięci EPROM tego carta ;)
pozdrawiam
Seban
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
ASAP ma 20 lat - wydanie 7.0.0 20 grudnia 2005 został utworzony pierwszy commit w repozytorium CVS projektu ASAP (Another Slight Atari Player).
FiSh 0.70 Bocianu wydał FiSh 0.70, shell ułatwiający przeszukiwanie zasobów serwerów TNFS.
Street Fighter II już na Atari 8-bit! Vega i jego zespół wydali finalną wersję kultowej bijatyki. Wymaga 4MB cartridge i 64KB RAM.
Elite Demo 6 na Atari 8-bit! Trwają prace nad konwersją kultowej gry Elite. Szóste demo wprowadza liczne poprawki błędów.
vbcc v5 dla 6502 Kompilator C vbcc doczekał się piątej wersji dystrybucji dla 6502. Zapewnia dużo szybszą arytmetykę FPU i nowe narzędzia.
atari.area forum » Posty przez seban
maw: czy on będzie miał jakąś wartość kolekcjonerską to pytanie nie do mnie :) Mnie jego wartość kolekcjonerska nie interesuje :) Interesuje mnie zawartość pamięci EPROM tego carta ;)
pozdrawiam
Seban
357604
S56023
U72040MZS
'82'85scalaczek obok:UCY7400
maw: czy nie ma nic w stylu 2764, 27128, 27256? te oznaczenia które podałeś zupełnie nic dla mnie nie znaczą :( Odczytując zawartość EPROM można zrekonstruować twój cart na nowej płytce drukowanej (to będzie łatwiejsze niż dołożenie ponownie kawałka ze złączem krawędziowym). Sądząc po pozostałych komponentach jest to cartridge o pojemności 8KB lub 16KB.
pozdrawiam
Seban
Hej!
Zenon mówisz o tym blizzardzie z River Raidem i Turbo DOS-em?
pozdrawiam
Seban
Też się z tego River Raid uśmiałem :D
Co do reanimacji tego blizzarda to nie widzę problemu... jaki jest napis na pamięci EPROM? 27128? A jeszcze jedno pisząc iż da się reanimować miałem myśli odzyskanie zawartości EPROM, a nie naprawę PCB :)
pozdrawiam
Seban
Hej!
Dzięki za info... ja oczywiście chciałem wypożyczyć i oddać w stanie nienaruszonym, działającym i sprawnym. Analiza jest bezinwazyjna :) Oczywiście po "reverse engineeringu" udostępniam zawartość + schemat. Jak w przypadku carta wypożyczonego od Nosty-ego. Jak więc rozumiem teraz wszystko w rękach Piguły... Czekam w takim razie na informacje.
pozdrawiam
Seban
Hej!
A byłbyś skłonny to wypożyczyć to analizy/skopiowania?
pozdrawiam
Seban
Hej!
jell ja chyba nie rozumiem o co Ci chodzi :) schemat masz w moim pierwszym poście w dwóch formatach (wektor, raster). A co to jest "jaki cygan" to nie czaję :D Mogę się domyślać że chciałeś napisać "jak i cygan", ale nadal "cygan" jest dla mnie nieidentyfikowalny :)
pozdrawiam
Seban
Hej!
Tak mi się przypomniało iż Nosty niedawno walczył z przykładowym programem na cartridge i dyskutowana była sprawa inicjalizacji cartrigde. Wspomniane było również iż INIT jest wykonywany przed otwarciem edytora ekranowego i stworzeniem display list... zastanawiano się wtedy co ma to na celu... jak urat w kodzie tego UM Super Cartridge wykorzystano wektor INIT... do czego pewnie jesteście ciekawi :) Już pokazuje:
BBAE LDA #$40
BBB0 STA $02E4 ;RAMSIZ
BBB3 STA $6A ;RAMTOP
BBB5 RTSJak widać w te parę rozkazów obniża RAMTOP i zmniejsza RAMSIZE... robią to po to aby przepisać zawartość carta ($8000-$A000) w miejsce $4000-$7FFF. Potem odłączają cartridge i robią dalej co trzeba. Takie coś powoduje iż pamięć ekranu i DL jest umieszczony poniżej $4000 wiec mogą bez zniszczenia DL ani pamięci obrazu przepisać sobie te 16K w obszar $4000-$7FFF. Czemu tak, a nie inaczej? A to już trzeba by było przejrzeć jakie obszary pamięci wykorzystują loadery i programy zawarte na tym carcie :) Być może obszar $4000-$7FFF nie jest wykorzystany podczas przemieszczania każdego z programów na swoje miejsce (właśnie z tego obszaru).
pozdrawiam
Seban
hej!
No tak naprawdę to napisałem to trochę z ironią :) Miałem nadzieję iż znajdą się ludzie zainteresowani tematem :D I właśnie dla tych ciekawych i dociekliwych to robię (tzn. analizę i reverse engineering tego co mi wpadnie w łapy :) Zresztą moja własna ciekawość też ma w tym udział :) Lubię patrzeć i analizować pracę innych dużo można się dowiedzieć przy okazji takich "wykopalisk" :) To w końcu kawał historii i część mojego dzieciństwa :)
pozdrawiam
Seban
Witajcie!
Dzięki uprzejmości Nosty-ego możecie mieć do dyspozycji zrekonstruowany "Unerring Master Super Cartridge". Jest to cartridge zawierający loadery i kopiery dla systemów turbo zgodnych z AST, ATT, UM. Z dyskusji wcześniej prowadzonych na tym forum wynika iż magnetofony wyposażone w turbo Blizzard również powinny działać z oprogramowaniem zawartym na tym cartridge. Dla przypomnienia, cartridge po uruchomieniu wygląda tak:

Jest to typowy 16KB cartridge, z możliwością odłączenia go poprzez dowolny zapis pod dowolną lokację z zakresu $D500-$D5FF. Zawartość pamięci EPROM tego cartridge możecie pobrać tutaj: UM Super Cartrige EPROM. Plik ten można również uruchomić pod emulatorem Atari800 czy Aatari800Win wybierając jako typ cartridge "Blizzard 16KB cartridge".
Cartridge wyglądał w ten sposób:

Może nasz naklejkowy renowator szanowny "kierownik zamieszania" ;) zechce zrekonstruować również tą naklejkę? :) Jeżeli tak to w razie potrzeby skan karta w 300dpi TIFF jest tutaj.
Dół płytki drukowanej (tzw. PCB) zawierającej komponenty wygląda tak:
Góra PCB wygląda tak:
Dla zainteresowanych rozrysowany schemat cartridge:
wersja PDF: schemat w formacie wektorowym PDF
wersja PNG: schemat w formacie rastrowym PNG
Patrząc na schemat możemy wydzielić dwa funkcjonalne bloki:
1) 16KB pamięć EPROM 27128 podpiętą do magistrali ATARI poprzez sygnały A0-A12, oraz D0-D7. Diody D1, D2 oraz rezystor R2 tworzą prosty układ zastępujący bramkę OR. Pojawienie się zera logicznego na którejkolwiek z linii (~S4 lub ~S5) powoduje wymuszenie zera logicznego na liniach ~OE i ~CE pamięci EPROM, co spowoduje podpięcie jej pod magistralę w momencie kiedy na magistrali adresowej wystąpi adres z zakresu $8000-$8FFF (pojawia się wtedy zero logiczne na linii ~S4) lub $A000-$BFFF (pojawia się wtedy zero logiczne na linii ~S5). Ponieważ w złączu cartridge ATARI mamy tylko linie A0-A12 co umożliwia zaadresowania 8KB, a EPROM mamy 16K... sygnał ~S4 jest również wykorzystany do sterowania linią A13 pamięci EPROM, a co za tym idzie do wyboru odpowiednich 8K z pamięci EPROM.
2) Drugi blok to układ zapewniający możliwość całkowitego odłączenia cartridge poprzez zapis dowolnej wartości pod adres z zakresu $D500-$D5FF. Do tego celu został wykorzystany przerzutnik typu D (dwa takie znajdują się w układzie scalonym 74H74). Po włączeniu zasilania przerzutnik jest ustawiany tak aby na jego wyjściu Q pojawiła się logiczna 1. Jest to realizowane poprzez układ RC, składający się z rezystora R1 oraz kondensatora C1. W chwili włączenia zasilania napięcie na kondensatorze jest bliskie zera, co powoduje iż wejście asynchroniczne wejście SET przerzutnika zostaje wyzwolone i na wyjściu Q pojawia się stan 1. Kondensator zostaje naładowany przez rezystor R1 i przerzutnik pozostaje w takim stanie do czasu gdy nastąpi dowolny zapis pod adres $D500-$D5FF. Gdy dojdzie to takiej sytuacji na wyjściu Q przerzutnika pojawia się zero logiczne co powoduje odłączenie cartridge poprzez podanie tego zera na wejścia RD4 oraz RD5. Dodatkowo wyjście Q jest połączone z asynchronicznym wejściem zerującym przerzutnik RESET (aktywne w stanie zero). Następuje swego rodzaju dodatnie sprzężenie zwrotne i przerzutnik pozostaje w tym stanie (Q=0) do momentu wyłączenia zasilania.
Układ odłączania karta zawiera moim zdaniem drobny błąd konstrukcyjny i działa on zapewne przez przypadek :) Mianowicie... do wykrycia zapisu pod adres $D500-$D5FF potrzeba dwóch sygnałów... właśnie ~CCTL, który informuje o pojawieniu się na magistrali adresowej adresu z przedziału $D500-$D5FF, ale do tego trzeba jeszcze określić czy chodzi o odczyt czy o zapis danych. Do tego celu należy wykorzystać sygnał R/~W. Gdy jest on w stanie 1 informuje on nas iż mamy do czynienia z odczytem danych gdy jest on w stanie 0 wiemy iż chodzi o zapis danych. Ten fakt chciał wykorzystać twórca tego cartridge jednak popełnił on błąd. Przerzutnik typu D (taki jak 7474) przepisuje dane z wejścia D na wyjście Q w momencie gdy pojawi się narastające zbocze zegarowe na wejściu CLK. Jednak w tym wypadku sygnał ~CCTL cały czas utrzymuje się w stanie wysokim a jedynie podczas pojawiania się adresów $d5xx przechodzi do stanu niskiego aby zasygnalizować tan fakt. Również w tym momencie sygnał R/~W ma już ustaloną wartość. Nasz przerzutnik nie zapamiętał jeszcze stanu sygnału R/~W bo nie wystąpiło jeszcze żadne narastające zbocze na wejściu CLK (~CCTL jest w stanie niskim). W następnym cyklu na magistrali (gdy już nie ma dostępu do $D5xx) sygnał ~CCTL zmienia wartość z 0 na 1 w właśnie w tym momencie jest zapamiętywana wartość sygnału R/~W... jednak może być ona już nie aktualna... bo powinna ona być zapamiętana przy opadającym zboczu ~CCTL. Więc dlaczego to działa poprawnie? Sądzę iż dzięki opóźnieniom sygnału R/~W, być może jeszcze przez chwilę zachowuje on poprawną wartość którą udaje się zatrzasnąć w przerzutniku :)
*) symbol "~" którego używałem oznacza negację, czyli opis ~CCTL oznacza iż stanem aktywnym tego sygnału jest stan niski (zero logiczne)
Ufff... ale po co ja wam to wszystko opowiadam :) Pewnie i tak nikogo to nie interesuje :) Tak czy inaczej kolejny relikt z naszej przeszłości mógł zostać uratowany z czeluści zapomnienia :)
Wielkie podziękowania należą się dla kolegi Nosty-ego za chęć wypożyczenia tego cartridge do analizy i dokonania dump-a oraz reverse engineering-u :) DZIĘKI WIELKIE NOSTY! :D
pozdrawiam
Seban
Hej!
ja mysle ze to raczej kwestia ułomnosci mikrostykow...
Ale bez problemu da się to załatać softem :) Wystarczyło kilkakrotnie odczytać stan linii I/O do której jest podpięty przycisk i reagować dopiero po odczycie np. 8 takich samych wartości (0 lub 1). A jak nie ma miejsca na takie zabawy w sofcie to i rozwiązanie tego problemu czysto sprzętowe jest możliwe.
pozdrawiam
Seban
Hej!
Ryszardzie! Wielkie DZIĘKI! I mega super szacunek za chęć działania oraz wytrwałość w drążeniu tematu :D
pozdrawiam serdecznie
Seban
Hej!
Nie wiem czy Trans File DB nie poradził by sobie z tym... ale zanim go odzyskam/znajdę pewnie się zejdzie.
Pozwolę sobie zrobić mały offtopic i zapytać się czy może ktoś ze Świebodzina z firmy "Szok" odezwał się może po twoim ogłoszeniu w gazecie świebodzińskiej?
pozdrawiam
Seban
Hej!
Pin ja również poproszę kopię! Daj znać a na pewno się dogadamy :)
pozdrawiam
Seban
Hej!
Wersja DJVU leży tutaj, plik ma ~10MB. Udało się dokonać konwersji za pomocą online-owego any2djvu konwersja trwała dobrze ponad 1,5h.
Co do DJVU digital to byłoby to świetne rozwiązanie, ale binarka DJVU Libre pod XP nie zawiera tego programu na stronie jest tylko opis jak mogę skompilować ze źródeł, w dodatku są jakieś problemu licencyjne bo djvu digital musi korzystać chyba z GSDjVU... sam do końca tego nie rozumiem nie miałem czasu wnikać... Zobaczę czy binarkach dla Linuxa nie ma skompilowanej djvudigital, przyda się na przyszłość.
pozdrawiam
Seban
Hej!
Nie chcę robić z TIFF-ów bo chcę zachować layout i położenie obrazków takie jak sobie zrobiłem w scribusie. można i PDF do DJVU tyle że online-owa wersja sobie nie radzi z tak dużym PDF-em. Może spróbuje wygenerować EPS-a ze scribusa i pojechać z EPS-a. Zobaczymy. Mam do dyspozycji tylko open source-owego Scribusa i inne darmowe narzędzia nie dysponuje żadnym komercyjnym softem.
pozdrawiam
Seban
Witam!
Dzięki dużej pracy wykonanej przez lt_bri mamy do dyspozycji część książki "ATARI - Poradnik Konstruktora". Jest to zbiór różnorakich materiałów z polskich gazet i czasopism dotyczących ATARI oraz część materiałów opracowanych przez samego autora tego zbioru (jak mówi tekst 2 stronie "Dane zebrał i opracował Ireneusz Wiater - Białystok 1993"). W wasze ręce oddaję wstępną wersję tego co podesłał mi lt_bri, czyli pierwsze 100 stron książki. Materiały które posiadał lt_bri i poddał je skanowaniu były i tak już dość kiepskiej jakości. Wszystkie skany zostały osadzone w dokumencie wygenerowanym przez program "Scribus" w wersji 1.3.3.11 (open source), a następnie został z tego wygenerowany plik PDF (waży na chwilę obecną ponad 75MB). Postanowiłem udostępnić to co jest w tej chwili zrobione może ktoś z was będzie miał więcej czasu i będzie mógł poprawić część plików TIFF (mówię o obróbce typu usunięcie szumu, wyprostowanie stron).
Zdecydowałem się udostępnić to co jest głównie z dwóch powodów:
1) bardzo powolnego tempa w którym obrabiałem pliki (tu liczę na wszą pomoc, może ktoś będzie miał zapał, siłę i czas aby trochę oczyścić i doprowadzić do porządku choć kilka zeskanowanych stron)
2) chciałem zmobilizować lt_bri do dalszego wysiłku aby chciało mu się zeskanować resztę książki (pozostałe strony), bo na chwilę obecną wyglądało to tak iż wysłał on do mnie materiały i zapadła martwa cisza.
Także do waszej dyspozycji przekazuje PDF, znajduje się on tu, uwaga plik PDF wygenerowany przez Scribusa ma ponad 75MB długości.
Przekazuję także zeskanowane pliki TIFF oraz dokument z layoutem dla Scribusa, wszystko jest w archiwum. Plik ma długość ~269MB.
Dajcie w ogóle znać czy w ogóle jesteście zainteresowani dalszym rozwojem tematu. Teraz wszystko w waszych rękach oraz w rękach "lt_bri", bo to dzięki niemu udało się zdobyć i udostępnić te materiały. Tu należą się moje podziękowania dla lt_bri za poświęcony czas oraz pracę włożoną w skanowanie tych materiałów.
ps#1) nie bardzo wiedziałem gdzie umieścić ten wątek, w sumie doszedłem do wniosku iż dział sprzęt może być sensownym rozwiązaniem ponieważ książka zawiera rozwiązania sprzętowe i dotyczy małego ATARI.
ps#2) czy ktoś mi może podpowiedzieć jak szybko i sprawnie dokonać konwersji pliku PDF do formatu DJVU? Próbowałem użyć online-owego konwertera ze strony any2djvu, ale ich serwer chyba wymięka przy 75MB PDF-ie ;)
pozdrawiam
Seban
Hej!
A pytanie mam... czy ustawiasz cokolwiek w obszarze $BFFA-$BFFF? W tych lokacjach powinieneś mieć określony typ cartridge-a i wektor jego startu. Wszystko dokładnie opisał Zenon w Seriousie, oto link:
http://www.serious-dial.atari.pl/SSerious/S06/menu.html
interesuje cię tekst od rozdziału "Jak działa Cartridge".
Podejrzewam iż skoro użyłeś opcji opt f+, XASM wypełnił wolny obszar wartościami $FF, co spowodowało iż w CARTOPT (lokacja $BFFD) znalazło się $FF co spowodowało iż masz tzw. cartridge diagnostyczny.
UPDATE:
Poniżej masz działającego gotowca, tak to mniej więcej powinno wyglądać, plik ASX i wynikowy .ROM masz spakowany tutaj. Do kompilacji używałem XASM-a.
opt f-h-
scr equ $600 ; lokacja bufora ekranu w pamięci RAM (dla potrzeb licznika)
org $a000
; inicjalizacja cartridge, w tym wypadku brak :)
init rts
; start programu
main
; wyczyść pamięć obrazu
ldx #$00
txa
c0 sta scr,x
inx
bne c0
; ustaw adres display list
ldx <dl
ldy >dl
stx $230
sty $231
; ustal kolory liter i tła
lda #$0f
sta $2c5
lda #$c2
sta $2c6
; poczekaj do wystąpienia najbliżeszego przerwania VBL
jsr op
; przygotowanie licznika, wypisz (#000) w lini zawierającej licznik
lda #'#'-32
sta scr
lda #'0'-32
sta scr+1
sta scr+2
sta scr+3
; testowe zwiększanie licznika
count_loop
ldx #2 ; ilość cyfr licznika zmniejszona o 1
cn0 inc scr+1,x ; zwiększaj ostatnią cyfrę
lda scr+1,x ; czy cyfra >9
cmp #['9'-32]+1
bcc cn1 ; nie, koniec pętli
lda #'0'-32 ; tak, zeruj aktualną cyfre
sta scr+1,x
dex ; będziemy zwiększać następną
bpl cn0 ; licznik cyfr<>0, kontynułuj pętlę
cn1
jsr op ; opóźnienie
jsr op
jmp count_loop
; procedura oczekiwania na VBL
op lda $14
cmp:req $14
rts
; display list
dl dta b($70),b($70),b($70),b($42),a(txt),b($02),b($30),b($42),a(scr),b($41),a(dl)
; teksty statyczne
txt dta d'Test startu cartridge $A000-$BFFF v.1.0b'
dta d'0123456789012345678901234567890123456789'
opt f+
org $bffa
dta a(main) ; cart RUN vector
dta b($00) ; cart INS flag
dta b(%01111110) ; cart OPT flags
dta a(init) ; cart INIT vectorpozdrawiam
Seban
Hej!
Dzięki! Wszystko już działa! :D
Seban
Hej!
Mam pytanie dość nietypowe, mianowicie: jakiego emulatora ZX Spectrum powinienem użyć aby obejrzeć produkcje z Forever9 dla platformy ZX Spectrum? co poniektóre produkcje uruchomiły mi się pod "Speccy 1.6" ale za nic nie mogę uruchomić dema które zajęło pierwsze miejsce na emulatorze, a chętnie bym je obejrzał.
pozdrawiam
Seban
Hej!
Postaram się to zrobić jak ogarnę zaległości... obecnie jestem na urlopie i nadrabiam zaległości z rodziną więc pozostaje niewiele czasu na Atari. Mam do dokończenia parę zaległych spraw (AST, UM Cart od Nosty-ego).
Co do GAL-a to mam jedną wątpliwość... jeżeli w GAL-u został zaimplementowany jakiś układ sekwencyjny to będzie problem z otworzeniem zawartości GAL-a za pomocą "truth table". No nic zobaczymy jak się schemat rozrysuje.
pozdrawiam
Seban
Hej!
Ja mam SN-kę gdzie GAL jest zabezpieczony niestety.
pozdrawiam
Seban
Hej!
Może coś spierniczyłem :) Sprawdzę :) Faktem jest iż testowałem tylko na emulatorze :D
pozdrawiam
Seban
Hej!
Seban, jedna uwaga do programu - od razu po odpaleniu zgubil synchronizacje pionowa i przez caly czas testu obraz "latal" wolno w pionie. Moze zrobiles go for NTSC only? ;)
Hmmm... to dziwne... bo program wyłącza zupełnie ekran i powinien być widoczny tylko wykres zrobiony na grafice Player-Missile. Nie powinno być mowy o jakimkolwiek zerwaniu synchronizacji. Do jakiego monitora podłączyłeś Atarkę? Do zwykłego CRT czy jakiegoś LCD lub innego tunera TV lub VGA boxa?
Seban
atari.area forum » Posty przez seban
Wygenerowano w 0.089 sekund, wykonano 17 zapytań