diff --git a/mist/Makefile b/mist/Makefile index e6a152c5..516e95cd 100644 --- a/mist/Makefile +++ b/mist/Makefile @@ -63,7 +63,7 @@ loader.o: loader.s \ SAVE0: default_save.o ld65 -o SAVE0 default_save.o -C ../linker_scripts/apple2_e00.inc -default_save.o: default_save.s +default_save.o: default_save.s playthrough_save.inc ca65 -o default_save.o default_save.s -l default_save.lst diff --git a/mist/TODO b/mist/TODO index 764163ad..ddc7fc24 100644 --- a/mist/TODO +++ b/mist/TODO @@ -23,9 +23,11 @@ For release 1.0 -- hook up key/trunk puzzle + CHANNEL - -- hook up water valves at least - -- show water in pipe (because no sound clue for water running?) -- from path can still see down elev1 even if up + -- rotate windmill if enabled? + ++ ARBOR + -- rotate windmill if enabled? + NIBEL -- turn on sprite crop in the viewer part @@ -43,7 +45,6 @@ Done: + DENTIST + DNI + MIST_TITLE -+ ARBOR + SHIP ================================ diff --git a/mist/default_save.s b/mist/default_save.s index 7e53906c..620248ec 100644 --- a/mist/default_save.s +++ b/mist/default_save.s @@ -2,6 +2,11 @@ .include "common_defines.inc" +.if 0 +; if doing playthrough +.include "playthrough_save.inc" +.endif + ; want to load this to address $80 .if 0 @@ -25,9 +30,14 @@ .byte CHANNEL_ARRIVAL ; LOCATION = $82 .endif +.if 0 +; Octagon (for playthrough) +.byte LOAD_OCTAGON ; WHICH_LOAD = $80 +.byte DIRECTION_S ; DIRECTION = $81 +.byte OCTAGON_CENTER ; LOCATION = $82 +.endif - - +.if 1 .byte $00 ; RED_PAGES_TAKEN = $83 .byte $00 ; BLUE_PAGES_TAKEN = $84 .byte $00 ; CLOCK_BRIDGE = $85 @@ -104,3 +114,4 @@ .byte $00 ; BOILER_VALVE = $C8 .byte $00 ; TRUNK_STATE = $C9 +.endif diff --git a/mist/playthrough_save.inc b/mist/playthrough_save.inc new file mode 100644 index 00000000..924167eb --- /dev/null +++ b/mist/playthrough_save.inc @@ -0,0 +1,96 @@ + +; 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) + ; RED_PAGES_TAKEN = $83 +.byte (OCTAGON_PAGE|MECHE_PAGE) + ; BLUE_PAGES_TAKEN = $84 +.byte $1 + ; CLOCK_BRIDGE = $85 +.byte $1 + ; GEAR_OPEN = $86 +.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_CLOCK|MARKER_POOL) + ; MARKER_SWITCHES = $87 +.byte $2 + ; CLOCK_HOUR = $88 +.byte $40 + ; 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 $2 + ; RED_PAGE_COUNT = $AA +.byte $2 + ; BLUE_PAGE_COUNT = $AB + + +.byte $00 ; VIEWER_CHANNEL = $AC +.byte $00 ; VIEWER_LATCHED = $AD +.byte $2 + ; 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 +