Rejestr sterujący Sic!

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 19:03, 7 lip 2011
Miker (Dyskusja | wkład)

← Previous diff
Wersja z dnia 19:08, 7 lip 2011
Miker (Dyskusja | wkład)
(+ket, + popr.)
Next diff →
Linia 1: Linia 1:
Opis rejestru sterującego [[Sic!]] Opis rejestru sterującego [[Sic!]]
- +----
* Rejestr znajduje się pod adresem $D500. Ze względu na niepełne dekodowanie adresu rejestr zajmuje w rzeczywistości obszar od $D500 do $D51F (32 bajty). * Rejestr znajduje się pod adresem $D500. Ze względu na niepełne dekodowanie adresu rejestr zajmuje w rzeczywistości obszar od $D500 do $D51F (32 bajty).
* Rejestr jest do zapisu i odczytu: reaguje na zapis, ale zapisaną wartość można z niego odczytać w dowolnej chwili. * Rejestr jest do zapisu i odczytu: reaguje na zapis, ale zapisaną wartość można z niego odczytać w dowolnej chwili.
* Stan początkowy (po włączeniu zasilania) to $00. Odpowiada to obecności kartridża 8k w obszarze $A000-$BFFF. * Stan początkowy (po włączeniu zasilania) to $00. Odpowiada to obecności kartridża 8k w obszarze $A000-$BFFF.
 +----
* Funkcje bitów: * Funkcje bitów:
**7 = 0 – włączona blokada zapisu do pamięci flash **7 = 0 – włączona blokada zapisu do pamięci flash
**6 = 0 – nieparzysty blok 8k widoczny w obszarze $A000-$BFFF **6 = 0 – nieparzysty blok 8k widoczny w obszarze $A000-$BFFF
**5 = 0 – parzysty blok 8k niewidoczny w obszarze $8000-$9FFF **5 = 0 – parzysty blok 8k niewidoczny w obszarze $8000-$9FFF
-==+----
-Bity 4-0 wybierają nr banku 16k z zakresu od 0 do 31 (bit 0 jest najmniej znaczącym bitemu nru banku). Bank $00 to adresy $00000-$03FFF pamięci flash, bank $01 to adresy $04000-$07FFF pamięci flash itd.+Bity 4-0 wybierają nr banku 16k z zakresu od 0 do 31 (bit 0 jest najmniej znaczącym bitem numeru banku).
 + 
 +Bank $00 to adresy $00000-$03FFF pamięci flash, bank $01 to adresy $04000-$07FFF pamięci flash itd.
Bity 6 i 5 decydują, czy odpowiednia połówka banku wybranego bitami 4-0 będzie widoczna w odpowiednich obszarach pamięci Atari. Bit 5 steruje widocznością pierwszej połówki (adresy $8000-$9FFF w Atari oraz niższa połowa banku 16k pamięci flash). Bit 6 steruje widocznością drugiej połówki (adresy $A000-$BFFF w Atari oraz wyższa połowa banku 16k pamięci flash). Bity 6 i 5 decydują, czy odpowiednia połówka banku wybranego bitami 4-0 będzie widoczna w odpowiednich obszarach pamięci Atari. Bit 5 steruje widocznością pierwszej połówki (adresy $8000-$9FFF w Atari oraz niższa połowa banku 16k pamięci flash). Bit 6 steruje widocznością drugiej połówki (adresy $A000-$BFFF w Atari oraz wyższa połowa banku 16k pamięci flash).
W efekcie, przy pamięci flash o pojemności 256k, jej połowa (128k) jest dostępna zawsze w obszarze $8000-$9FFF, a druga połowa – w obszarze $A000-$BFFF. W efekcie, przy pamięci flash o pojemności 256k, jej połowa (128k) jest dostępna zawsze w obszarze $8000-$9FFF, a druga połowa – w obszarze $A000-$BFFF.
-==+----
Przykładowe wartości rejestru: Przykładowe wartości rejestru:
- 
*$00 – adresy $02000-$03FFF pamięci flash widoczne pod $A000-$BFFF. *$00 – adresy $02000-$03FFF pamięci flash widoczne pod $A000-$BFFF.
*$20 – adresy $00000-$03FFF pamięci flash widoczne pod $8000-$BFFF. *$20 – adresy $00000-$03FFF pamięci flash widoczne pod $8000-$BFFF.
Linia 22: Linia 24:
*$40 – pamięć flash niewidoczna *$40 – pamięć flash niewidoczna
*$A0 – jak $20, ale dodatkowo z wyłączoną blokadą zapisu do pamięci flash. *$A0 – jak $20, ale dodatkowo z wyłączoną blokadą zapisu do pamięci flash.
-==+----
Adresy sterujące pamięciami flash znajdują się odpowiednio: Adresy sterujące pamięciami flash znajdują się odpowiednio:
- 
# $5555 – pod $9555 w banku nr 1 (dostęp: wpisać $A1 do $D500) # $5555 – pod $9555 w banku nr 1 (dostęp: wpisać $A1 do $D500)
# $2AAA – pod $AAAA w banku nr 0 (dostęp: wpisać $A0 do $D500) # $2AAA – pod $AAAA w banku nr 0 (dostęp: wpisać $A0 do $D500)
 +[[Kategoria: Programowanie Atari 8-bit]]

