76

Hej!

Dzięki za zgranie, ale mam pytanie możesz spróbować jeszcze raz to zgrać? Dlaczego pytam? Bo obawiam się że to nie cart w fatalnym stanie, ale sam EPROM... próbowałem to uruchomić na szybko na EMU, ale robi się totalny zwis. Przeglądając na szybko zawartość pliku i de-asemblując kod i śledząc jego wykonanie widać przekłamania na bitach co skutkuje że kod nie ma prawa się poprawnie wykonać... np.

    B026: A2 A4             LDX #$A4
    B028: BD C4 B0          LDA $B0C4,X
    B02B: DD 5B 07          CMP $075B,X
    B02E: CA                DEX
    B02F: D0 F7             BNE $B028
    B031: 4C CE F7          JMP $F7CE
    B034: A9 00             LDA #$00
...

Widać iż CMP ($DD) zostało przekłamana, zdecydowanie powinno być tam STA i zapewne nie $075B tez jest błędne, mogę zgadywać że to miało być $F75B. Tyle że nie jestem w stanie tych miejsc z błędami wszystkich wykryć :(  Prośba o powtórzenie dump-a wynika z tego że chciałbym móc oszacować czy uszkodzenia zawartości EPROM są za każdym razem jednakowe i permanentne, czy też te przekłamania są losowe?

77 Ostatnio edytowany przez Yezy (2019-01-09 11:31:50)

Podejście drugie. Prawdopodobnie jest to wina moje programatora (chyba nie najlepiej radzi sobie ze starymi epromami). Porównując pierwszą i drugą wersję w Neo Hex edytorze zauważyłem pewną różnice.  Jeżeli jest możliwość mogę wysłać carta do dokładnej analizy.

Post's attachments

T2001_kopier_stage 2.BIN 4 kb, liczba pobrań: 29 (od 2019-01-09) 

Tylko zalogowani mogą pobierać załączniki.

78

Hej!

Dzięki za drugi dump! Wygląda na to że ten się uruchamia! Sprawdzę go dokładniej wieczorem i dam znać czy nie znalazłem jakichś problemów.

http://seban.pigwa.net/aa/T2001_copy_scr1.png http://seban.pigwa.net/aa/T2001_copy_scr2.png

Gdyby podczas testów okazało się że coś jeszcze nie działa lub zobaczę jakąś sieczkę w kodzie, to będę dawał znać i wtedy mogę zgrać karta u siebie... przy okazji mógłbym go doprowadzić do stanu działania :)

79 Ostatnio edytowany przez seban (2019-01-14 22:57:00)

No skoro zrobiła się już nam tutaj kolejna strona wątku spróbujmy zatem zająć się kolejnym cartem z kolekcji uicr0bee. Tym razem na warsztacie cart  "Turbo Toolbox II" autorstwa Marka Góreckiego znanego także jako Górecki Productions lub EGR General Programming.

Powiem wam ze ten cart mimo, że niby prosty, ale jakoś mnie zmęczył... podchodziłem do niego jak do jeża... głównie ze względu na zawarty w nim kod... i specyficzne mechanizmy, prawdopodobnie zastosowane w celu utrudnienia zmian, kopiowania, etc... przez to wszystko wymagał o wiele więcej uwagi i pracy niż wszystkie do tej pory napotkanie, poza tym chciałem dobrze wszystko udokumentować, bo cart jest do tej pory jednym z niewielu napotkanych gdzie ciekawostka, goni ciekawostkę. Niestety nie nie miałem do niego żadnej instrukcji ani jakichkolwiek informacji... A może ktoś ma jakieś materiały dotyczące tego carta? Albo jaką ulotkę, artykuł, reklamę... swoje własne wspomnienia, cokolwiek innego ;)?.

To co prezentuję tutaj udało mi się ustalić to tylko i wyłącznie na podstawie analizy kodu, więc informacje mogą być niepełne lub wręcz nieścisłe.

Cartridge ma pojemność 32KB (4 banki po 8KB umieszczone w przestrzeni $A000-$BFFF) i nazwijmy to "autorskie" rozwiązanie przełączania tych banków, niestety nieobsługiwane przez żaden emulator. Oprogramowanie zawarte w cartridge prezentuje się następująco:

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr1.png  http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr2.png

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr3.png  http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr4.png

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr5.png  http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr6.png

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr7.png  http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr8.png

