dos33fsprogs/games/peasant/zp.inc
2024-10-15 23:46:17 -04:00

401 lines
7.1 KiB
PHP

JS_BUTTON_STATE = $03
JOYSTICK_ENABLED= $04
SOUND_STATUS = $05
SOUND_DISABLED = $80
SOUND_IN_LC = $01 ; sound in language card
SOUND_MOCKINGBOARD = $02 ; mockingboard detected
SOUND_SSI263 = $04 ; SSI-263 speech chip detected
MOCKINGBOARD_SLOT = $06
DISP_PAGE = $07 ; only in videlectrix intro?
DRAW_PAGE = $08
NIBCOUNT = $09
CURRENT_DRIVE = $0A
DRIVE1_DISK = $0B
DRIVE2_DISK = $0C
DRIVE1_TRACK = $0D
DRIVE2_TRACK = $0E
SPRITE_TEMP = $10 ; ?
MASK_TEMP = $11
TEMP = $12
TEMP0 = $10
TEMP1 = $11
TEMP2 = $12
TEMP3 = $13
TEMP4 = $14
TEMP5 = $15
; zx02 code
offset = $10
offseth = $11
ZX0_src = $12
ZX0_dst = $14
ZX0_srch= $15
bitr = $16
pntr = $17
pntrh = $18
; electric duet
FREQ1 = $10
FREQ2 = $11
DURATION = $12
INSTRUMENT1 = $13
INSTRUMENT2 = $14
MADDRL = $15
MADDRH = $16
HGR_BITS = $1C
CH = $24
CV = $25
GBASL = $26
GBASH = $27
BASL = $28
BASH = $29
MASK = $2E
MASK0 = $2F ; used by priority code in bg_mask
MASK1 = $30
MASK2 = $31
PEASANT_PRIORITY = $32
MASK_COUNTDOWN = $33
; this is the structure for a ProDOS smartport command, at least
; for a read (command=1)
tmpsec = $3c
COMMAND = $42 ; ProDOS constant
UNIT = $43 ; ProDOS constant
ADRLO = $44 ; ProDOS constant
ADRHI = $45 ; ProDOS constant
BLOKLO = $46 ; ProDOS constant
BLOKHI = $47 ; ProDOS constant
SEEDL = $4E
SEEDH = $4F
LOC4E = $4E ; electric duet
COUNT256 = $4F
INVENTORY_MASK = $60
INVENTORY_Y = $61
CURSOR_X = $63
CURSOR_Y = $64
FRAME = $65
ALTFIRE = $66
ALTL = $67
ALTH = $68
SAVED_X = $69
PEASANT_XADD = $6A
PEASANT_YADD = $6B
LEVEL_OVER = $6C
NEW_LOCATION = $FF
NEW_FROM_DISK = $01
NEW_FROM_LOAD = $02 ; loaded from load/save menu
KERREK_SPEED = $6D
KERREK_DIRECTION= $6E ; 0 = left, 1=right
KERREK_LEFT = 0
KERREK_RIGHT = 1
SPEECH_PTRL = $70
SPEECH_PTRH = $71
; pt3 player registers
AY_REGISTERS = $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
PT3_MIXER_VAL = $77
A_VOLUME = $78
B_VOLUME = $79
C_VOLUME = $7A
ENVELOPE_FINE = $7B
ENVELOPE_COARSE = $7C
ENVELOPE_SHAPE = $7D
PATTERN_L = $7E
PATTERN_H = $7F
; rest of pt3_player
PT3_TEMP = $80
ORNAMENT_L = $81
ORNAMENT_H = $82
SAMPLE_L = $83
SAMPLE_H = $84
LOOP = $85
MB_VALUE = $86
MB_ADDR_L = $87
MB_ADDR_H = $88
DONE_PLAYING = $89
DONE_SONG = $8A
APPLEII_MODEL = $8B
ESC_PRESSED = $8C
PREVIOUS_LOCATION= $8D
;=======================
; savegame state
;=======================
LOAD_START = $90
WHICH_LOAD = $90
PEASANT_X = $91
PEASANT_Y = $92
PEASANT_DIR = $93
PEASANT_DIR_UP = 0
PEASANT_DIR_RIGHT = 1
PEASANT_DIR_LEFT = 2
PEASANT_DIR_DOWN = 3
MAP_LOCATION = $94
GAME_STATE_0 = $96
BABY_IN_WELL=$01
BUCKET_DOWN_WELL=$02
TALKED_TO_MENDELEV=$04
HALDO_TO_DONGOLEV=$08
ARROW_BEATEN=$10
GARY_SCARED=$20
LADY_GONE=$40
TRINKET_GIVEN=$80
GAME_STATE_1 = $97
FISH_FED=$01 ; also implies man gone and inn open
PUDDLE_WET=$02
IN_HAY_BALE=$04
ALREADY_GOT_ROOM=$08
RAINING=$10
NIGHT=$20
POT_ON_HEAD=$40
WEARING_ROBE=$80
GAME_STATE_2 = $98
ON_FIRE = $01
COTTAGE_ROCK_MOVED=$02
KNUCKLES_BLEED=$04
DRESSER_OPEN=$08
TALKED_TO_KNIGHT = $10
COVERED_IN_MUD = $20
GOT_MUDDY_ALREADY = $40
GREASE_ON_HEAD =$80
GAME_STATE_3 = $99
; SWORD_THROWN = $01
CLIFF_CLIMBED = $02
NED_STATUS = $9A
; 0 = hiding (no increment)
; 1..127 = count up to appearing
; 126,255 = hands on tree
; 127,254 = half out
; 128 = out (no increment)
BUSH_STATUS = $9B ; status of bush search
BUSH_1_SEARCHED = $01
BUSH_2_SEARCHED = $02
BUSH_3_SEARCHED = $04
BUSH_4_SEARCHED = $08
KERREK_STATE = $9C
KERREK_ALIVE = $00
KERREK_DEAD = $01
KERREK_DECOMPOSING = $02
KERREK_SKELETON = $03
KERREK_ROW1 = $40
KERREK_ONSCREEN = $80
ARROW_SCORE = $9D ; bottom=score, top=random num needed 3-5?
ARROW_DONE = $80
SCORE_HUNDREDS = $9E
SCORE_TENSONES = $9F
INVENTORY_1 = $A0
INV1_ARROW = $01
INV1_BABY = $02
INV1_KERREK_BELT = $04
INV1_CHICKEN_FEED = $08
INV1_BOW = $10
INV1_MONSTER_MASK = $20
INV1_PEBBLES = $40
INV1_PILLS = $80
INVENTORY_2 = $A1
INV2_RICHES = $01
INV2_ROBE = $02
INV2_SODA = $04
INV2_MEATBALL_SUB = $08
INV2_TRINKET = $10
INV2_TROGHELM = $20
INV2_TROGSHIELD = $40
INV2_TROGSWORD = $80
INVENTORY_3 = $A2
INV3_IMPOSSIBLE = $01
INV3_SHIRT = $02
INV3_MAP = $04
INVENTORY_1_GONE = $A3 ; had item, but now it's gone
INVENTORY_2_GONE = $A4
INVENTORY_3_GONE = $A5
KERREK_X = $A6 ; should be in save area, as we use
KERREK_Y = $A7 ; for skeleton location
VISITED_0 = $A8 ; for MAP drawing purposes
VISITED_1 = $A9
VISITED_2 = $AA
VISITED_3 = $AB
PEASANT_STEPS = $AC
END_OF_SAVE = $AD
;=============================================
PEASANT_FALLING = $AF ; cliff climb
CURRENT_VERB = $B0 ; parser
CURRENT_NOUN = $B1
WORD_MATCH = $B2
MAX_HEIGHT = $B3
WAIT_LOOP = $B4
REFRESH_SCREEN = $B5
INPUT_X = $C0
BOX_X1L = $C1
BOX_X1H = $C2
BOX_Y1 = $C3
BOX_X2L = $C4
BOX_X2H = $C5
BOX_Y2 = $C6
SAVED_Y1 = $C7
SAVED_Y2 = $C8
; temp for animations, etc
BABY_COUNT = $C9
KEEPER_COUNT = $C9 ; cliff heights
IN_QUIZ = $CA ; cliff heights
WHICH_QUIZ = $CB ; cliff heights
OLD_DIR = $CC ; cliff heights
PREV_X = $CD ; ??
PREV_Y = $CE ; ??
; D0-D? used by HGR?
WHICH_SLOT = $DA
CURRENT_DISK = $DC
HGR_COLOR = $E4
HGR_PAGE = $E6
TEMP_CENTER = $EC ; for cliff climb
CLIMB_COUNT = $ED ; for cliff climb
FLAME_COUNT = $EE
CURRENT_ROCK = $EF ; for cliff climb
P0 = $F1
P1 = $F2
P2 = $F3
P3 = $F4
P4 = $F5
P5 = $F6
SPRITE_X = $F7 ; ?
SPRITE_Y = $F8 ; ?
CURRENT_ROW = $F9 ; ?
TEMP_SPRITE = $FA
TEMP_MASK = $FB
INL = $FC
INH = $FD
OUTL = $FE
OUTH = $FF
; constants
LOAD_VID_LOGO = 0
LOAD_TITLE = 1
LOAD_INTRO = 2
LOAD_COPY_CHECK = 3
LOAD_PEASANT1 = 4
LOAD_PEASANT2 = 5
LOAD_PEASANT3 = 6
LOAD_PEASANT4 = 7
LOAD_TROGDOR = 8
LOAD_ENDING = 9
LOAD_MUSIC = 10
LOAD_CLIFF_BASE = 11
LOAD_GAME_OVER = 12
LOAD_INVENTORY = 13
LOAD_PARSE_INPUT= 14
LOAD_INN = 15
LOAD_INSIDE = 16
LOAD_ARCHERY = 17
LOAD_MAP = 18
LOAD_CLIMB = 19
LOAD_HEIGHTS = 20
LOAD_SAVE1 = 21
LOAD_SAVE2 = 22
LOAD_SAVE3 = 23
VGI_RCOLOR = P0
VGI_RX1 = P1
VGI_RY1 = P2
VGI_RXRUN = P3
VGI_RYRUN = P4
VGI_RCOLOR2 = P5 ; only for dither
COUNT = TEMP5
; LOCATIONS
LOCATION_POOR_GARY = 0
LOCATION_KERREK_1 = 1
LOCATION_OLD_WELL = 2
LOCATION_YELLOW_TREE = 3
LOCATION_WATERFALL = 4
LOCATION_HAY_BALE = 5
LOCATION_MUD_PUDDLE = 6
LOCATION_ARCHERY = 7
LOCATION_RIVER_STONE = 8
LOCATION_MOUNTAIN_PASS = 9
LOCATION_JHONKA_CAVE = 10
LOCATION_YOUR_COTTAGE = 11
LOCATION_LAKE_WEST = 12
LOCATION_LAKE_EAST = 13
LOCATION_OUTSIDE_INN = 14
LOCATION_OUTSIDE_NN = 15
LOCATION_WAVY_TREE = 16
LOCATION_KERREK_2 = 17
LOCATION_OUTSIDE_LADY = 18
LOCATION_BURN_TREES = 19
LOCATION_CLIFF_BASE = 20
LOCATION_CLIFF_HEIGHTS = 21
LOCATION_TROGDOR_OUTER = 22
LOCATION_TROGDOR_LAIR = 23
LOCATION_HIDDEN_GLEN = 24
LOCATION_INSIDE_LADY = 25
LOCATION_INSIDE_NN = 26
LOCATION_INSIDE_INN = 27
LOCATION_ARCHERY_GAME = 28
LOCATION_MAP = 29
LOCATION_CLIMB = 30
LOCATION_EMPTY = 31