eXec
strona główna


MuMapRom - alternatywa dla BlizzKick i RemApollo

Benedykt Dziubałtowski
opracowanie - Szymon Tomzik

Uwaga! Artykuł ten powstał z myślą o osobach początkujących, które nie są za bardzo obyte z system Amigi. Starałem się łopatologicznie wszystko wyjaśnić i wytłumaczyć.



kickstart31.jpg (5011 bytes) Był sobie posiadacz Amigi 1200 z fabrycznym Kickstartem 3.0, który z utęsknieniem patrzył na AmigaOS 3.9...

Rozwiązanie problemu choć proste (zakup ROMu 3.1) to jednak zawsze o te parę "dyszek" w kieszeni mniej. Są także Amigi, do których zdobycie ROMu 3.1 graniczy z cudem (np. modele 500, 2000 i 3000). Najlepiej oczywiście mają się posiadacze kart turbo Blizzard i Apollo. Karty te potrafią wykonać mapowanie ROMu dzięki oprogramowaniu takiemu jak BlizzKick, czy RemApollo. Na samym końcu stoi szereg członków braci amigowej, która ma Amigi z kartą turbo nie umożliwiającą tak łatwego zmapowania ROMu. Ja używam karty M-Tec, dla której nie powstały tego typu aplikacje. Uporałem się jednak z mapowniem Kickstartu 3.1. Sposób może nie jest idealny, jednak jak zwykle "coś za coś". Bierzmy się więc do pracy.

Przede wszystkim procesor na naszej karcie musi być wyposażony w MMU (zdecydowana większość "trzydziestek" ma MMU). Teoretycznie można zmapować ROM już przy standardowych 2 MB Chipu (pomijając fakt, że używanie karty turbo bez pamięci typu Fast jest w praktyce niemożliwe). Będzie to jednak kompletnie mijało się z celem, gdyż oprogramowanie, które korzysta z dodatkowych możliwości jakie daje Kickstart 3.1 prawdopodobnie nie uruchomi się na jednym megabajcie (tyle zostanie po zmapowaniu ROMu i uruchomieniu Workbencha). Należy więc doposażyć nasz komputer w choćby minimalną (2-4 MB) ilość pamięci Fast.

Następnie z Aminetu ściągamy ten program (tytułowy MuMapRom). Po rozpakowaniu archiwum warto zapoznać się z dokumentacją, a w szczególności z ostrzeżeniami autorów. Czasami mogą wystąpić niezamierzone efekty. Standardowa w tego typu sytuacjach nota - oprogramowania MuMapRom używasz na własną odpowiedzialność!

Gdy już uporamy się z dokumentacją instalujemy program. Opiszę moje prywatne rozwiązanie mapowania ROMu za pomocą dyskietki. Oczywiście nic nie stoi na przeszkodzie, aby wykonać coś takiego na dysku twardym. Początkującym jednak chyba najłatwiej i najbezpieczniej (bez "grzebania" w startup-sequence) będzie przećwiczyć to najpierw właśnie na dyskietce. Dodatkowo może okazać síę ona kiedyś przydatna (odpukać!) w wypadku awarii HDD.

Po sformatowaniu dyskietki i zainstalowaniu jej (install df0:) przenosimy na nią plik MuMapRom z katalogu "mutools". Należy stworzyć kilka katalogów, które umożliwią wystartowanie takiej dyskietki. Z wiersza poleceń AmigaDos'u wpisujemy:

makedir df0:s
makedir df0:c
makedir df0:libs

Następnie kopiujemy komendy, które będą nam potrzebne, a których jeszcze nie ma na naszej dyskietce. Znajdziemy je w  katalogu C na partycji systemowej, a są to: Assign, MakeDir i SetPatch. Przenosimy je oczywiście do tego samego katalogu na dyskietkę.

Teraz trzeba skopiować Kickstart na dyskietkę do katalogu Devs. Oczywiście powinien to być ROM w wersji 3.1 (można także pokusić się o inny i np. eksperymentalnie zdegradować system w naszej A1200 do wersji 1.3) i musi pochodzić z Amigi 1200 (np. może mieć nr 40.68, 40.63 to A4000). Do katalogu Libs kopiujemy dwa pliki: mmu.library oraz drugą bibliotekę, która odpowiada naszemu procesorowi, w moim przypadku była to 68030.library.

Przy pomocy systemowego edytora Ed (w CLI: ed df0:s/startup-sequence) edytujemy sekwencję startową na dyskietce:

c:makedir ram:env
c:assign env: ram:
c:setpatch quiet
sys:mumaprom devs:kick40.68.rom PATCHFILE=AUTOMATIC

Pierwsza linijka tworzy, a druga przypisuje katalog ENV (katalog na tymczasowe zmienne - ustawienia nasze i oprogramowania) do RAM:ENV. SetPatch (MuMapRom musi zostać zawsze uruchomiony po SetPatchu!) to komenda, która koryguje błędy w Kickstarcie. Dla każdego Kickstartu dostępne są inne jego wersje - tu używamy jeszcze wersji dla Kickstartu 3.0 (Kickstart 3.1 dopiero zostanie załadowany). Komenda MuMapRom przerzuca ("mapuje") do pamięci z podanej ścieżki (devs:kick40.68.rom) Kickstart 3.1 i wykonuje restart komputera.

Jeszcze słówko o parametrze PATCHFILE=AUTOMATIC. W archiwum MuMapRom, w katalogu Devs:Kickstarts znajdują się pliki *.pch, które usuwają stwarzające przy mapowaniu problemy instrukcje z niektórych wersji Kickstartu. W tym akurat przypadku łatka nie jest wykorzystywana, warto jednak pozostawić parametr PATCHFILE=AUTOMATIC, który automatycznie z niej skorzysta w następujących sytuacjach (uwaga - nazwa pliku z ROMem powinna wtedy odpowiadać nazwie łatki, np. Kick40.63.rom dla Kick40.63.pch):

Kick33.180.pch - patch dla Kickstartu z A500/A2000 w wersji v33 (1.2)
Kick34.5.pch - patch dla Kickstartu z A500/A2000 w wersji v34 (1.3)
Kick37.175.pch - patch dla Kickstartu z A500/A500+/A600/A2000 w wersji v37 (2.04)
Kick40.63.pch - patch dla Kickstartu z A500/A500+/A600/A2000 w wersji v40 (3.1)

Po zapisaniu wszystkiego na dyskietce wykonujemy reset i czekamy, aż dane zostaną załadowane i MuMapRom wykona mapowanie. W momencie, gdy stacja dyskietek umilknie (przestanie wczytywać dane) proponuje wyjąc dyskietkę ze stacji i spokojnie poczekać. Sam proces mapowania trwa kilka sekund, widać zmieniające się kolory na ekranie (o ile mamy monitor PAL lub scandoubler). Po czym następuje restart i po dłuższej chwili możemy cieszyć się ROMem 3.1 w naszej Amidze 1200.

Warto zwrócić uwagę na to, że program uruchomi się także z ikony - wtedy jego parametrami steruje się za pomocą tooltypów. Jeśli ktoś ma już w swojej Amidze ROM 3.1 (w kościach) może wykorzystać program MuFastRom, który przenosi zawartość naszego ROMu do pamięci Fast. Owocuje to przyśpieszeniem pracy systemu. MuMapRom zawiera patch dla emulatora Mac'a (ShapeShifter), tak zwany "PrepareEmul", dzięki temu nie trzeba stosować tego programu osobno (co doprowadzi do kolizji obu aplikacji).