Jak widać na pokładzie carta jest zawarta całkiem spora ilość softu dla Turbo Blizzard, a jest to:

  • Universal Loader, Binary Loader - dwa loadery umożliwiające wczytywanie programie typu FILE oraz BOOT. Są dość krótkie ponieważ nie instalują handlera obsługującego urządzenie "T:" w systemie, a jedynie służą wczytaniu jedno-plikowego gry/programu

  • Tape Turbo System - odpowiednik Blizzardowego KOS-a znanego z cartów KNS/Atares

  • The Eternal - dwie wersje programów umożliwiających wprowadzanie poprawek w ładowanych programach (np. nieśmiertelności)

  • Tape Test - umożliwiający sprawdzenie ustawienia głowicy, jakości sygnału zapisanego na taśmie. Zaprezentowany screen-shot pochodzi z emulatora, niestety Altirra nie radzi sobie jeszcze z Blizzard Turbo i doskonale to widać na ekranie... emulacja liczników POKEY-a ostro kuleje... zatem nie da się nawet precyzyjnie wyrysować prawidłowego sygnału, nie mówiąc już o jego poprawnym wczytaniu.

  • Aragorn Copy - całkiem przyzwoity program kopiujący, obsługuje dodatkową pamięć i w przypadku jej obecności bufor na dane jest całkiem spory. Dodatkowo możliwe jest uruchomienie cartridge w taki sposób aby wykonać boot z dyskietki z DOS-em... a potem program kopiujący uruchamia sie automatycznie... w tym celu należy przytrzymać klawisz SHIFT gdy włączamy komputer włożonym cartridge

  • Jester - wymaga jakiegoś dodatkowego rozszerzenia sprzętowego o nazwie "ROMEK", ale z tego co rozumiem kopiuje on OS-ROM do pamięci ROMKA a następnie dokonuje poprawek w OS które powodują że procedury SIO obsługują szybką transmisję w przypadku stacji dysków Happy Warp, Top-Drive czy TOMS-Drive

  • Disk Utility - tak autor nazwał spora ilość opcji dostępną pod klawiszami od J do U, które to opcje możemy podzielić na dwie sekcje... jedna z nich (klawisze J...O) umożliwia zbootowanie dyskietki z obsługą szybkiego SIO instalowaną opcjonalnie pod adresami $100 lub $600, dodatkowo możemy wybrać czy BASIC ma być włączony czy też wyłączony. Druga opcja (klawisze P...U) to loader plików binarnych oraz "cassette boot". Tutaj też można dokonać wyboru co do włączenia BASIC-a czy szybkich procedur SIO.

Wszystkie te programy upakowane zostały w dwóch 8KB bankach zajmujących 16KB pamięci EPROM... w takim razie co znajduje się w dwóch pozostałych bankach? No to jedna z niespodzianek... gdy włączymy komputer z wciśniętym OPTION po chwili oczom naszym ukaże się...

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr9.png  http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr10.png

... prawdę mówiąc przyglądając się sieczce w zrzucie pamięci zastanawiało mnie co zajmuje tyle miejsca... zacząłem oglądać kod startujący cart i gdy zobaczyłem że sprawdza on różne dziwne rzeczy przy starcie... w tym różne klawisze ... po dalszej analizie ustaliłem że sprawdzane są SHIFT i OPTION... o ile SHIFT był jasny (opisano to nawet w krótkim info o Aragorn Copy dostępnym po wciśnięciu klawisza "X" w menu) ... o to co zobaczyłem po uruchomieniu z OPTION spowodowało że uśmiech pojawił się na mojej twarzy :) Nie sądziłem że ta gra była oficjalnie wydana na cartridge przez autora :) W dodatku jako dodatek do Turbo Toolbox II :D ... a ja chyba obiecywałem się streszczać i nie przynudzać... ;) zatem:

1) Zawartość pamięci EPROM:

Turbo Toolbox II - EGR banking - oryginalna zawartość pamięci. Nie da się jej uruchomić na emulatorze... żaden z emu nie wspiera takiego schematu przełączania banków... więcej o tym przy okazji prezentacji schematu.

EDIT1: wszystko wskazuje na to że pomyliłem się generując ten plik (zła kolejność banków w obrazie). Jak tylko sprawa zostanie zweryfikowana na real hardware udostępnię poprawiony plik. Błąd wykrył jeden z użytkowników czytający wątek i zgłosił problem, za co mu serdecznie dziękuję!

EDIT2: Dzięki czujności i pracy, którą wykonał kolega JLS próbując zrekonstruować ten cart, okazało się, że popełniłem fatalny w skutkach błąd przy składaniu pliku "TurboToolboxII_orgEGR.bin" w całość, wszystkie osoby które go pobrały proszone są o zaktualizowanie pliku nową i działającą wersją.

