Amiga Kickstart - Odczyt damych z pamięci ROM

Powoli przygotowuję się do wykonania przełącznika KickStartów w Amidze.

Wybrałem projekt, dzięki któremu zmiany pamięci ROM (KickStart) dokonuje się dżojstikiem, podczas włączania Amigi.
O tym projekcie będzie więcej, ale trochę później.
Teraz opiszę procedurę odczytywania zawartości ROM w mojej Amidze. Ja mam KickStart 1.3 w pamięci NEC 315093-02 (256 KB).
Ja używam programatora XGecu TL866II-Plus, który nie obsługuje takich pamięci. Z pomocą przychodzi specjalny adapter, który potrafi obsłużyć
pamięci 27C400/27C800/27C160/27C322.

Programator XGecu TL866II-Plus z adapterem
Programator XGecu TL866II-Plus z adapterem

Odpowiednikiem pamięci ROM z KickStartem mojej Amigi jest dla programatora z adapterem pamięć AM27C2048. Po wyborze odpowiedniego układu należy wyłączyć opcje "Pin Detect" i "Check ID" ze względu na ten adapter właśnie.

Wybór pamięci AM27C2048


Po wyborze należy wyłączyć opcje "Pin Detect" i "Check ID" ze względu na adapter


Dane z pamięci odczytane z sukcesem!

Po odczycie zauważymy, że dane zawarte w pamięci są jakieś dziwne, jakby nastąpiła roszada wszystkich bajtów i tak w rzeczywistości jest.

Dziwnie wyglądające odczytane dane...

Amiga czyta dane z pamięci słowami 16-bitowymi, ale zapis w pamięci dokonywany jest bajtami (8-bitów) w innej kolejności. Jeśli zaraz po odczycie ustawimy "16 Bits" zamiast "8 Bits", to zauważymy poprawne dane na ekranie, ale plik nie jest zmieniony i nie można go użyć np. w emulatorze.

Ustawimy "16 Bits" i dane wyglądają już poprawnie


Dla odróżnienia takich plików najczęściej dane bezpośrednio odczytane z pamięci otrzymują rozszerzenie BIN, a te z zamienioną kolejnością, przyjazną dla emulatorów, ROM.
Jeśli mamy tylko pliki ROM, to żeby zapisać je w pamięci, trzeba odwracać bajty i utworzyć plik BIN.
Ja do odwracania bajtów użyłem programu Eprom Hexxer.

Odczyt pliku do zamiany bajtów


Zamiana funkcją "ByteSwap 2"
Tak poprawione dane zapisujemy z rozszerzeniem ROM

Tak na szybko sprawdziłem jeszcze zapis do pamięci 
KickStartu 3.1 pobranego z sieci jako plik ROM. Po zamianie na BIN, zapisaniu w pamięci M27C160 otrzymałem to, co zamierzałem, a dodatkowo utrwaliłem zdobytą wiedzę.


Zaprogramowana pamięć z KickStartem

No i efekt...
Bardzo pomocna dla mnie była strona Romana Breńskiego:

Komentarze