Rejestry modułu SpartaDOS X

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 17:35, 20 mar 2006
KMK (Dyskusja | wkład)
(usunięcie niepotrzebnych tagów html)
← Previous diff
Wersja z dnia 16:34, 4 maj 2006
Trub (Dyskusja | wkład)

Next diff →
Linia 1: Linia 1:
-Oryginalny kartridż SpartaDOS X posiada rejestr sprzętowy o rozmiarze 4 bitów. Używa się go do następujących celów:+Oryginalny kartridż [[SpartaDOS X]] (SDX) 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,+* 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. * 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.+* włączenie/wyłączenie zewnętrznego kartridża - zarządzanie (na drodze sprzętowej) kartridżem wpiętym "przelotowo" do modułu SDX.
Rejestr sprzętowy pokrywa adresy $D5E0-$D5EF ($D5Ex). Rejestr sprzętowy pokrywa adresy $D5E0-$D5EF ($D5Ex).
-'''Tabela: Znaczenie bitów rejestru sprzętowego $D5Ex:'''+'''Tabela: Znaczenie bitów rejestru sprzętowego $D5Ex'''
<table <table
- style="text-align: left; width: 800px;" border="1"+ style="text-align: left;" border="1"
cellpadding="2" cellspacing="2"> cellpadding="2" cellspacing="2">
<tr> <tr>
Linia 34: Linia 34:
połączeniu z odpowiednim adresem, np.: 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 $D5E0-$D5E7 - wybór banku 0-7 (biblioteka SDX, używana 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 $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)+* 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. 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.+Tego samego rodzaju rejestr sprzętowy użyto także w [[Diamond GOS]], lecz zastosowano adresy $D5D0-$D5DF.
==SpartaDOS X 4.3== ==SpartaDOS X 4.3==

Wersja z dnia 16:34, 4 maj 2006

Oryginalny kartridż SpartaDOS X (SDX) 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ądzanie (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, używana 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, lecz 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