W błędnej wersji przy składaniu pliku w całość zamieniłem linie adresowe A13 i A14 co skutkuje przemieszaniem banków, prawidłowo były w pliku ulokowane banki "00" i "11", natomiast banki "01" i "10" zostały zamienione. JLS podjął próbę odtworzenia carta i okazało się, że nie działa on prawidłowo, zgłosił problem i po opisaniu przez niego zachowania jego wersji carta i analizie problemu odkryłem gdzie popełniłem błąd! Gdyby JLS nie próbował  uruchomić carta pewnie dość długo uszkodzony plik wisiałby tutaj, a ponieważ replika wykonana przez niego po podmianie pliku na prawidłowy zadziałała, możemy mieć pewność ze teraz wszystko z plikiem "oryginalnym" jest OK! Zatem WIELKIE podziękowania dla JLS za wykonaną pracę i cierpliwość przy rozwiązywaniu problemu!

Turbo Toolbox II - Blizzard 32K banking - przeorganizowana wersja EPROM, nic w niej nie było zmieniane oprócz kolejności banków w tymże obrazie, tak się szczęśliwe złożyło nie trzeba było zmienić ani bajtu kodu w tym obrazie, wystarczyła drobna reorganizacja. Być może było tak, że autor carta pisał swoje oprogramowanie tak aby działało na cartridge w tym standardzie, jednak później zmienił schemat bankowania aby jego rozwiązanie było nietypowe i być może nie tak łatwe do powielenia. Ten obraz da się uruchomić na emulatorze wybierając jako typ carta: "Blizzard 32K Cartridge".

TurboToolboxII_orgEGR_fixed_A13,A14.bin:
MD5   : 952ba0425b053fd12fbfa163bd8ef0e9
SHA256: 746a5b53527683843fa10be9e9295efeca094b2f2c971100586703f96cc6c6dc

TurboToolboxII_BLZ32k.bin:
MD5   : b9eb6f8536e9946e20a1ba02fe101c43
SHA256: 911beb38c94e925e83944b6cc9111593c195f148e8a5a20668e5180b6827e96b

UWAGA!!! Jeżeli ktoś ściągnął wcześniej plik: "TurboToolboxII_orgEGR.bin", powinien go skasować jest błędny i nie będzie działał poprawnie, sumy kontrolne uszkodzonego pliku:

TurboToolboxII_orgEGR.bin:
MD5   : b7f155cac9b8c6682754198284ef5df7
SHA256: 76be92e319934f5924689b2b61a7ed33ff24fdb2743d1bce419be9235ba5e80d

2) wersja XEX dająca się uruchomić spod DOS-a lub dowolnego loadera plików binarnych: Turbo_ToolBOX_II.xex.zip.

Z tą wersję było trochę nudnej, żmudnej i monotonnej roboty, zanim to ogarnąłem to trochę minęło. Dużo było śledzenia kodu i wnikania w to co się dzieje w środku ... w sumie to chciałem odpuścić w pewnej chwili bo zastanawiam się czy jest sens aby walczyć z tak specyficznym cartem, takim który może zbootować DOS-a w trakcie swojego initu, etc. Ten cart ma kupę soków bezpośrednio w ROM, i trochę sztuczek i "dirty hacków"...  w dodatku autor z uporem godnym maniaka zabezpieczał i zaciemniał swój kod przepisując po 100 razy różne obszary pamięci z jednego miejsca w drugie, xorując to wszystko z różnymi stałymi wartościami... kiedyś może to było jakieś zabezpieczenie, jednak dziś w dobie emulatorów ze zintegrowanymi debuggerami i możliwością używania break-pointów ... odmiąchanie tego to kwestia tylko czasu i cierpliwości... Koniec końców po zapisaniu paru kartek A4 adresami, narysowaniem co gdzie i jak... wszystkie poprawki w kodzie sprowadziły się do załadowania poszczególnych banków w odpowiednie miejsce pamięci i zmiany 3 bajtów w oryginalnym kodzie co doskonale widać zresztą w strukturze pliku XEX:

001:     $0480 $0522: $00A3
002:     $02E2 $02E3: $0002
     INI $0480
003:     $0523 $055A: $0038
004:     $4000 $BFFF: $8000
005:     $BEE2 $BEE2: $0001
006:     $BF56 $BF56: $0001
007:     $BF79 $BF79: $0001
008:     $02E0 $02E1: $0002
     RUN $0523

Obszar $4000-$BFFF zajmują  4 banki po 8K oryginalnie umieszczone w EPROM, a trzy segmenty o długości jednego bajta to patche poprawiające kod tak aby uruchomił się on bez carta i przepisał dane z innych obszarów niż w oryginale. Z perspektywy czasu patrząc na to ile czasu zajęło mi złożenie tego w całość... i patrząc że wystarczyły 3 bajty i odpowiednia reorganizacja danych... to teraz można się z tego śmiać... jednak parę ładnych godzin poszło :) Ale cóż.. dłubanie w reliktach z przeszłości ma swoją cenę... cieszę się że udało mi się to ogarnąć. Prawdę mówiąc nie sprawdziłem tego jeszcze na real hardware... ale jeżeli okazałoby się że są jakieś dodatkowe zabezpieczenia i coś nie działa to nie omieszkam poinformować o tym fakcie nieco później... teraz muszę trochę od tego odpocząć :]

