millfork/examples/a8/landscape.mfk

43 lines
768 B
Plaintext

// idea @ilmenit
// https://demozoo.org/productions/280623
// for 8bit AtariXL, OS Rev 2
alias prev_x = os_OLDCOL.lo
alias cursor_x = os_COLCRS.lo
alias prev_y = os_OLDROW
alias cursor_y = os_ROWCRS
alias color = os_ATACHR
byte i
array(byte) color_height = [
170,150,144,144,122,122,110,110,94,94,86,86,82,80
]
asm void openmode(byte register(a) m) @ $ef9c extern
asm void drawto() @ $f9c2 extern
void main(){
openmode(9)
os_COLOR4 = $b0
for i,0,to,79 {
cursor_x = i
prev_x = i
prev_y = 1
for color,13,downto,0 {
cursor_y = color_height[color]
if pokey_random < $80 {
color_height[color] -= 1
}
if pokey_random < $80 {
color_height[color] += 1
}
drawto()
}
}
while true {}
}