diff --git a/games/mist_hgr/README.MEMMAP b/games/mist_hgr/README.MEMMAP new file mode 100644 index 00000000..5085658f --- /dev/null +++ b/games/mist_hgr/README.MEMMAP @@ -0,0 +1,17 @@ + +$00 - zero page +$01 - stack +$02 - disk lookup table +$03 - disk lookup ($300-$369) +$04-$07 - text page1 +$08-$0B - (danger, text page2) +$0C-$0F - current background data, temp savegame workplace ($E) +$10-$11 - QBOOT stage2 +$12-$1F - QLOAD, common routines +$20-$3f - HIRES page1 +$40-$?? - gameplay/data/code all loaded here +$BE - hires lookup +$BF - hires lookup +$C0-$CF - I/O +$D0-$FF - ROM (bankswitch with language card, sound effect here too) + diff --git a/games/mist_hgr/graphics_title/m_link_book.vgi b/games/mist_hgr/graphics_title/m_link_book.vgi new file mode 100644 index 00000000..cd771c68 --- /dev/null +++ b/games/mist_hgr/graphics_title/m_link_book.vgi @@ -0,0 +1,15 @@ +; Path from Myst +CLS 0x80 ; black background +; TODO, rounded edges? +RECT 7 7 3 85 239 188 ; glow +; book +; link +RECT 7 7 161 40 227 91 ; sky +RECT 6 6 202 70 227 91 ; ocean +RECT 5 5 180 55 208 74 ; mountain +RECT 5 5 208 66 219 74 ; mountain +VTRI 5 180 55 176 182 66 ; mountain left +LINE 6 225 78 213 83 ; mast +LINETO 212 75 ; mast +LINE 0 226 85 214 68 ; mast +END diff --git a/games/mist_hgr/save1.s b/games/mist_hgr/save1.s new file mode 100644 index 00000000..0f94d8b1 --- /dev/null +++ b/games/mist_hgr/save1.s @@ -0,0 +1,104 @@ +; SAVE1 -- Mechanical Age + +.include "zp.inc" +.include "common_defines.inc" + +; want to load this to address $80 + +; MECHE +.byte LOAD_MECHE ; WHICH_LOAD = $80 +.byte DIRECTION_W ; DIRECTION = $81 +.byte MECHE_ARRIVAL ; LOCATION = $82 + +.byte $00 ; RED_PAGES_TAKEN = $83 +.byte $00 ; BLUE_PAGES_TAKEN = $84 +.byte $00 ; CLOCK_BRIDGE = $85 +.byte $00 ; GEAR_OPEN = $86 +.byte $ff ; MARKER_SWITCHES = $87 +.byte $00 ; CLOCK_HOUR = $88 +.byte $00 ; CLOCK_MINUTE = $89 +.byte $00 ; TREE_FURNACE_ON = $8A +.byte $00 ; FIREPLACE_GRID0 = $8B +.byte $00 ; FIREPLACE_GRID1 = $8C +.byte $00 ; FIREPLACE_GRID2 = $8D +.byte $00 ; FIREPLACE_GRID3 = $8E +.byte $00 ; FIREPLACE_GRID4 = $8F +.byte $00 ; FIREPLACE_GRID5 = $90 +.byte $00 ; CLOCK_COUNT = $91 +.byte $00 ; CLOCK_TOP = $92 +.byte $00 ; CLOCK_MIDDLE = $93 +.byte $00 ; CLOCK_BOTTOM = $94 +.byte $00 ; CLOCK_LAST = $95 + +.byte $00 ; BREAKER_TRIPPED = $96 +.byte $00 ; GENERATOR_VOLTS = $97 +.byte $00 ; ROCKET_VOLTS = $98 +.byte $00 ; SWITCH_TOP_ROW = $99 +.byte $00 ; SWITCH_BOTTOM_ROW = $9A +.byte $00 ; GENERATOR_VOLTS_DISP = $9B +.byte $00 ; ROCKET_VOLTS_DISP = $9C +.byte $00 ; ROCKET_HANDLE_STEP = $9D +.byte $00 ; ROCKET_NOTE1 = $9E +.byte $00 ; ROCKET_NOTE2 = $9F +.byte $00 ; ROCKET_NOTE3 = $A0 +.byte $00 ; ROCKET_NOTE4 = $A1 +.byte $00 ; MECHE_ELEVATOR = $A2 +.byte $00 ; MECHE_ROTATION = $A3 +.byte $00 ; MECHE_LEVERS = $A4 +.byte $00 ; MECHE_LOCK1 = $A5 +.byte $00 ; MECHE_LOCK2 = $A6 +.byte $00 ; MECHE_LOCK3 = $A7 +.byte $00 ; MECHE_LOCK4 = $A8 +.byte $00 ; HOLDING_PAGE = $A9 +.byte $00 ; RED_PAGE_COUNT = $AA +.byte $00 ; BLUE_PAGE_COUNT = $AB +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $00 ; TOWER_ROTATION = $AE +.byte $00 ; SHIP_RAISED = $AF + ; stoneship +.byte $00 ; PUMP_STATE = $B0 +.byte $00 ; BATTERY_CHARGE = $B1 +.byte $00 ; COMPASS_STATE = $B2 +.byte $00 ; CRANK_ANGLE = $B3 +.byte $00 ; WHITE_PAGE_TAKEN = $B4 +.byte $00 ; CHANNEL_SWITCHES = $B5 +.byte $00 ; CHANNEL_VALVES = $B6 + +.byte $00 ; DENTIST_LIGHT = $B7 +.byte $00 ; DENTIST_MONTH = $B8 +.byte $00 ; DENTIST_DAY = $B9 +.byte $00 ; DENTIST_CENTURY = $BA +.byte $00 ; DENTIST_YEAR = $BB +.byte $00 ; DENTIST_HOURS = $BC +.byte $00 ; DENTIST_MINUTES = $BD +.byte $00 ; PILLAR_ON = $BE +.byte $00 ; GREEN_BOOK_PROGRESS = $BF +.byte $00 ; DNI_PROGRESS = $C0 +.byte $00 ; COMPARTMENT_OPEN = $C1 +.byte $00 ; GAME_COMPLETED = $C2 + +.byte $00 ; SAFE_HUNDREDS = $C3 +.byte $00 ; SAFE_TENS = $C4 +.byte $00 ; SAFE_ONES = $C5 +.byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 +.byte $00 ; TRUNK_STATE = $C9 +.byte $00 ; SELENA_BUTTON_STATUS = $CA +.byte $00 ; SELENA_ANTENNA1 = $CB +.byte $00 ; SELENA_ANTENNA2 = $CC +.byte $00 ; SELENA_ANTENNA3 = $CD +.byte $00 ; SELENA_ANTENNA4 = $CE +.byte $00 ; SELENA_ANTENNA5 = $CF +.byte $00 ; SELENA_LOCK1 = $D0 +.byte $00 ; SELENA_LOCK2 = $D1 +.byte $00 ; SELENA_LOCK3 = $D2 +.byte $00 ; SELENA_LOCK4 = $D3 +.byte $00 ; SELENA_LOCK5 = $D4 +.byte $00 ; SELENA_ANTENNA_ACTIVE = $D5 +.byte $00 ; SUB_DIRECTION = $D6 +.byte $00 ; SUB_LOCATION = $D7 +.byte $00 ; NIBEL_PROJECTOR = $D8 + + diff --git a/games/mist_hgr/save2.s b/games/mist_hgr/save2.s new file mode 100644 index 00000000..ded937d1 --- /dev/null +++ b/games/mist_hgr/save2.s @@ -0,0 +1,99 @@ +.include "zp.inc" +.include "common_defines.inc" + +; CHANNEL +.byte LOAD_CHANNEL ; WHICH_LOAD = $80 +.byte DIRECTION_S ; DIRECTION = $81 +.byte CHANNEL_ARRIVAL ; LOCATION = $82 + +.byte $00 ; RED_PAGES_TAKEN = $83 +.byte $00 ; BLUE_PAGES_TAKEN = $84 +.byte $00 ; CLOCK_BRIDGE = $85 +.byte $00 ; GEAR_OPEN = $86 +.byte $ff ; MARKER_SWITCHES = $87 +.byte $00 ; CLOCK_HOUR = $88 +.byte $00 ; CLOCK_MINUTE = $89 +.byte $00 ; TREE_FURNACE_ON = $8A +.byte $00 ; FIREPLACE_GRID0 = $8B +.byte $00 ; FIREPLACE_GRID1 = $8C +.byte $00 ; FIREPLACE_GRID2 = $8D +.byte $00 ; FIREPLACE_GRID3 = $8E +.byte $00 ; FIREPLACE_GRID4 = $8F +.byte $00 ; FIREPLACE_GRID5 = $90 +.byte $00 ; CLOCK_COUNT = $91 +.byte $00 ; CLOCK_TOP = $92 +.byte $00 ; CLOCK_MIDDLE = $93 +.byte $00 ; CLOCK_BOTTOM = $94 +.byte $00 ; CLOCK_LAST = $95 + +.byte $00 ; BREAKER_TRIPPED = $96 +.byte $00 ; GENERATOR_VOLTS = $97 +.byte $00 ; ROCKET_VOLTS = $98 +.byte $00 ; SWITCH_TOP_ROW = $99 +.byte $00 ; SWITCH_BOTTOM_ROW = $9A +.byte $00 ; GENERATOR_VOLTS_DISP = $9B +.byte $00 ; ROCKET_VOLTS_DISP = $9C +.byte $00 ; ROCKET_HANDLE_STEP = $9D +.byte $00 ; ROCKET_NOTE1 = $9E +.byte $00 ; ROCKET_NOTE2 = $9F +.byte $00 ; ROCKET_NOTE3 = $A0 +.byte $00 ; ROCKET_NOTE4 = $A1 +.byte $00 ; MECHE_ELEVATOR = $A2 +.byte $00 ; MECHE_ROTATION = $A3 +.byte $00 ; MECHE_LEVERS = $A4 +.byte $00 ; MECHE_LOCK1 = $A5 +.byte $00 ; MECHE_LOCK2 = $A6 +.byte $00 ; MECHE_LOCK3 = $A7 +.byte $00 ; MECHE_LOCK4 = $A8 +.byte $00 ; HOLDING_PAGE = $A9 +.byte $00 ; RED_PAGE_COUNT = $AA +.byte $00 ; BLUE_PAGE_COUNT = $AB +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $00 ; TOWER_ROTATION = $AE +.byte $00 ; SHIP_RAISED = $AF + ; stoneship +.byte $00 ; PUMP_STATE = $B0 +.byte $00 ; BATTERY_CHARGE = $B1 +.byte $00 ; COMPASS_STATE = $B2 +.byte $00 ; CRANK_ANGLE = $B3 +.byte $00 ; WHITE_PAGE_TAKEN = $B4 +.byte $00 ; CHANNEL_SWITCHES = $B5 +.byte $00 ; CHANNEL_VALVES = $B6 + +.byte $00 ; DENTIST_LIGHT = $B7 +.byte $00 ; DENTIST_MONTH = $B8 +.byte $00 ; DENTIST_DAY = $B9 +.byte $00 ; DENTIST_CENTURY = $BA +.byte $00 ; DENTIST_YEAR = $BB +.byte $00 ; DENTIST_HOURS = $BC +.byte $00 ; DENTIST_MINUTES = $BD +.byte $00 ; PILLAR_ON = $BE +.byte $00 ; GREEN_BOOK_PROGRESS = $BF +.byte $00 ; DNI_PROGRESS = $C0 +.byte $00 ; COMPARTMENT_OPEN = $C1 +.byte $00 ; GAME_COMPLETED = $C2 + +.byte $00 ; SAFE_HUNDREDS = $C3 +.byte $00 ; SAFE_TENS = $C4 +.byte $00 ; SAFE_ONES = $C5 +.byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 +.byte $00 ; TRUNK_STATE = $C9 +.byte $00 ; SELENA_BUTTON_STATUS = $CA +.byte $00 ; SELENA_ANTENNA1 = $CB +.byte $00 ; SELENA_ANTENNA2 = $CC +.byte $00 ; SELENA_ANTENNA3 = $CD +.byte $00 ; SELENA_ANTENNA4 = $CE +.byte $00 ; SELENA_ANTENNA5 = $CF +.byte $00 ; SELENA_LOCK1 = $D0 +.byte $00 ; SELENA_LOCK2 = $D1 +.byte $00 ; SELENA_LOCK3 = $D2 +.byte $00 ; SELENA_LOCK4 = $D3 +.byte $00 ; SELENA_LOCK5 = $D4 +.byte $00 ; SELENA_ANTENNA_ACTIVE = $D5 +.byte $00 ; SUB_DIRECTION = $D6 +.byte $00 ; SUB_LOCATION = $D7 +.byte $00 ; NIBEL_PROJECTOR = $D8 + diff --git a/games/mist_hgr/save3.s b/games/mist_hgr/save3.s new file mode 100644 index 00000000..dc8326a3 --- /dev/null +++ b/games/mist_hgr/save3.s @@ -0,0 +1,105 @@ +.include "zp.inc" +.include "common_defines.inc" + +; Selena +.byte LOAD_SELENA ; WHICH_LOAD = $80 +.byte DIRECTION_N ; DIRECTION = $81 +.byte SELENA_WALKWAY1 ; LOCATION = $82 + +;.byte LOAD_SUB ; WHICH_LOAD = $80 +;.byte DIRECTION_E ; DIRECTION = $81 +;.byte SUB_BUNKER_ENTRY ; LOCATION = $82 + + +.byte $00 ; RED_PAGES_TAKEN = $83 +.byte $00 ; BLUE_PAGES_TAKEN = $84 +.byte $00 ; CLOCK_BRIDGE = $85 +.byte $00 ; GEAR_OPEN = $86 +.byte $ff ; MARKER_SWITCHES = $87 +.byte $00 ; CLOCK_HOUR = $88 +.byte $00 ; CLOCK_MINUTE = $89 +.byte $00 ; TREE_FURNACE_ON = $8A +.byte $00 ; FIREPLACE_GRID0 = $8B +.byte $00 ; FIREPLACE_GRID1 = $8C +.byte $00 ; FIREPLACE_GRID2 = $8D +.byte $00 ; FIREPLACE_GRID3 = $8E +.byte $00 ; FIREPLACE_GRID4 = $8F +.byte $00 ; FIREPLACE_GRID5 = $90 +.byte $00 ; CLOCK_COUNT = $91 +.byte $00 ; CLOCK_TOP = $92 +.byte $00 ; CLOCK_MIDDLE = $93 +.byte $00 ; CLOCK_BOTTOM = $94 +.byte $00 ; CLOCK_LAST = $95 + +.byte $00 ; BREAKER_TRIPPED = $96 +.byte $00 ; GENERATOR_VOLTS = $97 +.byte $00 ; ROCKET_VOLTS = $98 +.byte $00 ; SWITCH_TOP_ROW = $99 +.byte $00 ; SWITCH_BOTTOM_ROW = $9A +.byte $00 ; GENERATOR_VOLTS_DISP = $9B +.byte $00 ; ROCKET_VOLTS_DISP = $9C +.byte $00 ; ROCKET_HANDLE_STEP = $9D +.byte $00 ; ROCKET_NOTE1 = $9E +.byte $00 ; ROCKET_NOTE2 = $9F +.byte $00 ; ROCKET_NOTE3 = $A0 +.byte $00 ; ROCKET_NOTE4 = $A1 +.byte $00 ; MECHE_ELEVATOR = $A2 +.byte $00 ; MECHE_ROTATION = $A3 +.byte $00 ; MECHE_LEVERS = $A4 +.byte $00 ; MECHE_LOCK1 = $A5 +.byte $00 ; MECHE_LOCK2 = $A6 +.byte $00 ; MECHE_LOCK3 = $A7 +.byte $00 ; MECHE_LOCK4 = $A8 +.byte $00 ; HOLDING_PAGE = $A9 +.byte $00 ; RED_PAGE_COUNT = $AA +.byte $00 ; BLUE_PAGE_COUNT = $AB +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $00 ; TOWER_ROTATION = $AE +.byte $00 ; SHIP_RAISED = $AF + ; stoneship +.byte $00 ; PUMP_STATE = $B0 +.byte $00 ; BATTERY_CHARGE = $B1 +.byte $00 ; COMPASS_STATE = $B2 +.byte $00 ; CRANK_ANGLE = $B3 +.byte $00 ; WHITE_PAGE_TAKEN = $B4 +.byte $00 ; CHANNEL_SWITCHES = $B5 +.byte $00 ; CHANNEL_VALVES = $B6 + +.byte $00 ; DENTIST_LIGHT = $B7 +.byte $00 ; DENTIST_MONTH = $B8 +.byte $00 ; DENTIST_DAY = $B9 +.byte $00 ; DENTIST_CENTURY = $BA +.byte $00 ; DENTIST_YEAR = $BB +.byte $00 ; DENTIST_HOURS = $BC +.byte $00 ; DENTIST_MINUTES = $BD +.byte $00 ; PILLAR_ON = $BE +.byte $00 ; GREEN_BOOK_PROGRESS = $BF +.byte $00 ; DNI_PROGRESS = $C0 +.byte $00 ; COMPARTMENT_OPEN = $C1 +.byte $00 ; GAME_COMPLETED = $C2 + +.byte $00 ; SAFE_HUNDREDS = $C3 +.byte $00 ; SAFE_TENS = $C4 +.byte $00 ; SAFE_ONES = $C5 +.byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 +.byte $00 ; TRUNK_STATE = $C9 +.byte $00 ; SELENA_BUTTON_STATUS = $CA +.byte $00 ; SELENA_ANTENNA1 = $CB +.byte $00 ; SELENA_ANTENNA2 = $CC +.byte $00 ; SELENA_ANTENNA3 = $CD +.byte $00 ; SELENA_ANTENNA4 = $CE +.byte $00 ; SELENA_ANTENNA5 = $CF +.byte $00 ; SELENA_LOCK1 = $D0 +.byte $00 ; SELENA_LOCK2 = $D1 +.byte $00 ; SELENA_LOCK3 = $D2 +.byte $00 ; SELENA_LOCK4 = $D3 +.byte $00 ; SELENA_LOCK5 = $D4 +.byte $00 ; SELENA_ANTENNA_ACTIVE = $D5 +.byte $00 ; SUB_DIRECTION = $D6 +.byte $00 ; SUB_LOCATION = $D7 +.byte $00 ; NIBEL_PROJECTOR = $D8 + + diff --git a/games/mist_hgr/save4.s b/games/mist_hgr/save4.s new file mode 100644 index 00000000..0ea74d44 --- /dev/null +++ b/games/mist_hgr/save4.s @@ -0,0 +1,102 @@ +.include "zp.inc" +.include "common_defines.inc" + + +; Stoneship +.byte LOAD_STONEY ; WHICH_LOAD = $80 +.byte DIRECTION_E ; DIRECTION = $81 +.byte STONEY_ARRIVAL ; LOCATION = $82 + +.byte $00 ; RED_PAGES_TAKEN = $83 +.byte $00 ; BLUE_PAGES_TAKEN = $84 +.byte $00 ; CLOCK_BRIDGE = $85 +.byte $00 ; GEAR_OPEN = $86 +.byte $ff ; MARKER_SWITCHES = $87 +.byte $00 ; CLOCK_HOUR = $88 +.byte $00 ; CLOCK_MINUTE = $89 +.byte $00 ; TREE_FURNACE_ON = $8A +.byte $00 ; FIREPLACE_GRID0 = $8B +.byte $00 ; FIREPLACE_GRID1 = $8C +.byte $00 ; FIREPLACE_GRID2 = $8D +.byte $00 ; FIREPLACE_GRID3 = $8E +.byte $00 ; FIREPLACE_GRID4 = $8F +.byte $00 ; FIREPLACE_GRID5 = $90 +.byte $00 ; CLOCK_COUNT = $91 +.byte $00 ; CLOCK_TOP = $92 +.byte $00 ; CLOCK_MIDDLE = $93 +.byte $00 ; CLOCK_BOTTOM = $94 +.byte $00 ; CLOCK_LAST = $95 + +.byte $00 ; BREAKER_TRIPPED = $96 +.byte $00 ; GENERATOR_VOLTS = $97 +.byte $00 ; ROCKET_VOLTS = $98 +.byte $00 ; SWITCH_TOP_ROW = $99 +.byte $00 ; SWITCH_BOTTOM_ROW = $9A +.byte $00 ; GENERATOR_VOLTS_DISP = $9B +.byte $00 ; ROCKET_VOLTS_DISP = $9C +.byte $00 ; ROCKET_HANDLE_STEP = $9D +.byte $00 ; ROCKET_NOTE1 = $9E +.byte $00 ; ROCKET_NOTE2 = $9F +.byte $00 ; ROCKET_NOTE3 = $A0 +.byte $00 ; ROCKET_NOTE4 = $A1 +.byte $00 ; MECHE_ELEVATOR = $A2 +.byte $00 ; MECHE_ROTATION = $A3 +.byte $00 ; MECHE_LEVERS = $A4 +.byte $00 ; MECHE_LOCK1 = $A5 +.byte $00 ; MECHE_LOCK2 = $A6 +.byte $00 ; MECHE_LOCK3 = $A7 +.byte $00 ; MECHE_LOCK4 = $A8 +.byte $00 ; HOLDING_PAGE = $A9 +.byte $00 ; RED_PAGE_COUNT = $AA +.byte $00 ; BLUE_PAGE_COUNT = $AB +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $00 ; TOWER_ROTATION = $AE +.byte $00 ; SHIP_RAISED = $AF + ; stoneship +.byte $00 ; PUMP_STATE = $B0 +.byte $00 ; BATTERY_CHARGE = $B1 +.byte $00 ; COMPASS_STATE = $B2 +.byte $00 ; CRANK_ANGLE = $B3 +.byte $00 ; WHITE_PAGE_TAKEN = $B4 +.byte $00 ; CHANNEL_SWITCHES = $B5 +.byte $00 ; CHANNEL_VALVES = $B6 + +.byte $00 ; DENTIST_LIGHT = $B7 +.byte $00 ; DENTIST_MONTH = $B8 +.byte $00 ; DENTIST_DAY = $B9 +.byte $00 ; DENTIST_CENTURY = $BA +.byte $00 ; DENTIST_YEAR = $BB +.byte $00 ; DENTIST_HOURS = $BC +.byte $00 ; DENTIST_MINUTES = $BD +.byte $00 ; PILLAR_ON = $BE +.byte $00 ; GREEN_BOOK_PROGRESS = $BF +.byte $00 ; DNI_PROGRESS = $C0 +.byte $00 ; COMPARTMENT_OPEN = $C1 +.byte $00 ; GAME_COMPLETED = $C2 + +.byte $00 ; SAFE_HUNDREDS = $C3 +.byte $00 ; SAFE_TENS = $C4 +.byte $00 ; SAFE_ONES = $C5 +.byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 +.byte $00 ; TRUNK_STATE = $C9 +.byte $00 ; SELENA_BUTTON_STATUS = $CA +.byte $00 ; SELENA_ANTENNA1 = $CB +.byte $00 ; SELENA_ANTENNA2 = $CC +.byte $00 ; SELENA_ANTENNA3 = $CD +.byte $00 ; SELENA_ANTENNA4 = $CE +.byte $00 ; SELENA_ANTENNA5 = $CF +.byte $00 ; SELENA_LOCK1 = $D0 +.byte $00 ; SELENA_LOCK2 = $D1 +.byte $00 ; SELENA_LOCK3 = $D2 +.byte $00 ; SELENA_LOCK4 = $D3 +.byte $00 ; SELENA_LOCK5 = $D4 +.byte $00 ; SELENA_ANTENNA_ACTIVE = $D5 +.byte $00 ; SUB_DIRECTION = $D6 +.byte $00 ; SUB_LOCATION = $D7 +.byte $00 ; NIBEL_PROJECTOR = $D8 + + + diff --git a/games/mist_hgr/save5.s b/games/mist_hgr/save5.s new file mode 100644 index 00000000..dafc2d27 --- /dev/null +++ b/games/mist_hgr/save5.s @@ -0,0 +1,116 @@ +; SAVE5 -- near end of game + +.include "zp.inc" +.include "common_defines.inc" + +; Octagon (for playthrough) +.byte LOAD_OCTAGON ; WHICH_LOAD = $80 +.byte DIRECTION_S ; DIRECTION = $81 +.byte OCTAGON_TEMPLE_CENTER ; LOCATION = $82 + +.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE|STONEY_PAGE) + ; RED_PAGES_TAKEN = $83 +.byte (OCTAGON_PAGE|MECHE_PAGE|SELENA_PAGE|CHANNEL_PAGE|STONEY_PAGE) + ; BLUE_PAGES_TAKEN = $84 +.byte $1 + ; CLOCK_BRIDGE = $85 +.byte $1 + ; GEAR_OPEN = $86 +.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_GENERATOR|MARKER_CLOCK|MARKER_POOL|MARKER_TREE|MARKER_DENTIST) + ; MARKER_SWITCHES = $87 +.byte $2 + ; CLOCK_HOUR = $88 +.byte $8 + ; CLOCK_MINUTE = $89 + +.byte $00 ; TREE_FURNACE_ON = $8A +.byte $00 ; FIREPLACE_GRID0 = $8B +.byte $00 ; FIREPLACE_GRID1 = $8C +.byte $00 ; FIREPLACE_GRID2 = $8D +.byte $00 ; FIREPLACE_GRID3 = $8E +.byte $00 ; FIREPLACE_GRID4 = $8F +.byte $00 ; FIREPLACE_GRID5 = $90 +.byte $00 ; CLOCK_COUNT = $91 +.byte $00 ; CLOCK_TOP = $92 +.byte $00 ; CLOCK_MIDDLE = $93 +.byte $00 ; CLOCK_BOTTOM = $94 +.byte $00 ; CLOCK_LAST = $95 + +.byte $00 ; BREAKER_TRIPPED = $96 +.byte $00 ; GENERATOR_VOLTS = $97 +.byte $00 ; ROCKET_VOLTS = $98 +.byte $00 ; SWITCH_TOP_ROW = $99 +.byte $00 ; SWITCH_BOTTOM_ROW = $9A +.byte $00 ; GENERATOR_VOLTS_DISP = $9B +.byte $00 ; ROCKET_VOLTS_DISP = $9C +.byte $00 ; ROCKET_HANDLE_STEP = $9D +.byte $00 ; ROCKET_NOTE1 = $9E +.byte $00 ; ROCKET_NOTE2 = $9F +.byte $00 ; ROCKET_NOTE3 = $A0 +.byte $00 ; ROCKET_NOTE4 = $A1 +.byte $00 ; MECHE_ELEVATOR = $A2 +.byte $00 ; MECHE_ROTATION = $A3 +.byte $00 ; MECHE_LEVERS = $A4 +.byte $00 ; MECHE_LOCK1 = $A5 +.byte $00 ; MECHE_LOCK2 = $A6 +.byte $00 ; MECHE_LOCK3 = $A7 +.byte $00 ; MECHE_LOCK4 = $A8 +.byte $00 ; HOLDING_PAGE = $A9 + +.byte $5 + ; RED_PAGE_COUNT = $AA +.byte $5 + ; BLUE_PAGE_COUNT = $AB + + +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $4 + ; TOWER_ROTATION = $AE +.byte $00 ; SHIP_RAISED = $AF + ; stoneship +.byte $00 ; PUMP_STATE = $B0 +.byte $00 ; BATTERY_CHARGE = $B1 +.byte $00 ; COMPASS_ANGLE = $B2 +.byte $00 ; CRANK_ANGLE = $B3 +.byte $00 ; WHITE_PAGE_TAKEN = $B4 +.byte $00 ; CHANNEL_SWITCHES = $B5 +.byte $00 ; CHANNEL_VALVES = $B6 + +.byte $00 ; DENTIST_LIGHT = $B7 +.byte $00 ; DENTIST_MONTH = $B8 +.byte $00 ; DENTIST_DAY = $B9 +.byte $00 ; DENTIST_CENTURY = $BA +.byte $00 ; DENTIST_YEAR = $BB +.byte $00 ; DENTIST_HOURS = $BC +.byte $00 ; DENTIST_MINUTES = $BD +.byte $00 ; PILLAR_ON = $BE +.byte $00 ; GREEN_BOOK_PROGRESS = $BF +.byte $00 ; DNI_PROGRESS = $C0 +.byte $00 ; COMPARTMENT_OPEN = $C1 +.byte $00 ; GAME_COMPLETED = $C2 + +.byte $00 ; SAFE_HUNDREDS = $C3 +.byte $00 ; SAFE_TENS = $C4 +.byte $00 ; SAFE_ONES = $C5 +.byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 +.byte $00 ; TRUNK_STATE = $C9 + +.byte $00 ; SELENA_BUTTON_STATUS = $CA +.byte $00 ; SELENA_ANTENNA1 = $CB +.byte $00 ; SELENA_ANTENNA2 = $CC +.byte $00 ; SELENA_ANTENNA3 = $CD +.byte $00 ; SELENA_ANTENNA4 = $CE +.byte $00 ; SELENA_ANTENNA5 = $CF +.byte $00 ; SELENA_LOCK1 = $D0 +.byte $00 ; SELENA_LOCK2 = $D1 +.byte $00 ; SELENA_LOCK3 = $D2 +.byte $00 ; SELENA_LOCK4 = $D3 +.byte $00 ; SELENA_LOCK5 = $D4 +.byte $00 ; SELENA_ANTENNA_ACTIVE = $D5 + +.byte $00 ; SUB_DIRECTION = $D6 +.byte $00 ; SUB_LOCATION = $D7 +.byte $00 ; NIBEL_PROJECTOR = $D8