Rejestry Sophia
From Atariki
| Wersja z dnia 15:02, 22 cze 2026 Mono (Dyskusja | wkład) (→Lista rejestrów Sophia2 i Sophia3) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (→Lista rejestrów Sophia2 i Sophia3 - red.) |
||
| Linia 1: | Linia 1: | ||
| [[Sophia]] to rozszerzenie Atari XL/XE emulujące układ [[GTIA]] i umożliwiające wyświetlanie obrazu przez złącza RGB, YPbPr, VGA, DVI-D. | [[Sophia]] to rozszerzenie Atari XL/XE emulujące układ [[GTIA]] i umożliwiające wyświetlanie obrazu przez złącza RGB, YPbPr, VGA, DVI-D. | ||
| - | Urządzenie istnieje w dwóch wersjach różniących się nieco od siebie. | + | Urządzenie istnieje w kilku wersjach różniących się nieco od siebie. |
| ===Lista rejestrów Sophia1=== | ===Lista rejestrów Sophia1=== | ||
| Linia 24: | Linia 24: | ||
| ===Lista rejestrów Sophia2 i Sophia3=== | ===Lista rejestrów Sophia2 i Sophia3=== | ||
| - | Tu wykorzystano tylko jeden nieużywany bit w rejestrze układu [[GTIA]] i przełącza on bank rejestrów Sophii. | + | Tu wykorzystano tylko jeden nieużywany bit w rejestrze układu [[GTIA]] i przełącza on bank rejestrów [[Sophia|Sophii]]. |
| {| border="1" cellpadding="5" | {| border="1" cellpadding="5" | ||
| Linia 31: | Linia 31: | ||
| |id="PMCNTL"|$D01D (W)||PMCNTL, GRACTL|| | |id="PMCNTL"|$D01D (W)||PMCNTL, GRACTL|| | ||
| Funkcje bitów: | Funkcje bitów: | ||
| - | * bit 7 - w układzie [[Sophia|Sophia2]]: włączenie rejestrów rozszerzenia (1 - włączone) | + | * bit 7 - włączenie rejestrów rozszerzenia (1 - włączone) |
| * bit 6 - niewykorzystany | * bit 6 - niewykorzystany | ||
| * bit 5 - niewykorzystany | * bit 5 - niewykorzystany | ||
| Linia 41: | Linia 41: | ||
| |} | |} | ||
| - | Bank rejestrów Sophii 2 i 3 znajduje się w podstawowym obszarze rejestrów GTIA czyli $D000-$D01F. | + | Bank rejestrów Sophii znajduje się w podstawowym obszarze rejestrów GTIA czyli $D000-$D01F. |
| {| border="1" cellpadding="5" | {| border="1" cellpadding="5" | ||
| Linia 81: | Linia 81: | ||
| * bit 3: COLPM3 | * bit 3: COLPM3 | ||
| * bity 4-7: zawsze 0 | * bity 4-7: zawsze 0 | ||
| - | W Sophia3: | + | W Sophia 3: |
| * bit 6: SCL (W) - linia SCL interfejsu TPI I<sup>2</sup>C | * bit 6: SCL (W) - linia SCL interfejsu TPI I<sup>2</sup>C | ||
| * bit 7: SDA (R/W) - linia SDA interfejsu TPI I<sup>2</sup>C | * bit 7: SDA (R/W) - linia SDA interfejsu TPI I<sup>2</sup>C | ||
| Linia 116: | Linia 116: | ||
| |- | |- | ||
| |id="REV"|$D015 (R)||REV||Rewizja rdzenia. | |id="REV"|$D015 (R)||REV||Rewizja rdzenia. | ||
| - | W Sophia3: | + | W Sophia 3: |
| * bit 7: zawsze 1 | * bit 7: zawsze 1 | ||
| |- | |- | ||
| Linia 155: | Linia 155: | ||
| |- | |- | ||
| |id="FIELD"|$D01C (R)||FIELD||Znacznik parzystości ramki w trybie z przeplotem. | |id="FIELD"|$D01C (R)||FIELD||Znacznik parzystości ramki w trybie z przeplotem. | ||
| - | Funkcje bitów: | + | Znaczenie bitów: |
| * bit 7: EVEN - 0: ramka parzysta, 1: ramka nieparzysta, w trybie bez przeplotu zawsze 0 | * bit 7: EVEN - 0: ramka parzysta, 1: ramka nieparzysta, w trybie bez przeplotu zawsze 0 | ||
| * bit 6-0 - niewykorzystane | * bit 6-0 - niewykorzystane | ||
| |- | |- | ||
| - | |id="VDELAY"|$D01C (R/W)||VDELAY||Tylko Sophia3. | + | |id="VDELAY"|$D01C (R/W)||VDELAY||Rejestr konfiguracji (tylko Sophia 3). |
| - | Funkcje bitów kiedy SPECEN=1: | + | Znaczenie bitów: |
| * bit 7: AUDIO - 0: pure_DVI mode, 1: DVI_with_AUDIO mode | * bit 7: AUDIO - 0: pure_DVI mode, 1: DVI_with_AUDIO mode | ||
| * bit 6: TPI - 0: TPI I<sup>2</sup>C disabled, 1: TPI I<sup>2</sup>C enabled | * bit 6: TPI - 0: TPI I<sup>2</sup>C disabled, 1: TPI I<sup>2</sup>C enabled | ||
| Linia 169: | Linia 169: | ||
| |id="GRACTL"|$D01D (R/W)||GRACTL||Rejestr konfiguracji. | |id="GRACTL"|$D01D (R/W)||GRACTL||Rejestr konfiguracji. | ||
| Znaczenie bitów: | Znaczenie bitów: | ||
| - | * bit 7: SPECial features ENable - 1: aktywuje rejestry układu Sophia2, 0: aktywuje rejestry układu GTIA i zeruje adres pamięci palety | + | * bit 7: SPECial features ENable - 1: aktywuje rejestry układu Sophia, 0: aktywuje rejestry układu GTIA i zeruje adres pamięci palety |
| * bit 6: SYNC conTroL - ustawia wyjścia analogowych sygnałów synchronizacji | * bit 6: SYNC conTroL - ustawia wyjścia analogowych sygnałów synchronizacji | ||
| {| border="1" | {| border="1" | ||
| Linia 199: | Linia 199: | ||
| Wewnętrzny adres wpisu palety resetowany jest w momencie wyzerowania bitu SPECEN rejestru GRACTL (czyli <b>wyłączenia</b> banku rejestrów Sophii). | Wewnętrzny adres wpisu palety resetowany jest w momencie wyzerowania bitu SPECEN rejestru GRACTL (czyli <b>wyłączenia</b> banku rejestrów Sophii). | ||
| + | |} | ||
| + | |||
| + | ===Lista rejestrów EEPROM=== | ||
| + | Sophia 2: | ||
| + | |||
| + | {| border="1" cellpadding="5" | ||
| + | ! Adres !! Opis | ||
| + | |- | ||
| + | |id="S200"|$00 (R/W)|| | ||
| + | * bit 7 - nVGA | ||
| + | * bit 6 - nRES2 | ||
| + | * bit 5 - nRES1 | ||
| + | * bit 4 - nRES0 | ||
| + | * bit 3 - nSYNCTL | ||
| + | * bit 2 - nVGATE | ||
| + | * bit 1 - nHIRESB | ||
| + | * bit 0 - nLUM0E | ||
| + | |- | ||
| + | |id="S201"|$01 (R/W)|| | ||
| + | * bit 7 - nINTERL | ||
| + | * bit 6 - nYUVRGB | ||
| + | * bit 3-0 - nieużywane | ||
| + | |} | ||
| + | |||
| + | Sophia 3: | ||
| + | |||
| + | {| border="1" cellpadding="5" | ||
| + | ! Adres !! Opis | ||
| + | |- | ||
| + | |id="S300"|$00 (R/W)|| | ||
| + | * bit 7-6 - nieużywane | ||
| + | * bit 5 - nAUDIO | ||
| + | * bit 4 - nTPI | ||
| + | * bit 3 - nGR10SH | ||
| + | * bit 2 - nCSYNCTL | ||
| + | * bit 1 - nVGA | ||
| + | * bit 0 - nRES2 | ||
| + | |- | ||
| + | |id="S301"|$01 (R/W)|| | ||
| + | * bit 7 - nRES1 | ||
| + | * bit 6 - nRES0 | ||
| + | * bit 5 - nSYNCTL | ||
| + | * bit 4 - nVGATE | ||
| + | * bit 3 - nHIRESB | ||
| + | * bit 2 - nLUM0E | ||
| + | * bit 1 - nINTERL | ||
| + | * bit 0 - nYUVRGB | ||
| |} | |} | ||
Aktualna wersja
Sophia to rozszerzenie Atari XL/XE emulujące układ GTIA i umożliwiające wyświetlanie obrazu przez złącza RGB, YPbPr, VGA, DVI-D.
Urządzenie istnieje w kilku wersjach różniących się nieco od siebie.
Spis treści |
Lista rejestrów Sophia1
W pierwszej wersji Sophii nieużywane bity rejestru układu GTIA wykorzystano do konfiguracji funkcji rozszerzenia.
| Adres | Etykieta | Opis |
|---|---|---|
| $D01D (W) | PMCNTL, GRACTL |
Funkcje bitów:
|
Lista rejestrów Sophia2 i Sophia3
Tu wykorzystano tylko jeden nieużywany bit w rejestrze układu GTIA i przełącza on bank rejestrów Sophii.
| Adres | Etykieta | Opis |
|---|---|---|
| $D01D (W) | PMCNTL, GRACTL |
Funkcje bitów:
|
Bank rejestrów Sophii znajduje się w podstawowym obszarze rejestrów GTIA czyli $D000-$D01F.
| Adres | Etykieta | Opis | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| $D000 (R/W) | DISM0PF | Blokuje testowanie kolizji pocisku 0 z polem gry.
Bity 0-3 oznaczają kolizje z polem gry 0-3 (COLPF0-COLPF3). Blokada jest aktywna kiedy bit jest ustawiony.
| |||||||||||||||||||||||||||
| $D001 (R/W) | DISM1PF | Blokuje testowanie kolizji pocisku 1 z polem gry. Patrz DISM0PF. | |||||||||||||||||||||||||||
| $D002 (R/W) | DISM2PF | Blokuje testowanie kolizji pocisku 2 z polem gry. Patrz DISM0PF. | |||||||||||||||||||||||||||
| $D003 (R/W) | DISM3PF | Blokuje testowanie kolizji pocisku 3 z polem gry. Patrz DISM0PF. | |||||||||||||||||||||||||||
| $D004 (R/W) | DISP0PF | Blokuje testowanie kolizji gracza 0 z polem gry.
Bity 0-3 oznaczają kolizje z polem gry 0-3 (COLPF0-COLPF3). Blokada jest aktywna kiedy bit jest ustawiony.
| |||||||||||||||||||||||||||
| $D005 (R/W) | DISP1PF | Blokuje testowanie kolizji gracza 1 z polem gry. Patrz DISP0PF. | |||||||||||||||||||||||||||
| $D006 (R/W) | DISP2PF | Blokuje testowanie kolizji gracza 2 z polem gry. Patrz DISP0PF. | |||||||||||||||||||||||||||
| $D007 (R/W) | DISP3PF | Blokuje testowanie kolizji gracza 3 z polem gry. Patrz DISP0PF. | |||||||||||||||||||||||||||
| $D008 (R/W) | DISM0P | Blokuje testowanie kolizji pocisku 0 z graczem.
Bity 0-3 oznaczają kolizje z graczem 0-3 (COLPM0-COLPM3). Blokada jest aktywna kiedy bit jest ustawiony.
W Sophia 3:
| |||||||||||||||||||||||||||
| $D009 (R/W) | DISM1P | Blokuje testowanie kolizji pocisku 1 z graczem. Patrz DISM0P. | |||||||||||||||||||||||||||
| $D00A (R/W) | DISM2P | Blokuje testowanie kolizji pocisku 2 z graczem. Patrz DISM0P. | |||||||||||||||||||||||||||
| $D00B (R/W) | DISM3P | Blokuje testowanie kolizji pocisku 3 z graczem. Patrz DISM0P. | |||||||||||||||||||||||||||
| $D00C (R/W) | DISP0P | Blokuje testowanie kolizji gracza 0 z graczem.
Bity 0-3 oznaczają kolizje z graczem 0-3 (COLPM0-COLPM3). Blokada jest aktywna kiedy bit jest ustawiony.
| |||||||||||||||||||||||||||
| $D00D (R/W) | DISP1P | Blokuje testowanie kolizji gracza 1 z graczem. Patrz DISP0P. | |||||||||||||||||||||||||||
| $D00E (R/W) | DISP2P | Blokuje testowanie kolizji gracza 2 z graczem. Patrz DISP0P. | |||||||||||||||||||||||||||
| $D00F (R/W) | DISP3P | Blokuje testowanie kolizji gracza 3 z graczem. Patrz DISP0P. | |||||||||||||||||||||||||||
| $D010 | - | ||||||||||||||||||||||||||||
| $D011 | - | ||||||||||||||||||||||||||||
| $D012 | - | ||||||||||||||||||||||||||||
| $D013 | - | ||||||||||||||||||||||||||||
| $D014 | - | ||||||||||||||||||||||||||||
| $D015 (R) | REV | Rewizja rdzenia.
W Sophia 3:
| |||||||||||||||||||||||||||
| $D016 | - | ||||||||||||||||||||||||||||
| $D017 | - | ||||||||||||||||||||||||||||
| $D018 | - | ||||||||||||||||||||||||||||
| $D019 | - | ||||||||||||||||||||||||||||
| $D01A | - | ||||||||||||||||||||||||||||
| $D01B (R/W) | PRIOR | Rejestr konfiguracji rozdzielczości i palety.
Znaczenie bitów:
| |||||||||||||||||||||||||||
| $D01C (R) | FIELD | Znacznik parzystości ramki w trybie z przeplotem.
Znaczenie bitów:
| |||||||||||||||||||||||||||
| $D01C (R/W) | VDELAY | Rejestr konfiguracji (tylko Sophia 3).
Znaczenie bitów:
| |||||||||||||||||||||||||||
| $D01D (R/W) | GRACTL | Rejestr konfiguracji.
Znaczenie bitów:
| |||||||||||||||||||||||||||
| $D01E (R) | SOPHIA | Identyfikator urządzenia - zawiera wartość $53 czyli 'S' | |||||||||||||||||||||||||||
| $D01E (W) | HITCLR |
Zapis dowolnej wartości pod ten adres zeruje ustawienia wszystkich rejestrów DISM0PF-DISM3PD, DISM0P-DISM3P, DISP0PF-DISP3PF oraz DISP0P-DISP3P. | |||||||||||||||||||||||||||
| $D01F (W) | PALDATA | Kolejne wpisy do tego rejestru zapisują odpowiednio składowe R, G i B koloru palety.
Dostępnych jest 16 palet, z czego ostatnia jest nieużywana. Na początku pamięci znajduje się paleta nr 1, potem 2, itd. Nie ma dostępu do wbudowanej palety nr 0. Każda paleta zawiera 256 kolorów definiowanych za pomocą 6-bitowych składowych (najstarsze bity w bajcie). Wewnętrzny adres wpisu palety resetowany jest w momencie wyzerowania bitu SPECEN rejestru GRACTL (czyli wyłączenia banku rejestrów Sophii). |
Lista rejestrów EEPROM
Sophia 2:
| Adres | Opis |
|---|---|
| $00 (R/W) |
|
| $01 (R/W) |
|
Sophia 3:
| Adres | Opis |
|---|---|
| $00 (R/W) |
|
| $01 (R/W) |
|
