Rejestry modułu SpartaDOS X
From Atariki
Wersja z dnia 17:33, 20 mar 2006 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 17:35, 20 mar 2006 KMK (Dyskusja | wkład) (usunięcie niepotrzebnych tagów html) 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:<br> | + | Oryginalny kartridż SpartaDOS X posiada rejestr sprzętowy o rozmiarze 4 bitów. Używa się go do następujących celów: |
- | <ul> | + | |
- | <li>wybór banku SDX - zajęcie obszaru pamięci $A000-$BFFF przez jeden z ośmiu banków kartridża, </li> | + | * wybór banku SDX - zajęcie obszaru pamięci $A000-$BFFF przez jeden z ośmiu banków kartridża, |
- | <li>wyłączenie kartridża SDX - zwolnienie obszaru $A000-$BFFF i udostępnienie dla BASICa, zewnętrznego kartridża, programu typu EXE itp.,</li> | + | * wyłączenie kartridża SDX - zwolnienie obszaru $A000-$BFFF i udostępnienie dla BASICa, zewnętrznego kartridża, programu typu EXE itp. |
- | <li>włączenie/wyłączenie zewnętrznego kartridża - zarządzenie (na drodze sprzętowej) kartridżem wpiętym "przelotowo" do modułu SDX.</li> | + | * włączenie/wyłączenie zewnętrznego kartridża - zarządzenie (na drodze sprzętowej) kartridżem wpiętym "przelotowo" do modułu SDX. |
- | </ul> | + | |
- | Rejestr sprzętowy pokrywa adresy $D5E0-$D5EF ($D5Ex).<br> | + | Rejestr sprzętowy pokrywa adresy $D5E0-$D5EF ($D5Ex). |
- | <br> | + | |
'''Tabela: Znaczenie bitów rejestru sprzętowego $D5Ex:''' | '''Tabela: Znaczenie bitów rejestru sprzętowego $D5Ex:''' | ||
<table | <table | ||
Linia 30: | Linia 30: | ||
</tr> | </tr> | ||
</table> | </table> | ||
- | <br> | + | |
Do manipulacji na rejestrze używa się w programach instrukcji STA w | Do manipulacji na rejestrze używa się w programach instrukcji STA w | ||
- | połączeniu z odpowiednim adresem, np.:<br> | + | 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)<br> | + | |
- | STA $D5EC - wyłączenie kartridża SDX i kartridża zewnętrznego (jak X.COM)<br> | + | * STA $D5E0-$D5E7 - wybór banku 0-7 (biblioteka SDX, uzywana w programach typu COM jest umieszczona w banku 1) |
- | STA $D5E8 - wyłączenie kartridża SDX oraz włączenie kartridża zewnętrznego (jak CAR.COM)<br> | + | * 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. | ||
- | Wartość wprowadzana za pomocą STA nie ma znaczenia, zazwyczaj jest to 0.<br> | ||
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]], z tym że zastosowano adresy $D5D0-$D5DF. | ||
- | <br> | + | |
==SpartaDOS X 4.3== | ==SpartaDOS X 4.3== | ||
- | <br> | + | |
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]] | [[Kategoria:Programowanie Atari 8-bit]] |
Wersja z dnia 17:35, 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.