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
v00x000
v10x000
v20x000
v30x000
v40x000
v50x000
v60x000
v70x000
v80x000
v90x000
vA0x000
vB0x000
vC0x000
vD0x000
vE0x000
vF0x000
Special Use
PC0x200512
I0x0000
DT0x000
ST0x000
SP0x00