EDIT: Jeszcze jedna uwaga co do wersji XEX... w przypadku fizycznego cartridge lub uruchamiania jego obrazu na emulatorze (trzeba trzymać SHIFT włączając komputer), można w stacji dysków umieścić dyskietkę z DOS-em, a gdy DOS.SYS się zbootuje, system operacyjny przekaże sterowanie ponownie do kodu zawartego w cartridge, a ten uruchomi "Aragorn Copy". Wtedy będzie możliwa kopiowanie "dysk <--> turbo tape", ponieważ DOS.SYS zapewni instalację handlera dla urządzenia "D:", a "Aragorn Copy" zainstaluje handler dla urządzenia "T:". W przypadku wersji XEX taka operacja jest niemożliwa, ponieważ wciśnięcie SHIFT powoduje wywołanie sekwencji "boot" z ROM komputera, ale tak naprawdę nie ma takiej potrzeby... wystarczy XEX-a załadować z pod DOS-a i będzie można go używać w taki sam sposób (DOS zapewni obsługę "D:", Aragorn obsługę "T:").

3)  Schemat: wektor (PDF), raster color (PNG), raster grayscale (PNG).

I dwa słowa o schemacie i budowie samego carta. Cartridge zawiera w sobie 32KB pamięć EPROM 27C256 o pojemności 32KB. Pamięć podzielono na 4 banki po 8KB umieszczone w przestrzeni $A000-$BFFF. Co ciekawe cartridge ma również podłączoną linię RD4 przez co system myśli że to cart 16KB zajmujący lokację $8000-$BFFF. Jednak EPROM aktywowany jest tylko w przypadku adresowania przestrzeni $A000-$BFFF. Efekt jest taki że w obszarze $8000-$9FFF sa losowe śmiecie zebrane magistrali danych na której żaden w układów nie jest aktywowany. EPROM włączany jest tylko sygnałem ~S5 co powoduje że reaguje tylko na adresy $A000-$BFFF. Być może to celowe działanie autora :)

Teraz o układzie przełączania banków i odłączania carta... zrealizowano go na układzie KM555TM8, czyli sowieckim klonie 74175. To właściwie 4 przerzutniki typu D, ze wspólnym wejściem zegarowym i resetującym. W przypadku tego carta zrealizowano z nich taką hybrydę rejestru przesuwającego z 2-bitowym licznikiem zliczającym w kodzie Graya. Gdyby pomiąć przerzutniki Q1 i Q2... to Q3 i Q4 tworzyły by 2-bitowy licznik adresujący linie A13 i A14 pamięci EPROM... jednak w tym wypadku dodano jeszcze 2 przerzutniki tak aby wyjście ostatniego z nich sterowało stanem linii RD5 odpowiedzialnej za odłączenie cartridge.

Na schemacie dodałem symulację pokazującą zachowanie się całego układu. Sposób zaprojektowania powoduje że po włączeniu lub wciśnięciu RESET na cartridge układ ustala stan wszystkich przerzutników na 0, a ponieważ informacje adresujące linie A13 i A14 oraz linię RD5 są brane z wyjść zanegowanych przerzutników to startowym bankiem jest ten dla którego A13,A14=1, RD5 również przyjmuje stan 1, i cart zostaje włączony i wykryty przez system. Kolejne odwołania do dowolnego adresu z zakresu $D500-$D5FF (aktywność ~CCTL)  powodują zmianę stanów linii A13 i A14 (tabelka zmian umieszczona na schemacie). Kolejne 3 kroki (po reset) adresują kolejne banki carta, ale po następnym kroku cart zostaje odłączony. Co ciekawe dalsza aktywność CCTL pozwala na ponowne włączenie carta jednak już nigdy więcej nie będzie można zaadresować 2 początkowych banków... nastąpi zapętlenie i linie adresowe A13 i A14 wraz z RD5 będą przyjmowały takie stany że włączenie cartridge będzie następowało tylko dla dwóch ostatnich banków zawierających tylko grę "Nexuss". W przypadku gdy będą adresowane pozostałe banki stan lini RD5 będzie ustawiony na "0" co będzie powodowało że cart będzie w tych chwilach wyłączony.

Na koniec prezentacja samego bohatera tego opisu:

