;; Zero Page ;; LZ4 addresses LZ4_SRC = $00 LZ4_DST = $02 LZ4_END = $04 WHICH_LOAD = $05 COUNT = $06 DELTA = $08 ;; Zero page monitor routines addresses WNDLFT = $20 WNDWDTH = $21 WNDTOP = $22 WNDBTM = $23 CH = $24 CV = $25 GBASL = $26 GBASH = $27 BASL = $28 BASH = $29 H2 = $2C V2 = $2D MASK = $2E COLOR_MASK = $2F COLOR = $30 SEEDL = $4e SEEDH = $4f XMAX = $50 BEAST_X = $51 BEAST_GAIT = $52 BEAST_COUNT = $53 BEAST_STATE = $54 B_STANDING = $00 B_RUNNING = $01 B_FALLING = $02 B_DEAD = $03 BEAST_DIRECTION = $55 ;INVFLG = $32 FRAMEL = $60 FRAMEH = $61 WAITING = $62 LETTERL = $63 LETTERH = $64 LETTERX = $65 LETTERY = $66 LETTERD = $67 LETTER = $68 BLARGH = $69 INTRO_REPEAT = $7E ; INTRO ZPOS = $78 REGISTER_DUMP = $70 A_FINE_TONE = $70 A_COARSE_TONE = $71 B_FINE_TONE = $72 B_COARSE_TONE = $73 C_FINE_TONE = $74 C_COARSE_TONE = $75 NOISE = $76 ENABLE = $77 A_VOLUME = $78 B_VOLUME = $79 C_VOLUME = $7A ENVELOPE_FINE = $7B ENVELOPE_COARSE = $7C ENVELOPE_SHAPE = $7D COPY_OFFSET = $7E DECODER_STATE = $7F REGISTER_DUMP2 = $80 A_FINE_TONE2 = $80 A_COARSE_TONE2 = $81 B_FINE_TONE2 = $82 B_COARSE_TONE2 = $83 C_FINE_TONE2 = $84 C_COARSE_TONE2 = $85 NOISE2 = $86 ENABLE2 = $87 A_VOLUME2 = $88 B_VOLUME2 = $89 C_VOLUME2 = $8A ENVELOPE_FINE2 = $8B ENVELOPE_COARS2 = $8C ENVELOPE_SHAPE2 = $8D LYRICSL = $8E LYRICSH = $8F FRAME_COUNT = $90 MB_VALUE = $91 MB_ADDRL = $91 MB_ADDRH = $92 DONE_PLAYING = $93 MB_CHUNK_OFFSET = $94 MB_FRAME = $94 MB_PATTERN = $95 CHUNKSIZE = $95 LZ4_DONE = $96 DECODE_ERROR = $97 COPY_TIME = $98 DECOMPRESS_TIME = $99 TIME_TAKEN = $9A LYRICS_ACTIVE = $9B ;FORTYCOL = $9C CURSOR = $9D ; More zero-page addresses ; we try not to conflict with anything DOS, MONITOR or BASIC related ON_ELEVATOR = $DF ; ALL LEFT_LIMIT = $E0 ; ALL RIGHT_LIMIT = $E1 ; ALL WHICH_SLUG = $E2 ; C1 WHICH_CAVE = $E3 ; C1 WHICH_JAIL = $E3 ; C2 BEAST_OUT = $E4 ; C1 GAME_OVER = $E5 ; ALL DNA_OUT = $E5 ; INTRO MESSAGE_CURRENT = $E5 ; INTRO EQUAKE_PROGRESS = $E6 ; C1 DNA_PROGRESS = $E6 ; INTRO TIME_COUNT = $E6 ; INTRO EARTH_OFFSET = $E7 ; ALL?? DNA_COUNT = $E7 ; INTRO CURSOR_COUNT = $E7 ; INTRO PARTICLE_COUNT = $E7 ; INTRO MESSAGE_COUNT = $E7 ; INTRO BOULDER_X = $E8 ; C1 BOULDER_Y = $E9 ; C1 PHYSICIST_STATE = $EA P_STANDING = $00 P_WALKING = $01 P_RUNNING = $02 P_CROUCHING = $03 P_KICKING = $04 P_JUMPING = $05 ; no keypress P_COLLAPSING = $06 ; no keypress P_FALLING = $07 ; no keypress P_SWINGING = $08 ; no keypress P_ELEVATING_UP = $09 P_ELEVATING_DOWN = $0A BEFORE_SWING = $EB CUTFRAME = $EC DISP_PAGE = $ED DRAW_PAGE = $EE OFFSET = $EF INTRO_LOOPL = $F0 ; INTRO PHYSICIST_X = $F0 ; ALL INTRO_LOOPH = $F1 ; INTRO PHYSICIST_Y = $F1 ; ALL SPRITETEMP = $F2 XPOS = $F3 YPOS = $F4 DIRECTION = $F5 ; ALL GAIT = $F6 ; ALL INTRO_LOOPER = $F7 ; INTRO TENTACLE_X = $F7 ; C1 LEVELEND_PROGRESS = $F8 ; C1 SWING_PROGRESS = $F8 ; C1 TENTACLE_PROGRESS = $F8 ; C1 ELEVATOR_CYCLE = $F8 ; INTRO STATIC_LOOPER = $F8 ; INTRO TENTACLE_GRAB = $F9 ; C1 ELEVATOR_COUNT = $F9 ; INTRO TEMP = $FA TEMPY = $FB INL = $FC INH = $FD OUTL = $FE OUTH = $FF