MSXowe zrzuty z kartów

Przy okazji rozmów o MSXach na forum speccy.pl zaproponowałem użytkownikowi JLS zgranie zawartości kartów do MSXa firmowach przez COMTECH. Jeżeli ktoś nie pamięta – to firma, która trochę maczała palce w sprowadzaniu do Polski Spectravideo 738, “polonizowała” soft do MSXa i dystrybuowała go na dyskietkach i kartach.

Takie trzy karty ROM dotarły do mnie parę dni temu. Zgrać karty czyli zawartość ROMu można na kilka sposobów:

  • wylut kości EPROM/ROM i zczytanie jej programatorem
  • podłączenie kartu przez specjalny interface, który przez USB łączy się z komputerem i umożliwia zrobienie zrzutu zawartości do komputera
  • zapisanie zawartości kartu na komputerze MSX (jest do tego kilka programów – generalnie – wystarczy dowolny monitor/debugger z funkcją zapisywania obszaru pamięci do pliku).

Ponieważ wylutowywanie EPROMów było ryzykowne i mogło uszkodzić zapis, a nikt z nas nie posiadał interfejsu dedykowanego do zrzucania zawartości kartów pozostała metoda trzecia.

Jest jeden problem: kolejność startu i przejmowania kontroli nad komputerem jest taka: bootROM na płycie, cart / ROM w slocie 1, cart / ROM w slocie 2, ew. cart w slocie 3 (jeżeli jest) i dopiero stacje dyskietek.

Czyli – można przerobić ROM, aby pomijał start z cartu, takie rozwiązania były robione w maszynach developerskich, aby móc pomijać kolejność wymuszaną systemem.

Jest też taka możliwość w moim MegaFlashROM SCC+ SD. Suma sumarum kart taki dość dyskusyjny w temacie łatwości użytkowania, ale jak przychodzi co do czego to pokazuje pazur – i tak było tym razem.

Czyli dla pamięci i z pamięci:

no dobrze, tak dla pamięci – i jakby ktoś zrzucał:

jest narządko (a w zasadzie kilka)

  • ROM Xtractor
  • Super-X
  • getrom.bin
  • saverom.com

Mapper jaki mam to MegaFlashROM SCC+ SD. Przy bootowaniu jeżeli jest klawisz strzałki do góry to wywołuje to menu mappera pt. Recovery. Tam można nadpisać/skasować wgrany ROM, nadpisać Kernel etc. Ostatnia opcja to pominięcie startu kartu ze slotów 2/3. Ponieważ mapper jest w pierwszym slocie, to on przejmuje kontrolę. Czyli – Recovery, pominięcie startu karta nr 2, robi się restart i ląduję w Multimente, przełączam się na moją kartę microSD (klawisz 2, bo to drugi napęd), wybieram katalog w którym mam sofciki do zrzucania kartów, wychodzę z Multimente (Q), uruchamiam dumpera przez:

saverom nazwaplikuwynikowego /s

/s wyświetla układ banków primary/secondary (bez zrozumienia tych zależności mam wrażenie MSX2 robi się niezłym chaosem).

podajemy primary i secondary bank pamięci, rodzaj kartu (normal – w przypadku tych prostych kartów 8/16/32) oraz start i koniec zrzucanej pamięci. W przypadku slotów 0 i 2 nie musimy podać secondary slot.

Wersja testowa i leniwa to zrzucenie całej pamięci – tylko kluczowe jest wybranie właściwego slotu pamięci – w tym przypadku – będzie to 2 (typowe karty 8/16/32 lądują w pamięci albo pod slotami 1 albo 2). Z pomocą i radami Manuela Bilderbeeka udało się 🙂

Testowo zrzuciłem pierwszy kart z Logo – oczywiście Logo Comtech to jest normalna edycja Logo jakie było wypuszczone na UK, Comtech tylko sobie “poprawił” copyrights 🙂

Po zrzuceniu w plik 64k szukam w edytorze hexów (na Maku używam HexFriend) jakiegoś ciągu tekstu – COMTECH był najbardziej oczywistym do szukania i znalazłem go pod $b2bc co świadczy, że cośtam zadziałało. Oczywiście pojawia się zagadka – pół ROMu widać w pierwszej ćwiartce 16k, potem leci cały ROM w postaci 32k, potem leci 16k dalszej części naszego 32k ROMu. Czyli zrzucając od $4000 do $bfff zrzucilibyśmy cały kart 32k ROM. Bingo!

Wynikowo – dwa pliki .rom do użycia w emulatorze albo do zapisu w pamięci EPROM.

COMtech-LOGO_1987.rom

COMtech_VT52_CPM_1987.rom

A poniżej parę ciekawostek – zdjęcia samych kartów jak i… “kart wyrobu”. Trochę rozmijających się w kwestii autorstwa, ale – to znak tamtych czasów 🙂