2019-01-13 06:10:44 +00:00
|
|
|
;; Zero Page
|
|
|
|
|
|
|
|
;; LZ4 addresses
|
|
|
|
|
|
|
|
LZ4_SRC = $00
|
|
|
|
LZ4_DST = $02
|
|
|
|
LZ4_END = $04
|
2019-01-28 02:23:22 +00:00
|
|
|
WHICH_LOAD = $05
|
2019-01-13 06:10:44 +00:00
|
|
|
COUNT = $06
|
2020-01-26 06:30:49 +00:00
|
|
|
MENU_BASE = $06
|
|
|
|
MENU_HIGHLIGHT = $07
|
2019-01-13 06:10:44 +00:00
|
|
|
DELTA = $08
|
|
|
|
|
2020-01-26 06:30:49 +00:00
|
|
|
|
2019-01-13 06:10:44 +00:00
|
|
|
;; 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
|
2019-02-06 04:46:31 +00:00
|
|
|
COLOR_MASK = $2F
|
2019-01-13 06:10:44 +00:00
|
|
|
COLOR = $30
|
2019-01-18 05:18:06 +00:00
|
|
|
|
2019-02-06 04:46:31 +00:00
|
|
|
|
2019-01-18 05:18:06 +00:00
|
|
|
SEEDL = $4e
|
|
|
|
SEEDH = $4f
|
2019-03-24 05:14:23 +00:00
|
|
|
XMAX = $50
|
2019-07-11 15:43:16 +00:00
|
|
|
|
2019-08-18 16:37:21 +00:00
|
|
|
BEAST_X = $51 ; L1
|
|
|
|
BEAST_Y = $52 ; L1
|
|
|
|
BEAST_GAIT = $53 ; L1
|
|
|
|
BEAST_COUNT = $54 ; L1
|
|
|
|
BEAST_STATE = $55
|
|
|
|
B_STANDING = $00
|
|
|
|
B_RUNNING = $01
|
|
|
|
B_FALLING = $02
|
|
|
|
B_DEAD = $03
|
|
|
|
BEAST_DIRECTION = $56 ; L1
|
|
|
|
|
2019-03-24 05:14:23 +00:00
|
|
|
|
2019-01-13 06:10:44 +00:00
|
|
|
|
2019-01-17 04:16:11 +00:00
|
|
|
FRAMEL = $60
|
2019-01-13 06:10:44 +00:00
|
|
|
FRAMEH = $61
|
|
|
|
WAITING = $62
|
|
|
|
LETTERL = $63
|
|
|
|
LETTERH = $64
|
|
|
|
LETTERX = $65
|
|
|
|
LETTERY = $66
|
|
|
|
LETTERD = $67
|
|
|
|
LETTER = $68
|
|
|
|
BLARGH = $69
|
|
|
|
|
2019-08-21 04:54:02 +00:00
|
|
|
AY_REGISTERS = $70
|
2019-01-13 06:10:44 +00:00
|
|
|
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
|
2019-09-12 04:51:17 +00:00
|
|
|
PT3_MIXER_VAL = $77
|
2019-01-13 06:10:44 +00:00
|
|
|
A_VOLUME = $78
|
|
|
|
B_VOLUME = $79
|
|
|
|
C_VOLUME = $7A
|
|
|
|
ENVELOPE_FINE = $7B
|
|
|
|
ENVELOPE_COARSE = $7C
|
|
|
|
ENVELOPE_SHAPE = $7D
|
|
|
|
|
2019-08-21 04:54:02 +00:00
|
|
|
PATTERN_L = $7E
|
|
|
|
PATTERN_H = $7F
|
|
|
|
ORNAMENT_L = $80
|
|
|
|
ORNAMENT_H = $81
|
|
|
|
SAMPLE_L = $82
|
|
|
|
SAMPLE_H = $83
|
|
|
|
|
|
|
|
LOOP = $84
|
|
|
|
MB_VALUE = $85
|
|
|
|
MB_ADDRL = $86
|
|
|
|
MB_ADDRH = $87
|
|
|
|
DONE_PLAYING = $88
|
|
|
|
DONE_SONG = $89
|
2019-08-21 15:20:37 +00:00
|
|
|
PT3_TEMP = $8A
|
2019-01-13 06:10:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
; More zero-page addresses
|
|
|
|
; we try not to conflict with anything DOS, MONITOR or BASIC related
|
2019-08-15 19:12:34 +00:00
|
|
|
|
2019-08-23 22:59:43 +00:00
|
|
|
HAVE_GUN = $BC ; C2 jail+
|
|
|
|
|
2019-08-22 17:27:18 +00:00
|
|
|
FIRST_SHIELD = $BD
|
2019-08-22 16:21:18 +00:00
|
|
|
COLLISION_X = $BE
|
|
|
|
COLLISION_Y = $BF
|
2019-08-16 18:34:16 +00:00
|
|
|
|
|
|
|
DOOR_STATUS = $C0
|
|
|
|
DOOR_STATUS_H = $C1
|
|
|
|
DOOR_X = $C2
|
|
|
|
DOOR_X_H = $C3
|
|
|
|
DOOR_Y = $C4
|
|
|
|
DOOR_Y_H = $C5
|
|
|
|
DOOR_XMIN = $C6
|
|
|
|
DOOR_XMIN_H = $C7
|
|
|
|
DOOR_XMAX = $C8
|
|
|
|
DOOR_XMAX_H = $C9
|
|
|
|
|
2019-08-19 20:20:28 +00:00
|
|
|
BEAST_ZAPPING = $CA ; 1
|
|
|
|
BEAST_DEAD = $CB ; 1
|
2019-08-20 15:39:37 +00:00
|
|
|
VENT_OPEN = $CC ; 2
|
2019-08-21 04:54:02 +00:00
|
|
|
INTRO_REPEAT = $CD ; INTRO
|
2019-08-19 20:20:28 +00:00
|
|
|
|
2019-08-22 17:27:18 +00:00
|
|
|
|
2019-08-22 16:21:18 +00:00
|
|
|
LASER_TEMP = $CE ; 2+
|
2019-08-15 19:12:34 +00:00
|
|
|
LEFT_SHOOT_TARGET = $CF ; ALL
|
|
|
|
RIGHT_SHOOT_TARGET = $D0 ; ALL
|
|
|
|
|
|
|
|
|
2019-08-15 17:38:11 +00:00
|
|
|
LEFT_WALK_LIMIT = $D1 ; ALL
|
|
|
|
RIGHT_WALK_LIMIT= $D2 ; ALL
|
|
|
|
LEFT_SHOOT_LIMIT= $D3 ; ALL
|
|
|
|
RIGHT_SHOOT_LIMIT=$D4 ; ALL
|
2019-01-13 06:10:44 +00:00
|
|
|
|
2019-08-15 14:30:07 +00:00
|
|
|
NUM_DOORS = $D5 ; 2+
|
|
|
|
|
2019-08-14 19:48:48 +00:00
|
|
|
GUN_FIRE = $D6 ; 2+
|
2019-08-14 19:38:36 +00:00
|
|
|
|
2019-08-14 19:48:48 +00:00
|
|
|
GUN_STATE = $D7 ; 2+
|
2019-08-14 15:26:17 +00:00
|
|
|
|
|
|
|
BLAST_OUT = $D8 ; 2+
|
|
|
|
|
|
|
|
SHIELD_OUT = $D9 ; 2+
|
|
|
|
|
2019-08-12 17:34:49 +00:00
|
|
|
ALIEN_OUT = $DA ; 2+
|
|
|
|
|
2019-08-10 01:46:04 +00:00
|
|
|
LASER_OUT = $DB ; 2+
|
2019-07-29 21:16:15 +00:00
|
|
|
|
2019-08-09 20:00:28 +00:00
|
|
|
GUN_CHARGE = $DC ; 2+
|
|
|
|
|
2019-07-30 21:03:43 +00:00
|
|
|
MONSTER_AI = $DD ; C1 underwater
|
2019-08-14 13:45:13 +00:00
|
|
|
ACTION_COUNT = $DD ; C4
|
2019-07-30 21:03:43 +00:00
|
|
|
|
2019-07-29 21:16:15 +00:00
|
|
|
BG_BEAST = $DE ; C1
|
2019-08-14 13:45:13 +00:00
|
|
|
ACTION_TRIGGERED= $DE ; C4
|
2019-07-29 21:16:15 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
ON_ELEVATOR = $DF ; ALL
|
|
|
|
|
|
|
|
LEFT_LIMIT = $E0 ; ALL
|
|
|
|
RIGHT_LIMIT = $E1 ; ALL
|
2019-07-12 20:40:21 +00:00
|
|
|
|
2019-07-31 03:04:49 +00:00
|
|
|
CONSOLE_Y = $E2 ; C1 underwater
|
2019-07-29 19:02:58 +00:00
|
|
|
EXIT_COUNT = $E2 ; C1 pool
|
2019-07-11 15:43:16 +00:00
|
|
|
WHICH_SLUG = $E2 ; C1
|
2019-07-19 16:12:10 +00:00
|
|
|
TELEPORTING = $E2 ; C2 jail
|
2019-07-11 15:43:16 +00:00
|
|
|
|
2019-08-09 02:02:16 +00:00
|
|
|
WHICH_CAVE = $E3 ; C1,C5
|
2019-07-11 15:43:16 +00:00
|
|
|
WHICH_JAIL = $E3 ; C2
|
2019-07-31 18:38:15 +00:00
|
|
|
WHICH_ROOM = $E3 ; C4
|
2019-07-11 15:43:16 +00:00
|
|
|
|
2019-07-31 03:04:49 +00:00
|
|
|
MONSTER_GRAB = $E4 ; C1 underwater
|
2019-07-11 15:43:16 +00:00
|
|
|
BEAST_OUT = $E4 ; C1
|
|
|
|
|
|
|
|
GAME_OVER = $E5 ; ALL
|
|
|
|
DNA_OUT = $E5 ; INTRO
|
|
|
|
MESSAGE_CURRENT = $E5 ; INTRO
|
|
|
|
|
2019-07-12 19:35:26 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
DNA_PROGRESS = $E6 ; INTRO
|
|
|
|
TIME_COUNT = $E6 ; INTRO
|
2019-07-12 19:35:26 +00:00
|
|
|
EQUAKE_PROGRESS = $E6 ; C1
|
|
|
|
DUDE_OUT = $E6 ; C2
|
2019-08-06 05:07:51 +00:00
|
|
|
FALLING = $E6 ; C3
|
2019-08-14 17:59:58 +00:00
|
|
|
CHARGER_COUNT = $E6 ; C4
|
2019-07-11 15:43:16 +00:00
|
|
|
|
|
|
|
EARTH_OFFSET = $E7 ; ALL??
|
|
|
|
DNA_COUNT = $E7 ; INTRO
|
|
|
|
CURSOR_COUNT = $E7 ; INTRO
|
|
|
|
PARTICLE_COUNT = $E7 ; INTRO
|
|
|
|
MESSAGE_COUNT = $E7 ; INTRO
|
|
|
|
|
2019-07-31 03:04:49 +00:00
|
|
|
MONSTER_WHICH = $E8 ; C1 underwater
|
2019-07-11 15:43:16 +00:00
|
|
|
BOULDER_X = $E8 ; C1
|
2019-07-20 16:08:31 +00:00
|
|
|
LITTLEGUY_OUT = $E8 ; C2 cage
|
|
|
|
CART_X = $E8 ; C2 jail
|
2019-08-06 05:07:51 +00:00
|
|
|
FALLING_Y = $E8 ; C3
|
2019-07-12 18:34:34 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
BOULDER_Y = $E9 ; C1
|
2019-07-19 01:01:54 +00:00
|
|
|
SHOOTING_TOP = $E9 ; C1 cage
|
|
|
|
DUDE_X = $E9 ; C2 jail
|
2019-07-11 15:43:16 +00:00
|
|
|
|
2019-08-16 15:49:40 +00:00
|
|
|
STATE_NO_KEYPRESS = $80
|
|
|
|
STATE_CROUCHING = $40
|
2019-08-17 19:27:17 +00:00
|
|
|
STATE_RUNNING = $20
|
2019-08-16 15:49:40 +00:00
|
|
|
|
2019-03-15 16:28:46 +00:00
|
|
|
PHYSICIST_STATE = $EA
|
2019-07-11 16:30:34 +00:00
|
|
|
P_STANDING = $00
|
|
|
|
P_WALKING = $01
|
2019-08-17 19:27:17 +00:00
|
|
|
P_RUNNING = $02 | STATE_RUNNING
|
2019-08-16 15:49:40 +00:00
|
|
|
P_CROUCHING = $03 | STATE_CROUCHING
|
2019-07-11 16:30:34 +00:00
|
|
|
P_KICKING = $04
|
2019-08-16 15:49:40 +00:00
|
|
|
P_JUMPING = $05 | STATE_NO_KEYPRESS
|
|
|
|
P_COLLAPSING = $06 | STATE_NO_KEYPRESS
|
|
|
|
P_FALLING_SIDEWAYS = $07 | STATE_NO_KEYPRESS
|
|
|
|
P_SWINGING = $08 | STATE_NO_KEYPRESS
|
2019-07-11 16:30:34 +00:00
|
|
|
P_ELEVATING_UP = $09
|
|
|
|
P_ELEVATING_DOWN = $0A
|
2019-08-09 04:37:07 +00:00
|
|
|
P_SHOOTING = $0B
|
2019-08-16 15:49:40 +00:00
|
|
|
P_FALLING_DOWN = $0C | STATE_NO_KEYPRESS
|
|
|
|
P_IMPALED = $0D | STATE_NO_KEYPRESS
|
|
|
|
P_CROUCH_SHOOTING = $0E | STATE_CROUCHING
|
|
|
|
P_CROUCH_KICKING = $0F | STATE_CROUCHING
|
|
|
|
P_DISINTEGRATING = $10 | STATE_NO_KEYPRESS
|
2019-07-12 18:34:34 +00:00
|
|
|
|
2019-07-25 21:09:44 +00:00
|
|
|
BUBBLES_Y = $EB ; C1 underwater
|
2019-07-12 18:34:34 +00:00
|
|
|
BEFORE_SWING = $EB ; C1
|
2019-07-19 01:01:54 +00:00
|
|
|
SHOOTING_BOTTOM = $EB ; C2 cage
|
2019-07-19 00:10:09 +00:00
|
|
|
CART_OUT = $EB ; C2 jail
|
2019-07-12 18:34:34 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
CUTFRAME = $EC
|
2019-07-12 18:34:34 +00:00
|
|
|
DISP_PAGE = $ED ; ALL
|
|
|
|
DRAW_PAGE = $EE ; ALL
|
2019-07-11 15:43:16 +00:00
|
|
|
OFFSET = $EF
|
|
|
|
|
|
|
|
INTRO_LOOPL = $F0 ; INTRO
|
|
|
|
PHYSICIST_X = $F0 ; ALL
|
2019-01-13 06:10:44 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
INTRO_LOOPH = $F1 ; INTRO
|
|
|
|
PHYSICIST_Y = $F1 ; ALL
|
2019-02-03 17:06:45 +00:00
|
|
|
|
2019-07-19 01:01:54 +00:00
|
|
|
SPRITETEMP = $F2 ; ALL
|
|
|
|
XPOS = $F3 ; ALL
|
|
|
|
YPOS = $F4 ; ALL
|
2019-07-11 15:43:16 +00:00
|
|
|
DIRECTION = $F5 ; ALL
|
|
|
|
GAIT = $F6 ; ALL
|
2019-03-09 21:42:14 +00:00
|
|
|
|
2019-07-11 15:43:16 +00:00
|
|
|
INTRO_LOOPER = $F7 ; INTRO
|
|
|
|
TENTACLE_X = $F7 ; C1
|
2019-07-15 19:54:37 +00:00
|
|
|
CAGE_GUARD = $F7 ; C2 cage
|
|
|
|
CITY_MOVIE_SEEN = $F7 ; C2 jail
|
2019-03-09 21:42:14 +00:00
|
|
|
|
2019-07-12 15:17:59 +00:00
|
|
|
ELEVATOR_CYCLE = $F8 ; INTRO
|
|
|
|
STATIC_LOOPER = $F8 ; INTRO
|
2019-07-11 15:43:16 +00:00
|
|
|
LEVELEND_PROGRESS = $F8 ; C1
|
|
|
|
SWING_PROGRESS = $F8 ; C1
|
|
|
|
TENTACLE_PROGRESS = $F8 ; C1
|
2019-07-15 18:33:33 +00:00
|
|
|
CAGE_OFFSET = $F8 ; C2 cage
|
|
|
|
JAIL_POWER_ON = $F8 ; C2 jail
|
2019-08-10 20:54:51 +00:00
|
|
|
VENT_END_COUNT = $F8 ; C3
|
2019-07-11 15:43:16 +00:00
|
|
|
|
|
|
|
ELEVATOR_COUNT = $F9 ; INTRO
|
2019-07-11 17:56:41 +00:00
|
|
|
TENTACLE_GRAB = $F9 ; C1
|
2019-07-15 18:33:33 +00:00
|
|
|
CAGE_AMPLITUDE = $F9 ; C2 cage
|
|
|
|
ELEVATOR_OFFSET = $F9 ; C2 jail
|
2019-08-10 20:54:51 +00:00
|
|
|
VENT_DEATH = $F9 ; C3
|
2019-08-09 16:54:52 +00:00
|
|
|
BG_SCROLL = $F9 ; C4
|
2019-07-15 18:33:33 +00:00
|
|
|
|
2019-03-09 21:42:14 +00:00
|
|
|
|
2019-01-13 06:10:44 +00:00
|
|
|
TEMP = $FA
|
|
|
|
TEMPY = $FB
|
|
|
|
INL = $FC
|
|
|
|
INH = $FD
|
|
|
|
OUTL = $FE
|
|
|
|
OUTH = $FF
|