w załączniku procedura realizująca wyłączenie tzw. badlines
czy ktoś potrafi wyjaśnić dlaczego wiersze dla ANTIC = 4 są wyświetlane poprawnie, a dla ANTIC = 2 co drugi wiersz są obcinane
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
bm800xl 0.7.2 Nowa wersja emulatora 8-bitowego Atari na Raspberry Pi działającego bez systemu Linux.
BMAtariST v0.1.1 Nowa wersja BMAtariST v0.1.1 przynosi poprawki błędów dla bare-metal emulatora Atari ST/TT/Falcon na Raspberry Pi.
NeoST 0.6.4 Wydano NeoST 0.6.4 z obsługą NetUSBee, wbudowanym stosem sieciowym NAT oraz poprawkami dokładności.
Premiera "At the End of the Rainbow" Dziś premierę ma nowa książka Pawła Grabarczyka.
Altirra 4.50 test 28 Nowa wersja testowa emulatora Altirra przynosi poprawki VBXE, XF551 oraz systemu AltirraOS.
atari.area forum » Programowanie - 8 bit » Usuwanie badlines - ANTIC 2,4
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
w załączniku procedura realizująca wyłączenie tzw. badlines
czy ktoś potrafi wyjaśnić dlaczego wiersze dla ANTIC = 4 są wyświetlane poprawnie, a dla ANTIC = 2 co drugi wiersz są obcinane
Rzecz skojarzyła mi się ze sposobem działania trybu 3 ANTIC-a... i rzeczywiście coś jest na rzeczy. Spróbuj użyć znaków $60..$7f.
Być może ANTIC realizuje tryb 3 za pomocą jakiegoś tricku aplikowanego bezpośrednio na tryb 2, co być może wiąże się właśnie z obsługą VSCROL. Tryb 4 ANTIC-a nie ma analogicznego trybu 3-go :)
W załączniku Twój kod zmodyfikowany.
Różnice między trybami 2 i 3 to:
- wysokość linii trybu (tryb 2 - 8 linii, tryb 3 - 10 linii)
- zerowanie linii 0 i 1 dla znaków $60-$7f tylko w trybie 3
Linie 8 i 9 są zerowane dla znaków $00-$5f w trybie 2 tak samo jak w trybie 3.
działa, dla znaków $60..$7f, dzięki Mono, Fox
nie pamiętam abym wcześniej się z tym ograniczeniem spotkał, zbyt często zajmowałem się trybami kolorowymi ;)
p.s.
w załączonym przykładzie znak $21 ("A") i $60 zostaje zmodyfikowany, znak "A" ma przerwy, znak $60 tworzy ciągłe pionowe linie
człowiek uczy się całe życie :)
Dzięki Fox. Nie wiedziałem o tym zerowaniu.
A potrafiłbyś wytłumaczyć dlaczego w trybie 3 tylko jedna ćwiartka jest przesunięta? Połówka byłaby jakoś bardziej intuicyjna (i chyba użyteczniejsza)...
Edit: Mam na myśli ćwiartkę generatora znaków ($60..$7f).
Zastosowaniem trybu 3 są większe, bardziej czytelne litery. Ta "ćwiartka" jest przeznaczona na znaki, których fragment jest poniżej linii bazowej: np. g, p, q, y - 32 to aż nadto.
To ja wiem, ale dlaczego TYLKO JEDNA ĆWIARTKA a nie np POŁOWA?
Edit: Wcale nie aż nadto - do pokrycia standardowego ekranu brakuje 8.
Edit 2: Wyobrażam sobie, że połowa jest nawet konstrukcyjnie prostsza - bierzesz jeden bit. A do rozpoznania ćwiartki potrzebujesz skombinować dwa bity jakimś operatorem (np AND). Czemu tylko 32.
Właściwie to odpowiedziałeś na moje pytanie :) Dziękuję.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
atari.area forum » Programowanie - 8 bit » Usuwanie badlines - ANTIC 2,4
Forum oparte o: PunBB