gigatron/rom/Contrib/at67/gasm/graphics/dots2.gasm
2025-01-28 19:17:01 +03:00

42 lines
1.1 KiB
Plaintext

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