Informacje dodatkowe     Wyciskanie pamięci CHIP w Amidze


Stara prawda komputerowa głosi: "Pamięci nigdy za wiele". Najgorsze jest to, że Amiga obsługuje ma-
ksymalnie tylko 2 MB CHIP RAM. Wiadomo, że ilość tej pamięci graficznej jest bardzo ważna dla gier.
Każdy bajt się liczy, zwłaszcza jeśli gry uruchamia się przez WHDLoad. Dlatego też spróbowałem swo-
ich sił w wyciskaniu pamięci CHIP.

Mój sprzęt: Amiga 600, MC68000 - 7 MHz, 2 MB CHIP RAM, Kickstart 3.1 (40.63), HDD-CF 8 GB (Kingston).

Po włączeniu zasilania wszedłem do Boot Menu i zobaczyłem, następujące napędy: DF0, CC0, DH0 i DH1. Następnie
uruchomiłem Amigę bez sekwencji startowej (przycisk "Boot With No Startup-Sequence"). W CLI wpisałem polecenie
"AVAIL CHIP FLUSH", które wyświetliło mi dostępną pamięć CHIP: 1881552 bajty. Myślę sobie - trochę mało, trzeba
coś z tym zrobić. Przepisy na wyciskanie pamięci CHIP:

1. Zmniejszenie liczby buforów przydzielonych napędom. W zależnośći od rodzaju napędu, system przydziela mu różną
domyślną liczbę buforów: stacje dyskietek (DFx) - 5, partycje twardego dysku (DHx) - 30. Nie używane złącze PCMCIA
(CC0) nie ma przydzielonych żadnych buforów. Wszedłem do Boot Menu i uruchomiłem Amigę bez sekwencji startowej.
W CLI wpisałem następujące polecenia:
"ADDBUFFERS DF0: -99"
"ADDBUFFERS DH0: -99"
"ADDBUFFERS DH1: -99"
Spowodowały one ustawienie napędom DF0, DH0 i DH1 minimalnej liczby buforów, która wynosi 3. W wyniku tego zw-
iększyła się dostępna pamięć CHIP, która wynosiła: 1911888 (+30336) bajtów. Zmieniając liczbę buforów danego na-
pędu i sprawdzając dostępną pamięć CHIP można zauważyć, że każdy bufor zajmuje 560 bajtów pamięci. Co ciekawe
samo sprawdzenie liczby buforów napędu CC0 poleceniem "ADDBUFFERS CC0:", powoduje zajęcie 9424 bajtów
pamięci CHIP.

2. Wyłączenie nie używanych napędów. Jeśli niektóre napędy nie są nam potrzebne (np. przy uruchamianiu gier przez
WHDLoad, potrzebujemy tylko jednej partycji HDD), to można je wyłączyć w Boot Menu. Wyłączałem oddzielnie każdy
z poniższych napędów, uruchamiałem Amigę bez sekwencji startowej i sprawdzałem dostępną pamięć CHIP:
DF0 - 1907912 (+26360) bajtów.
CC0 - 1881552 (+0) bajtów.
DH1 - 1909152 (+27600) bajtów.
Po wyłączeniu wszystkich tych napędów jednocześnie, dostępna pamięć wynosiła: 1935512 (+53960) bajtów.

3. Zmniejszenie liczby kolorów ekranu. Każda grafika, czyli również aktualnie wyświetlany ekran, znajduje się w pamięci
CHIP. Domyślnie ekran w Amigach pracujących w standardzie PAL, ma rozdzielczość 640x256 pikseli i 4 kolory. Obraz
o takich parametrach zajmuje 640*256*2=327680 bitów, czyli 40960 bajtów. Wszedłem do Boot Menu i uruchomiłem
Amigę bez sekwencji startowej. W CLI włączałem oddzielnie każdy z poniższych programów i sprawdzałem dostępną
pamięć CHIP:
"Add21k" -1902048 (+20496) bajtów. Można go włączyć tylko jeden raz (kolejne uruchomienie powoduje
awarię systemu). Ten program zwolnił największą ilość pamięci CHIP na mojej Amidze.
"Add36k" -ten program (dostępny na Aminecie) nie działa zbyt dobrze (delikatnie mówiąc).
"Add44k" -1901912 (+20360) bajtów. Można go włączać wielokrotnie (niczego to nie powoduje). Podobno na
Amigach z układami AGA, zwiększa dostępną pamięć CHIP o 44 kB, ale na emulatorze WinUAE
tak się nie dzieje.

Uzyskane efekty
Po wyłączeniu w Boot Menu wszystkich nie używanych napędów (DF0, CC0, DH1), uruchomieniu Amigi bez sekwencji
startowej (tylko z systemową partycją DH0) oraz włączeniu w CLI programu "Add21k", udało mi się zwiększyć dostępną
pamięć CHIP z początkowych 1881552 do 1956008 (+74456) bajtów, czyli o prawie 72.7 kB.
Dodatkowo po zmniejszeniu buforów napędu DH0 do 3 poleceniem "ADDBUFFERS DH0: -99", dostępna pamięć
CHIP wynosiła 1971128 (+89576) bajtów (+87.4 kB). Jednak zmniejszenie liczby buforów napędu do minimum,
powoduje znaczny spadek szybkości transferu danych. Dlatego nie jest to korzystne (zwłaszcza przy uruchamianiu
gier z partycji HDD, np. przez WHDLoad).

Pozostała pamięć
W pozostałej zajętej pamięci CHIP znajdują się zmienne, bufory i struktury systemu AmigaDOS oraz bufor ekranowy.
Tej pamięci nie da się już zwolnić programowo, a jedynie sprzętowo przez zainstalowanie w Amidze pamięci FAST.
Wtedy wszystkie dane oprócz buforu ekranowego, zostaną umieszczone tylko w pamięci FAST.