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 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 LOC4E = $4E COUNT256 = $4F HGR_BITS = $1C CH = $24 CV = $25 GBASL = $26 GBASH = $27 BASL = $28 BASH = $29 MASK = $2E MASK_COUNTDOWN = $2F PEASANT_PRIORITY = $30 SEEDL = $4E SEEDH = $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 ;======================= 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 GAME_STATE_3 = $94 ; SWORD_THROWN = $01 MAP_LOCATION = $96 GAME_STATE_0 = $97 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 = $98 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 = $99 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 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 END_OF_SAVE = $AC ;============================================= CURRENT_VERB = $B0 ; parser CURRENT_NOUN = $B1 WORD_MATCH = $B2 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 PREV_X = $CA PREV_Y = $CB ; D0-D? used by HGR? WHICH_SLOT = $DA CURRENT_DISK = $DC HGR_COLOR = $E4 HGR_PAGE = $E6 P0 = $F1 P1 = $F2 P2 = $F3 P3 = $F4 P4 = $F5 P5 = $F6 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 = 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_SAVE1 = 19 LOAD_SAVE2 = 20 LOAD_SAVE3 = 21 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_EMPTY = 30