2Twardziel bez HD1 Wszyscy bardzo dobrze wiemy, ţe dopiero Amiga wyposaţona w twardy dysk oraz sporo pamięci zaprezentuje peînię swojch moţliwoőci. Na Zachodzie twardy dysk jest urzćdzeniem doőç powszechnym. Niestety, nie moţna tego powiedzieç o Polsce. Chociaţ wszyscy chcieliby go posiadaç na wyposaţeniu swojego komputera, to jednak zamiar blokuje wysoka cena, przekraczajćca nasze moţliwoőci finansowe. W artykule tym opiszę sposób symulacji twardego dysku przez pamięç operacyjnć Amigi. Co prawda taki "twardy" będzie miaî sporo ograniczeń. Z gîównych wad wymieniîbym maîć pojemnoőç oraz utratę zapisanych danych po wyîćczeniu zasilania komputera. Ale za to prędkoőç odczytu przewyţsza 1000 Kb/sek. Dokîadnć wartoőç jesteőmy w stanie zmierzyç programem SysInfo v3.15. I wîaőnie ta prędkoőç powoduje. ţe sprawa jest warta zachodu. Niestety, z bólem serca muszę się przyznaç do jeszcze jednej wady. Minimalnć wartoőcić pamięci, którć musi dysponowaç nasza Amiga, jest 3 MB. Osobiőcie pracuję na Amidze z kickstartem 1.3 i pamięcić, skonfigurowanć jako 0.5 MB chip ram, 0.5MB slow ram, 2 MB fast ram lub 1 MB chip ram i 2 MB fast ram. Moţna próbowaç przy mniejszej iloőci pamięci, ale nie ręczę za skutek. Po prostu nie jestem w stanie tego sprawdziç. Zasada jest prosta. Po zaîadowaniu programu do pamięci, musi zostaç doőç miejsca do jego poprawnej pracy. Dokîadny sposób postępowania omówię na przykîadzie gry "Omar Sharif Bridge". Brydţ ten podczas gry bez przerwy korzysta z sampli, zapisanych na dysku - co spowolnia jego pracę o czas potrzebny na wczytanie danych. Gra jest zapisana na jednym dysku. Chyba nie muszę przypominaç, ţe pracujemy na kopii naszego programu. Przyda się teţ FileMaster v2.2, edytor tekstu TxEd lub inne dowolne programy o podobnym dziaîaniu. Na dyskietkę z grć skopiujemy teraz parę plików. Wszystkie znajdziemy na Workbenchu. Do katalogu C: Setpatch, Mount, Dir, Echo, Diskcopy, Delete, Rename. Do katalogu Devs: RamDrive.device i MountList. W mountliőcie musi znaleűç się następujćcy fragment: */ RAD: Device = ramdrive.device Unit = 0 Flags = 0 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 79 Buffers = 20 BufMemType = 3 # Zmieniamy nazwę "Startup-Sequence" na "Startup" i dopisujemy jako pierwsze polecenie "Setpatch >NIL: r". W wyniku czego plik "Startup" wyglćda następujćco: setpatch >nil: r cd : c/FastMemFirst c/Check600KRAM if WARN skip ToEnd endif TRSI SYS:System/SetMap gb stack 16000 run >NIL: bridge endcli >NIL: lab ToEnd Polecenie Setpatch z opcjć "r" jest niezbędne jeţeli pracujemy z 1 MB chip memory i chcemy korzystaç z urzćdzenia RAD:. Bez tej komendy po trójpalcowym resecie RAD: zniknie z pamięci Amigi. Edytorem tekstu piszemy: setpatch >nil: r mount rad: dir rad: echo "Kopiowanie dysku do RAD:" diskcopy df0: to rad: delete rad:s/startup-sequence rename rad:s/startup rad:s/startup-sequence echo "Usuń dysk ze stacji DF0: i zresetuj komputer" Zapisujemy go na dysk z brydţem do katalogu S: pod nazwć "Startup-Sequence". Dziaîanie tej sekwencji startowej jest następujćce. Pierwszć linię juţ omówiîem. Jest powtórzona poniewaţ, aby utrzymaç RAD: w pamięci komputera, musi byç wykonywana po kaţdym resecie (tylko przy 1 MB chip). Mount RAD: przekazuje do systemu parametry urzćdzenia RAD: . Polecenie Dir RAD: wydawaîoby się jest caîkowicie zbędne. Ale bez niego wykonywanie skryptu zostanie przerwane na komendzie DiskCopy. Zdaje się, ţe dopiero teraz mamy caîkowicie zainstalowany RAD:. Obie komendy Echo zostaîy wstawione tylko dla przejrzystoőci sytuacji. DiskCopy jest sednem tej sekwencji. Kopiuje ona caîć dyskietkę, őcieţka po őcieţce, ze stacji DF0: do RAD:. Zachowuje się dokîadnie tak, jakbyőmy kopiowali dysk majćc dwie stacje dysków elastycznych. Dokonuje nawet weryfikacji zapisu. Taki sposób kopiowania jest moţliwy dzięki temu, ţe w mountliőcie okreőliliőmy parametry urzćdzenia RAD: jako identyczne z parametrami dyskietki elastycznej. Wystarczyîoby zmieniç chociaţby iloőç cylindrów (nawet zwiększyç), a DiskCOpy nie wykona się. Zamiar kopiowania będziemy musieli potwierdziç klawiszem "RETURN". Delete usuwa zbędny juţ "Startup-Sequence", a Rename zmieniajćc nazwę, podstawia w jego miejsce plik "Startup". W celu uruchomienia tak zaîadowanej gry, przeczytaj ostatnić linię sekwencji. Jeţeliby dyskietka zostaîaby w stacji, to po resecie odczyt zaczćîby się wîaőnie z niej i wszystko zaczeîoby się od poczćtku. Dzieje się tak, poniewaţ stacja DF0: ma wyţszy priorytet niţ RAD:. Zresztć identyczna sytuacja występuje przy twardym dysku. Po wyjęciu dysku i resecie Amigi odczyt nastćpi z urzćdzenia RAD:. Będzie on jednak nieporównanie szybszy niţ z dyskietki (patrz uwagę o prędkoőci odczytu powyţej). Po chwili program się uruchomi. Podczas caîej gry praktycznie nie bedziemy w stanie zauwaţyç momentu doczytywania potrzebnych danych. Moţe i stracimy trochę czasu na spreparowanie dysku, ale wszystko wynagrodzi nam komfort grania. Podobnie moţemy poeksperymentowaç z innymi programami. Ale sć pewne ograniczenia. Gra musi byç nagrana na dysk sformatowany w standardowy sposób. Jest nagrana z podziaîem na pliki i zawiera "Startup-sequence". Na dysku, na którym dokonujemy zmian, musi byç odpowiednio duţo wolnego miejsca na dogrywane pliki. Jeţeli go brakuje, spróbujmy popakowaç komendy z Workbencha za pomocć Turbo Implodera lub PowerPackera. Osobiőcie polecam Iplodera. Program spakowany Imploderem, podczas dekompresji nie dzieli pamięci komputera na fragmenty, w przeciwieństwie do PowerPackera. Dzięki czemu mamy do dyspozycji większy obszar cićgîej pamięci. Jeőli jeszcze brak miejsca na dysku, zabierzmy się do pakowania plików z gry. Jest to maîo realne, poniewaţ przewaţnie sć juţ popakowane, jak równieţ trzeba zdecydowaç, które moţna spakowaç. Wiele gier nie posiada czegoő takięgo jak "Startup-Sequence". Sposób îadowania jest zapisany na