http://mads.atari8.info/softsprt_OK.zip
wszystko idzie w dobrym kierunku, wczesniejszy pomysl ulegl malej modyfikacji, zalaczona wersja potrafi wyswietlic 17 duchow w 3 ramkach i zajmuje najmniej miejsca kosztem strony zerowej, ktora wykorzystuje prawie w calosci
na stronie zerowej umieszczona zostala rozpisana procedurka realizujaca to (struktury mads-a czynia cuda):
lda $ffff,y
and $ffff,y
ora $ffff,y
sta $ffff,y
procedurke ze strony zerowej mozna takze wykorzystac do tworzenia duchow 8x24, duchy 8x24 beda potrzebowac tylko dwoch dodatkowych bankow z rozpisana procedura inicjalizacji, pozatym obecnosc duchow 8x24 bedzie mozna wykorzystac do optymalizacji dzialania duchow 12x24 (dla pozycji "x and 3=0")
w zalaczonej wersji, ktora najbardziej mi sie podoba ze wzgledu na zrownowazone parametry szybkosci i pamieciozernosci ustalony jest staly podzial pamieci banku dla danych duchow, tak ze maksymalnie duch moze skladac sie z 15 klatek animacji i zajmuje tylko 1 bank pamieci
podkladania PMG jeszcze nie zrobilem, ogolnie napisalem ze jest to mozliwe z poziomu programow obslugi ducha, poniewaz kazdy duch ma swoj program obslugi, najprostszy program obslugi to RTS :)
w zalaczonym przykladzie wyswietlane sa 4 duchy i 4 pociski z piorytetem 8, piorytet 0 dziala tylko zadowalajaco dla dwoch pierwszych duchow i dwoch pierwszych pociskow
ogolnie mozna zajrzec do G2F, tam to wszystko jest podane w zakładce EDIT PMG
dla piorytetu GTICTL=8 duchy przykrywaja kolory z rejestrow COLOR2, COLOR3 (invers), a jako ze inversu duchy programowe nie uzywaja oznacza to ze duchy programowe bede miały zmieniany tylko jeden kolor konkretnie ten z rejestru COLOR2 (710)
4 duchy sprzetowe moga calkowicie podbarwiac ducha programowego 12x24
4 pociski sprzetowe moga calkowicie podbarwic ducha programowego 8x24 (tym samym kolorem co duchy lub kolorem z rejestru COLOR3=kolor inversu)
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C