vram EQU 0x0800 x_bounds EQU 0x9F y_bounds EQU 0x77 x_rand EQU 0x06 y_rand EQU 0x07 sysFn EQU 0x22 vbase EQU 0x40 pixels EQU 0x42 xy EQU 0x44 LDWI vram STW vbase LDWI 0x0000 STW xy loop LD x_rand ; x position ST xy SUBI x_bounds ; works as (x_rand % x_bounds), but only because x_bounds is > 0x00FF/2, fails otherwise BLE y_load ST xy y_load LD y_rand ; y position ST xy+1 SUBI y_bounds ; works as (y_rand % y_bounds), but only because y_bounds is > 0x00FF/3, fails otherwise BLE draw ST xy+1 SUBI y_bounds BLE draw ST xy+1 draw LDW vbase ADDW xy STW pixels LD x_rand POKE pixels BRA loop