Wersja z dnia 19:08, 7 lip 2011

Opis rejestru sterującego Sic!


  • Rejestr znajduje się pod adresem $D500. Ze względu na niepełne dekodowanie adresu rejestr zajmuje w rzeczywistości obszar od $D500 do $D51F (32 bajty).
  • Rejestr jest do zapisu i odczytu: reaguje na zapis, ale zapisaną wartość można z niego odczytać w dowolnej chwili.
  • Stan początkowy (po włączeniu zasilania) to $00. Odpowiada to obecności kartridża 8k w obszarze $A000-$BFFF.

  • Funkcje bitów:
    • 7 = 0 – włączona blokada zapisu do pamięci flash
    • 6 = 0 – nieparzysty blok 8k widoczny w obszarze $A000-$BFFF
    • 5 = 0 – parzysty blok 8k niewidoczny w obszarze $8000-$9FFF

Bity 4-0 wybierają nr banku 16k z zakresu od 0 do 31 (bit 0 jest najmniej znaczącym bitem numeru banku).

Bank $00 to adresy $00000-$03FFF pamięci flash, bank $01 to adresy $04000-$07FFF pamięci flash itd.

Bity 6 i 5 decydują, czy odpowiednia połówka banku wybranego bitami 4-0 będzie widoczna w odpowiednich obszarach pamięci Atari. Bit 5 steruje widocznością pierwszej połówki (adresy $8000-$9FFF w Atari oraz niższa połowa banku 16k pamięci flash). Bit 6 steruje widocznością drugiej połówki (adresy $A000-$BFFF w Atari oraz wyższa połowa banku 16k pamięci flash).

W efekcie, przy pamięci flash o pojemności 256k, jej połowa (128k) jest dostępna zawsze w obszarze $8000-$9FFF, a druga połowa – w obszarze $A000-$BFFF.


Przykładowe wartości rejestru:

  • $00 – adresy $02000-$03FFF pamięci flash widoczne pod $A000-$BFFF.
  • $20 – adresy $00000-$03FFF pamięci flash widoczne pod $8000-$BFFF.
  • $60 – adresy $00000-$01FFF pamięci flash widoczne pod $8000-$9FFF.
  • $40 – pamięć flash niewidoczna
  • $A0 – jak $20, ale dodatkowo z wyłączoną blokadą zapisu do pamięci flash.

Adresy sterujące pamięciami flash znajdują się odpowiednio:

  1. $5555 – pod $9555 w banku nr 1 (dostęp: wpisać $A1 do $D500)
  2. $2AAA – pod $AAAA w banku nr 0 (dostęp: wpisać $A0 do $D500)
Personal tools