Rozszerzenie pamięci REU

Commodore 128 od chwili “poczęcia” miał być komputerem umożliwiającym rozszerzenie pamięci. W instrukcji obsługi można znaleźć ustęp mówiący o możliwości rozszerzenia RAM do 512 KB; nie proszę państwa, nie DO ale O 512 KB dzięki czemu otrzymujemy 640 KB RAM. I taki moduł znajduje się już od dawna na rynku. W sprzedaży są jego dwie odmiany. Pierwsza to moduł 0 oznaczeniu 1700 umożliwiający rozszerzenie o 128 KB. Drugi - w cenie nowego komputera C-128 - umożliwia powiększenie RAM do łącznej pojemności 640 KB. Niestety pamięć ta jest w zasadzie niedostępna dla BASIC, tzn. użytkownik nie może jej wykorzystać do napisania dłuższego programu w tym języku, może natomiast ją wykorzystać jako potężny magazyn danych.

rozszerzenie pamięci 1750Przypuśćmy, że ułożyłeś sobie program graficzny, którego zadaniem jest animacja obrazu. Każdy jeden rysunek zajmuje tu oczywiście minimum 9 KB pamięci (8 KB każdy ekran graficzny + 1 KB kolory). Jeżeli każdy z nich będziesz tworzył za pomocą instrukcji w BASIC to na pewno animacji nie uzyskasz; konieczne więc jest szybsze rozwiązanie, którego przykładem może być właśnie moduł 1700 czy 1750. Zapisane dane każdego ekranu graficznego możesz umieścić i przywołać ponownie za pomocą specjalnie przygotowanych w tym celu instrukcji STASH, FETCH i SWAP w dodatkowej pamięci RAM; ponieważ szybkość przesyłania wynosi tu 1 MB na sekundę nawet nie zauważysz zmian ekranu stąd też możliwa jest animacja. Ponadto możesz w tej pamięci zapisać cokolwiek innego: dane dla sprite’ów, dane zawierające tekst, dźwięk, dodatkowe procedury maszynowe itp. Wielkie pole do popisu mają programiści znający język maszynowy - odpowiednie procedury w ROM systemu operacyjnego (JMPFAR, JSRRFAR, INDSTA itp.) umożliwiając wykorzystanie tej pamięci na wiele sposobów.

Wraz z każdym modułem sprzedawana jest również dyskietka zawierająca programy demonstracyjne oraz nową wersję systemu CP/M Plus umożliwiającą wykorzystanie dodatkowej pamięci jako tzw. RAM-dysku (oznaczonego literą M). Co to jest RAM-dysk? Do pamięci dodatkowej wczytujemy wszystkie programy zawarte na dyskietce i gdy chcemy któryś z nich wykonać wydajemy polecenie wczytania danego programu; tym razem jednak program zostanie jedynie przeniesiony z pamięci dodatkowej gdzie został już wcześniej umieszczony co daje nam szybkość 12 razy większą niż stacja 1571 lub ponad 150 razy większą niż stacja 1541.

Moduły te są jeszcze stosunkowo nowe na rynku stąd też nie każdy producent uwzględnia je w swoich programach. Jak do tej pory opracowano wersję kompilatora języka C (Pro-Line Sotfware), edytory tekstu PAPERBACK WRITER (Digital Solutions) i PAPERCLIP II (Batterles Included), planowany jest także odpowiednik programu SIDEKICK (o nazwie HIDDEN ASSETS); ten ostatni ma być umieszczony całkowicie w pamięci dodatkowej, a poszczególne programy byłyby przywoływane za pomocą wciśnięcia określonego klawisza.

Moduły te są więc doskonałym rozwiązaniem dla osób nieco bardziej zaawansowanych w programowaniu oraz dla entuzjastów systemu CP/M. Na ich popularność w Polsce może mieć jednak wpływ stosunkowo wysoka cena oraz mała przydatność w bardzo typowych zastosowaniach jakimi są zwiększenie pamięci dla programu w BASIC czy obszaru dla zmiennych.