const byte* BYTEBOOZER[] = kickasm {{ .const B2_ZP_BASE = $fc #import "byteboozer_decrunch.asm" }} const byte* CRUNCHED_SPRITE[] = kickasm( uses SPRITE) {{ .modify B2() { .pc = SPRITE .var pic = LoadPicture("sprite.png", List().add($000000, $ffffff)) .for (var y=0; y<21; y++) .for (var x=0;x<3; x++) .byte pic.getSinglecolorByte(x,y) } }} const nomodify byte* DEFAULT_SCREEN = (byte*) 1024 const nomodify byte GREEN = 5 const nomodify word OFFSET_SPRITE_PTRS = $3f8 const byte OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE = $15 const nomodify byte* SPRITE = (byte*) 8192 const nomodify byte* SPRITES_COLOR = (byte*) 53287 const nomodify byte* SPRITES_PTR = DEFAULT_SCREEN+OFFSET_SPRITE_PTRS const nomodify byte* SPRITES_XPOS = (byte*) 53248 const nomodify byte* SPRITES_YPOS = (byte*) 53249 const nomodify struct MOS6569_VICII* VICII = (struct MOS6569_VICII*) 53248 void byteboozer_decrunch(volatile byte* byteboozer_decrunch::crunched) volatile byte* byteboozer_decrunch::crunched loadstore zp[2]:2 2.0 void main() byte main::toSpritePtr1_return const byte main::toSpritePtr1_return#0 toSpritePtr1_return = (byte)(word)SPRITE/$40 byte* main::toSpritePtr1_sprite zp[2]:2 [ byteboozer_decrunch::crunched ]