Rejestry modułu SpartaDOS X

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 09:10, 14 mar 2006
Trub (Dyskusja | wkład)

← Previous diff
Wersja z dnia 17:33, 20 mar 2006
KMK (Dyskusja | wkład)

Next diff →
Linia 44: Linia 44:
W SpartaDOS X 4.3 dodano możliwość obsługi większej ilości banków. W przystosowanych do tej wersji rozwiązaniach W SpartaDOS X 4.3 dodano możliwość obsługi większej ilości banków. W przystosowanych do tej wersji rozwiązaniach
sprzętowych, takich jak [http://trub.atari8.info/index.php3?strona=html/intsdx_128kb.html intSDX 128kB], czy Atrax SDX 128kB zwiększono rozmiar rejestru do 5-ciu bitów. Dodatkowy bit (4) pełni taką samą rolę jak bity 0 i 1, tzn. numer wybieranego banku jest określony przez bity 4,2,1,0, co daje łącznie 16 banków ($0-$F). Znaczenie pozostałych bitów (0-3) pozostaje bez zmian. Dla 5-bitowego rejestru sprzętowego zajęte są adresy $D5E0-$D5FF. sprzętowych, takich jak [http://trub.atari8.info/index.php3?strona=html/intsdx_128kb.html intSDX 128kB], czy Atrax SDX 128kB zwiększono rozmiar rejestru do 5-ciu bitów. Dodatkowy bit (4) pełni taką samą rolę jak bity 0 i 1, tzn. numer wybieranego banku jest określony przez bity 4,2,1,0, co daje łącznie 16 banków ($0-$F). Znaczenie pozostałych bitów (0-3) pozostaje bez zmian. Dla 5-bitowego rejestru sprzętowego zajęte są adresy $D5E0-$D5FF.
 +
 +[[Kategoria:Programowanie Atari 8-bit]]

Wersja z dnia 17:33, 20 mar 2006

Oryginalny kartridż SpartaDOS X posiada rejestr sprzętowy o rozmiarze 4 bitów. Używa się go do następujących celów:

  • wybór banku SDX - zajęcie obszaru pamięci $A000-$BFFF przez jeden z ośmiu banków kartridża,
  • wyłączenie kartridża SDX - zwolnienie obszaru $A000-$BFFF i udostępnienie dla BASICa, zewnętrznego kartridża, programu typu EXE itp.,
  • włączenie/wyłączenie zewnętrznego kartridża - zarządzenie (na drodze sprzętowej) kartridżem wpiętym "przelotowo" do modułu SDX.

Rejestr sprzętowy pokrywa adresy $D5E0-$D5EF ($D5Ex).

Tabela: Znaczenie bitów rejestru sprzętowego $D5Ex:

Bit Funkcja
0, 1 wraz z bitem 2 określają numer wybieranego banku (gdy bit 3 jest skasowany, w przeciwnym wypadku nie mają znaczenia)
2 a) gdy bit 3 jest skasowany: wraz z bitami 0,1 określa numer wybieranego banku
b) gdy bit 3 jest ustawiony: włącza (0) lub wyłącza (1) zewnętrzny kartridż
3 a) gdy skasowany - wybranie banku kartridża SDX (numer określany za pomocą bitów 0,1,2)
b) gdy ustawiony - wyłączenie kartridża SDX


Do manipulacji na rejestrze używa się w programach instrukcji STA w połączeniu z odpowiednim adresem, np.:
STA $D5E0-$D5E7 - wybór banku 0-7 (biblioteka SDX, uzywana w programach typu COM jest umieszczona w banku 1)
STA $D5EC - wyłączenie kartridża SDX i kartridża zewnętrznego (jak X.COM)
STA $D5E8 - wyłączenie kartridża SDX oraz włączenie kartridża zewnętrznego (jak CAR.COM)

Wartość wprowadzana za pomocą STA nie ma znaczenia, zazwyczaj jest to 0.
Tego samego rodzaju rejestr sprzętowy użyto także w Diamond GOS, z tym że zastosowano adresy $D5D0-$D5DF.

SpartaDOS X 4.3


W SpartaDOS X 4.3 dodano możliwość obsługi większej ilości banków. W przystosowanych do tej wersji rozwiązaniach sprzętowych, takich jak intSDX 128kB, czy Atrax SDX 128kB zwiększono rozmiar rejestru do 5-ciu bitów. Dodatkowy bit (4) pełni taką samą rolę jak bity 0 i 1, tzn. numer wybieranego banku jest określony przez bity 4,2,1,0, co daje łącznie 16 banków ($0-$F). Znaczenie pozostałych bitów (0-3) pozostaje bez zmian. Dla 5-bitowego rejestru sprzętowego zajęte są adresy $D5E0-$D5FF.

Personal tools