Megnéztem a régi PETSCII-s projektemben. Egy BASIC DATA sor kezdődik egy bájt hossz adattal, folytatódik három bájt sorszám adattal, utána jön a DATA tokenje, ami látszólag két bájt, majd egy szóköz és a végén az adatok szövegesen. Két DATA sor összevonásával 6-7 bájtot meg lehet spórolni.
Megpróbáltam így csökkenteni a Hungry Creature méretét, de kiderült, nem ez a gond. A Zzzip által generált basic betöltő elé is tettem egy betöltőt, abban van néhány envelope number és set character, meg töltés közbeni képernyő. Kiderült, hogy ez a betöltő volt túl hosszú. Ez azért meglepő, mert ezt a basic programot úgyis felülírja a Zzzip betöltője, ami szintén egy basic program. Szóval rejtély, hogy az miért zavart be. Ha pl.
300 RUN "filename"
paranccal betöltök és elindítok egy basic programból egy másik basic programot, akkor valami mégis megmarad az előző basic programból?
A betöltőből végül kivettem egy DISPLAY GRAPHICS és egy DISPLAY TEXT utasítást, és így már van elég memória, elindul EP64 alatt is.
Most azon gondolkozom, hogy a DISPLAY GRAPHICS esetleg megnyitott egy videolapot és az vitte el a memóriát, de annak aztán végleg be kellett volna záródnia a Zzzippel fordított program indításakor, mert akkor a csatornák bezáródnak. Ki érti ezt...
Nem sokára feltöltöm az EP64-en is futó Hungry Creature-t, csak még a zene elkezd akadozni, mert EP64-en lassabb minden, ezt még javítani kell.