dos33fsprogs/ootw/zp.inc
2019-08-09 21:46:04 -04:00

239 lines
4.0 KiB
PHP

;; 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
LASER_OUT = $DB ; 2+
GUN_CHARGE = $DC ; 2+
MONSTER_AI = $DD ; C1 underwater
BG_BEAST = $DE ; C1
ON_ELEVATOR = $DF ; ALL
LEFT_LIMIT = $E0 ; ALL
RIGHT_LIMIT = $E1 ; ALL
CONSOLE_Y = $E2 ; C1 underwater
EXIT_COUNT = $E2 ; C1 pool
WHICH_SLUG = $E2 ; C1
TELEPORTING = $E2 ; C2 jail
WHICH_CAVE = $E3 ; C1,C5
WHICH_JAIL = $E3 ; C2
WHICH_ROOM = $E3 ; C4
MONSTER_GRAB = $E4 ; C1 underwater
BEAST_OUT = $E4 ; C1
HAVE_GUN = $E4 ; C2 jail+
GAME_OVER = $E5 ; ALL
DNA_OUT = $E5 ; INTRO
MESSAGE_CURRENT = $E5 ; INTRO
DNA_PROGRESS = $E6 ; INTRO
TIME_COUNT = $E6 ; INTRO
EQUAKE_PROGRESS = $E6 ; C1
DUDE_OUT = $E6 ; C2
FALLING = $E6 ; C3
EARTH_OFFSET = $E7 ; ALL??
DNA_COUNT = $E7 ; INTRO
CURSOR_COUNT = $E7 ; INTRO
PARTICLE_COUNT = $E7 ; INTRO
MESSAGE_COUNT = $E7 ; INTRO
MONSTER_WHICH = $E8 ; C1 underwater
BOULDER_X = $E8 ; C1
LITTLEGUY_OUT = $E8 ; C2 cage
CART_X = $E8 ; C2 jail
FALLING_Y = $E8 ; C3
BOULDER_Y = $E9 ; C1
SHOOTING_TOP = $E9 ; C1 cage
DUDE_X = $E9 ; C2 jail
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_SIDEWAYS = $07 ; no keypress
P_SWINGING = $08 ; no keypress
P_ELEVATING_UP = $09
P_ELEVATING_DOWN = $0A
P_SHOOTING = $0B
P_FALLING_DOWN = $0C
P_IMPALED = $0D
BUBBLES_Y = $EB ; C1 underwater
BEFORE_SWING = $EB ; C1
SHOOTING_BOTTOM = $EB ; C2 cage
CART_OUT = $EB ; C2 jail
CUTFRAME = $EC
DISP_PAGE = $ED ; ALL
DRAW_PAGE = $EE ; ALL
OFFSET = $EF
INTRO_LOOPL = $F0 ; INTRO
PHYSICIST_X = $F0 ; ALL
INTRO_LOOPH = $F1 ; INTRO
PHYSICIST_Y = $F1 ; ALL
SPRITETEMP = $F2 ; ALL
XPOS = $F3 ; ALL
YPOS = $F4 ; ALL
DIRECTION = $F5 ; ALL
GAIT = $F6 ; ALL
INTRO_LOOPER = $F7 ; INTRO
TENTACLE_X = $F7 ; C1
CAGE_GUARD = $F7 ; C2 cage
CITY_MOVIE_SEEN = $F7 ; C2 jail
ELEVATOR_CYCLE = $F8 ; INTRO
STATIC_LOOPER = $F8 ; INTRO
LEVELEND_PROGRESS = $F8 ; C1
SWING_PROGRESS = $F8 ; C1
TENTACLE_PROGRESS = $F8 ; C1
CAGE_OFFSET = $F8 ; C2 cage
JAIL_POWER_ON = $F8 ; C2 jail
ELEVATOR_COUNT = $F9 ; INTRO
TENTACLE_GRAB = $F9 ; C1
CAGE_AMPLITUDE = $F9 ; C2 cage
ELEVATOR_OFFSET = $F9 ; C2 jail
BG_SCROLL = $F9 ; C4
TEMP = $FA
TEMPY = $FB
INL = $FC
INH = $FD
OUTL = $FE
OUTH = $FF