1 Ostatnio edytowany przez tebe (2016-03-10 23:04:20)

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

Post's attachments

antic2.png 17.54 kb, nikt jeszcze nie pobierał tego pliku. 

antic4.png 22.04 kb, nikt jeszcze nie pobierał tego pliku. 

badlines.7z 16.27 kb, liczba pobrań: 14 (od 2016-03-10) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

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.

Post's attachments

badlines_HiRes.asm 947 b, liczba pobrań: 11 (od 2016-03-11) 

badlines_HiRes.obx 10.99 kb, liczba pobrań: 8 (od 2016-03-11) 

Tylko zalogowani mogą pobierać załączniki.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

3

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.

https://www.youtube.com/watch?v=jofNR_WkoCE

4

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 :)

Post's attachments

badlines2.7z 1.45 kb, liczba pobrań: 8 (od 2016-03-14) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

5 Ostatnio edytowany przez mono (2016-03-15 00:08:17)

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).

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

6

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.

https://www.youtube.com/watch?v=jofNR_WkoCE

7 Ostatnio edytowany przez mono (2016-03-15 21:56:47)

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ę.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje