Sophia
From Atariki
Wersja z dnia 14:04, 15 sie 2023 Mono (Dyskusja | wkład) (linki do dokumentacji w watkach na forum) ← Previous diff |
Wersja z dnia 17:42, 15 sie 2023 Mono (Dyskusja | wkład) (→Sophia 2 - bez zapisu do nvram) Next diff → |
||
Linia 48: | Linia 48: | ||
Ponadto możliwa jest programowa detekcja urządzenia w komputerze: | Ponadto możliwa jest programowa detekcja urządzenia w komputerze: | ||
<pre> | <pre> | ||
- | ;zachowane zostaną ustawienia w przypadku gdyby bank rejestrów Sophia był aktywny | + | ;zachowane zostaną aktualne ustawienia (ale bez zapisu do pamięci nieulotnej) w przypadku gdyby bank rejestrów Sophia był aktywny |
lda GRACTL ;$D01D | lda GRACTL ;$D01D | ||
- | and #%01111111 | + | and #%01111110 |
sta GRACTL ;$D01D | sta GRACTL ;$D01D | ||
Linia 61: | Linia 61: | ||
ldy REV ;$D015 | ldy REV ;$D015 | ||
- | ;deaktywujemy rejestry zachowując ustawienia | + | ;deaktywujemy rejestry zachowując ustawienia (bez zapisu do NVRAM) |
lda GRACTL ;$D01D | lda GRACTL ;$D01D | ||
- | and #%01111111 | + | and #%01111110 |
sta GRACTL ;$D01D | sta GRACTL ;$D01D | ||
Wersja z dnia 17:42, 15 sie 2023
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.
Spis treści |
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,
Resolution | Aspect Ratio |
---|---|
480p/576p | 3:2/5:4 |
1280x960 | 4:3 |
1280x1024 | 5:4 |
1344x960 | 14:10 |
1440x900 | 16:10 |
1536x960 | 16:10 |
1600x900 | 16:9 |
1704x960 | 16:9 |
- tryb RGB TTL,
- obsługę trybów interlace,
- programową konfigurację trybu RGB/YPbrPr,
- zapis ustawień do pamięci nieulotnej.
Dodatkowo dostępny jest program SCONF.EXE pozwalający na skonfigurowanie ustawień Zosi.
Ponadto możliwa jest programowa detekcja urządzenia w komputerze:
;zachowane zostaną aktualne ustawienia (ale bez zapisu do pamięci nieulotnej) w przypadku gdyby bank rejestrów Sophia był aktywny lda GRACTL ;$D01D and #%01111110 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 (bez zapisu do NVRAM) lda GRACTL ;$D01D and #%01111110 sta GRACTL ;$D01D ;resetujemy ustawienia GRACTL w GTIA lda #%00000000 sta GRACTL ;sprawdzamy czy jest Sophia 2 cpx #'S' beq ?sophia2
Włączenie banku rejestrów Sophia odbywa się kiedy SPCEN=1 (bit 7 GRACTL). Jednakże to, gdzie trafią pozostałe bity zależy od tego czy przed zapisem aktywny był obszar rejestrów GTIA czy bank rejestrów Sophia.
Zobacz też
- wątek na forum Atari.area
- wątek na forum AtariAge
- Wpis na AtariArea z dokumentacją do Sophia 1
- Wpis na AtariArea z dokumentacją do Sophia 2
- Wpis na AtariArea do oprogramowania konfigurującego SCONF.EXE