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ę.
Ostatnio edytowany przez tebe (2006-02-07 18:53:14)
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C