Sophia: Różnice pomiędzy wersjami
m →Różnice w stosunku do obrazu generowanego oryginalnie przez GTIA: linki do GTIA a nie do POKEY-a |
sophia 2 |
||
| Linia 21: | Linia 21: | ||
* Piksele w trybie graficznym GR.10 nie są przesunięte o cykl koloru w stosunku do innych trybów graficznych | * Piksele w trybie graficznym GR.10 nie są przesunięte o cykl koloru w stosunku do innych trybów graficznych | ||
* Maska ograniczająca wyświetlany obraz do szerokości odpowiadającej 336 pikselom grafiki wysokiej rozdzielczości. Umożliwia wygaszenie ewentualnych niepożądanych efektów występujących w tzw. overscanie. Funkcja jest włączana bitem 5 [[Rejestry GTIA#PMCNTL|rejestru PMCNTL]]. Dla zachowania odporności na RESET, zmiana zawartości tego bitu jest możliwa tylko wtedy, kiedy ustawiony jest bit 3 tego samego rejestru. Występuje wyłącznie w wersji C, przy rozdzielczościach poziomych większych od 1280 pikseli. | * Maska ograniczająca wyświetlany obraz do szerokości odpowiadającej 336 pikselom grafiki wysokiej rozdzielczości. Umożliwia wygaszenie ewentualnych niepożądanych efektów występujących w tzw. overscanie. Funkcja jest włączana bitem 5 [[Rejestry GTIA#PMCNTL|rejestru PMCNTL]]. Dla zachowania odporności na RESET, zmiana zawartości tego bitu jest możliwa tylko wtedy, kiedy ustawiony jest bit 3 tego samego rejestru. Występuje wyłącznie w wersji C, przy rozdzielczościach poziomych większych od 1280 pikseli. | ||
== Sophia 2 == | |||
W 2020 roku Simius opracował drugą wersję urządzenia rozszerzając je o dodatkowe możliwości: | |||
* blokowanie detekcji kolizji, | |||
* obsługę 16 palet kolorów (15 modyfikowanych programowo), | |||
* wyjście VGA (480p/576p), | |||
* obsługę wysokich rozdzielczości obrazu, | |||
* tryb RGB TTL, | |||
* obsługę trybów interlace, | |||
* programową konfigurację trybu RGB/YPbrPr, | |||
* zapis ustawień do pamięci nieulotnej. | |||
Ponadto możliwa jest programowa detekcja urządzenia w komputerze: | |||
<pre> | |||
;zachowane zostaną ustawienia w przypadku gdyby bank rejestrów Sophia był aktywny | |||
lda GRACTL ;$D01D | |||
and #%01111111 | |||
sta GRACTL ;$D01D | |||
;uaktywniamy rejestry Sophia a przy okazji resetujemy ustawienia GRACTL w GTIA | |||
lda #%10000000 | |||
sta GRACTL ;$D01D | |||
;czytamy sygnaturę i rewizję | |||
ldx SOPHIA ;$D01E | |||
ldy REV ;$D015 | |||
;deaktywujemy rejestry zachowując ustawienia | |||
lda GRACTL ;$D01D | |||
and #%01111111 | |||
sta GRACTL ;$D01D | |||
;resetujemy ustawienia GRACTL w GTIA | |||
lda #%00000000 | |||
sta GRACTL | |||
;sprawdzamy czy jest Sophia 2 | |||
cpx #'S' | |||
beq ?v2 | |||
</pre> | |||
==Zobacz też== | ==Zobacz też== | ||
Wersja z 15 sie 2023, 15:34
Karta sprzętowej emulacji układu GTIA do 8-bitowego Atari. Ma formę płytki o wymiarach 50x45mm, montowanej pomiędzy układem GTIA i płytą główną. Sercem urządzenia jest układ CPLD typu MAX II firmy Altera.
Wersje
Urządzenie występuje w trzech wersjach: Rev. A, B i C, pokazanych na zdjęciach w tejże kolejności:
Wersje A i B generują obraz w standardzie RGB lub YPbPr z przeplotem lub bez (wybór za pomocą dwóch jumperów). Różnica między nimi polega na zastosowaniu innego układu DAC, odmiennej pinologii gniazda wyjściowego i obecności dodatkowego, wydzielonego sygnału synchronizacji pionowej w wersji B.
Wersja C generuje obraz w standardzie DVI-D, w jednej z czterech rozdzielczości: 1536x960, 1600x900, 1280x1024 lub 1280x960, programowanej w rdzeniu.
Wszystkie wersje zawierają te same dwie palety barw, odmienne dla systemów PAL i NTSC, automatycznie przełączane w zależności od systemu (de facto - układu ANTIC) zainstalowanego w komputerze. Urządzenie nie wpływa na żadne funkcje realizowane przez GTIA i nie zawiera żadnych rejestrów do odczytu. W szczególności - kolizje między obiektami Player-Missile, klawisze konsoli i przyciski joysticków obsługiwane są przez oryginalny układ.
Różnice w stosunku do obrazu generowanego oryginalnie przez GTIA
- Rejestry koloru są 8- a nie 7-bitowe, co oznacza, że w każdym trybie graficznym dostępna jest paleta 256 a nie 128 kolorów. Dla zachowania kompatybilności, dodatkowy, najmłodszy bit luminancji jest włączany normalnie niewykorzystanym bitem 3 rejestru PMCNTL ($D01D).
- Kolor pikseli grafiki wysokiej rozdzielczości może być, niezależnie od koloru tła, ustawiany w rejestrze COLPF1. Dla zachowania kompatybilności, funkcja ta jest włączana bitem 4 rejestru PMCNTL
- Piksele w trybie graficznym GR.10 nie są przesunięte o cykl koloru w stosunku do innych trybów graficznych
- Maska ograniczająca wyświetlany obraz do szerokości odpowiadającej 336 pikselom grafiki wysokiej rozdzielczości. Umożliwia wygaszenie ewentualnych niepożądanych efektów występujących w tzw. overscanie. Funkcja jest włączana bitem 5 rejestru PMCNTL. Dla zachowania odporności na RESET, zmiana zawartości tego bitu jest możliwa tylko wtedy, kiedy ustawiony jest bit 3 tego samego rejestru. Występuje wyłącznie w wersji C, przy rozdzielczościach poziomych większych od 1280 pikseli.
Sophia 2
W 2020 roku Simius opracował drugą wersję urządzenia rozszerzając je o dodatkowe możliwości:
- blokowanie detekcji kolizji,
- obsługę 16 palet kolorów (15 modyfikowanych programowo),
- wyjście VGA (480p/576p),
- obsługę wysokich rozdzielczości obrazu,
- tryb RGB TTL,
- obsługę trybów interlace,
- programową konfigurację trybu RGB/YPbrPr,
- zapis ustawień do pamięci nieulotnej.
Ponadto możliwa jest programowa detekcja urządzenia w komputerze:
;zachowane zostaną ustawienia w przypadku gdyby bank rejestrów Sophia był aktywny lda GRACTL ;$D01D and #%01111111 sta GRACTL ;$D01D ;uaktywniamy rejestry Sophia a przy okazji resetujemy ustawienia GRACTL w GTIA lda #%10000000 sta GRACTL ;$D01D ;czytamy sygnaturę i rewizję ldx SOPHIA ;$D01E ldy REV ;$D015 ;deaktywujemy rejestry zachowując ustawienia lda GRACTL ;$D01D and #%01111111 sta GRACTL ;$D01D ;resetujemy ustawienia GRACTL w GTIA lda #%00000000 sta GRACTL ;sprawdzamy czy jest Sophia 2 cpx #'S' beq ?v2