Rozbudowa pamięci

Dodatkowa pamięć RAM w Timex TC2048

Tekst powstał na podstawie artykułu "Timex bez tajemnic cz.3" pana Marka Sawickiego, Bajtek 9-10/90

Timex TC2048 różni się nieco od ZX Spectrum. Jedną z różnic jest obecność aktywnego portu we/wy 244, który steruje pracą pamięci wbudowanej do Timexa. Sterowanie to wygląda tak, że każdy bit portu 244 włącza (wartość 0) lub wyłącza (wartość 1) 8kB fragment pamięci. Osiem bitów porty we/wy pozwala sterować całą dostępną pamięcią (64kB) ROM i RAM dostępną dla procesora.

BitAdr. pocz.
dziesiętnie
Adr. pocz.
szesnastkowo
Adr. końcowy
dziesiętnie
Adr. końcowy
szesnastkowo
0 00000 0000 08191 1FFF
1 08192 2000 16383 3FFF
2 16384 4000 24575 5FFF
3 24576 6000 32767 7FFF
4 32768 8000 40959 9FFF
5 40960 A000 49151 BFFF
6 49152 C000 57343 DFFF
7 57344 E000 65535 FFFF
Opisywany port jest jedną z przyczyn zawieszania się niektórych gier dla ZX Spectrum, które "śmiecą" kodami - można więc próbować usunąć takie rozkazy z kodu gry.

Rozszerzenie proponowane przez pana Marka Sawickiego jest szkicem, propozycją rozbudowy pamięci. Idea jego działania jest taka - rozkazem OUT 244,1 wyłączamy pierwsze 8kB ROM-u i w jego miejsce podłączamy dodatkową pamięć EPROM lub SRAM. Modyfikując układ można podmieniać inne fragmenty lub ich większą ilość. Pamiętać jednak należy o kilku problemach:
- podmiana pamięci z obszaru video (16384..24575) nie spowoduje, że ULA będzie pobierać dane z tej pamięci
- podmieniając pamięć RAM należy zadbać o to, by nie podmieniać obszaru stosu oraz obszaru zawierającego aktualnie wykonywany program
- eksperymentując w BASIC-u z podmianą ostatnich fragmentów RAM-u należy wcześniej "obniżyć" RAMTOP poleceniem CLEAR
- przed wykonaniem polecenia OUT 244,x sprawdź stan pozostałych banków pamięci poleceniem IN 244

Powrót do strony głównej...