Cartrige Turbo Toolbox II, by Górecki Productions:
http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/photos/tt2_cart.jpg

PCB góra:
http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/photos/tt2_pcb_top.jpg

PCB spód:
http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/photos/tt2_pcb_bot.jpg

PCB góra, zbliżenie na informacje o autorze:
http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/photos/tt2_pcb_credits.jpg

80

Ha! Ciekawe znalezisko - Seban, a dasz radę sprawdzić, czy ta wersja gry na cartridge-u poprawnie da się ukończyć? O ile pamiętam - każda znana mi wersja plikowa wykrzaczała się na 29 czy 30 poziomie.
Co do ROMKa - była reklama w jakiejś gazecie, nie wiem czy nie w Bajtku nawet.

Sikor umarł...

81 Ostatnio edytowany przez seban (2019-01-09 23:58:25)

Sikor napisał/a:

Seban, a dasz radę sprawdzić, czy ta wersja gry na cartridge-u poprawnie da się ukończyć? O ile pamiętam - każda znana mi wersja plikowa wykrzaczała się na 29 czy 30 poziomie.

Przyznaję szczerze że ta gra od zawsze doprowadzała mnie do szewskiej pasji :) W czasach kiedy w tę grę próbowałem grać , przejście zaledwie kilku początkowych poziomów było dla mnie sukcesem ;) Ale nie wyobrażam sobie abym mógł próbować dotrzeć do poziomu 29 czy 30 ;) Chyba bym osiwiał :D

Jeżeli ktoś ma cierpliwość to może tą grę uruchomić nawet na emu i to na dwa sposoby:

1. Obraz z carta z bankowaniem Blizzard32K
2. wersja XEX

Na realnym sprzęcie również można uruchomić wersję XEX bez problemu, po czy gdy pojawi się:

http://seban.pigwa.net/uicr0bee/carts/TurboToolboxII/scr/tt2_scr11.png

Wciskamy klawisz OPTION i odpala się gra Nexuss.

Jeżeli ma ktoś cierpliwość, czas i ochotę aby to sprawdzić grając poziom po poziomie byłoby super... Ja mogę spróbować zrobić jakiegoś cheat-a do przechodzenia po poziomach (ale nie wiem czy coś nie jest wbudowane przez autora... coś mi się po głowie kołacze... ale nie pamiętam dobrze tego faktu... sprawdzę zatem!)

EDIT1: o kurde... u fandala jest jakaś wersja z pozmienianymi napisami :( jeszcze "filed by"... jakiś ktoś... ja miałem wersję identyczną z tą na carcie, tzn. w takim sensie że napisy były nie pozmieniane.

EDIT2: sprawdziłem wersję XEX, po 28 levelu który ma "?" jako układ bloków do rozbicia... następuje level 29 z dwoma rzędami klocków u góry, po czym odpala się level 30 i to jest już kaszana i śmiecie na ekranie. sprawdzę zatem oryginał na carcie. Sprawdziłem oryginał na carcie, odpalony na real sprzęcie. Gra zachowuje się dokładnie tak samo... sieczka na 30-levelu.

Czyżby autor założył że nikt nie dotrze tak daleko?

EDIT3: LOL... autor popełnił błąd w kodzie ;) zakładał że poziomów będzie 49... jednak poziomów w grze umieścił 29... poziom 30 faktycznie nie istnieje... po poprawce w kodzie gry po przejściu 29 poziomu... gra po prostu startuje od nowa tzn. od poziomu nr 1 :) nie ma żadnego zakończenia, nawet napisu "congratulations" :D

82

Dzięki Seban, czyli teraz wiadomo, że przeszedłem ją całą ;)

Sikor umarł...

83

Nie ma za co :) Trzeba pomyśleć czy nie zgłosić sprawy do "Clever People", może by zrobili jakąś reedycję z poprawkami? :D

84

Seban: z racji tego, że jesteś z nimi najbliżej :D poprosimy ich o to?
Btw: mam do Ciebie sprawę, ale nie wiem, kiedy Ci tyłek mogę potruć. Puść mi na PW telefon cy cuś, a jak nie - przez PW spróbujemy...

Sikor umarł...

85

@cp... postaram się z nimi skontaktować, przekażę info że jest robota do zrobienia :D
@pw... wysłałem :)

86 Ostatnio edytowany przez seban (2019-01-11 16:31:46)

Wracając na chwilę do cartridge "Turbo2001 + copy" z wbudowanym programem kopiującym "Universal Copy II", którego to dump udostępnił Yezy... sprawdziłem wszystkie różniące sie miejsca pomiędzy pierwszą i drugą wersją pliku... tam gdzie były różnice pomiędzy plikami, to w pliku "stage2" wszystko wygląda dobrze. Zrobiłem też szybkie testy zarówno kopiera jak i systemu turbo (odczyt/zapis, kopiowanie) ... wszystko wydaje się wyglądać dobrze, zatem podsumowując:

