Trevor Merritt e29ac45c84 scroll down works on CHIP-8 and High-Res modes
scroll left and right work in stdef and hidef
adds octo test roms
adds schip fonts to memory
2024-10-27 11:41:25 -04:00

84 lines
1.8 KiB
Plaintext

###########################################
#
# Sprite scrolling demo:
#
# Draw a computer monitor with a scrolling
# image by using two copies of its sprites
# and adjusting an offset into that data
# before each draw.
#
###########################################
: main
# draw the background:
v0 := 16
v1 := 4
i := comp-LT
sprite v0 v1 11
v0 += 8
i := comp-T
sprite v0 v1 3
v0 += 8
sprite v0 v1 3
v0 += 8
i := comp-RT
sprite v0 v1 11
v0 := 16
v1 += 11
i := comp-LB
sprite v0 v1 15
v0 += 8
v1 += 7
i := comp-B
sprite v0 v1 8
v0 += 8
sprite v0 v1 8
v0 += 8
v1 += -7
i := comp-RB
sprite v0 v1 15
# main animation loop:
va := 24 # left x
vb := 32 # right x
vc := 7 # common y
v9 := 0 # scroll offset
v8 := 0b1111 # constant
draw-texture
loop
draw-texture
v9 += 1
v9 &= v8
draw-texture
vF := 4
delay := vF
loop
vF := delay
if vF != 0 then
again
again
: draw-texture
i := grenade-L
i += v9
sprite va vc 15
i := grenade-R
i += v9
sprite vb vc 15
;
: grenade-L 0x0F 0x30 0x7C 0x7C 0xF8 0xF4 0xE0 0xE8 0xF0 0xE8 0xE0 0x68 0x70 0x34 0x08 0x00
0x0F 0x30 0x7C 0x7C 0xF8 0xF4 0xE0 0xE8 0xF0 0xE8 0xE0 0x68 0x70 0x34 0x08 0x00
: grenade-R 0xF0 0x0C 0x46 0x66 0x33 0x13 0x0B 0x0B 0x1F 0x0F 0x0F 0x1E 0x1E 0x1C 0x30 0x00
0xF0 0x0C 0x46 0x66 0x33 0x13 0x0B 0x0B 0x1F 0x0F 0x0F 0x1E 0x1E 0x1C 0x30 0x00
: comp-LT 0x3F 0x3F 0x3F 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C
: comp-RT 0xFC 0xFC 0xFC 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C
: comp-T 0xFF 0xFF 0xFF
: comp-LB 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3F 0x3F 0x3F 0x00 0x07 0x1C 0x73 0x7F
: comp-RB 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0x3C 0xFC 0xFC 0xFC 0x00 0xE0 0xD8 0x26 0xFE
: comp-B 0xFF 0xFF 0xFF 0xFF 0x33 0xCC 0x33 0xFF