Różnie określają ten sposób zmiany kolorów, ale przerwanie DLI samo w sobie nie jest wystarczające, można wywołać program przerwania DLI ale dalej trzeba już sie synchronizować odpowiednią liczbą cykli CPU.
Uruchom G2F (Graph2Font), wybierz MODE=GED+ lub MODE=GED--, przejdź do EDIT RASTERS (ALT+R), zobaczysz okno z domyślną listą rozkazów CPU dla jednej linii ekranu, teraz możesz ją modyfikować co wpłynie na miejsce zmiany kolorów na ekranie, ale idealnej dowolności nie ma.
Podsumowując metoda o którą pytasz to dzielenie rastra "split raster", w tej metodzie nie uzywasz rejestru $D40A jak ma to miejsce w przerwaniu DLI, tylko musisz napisac swoj program którym idealnie co do cyklu zsynchronizujesz sie z tworzoną linia obrazu. Musisz jeszcze wiedzieć ile czasu (w cyklach CPU) zajmuje stworzenie liniii obrazu dla konkretnej szerokości obrazu. G2F obsługuje dzielenie rastra dla ekranu normalnego i wąskiego, dla szerokiego jest to mało opłacalne.
Innym programem wykorzystującym dzielenie rastra jest GED i pewien program FOX'a, którego nazwy zapomnialem, oba na małe ATARI.
Pytanko takie mnie naszło: czy ta metoda (jeżeli użyta powiedzmy w 50% ekranu)
nie obciąży zbytnio procesora?
Czyli inaczej, czy starczy jeszcze czasu procesora na obsługę gry?
Jeśli zostanie użyta w 50% ekranu to CPU w 50% ekranu będzie zmieniał kolory i na nic więcej nie będzie miał czasu.
Trzeba tak naprawdę pomieszać zmiany w rastrze ze zmianami na przerwaniu DLI jeśli to możliwe bo najczęściej są fragmenty ekranu które wymagają zmian koloru co linie i takie fragmenty które tego nie wymagają. Można wtedy wywoływać przerwanie DLI dla konkretnej linii ekranu, odpowiednio sie zsynchronizować i dalej kontynuować zmiany za pomocą dzielenia rastra. Ogólnie wymagana jest optymalizacja programu przerwania DLI, przykładem takiej optymalizacji jest zbliżająca sie gra GETRIS. Czyli jeśli jesteś dobrym koderem to dasz radę.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C