Korzystając z artykułu @0xF opowiadającego o tym jak uzyskać tryb 9++ zrobiłem eksperymentalny tryb ++ wykorzystujący tryb 5 ANTIC-a.
Zalety:
1. Rozmiar znaku 4x4 piksele multicolor.
2. 5 kolorów na znak - jak to w tekstowym trybie multicolor.
3. Pamięć ekranu 40x24=960 bajtów.
4. Większa granulacja (w pionie) przy manipulowaniu mapą kolorów (7. bit kodu znaku).
5. 2x128 znaków 4x4 w generatorze znaków o rozmiarze 1K.
6. Więcej cykli dla CPU niż w trybie 4 ANTIC-a bo dane obrazu pobierane są co drugą linię skanningową.
7. Definicja jednego znaku 4x4 składa się z 4 bajtów.
8. Kwadratowy piksel w trybie ekranowym 160x96.
Wady:
1. Przerwanie DLI co 16 linii skanningowych przestawiające VSCROL.
2. Badlines co 8 linii skanningowych - jak w trybie 4 ANTIC-a.
Tryb wykorzystuje sztuczkę Foxa z manipulacją rejestrem VSCROL pozwalając na uzyskanie pamięci ekranu 40x24 znaki 4x4.
Nic nie stoi na przeszkodzie idąc za ciosem uzyskać tryb 4x2 z pamięcią ekranu 40x48=1920 lub 4x1 z pamięcią ekranu 40x96=3840 bajtów pozwalający na jeszcze gęstsze manipulacje inwersem.
Generator znaków ma rozmiar 1KB przy czym każdy "znak" dzieli się na dwie połówki - górną (pierwsze 4 bajty) używaną dla znaków w wierszach parzystych i dolną (drugie 4 bajty) używaną w wierszach nieparzystych.
Można tego trybu użyć do skrolingów w pionie i poziomie (konieczność ustawiania odpowiedniej wartości VSCROL w pierwszym i ostatnim przerwaniu DLI - pozostałe bez zmian).
Być może taki tryb przyda się komuś do gry albo dema.
W załączniku kod i wyniki.
niewiedza buduje, wiedza rujnuje