http://seban.pigwa.net/atari/Turbo2001_copy/scr/T2001_copy_scr1.png  http://seban.pigwa.net/atari/Turbo2001_copy/scr/T2001_copy_scr2.png

1) sprawdzona zawartość EPROM: Turbo2001 + Copy

Turbo2001_copy.bin:

MD5   : 61e5ee7ab9a59c7544c317935acaa8af
SHA256: 1a4ea1b4f5f4e653f6813672a391f9735dd219bf3ac004fc35828c874e293380

2) przygotowałem również wersję XEX dająca się uruchomić spod DOS-a lub dowolnego loadera plików binarnych: Turbo2001+Copy.xex

Niestety nie wiem jaka jest to wersja Turbo2001 nigdzie w pliku nie ma o tym informacji, trudno mi powiedzieć czy to wersja wcześniejsza czy późniejsza niż ta którą opisałem w tym poście (Turbo2001 v.2.1). Ciekawy jestem czy to co zaprezentował nam Yezy to wersja oficjalna od TOMS czy jakiś klon z dołożonym dodatkowym programem kopiującym autorstwa Jakuba Kruszony. W atariki napisano że Jakub współpracował z TOMS więc być może jest to nawet jego dzieło.

@Yezy: gdybyś chciał aby uruchomić Twój cart, daj znać na e-mail lub PW. Chętnie to uczynię, oczywiście zupełnie bezpłatnie, musiałbyś tylko podesłać mi ten cart.

87 Ostatnio edytowany przez seban (2019-01-11 20:15:00)

Idąc za ciosem i kontynuując wątek cartów Blizzarda, a zarazem streszczając się, bo już zanudzam i spamuje ostatnio forum tematem cartów turbo ;) zaprezentuje dziś kolejny cart z kolekcji uicr0bee, a będzie to kolejny piracki klon carta Blizzard 8K, podpisany przez kogoś o nicku "SHOGUN". Soft zawarty w carcie ma usunięte, bądź pozmieniane napisy... a prezentuje się tak:

http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/scr/shogun_scr1.png  http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/scr/shogun_scr2.png

http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/scr/shogun_scr3.png  http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/scr/shogun_scr4.png

http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/scr/shogun_scr5.png

Jak zatem widać jest to kolejny klon, podobny do tego który był opisany w tym poście.

Przechodząc do do sedna sprawy:

1) Zawartość pamięci EPROM: blizzard_8k(shogun).bin.7z

blizzard_8k(shogun).bin:

MD5   : 83c3164053ae86615426a5ff60ee6269
SHA256: 8c94594dcd7f350ba48fe90dcdc5ff194e9cc2c73c59d623137f7b30f3dfdab4

2) wersja XEX dająca się uruchomić spod DOS-a lub dowolnego loadera plików binarnych: blizzard_8k(shogun).xex.zip

3)  Schemat: wektor (PDF), raster color (PNG), raster grayscale (PNG).

Jak widać budowa standardowa. Cartridge o pojemności 8KB, mapowany w obszar $A000-$BFFF. Można go odłączyć na drodze programowej poprzez dowolne odwołanie do obszaru $D500-$D5FF. Przerzutnik RS realizujący odłączenie cartridge zrealizowano również w standardowy sposób, czyli na dwóch bramkach NAND. Co ciekawe na płytce istnieje też kawałek układu zabezpieczającego skopiowanego z oryginalnego carta Blizzard KNS/Atares, jednak koniec końców nie został on podłączony do linii D6 magistrali danych.

Cartridge prezentuje się tak:
http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/photo/cart_shogun.jpg

PCB góra:
http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/photo/pcb_shogun_top.jpg

PCB spód:
http://seban.pigwa.net/uicr0bee/carts/Blizzard_8k_Shogun/photo/pcb_shogun_bot.jpg

88

Mam pytanko da się skasować EPROM diodą UV?

89

Prawdę mówiąc nie wiem, nigdy nie próbowałem... używam staromodnej metody, czyli świetlówki UV-C. Oczywiście odpowiednio obudowanej i osłoniętej... w wypadku użycia takiej świetlówki należy również uważać na ozon który powstaje w trakcie jej pracy.

Ale zaciekawiłeś mnie na tyle, że sprawdzę to, o ile znajdę jakieś LED-y UV w swoim bałaganie ;)

90

seban napisał/a:

[...]EDIT3: LOL... autor popełnił błąd w kodzie ;) zakładał że poziomów będzie 49... jednak poziomów w grze umieścił 29... poziom 30 faktycznie nie istnieje... po poprawce w kodzie gry po przejściu 29 poziomu... gra po prostu startuje od nowa tzn. od poziomu nr 1 :) nie ma żadnego zakończenia, nawet napisu "congratulations" :D

Seban, jesteś niesamowity, wiwisekcja zagmatwanego kartridża a przy okazji naprawa gry, popsutej przez 30+ lat :)

<-- Kontakt przez "E-mail" gdyż albowiem moja skrzynka "PW" jest pełna i zaprawdę nie mam czego usunąć.

--== Kup Pan/i dyskietkę http://www.atari.org.pl/forum/viewtopic.php?id=18887 ==--

91

seban napisał/a:

Prawdę mówiąc nie wiem, nigdy nie próbowałem... używam staromodnej metody, czyli świetlówki UV-C. Oczywiście odpowiednio obudowanej i osłoniętej... w wypadku użycia takiej świetlówki należy również uważać na ozon który powstaje w trakcie jej pracy.

Ale zaciekawiłeś mnie na tyle, że sprawdzę to, o ile znajdę jakieś LED-y UV w swoim bałaganie ;)

Bo tak teraz patrzę, że trochę tych epromów mam w złomie.
A ledy UV też mam.
Popróbuję coś skasować.

92 Ostatnio edytowany przez seban (2019-01-11 21:40:00)

uicr0Bee napisał/a:

wiwisekcja zagmatwanego kartridża a przy okazji naprawa gry, popsutej przez 30+ lat :)

tzn. żeby była jasność ;) nie poprawiłem tego w obrazach udostępnionych tutaj... sprawdziłem tylko co siedzi tam w kodzie i pamięci (ile jest faktycznie poziomów), a testowałem wszystko po wprowadzeniu poprawki z palca pod emulatorem. Ale sądzę że warto poprawić tą grę i dodać jakiś trainer plus opcję pomijania poziomów ... ale to już trochę później ;-) Jeszcze parę cartów i magnetofonów zostało :D

EDIT1: Jeżeli ktoś chce sobie przetestować to pod emulatorem, np. altirra to gdy uruchomi się gra, wciskamy F8 wchodzimy do debuggera i na konsoli piszemy:

e 3a7a 93

^^^ to poprawka dotycząca ilości plansz. Po wpisaniu aby uruchomić znowu emulator wciskamy ponownie F8 (aby wyłączyć dodatkowe okna które się pojawiły po wciśnięciu F8, wystarczy w menu "debug" odznaczyć opcję "enable debugger"

jeżeli ktoś chce pominąć jakiś poziom to wystarczy że na danym poziomie, uruchomi debugger i na konsoli napisze:

e ed 0

^^^ taki zabieg można wykonać w przypadku każdego poziomu, powoduje to zakończenie aktualnego i przejście do następnego poziomu.

Impuls napisał/a:

A ledy UV też mam. Popróbuję coś skasować.

Daj znać czy się udało i jeżeli się uda to jakiego typu UV LED użyłeś (długość fali, emitowana moc promieniowania).

EDIT2: wychodzi na to że się da... tylko przy 5mW mocy cała operacja trwa parę godzin :) więcej pod adresem: improvising an eprom-eraser.

93

seban napisał/a:

Daj znać czy się udało i jeżeli się uda to jakiego typu UV LED użyłeś (długość fali, emitowana moc promieniowania).

EDIT: wychodzi na to że się da... tylko przy 5mW mocy cała operacja trwa parę godzin :) więcej pod adresem: improvising an eprom-eraser.

Ledy połączyłem szeregowo-równolegle + mały R by na 5V działało zdjęcie na dole ale przy okazji poszukiwań led UV natknąłem się na dwa funkiel nówki epromy po 1MB. fota na dole.
Chyba jakiegoś karta dziś w nocy zrobię.
Ile atari łyka przestrzeni z karta na raz?
Bo chyba trzeba będzie go podzielić.
Tak jak adresy w porcie 8KB?

Post's attachments

IMG_20190111_213215.jpg 1.58 mb, nikt jeszcze nie pobierał tego pliku. 

IMG_20190111_213247.jpg 1.46 mb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

94 Ostatnio edytowany przez seban (2019-01-11 22:13:15)

Co do przestrzeni adresowej to bez podziału na banki to będzie 8K lub 16K. W złączu carta masz 13 linii adresowych (A0-A12). A więc z marszu możesz mieć widoczne 8K w przestrzeni adresowej $A000-$BFFF. Dokładając trochę logiki możesz zrobić cart 16K mapujący się $8000-$BFFF.

