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
Aktualna wersja
KMK (Dyskusja | wkład)
(red.)
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:+W oryginalnym [[kartridż]]u [[SpartaDOS X]] (SDX) znajduje się 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:'''+== 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="5" cellspacing="2">
<tr> <tr>
<td style="font-weight: bold;">Bit</td> <td style="font-weight: bold;">Bit</td>
Linia 31: Linia 31:
</table> </table>
-Do manipulacji na rejestrze używa się w programach instrukcji STA w+Do manipulacji rejestrem używa się w programach instrukcji STA w
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==+Bity 0-2 określające bank SDX podlegają sprzętowej negacji przy ustalaniu banku kości EPROM, tak więc STA $D5E0 wybiera ostatni bank EPROMu (obszar 8 KB od offsetu $E000), STA $D5E1 - bank 6, a STA $D5E7 - bank 0 EPROMu. Wynika z tego, że plik do zaprogramowania kości musi zawierać banki SpartaDOS X w kolejności malejącej, bank 0 jako ostatni (czyli 7 bank EPROMu). W takiej również postaci są dostępne i rozpoznawane pliki z obrazami kartridża SDX dla emulatora [[Atari800]].
-W SpartaDOS X 4.3 dodano możliwość obsługi większej ilości banków. W przystosowanych do tej wersji rozwiązaniach+== SpartaDOS X 4.4 ==
-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&oacute;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.+ 
 +W SpartaDOS X 4.4 dodano możliwość obsługi większej liczby banków. W przystosowanych do tej wersji rozwiązaniach
 +sprzętowych, takich jak [http://trub.atari8.info/index.php?ref=intsdx_128kb intSDX 128kB], czy [http://trub.atari8.info/index.php?ref=atrax_128 Atrax SDX 128] zwiększono rozmiar rejestru do pię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 reszty bitów (0-3) pozostaje bez zmian. Pięciobitowy rejestr sprzętowy zajmuje adresy $D5E0-$D5FF.
[[Kategoria:Programowanie Atari 8-bit]] [[Kategoria:Programowanie Atari 8-bit]]

Aktualna wersja

W oryginalnym kartridżu SpartaDOS X (SDX) znajduje się 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).

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 rejestrem 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.

Bity 0-2 określające bank SDX podlegają sprzętowej negacji przy ustalaniu banku kości EPROM, tak więc STA $D5E0 wybiera ostatni bank EPROMu (obszar 8 KB od offsetu $E000), STA $D5E1 - bank 6, a STA $D5E7 - bank 0 EPROMu. Wynika z tego, że plik do zaprogramowania kości musi zawierać banki SpartaDOS X w kolejności malejącej, bank 0 jako ostatni (czyli 7 bank EPROMu). W takiej również postaci są dostępne i rozpoznawane pliki z obrazami kartridża SDX dla emulatora Atari800.

SpartaDOS X 4.4

W SpartaDOS X 4.4 dodano możliwość obsługi większej liczby banków. W przystosowanych do tej wersji rozwiązaniach sprzętowych, takich jak intSDX 128kB, czy Atrax SDX 128 zwiększono rozmiar rejestru do pię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 reszty bitów (0-3) pozostaje bez zmian. Pięciobitowy rejestr sprzętowy zajmuje adresy $D5E0-$D5FF.

Personal tools