Project: Face
; An example program where a face jumps about. Wait for it to hit the corner
; and you win. How exciting
;
; If you'd rather take control, you can also press the "S" key to toggle manual
; control on and off.
;
; When in manual mode, you can move with:
; A: left
; D: right
; W: up
; X: down
; Some definitions. These must appear before any other instructions
DEFINE REGISTER X_COORD v0
DEFINE REGISTER Y_COORD v1
DEFINE REGISTER IS_MOVING_DOWN v2
DEFINE REGISTER IS_MOVING_RIGHT v3
DEFINE REGISTER IS_MANUAL_CONTROL v4
DEFINE REGISTER TOGGLE_DELAY v5
DEFINE REGISTER TOGGLE_KEY v6
DEFINE REGISTER MOVE_UP_KEY v7
DEFINE REGISTER MOVE_RIGHT_KEY v8
DEFINE REGISTER MOVE_DOWN_KEY v9
DEFINE REGISTER MOVE_LEFT_KEY vA
DEFINE REGISTER ONE vB
DEFINE BYTE RIGHT_LIMIT 56
DEFINE BYTE BOTTOM_LIMIT 26
; Jump to main entry point (Feels cleaner this way. You do you)
JP main
; Lets draw a face
; Indents don't matter. But we're not animals
smile:
0b00100100
0b00100100
0b00000000
0b10011001
0b01000010
0b00111100
moveVertical:
; If we're not moving down, jump to "moveUp"
SE IS_MOVING_DOWN, 0
JP moveDown
JP moveUp
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
General Purpose
v00x1521
v10x1521
v20x011
v30x011
v40x000
v50x1E30
v60x088
v70x055
v80x099
v90x000
vA0x077
vB0x011
vC0x000
vD0x000
vE0x000
vF0x000
Special Use
PC0x274628
I0x202514
DT0x000
ST0x000
SP0x11