Jeżeli chcesz coś więcej... to już bez podziału na banki się nie obejdzie... a standardów podziału na banki jest niestety masa. Można sobie o tym poczytać np. tutaj: Atari 800 emulator cart types. Każdy obraz cartridge większy od 8K czy 16K... wymaga konkretnego standardu bankowania.

Więc jeżeli chcesz robić jakiś cartridge pod konkretny soft to musisz wiedzieć jaki standard bankowania jest przez dany soft wymagany. Jeżeli chcesz robić własny cart zawierający co tam chcesz to zarówno standard przełączania banków jak soft tym sterujący możesz sobie opracować sam, masz pełną dowolność i swobodę, to co wymyślisz sobie i na co pozwolą sygnały dostępne w gnieździe jest dozwolone ... najwyżej głowić się będą później autorzy emulatorów aby dodać kolejny standard :D

Ogólne informacje o cartridge i jego działaniu swego czasu publikował Zenon/Dial, o tu: Zenon Zone - Cartridge.

95

seban napisał/a:

Co do przestrzeni adresowej to bez podziału na banki to będzie 8K lub 16K. W złączu carta masz 13 linii adresowych (A0-A12). A więc z marszu możesz mieć widoczne 8K w przestrzeni adresowej $A000-$BFFF. Dokładając trochę logiki możesz zrobić cart 16K mapujący się $8000-$BFFF.

Jeżeli chcesz coś więcej... to już bez podziału na banki się nie obejdzie... a standardów podziału na banki jest niestety masa. Można sobie o tym poczytać np. tutaj: Atari 800 emulator cart types. Każdy obraz cartridge większy od 8K czy 16K... wymaga konkretnego standardu bankowania.

Więc jeżeli chcesz robić jakiś cartridge pod konkretny soft to musisz wiedzieć jaki standard bankowania jest wymagany. Jeżeli chcesz robić własny cart zawierający co tam chcesz to zarówno standard przełączania banków jak soft tym sterujący możesz sobie opracować sam.

Ogólne informacje o cartridge i jego działaniu swego czasu publikował Zenon/Dial, o tu: Zenon Zone - Cartridge.

Z bankowaniem to nie ma problemu kawałek 74393 i po problemie.
Problem zaczyna się potem gdy trzeba się przełączać po tych bankach.
Bo to wyjdzie 127 banków po 8KiB.
Jeszcze muszę gdzieś poszukać softu tyle by go zaprogramować. :o

96 Ostatnio edytowany przez seban (2019-01-11 23:10:16)

Przy tej ilości banków to chyba nie ma sensu robić licznika, wygodniej będzie chyba wziąć jakieś np. 74LS273 lub coś podobnego i zrobić z tego 1-bajtowy "rejestr/port" do którego będzie można zapisać wartość adresując $D5xx, a skoro rejestr będzie miał 8bit, to 7 bitów podłączysz pod pozostałe linie adresowe EPROM, a pod bit 8 podepniesz RD5. W ten sposób jednym zapisem pod $D5xx będziesz mógł wybrać bank, a także odłączyć cart zupełnie w razie potrzeby. Tak zrobiłem projektując kiedyś cart do Yoomp!. Sprawdził się doskonale, w dodatku ma wsparcie również z poziomu emulatora.

97

seban napisał/a:

Przy tej ilości banków to chyba nie ma sensu robić licznika, wygodniej będzie chyba wziąć jakieś np. 74LS273 lub coś podobnego i zrobić z tego 1-bajtowy "rejestr/port" do którego będzie można zapisać wartość adresując $D5xx, a skoro rejestr będzie miał 8bit, to 7 bitów podłączysz pod pozostałe linie adresowe EPROM, a pod bit 8 podepniesz RD5. W ten sposób jednym zapisem pod $D5xx będziesz mógł wybrać bank, a także odłączyć cart zupełnie w razie potrzeby. Tak zrobiłem projektując kiedyś cart do Yoomp!. Sprawdził się doskonale, w dodatku ma wsparcie również z poziomu emulatora.

To interesujące i warte uwagi.
Na chwilę obecną nie jestem jeszcze tak zapoznany z atari.
Wydłubałem eprom z Amigi 2000 z karty dysków twardych.
To jakieś 32KiB 4 banki. Za eprom 1M wezmę się jak nazbieram programów.
Chyba, że nie uda mi się skasować 32 z Amigi.
To wtedy napiszę na Prv to wyjaśnisz mi o co biega?

98

Ale jaja, dopiero teraz do mnie dotarło!
Ty to genialne jest!!!

99

Całą nos diody świeciły w eproma i nic. Dane jak były tak są dalej. :(
Czyli gromadzimy programy na zapełnienie 1MB.

100

A jaka długość fali tego UV które generują te LED-y? Jaki typ tych ledów?