Sophia

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 22:19, 30 maj 2020
Mono (Dyskusja | wkład)
(Różnice w stosunku do obrazu generowanego oryginalnie przez GTIA - linki do GTIA a nie do POKEY-a)
← Previous diff
Wersja z dnia 13:34, 15 sie 2023
Mono (Dyskusja | wkład)
(sophia 2)
Next diff →
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 dnia 13:34, 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:


Grafika:Sophia_rev_A.JPG Grafika:Sophia_Rev_B.JPG Grafika:Sophia_Rev_C.JPG


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

Zobacz też

Personal tools