From 58df88587a671e9a1efc04ed5b1b9729c5fee221 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 00:12:10 -0400 Subject: [PATCH 1/9] mist: working on generator room --- mist/generator_puzzle.s | 2 +- mist/graphics_island/generator_n.png | Bin 1014 -> 12719 bytes mist/keyboard.s | 9 +++++++++ mist/leveldata_island.inc | 2 +- mist/zp.inc | 2 ++ 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index 957278ed..d57fa718 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -8,7 +8,7 @@ open_gen_door: sta location35,Y ldy #LOCATION_NORTH_EXIT_DIR - lda #DIRECTION_N + lda #(DIRECTION_N | DIRECTION_SPLIT) sta location35,Y ldy #LOCATION_NORTH_BG diff --git a/mist/graphics_island/generator_n.png b/mist/graphics_island/generator_n.png index 85fb9394292ef945ea97bcd8fd1a88dc7b05887b..d77c7cf71a887a72037bc61401d1fcf2844059b9 100644 GIT binary patch delta 12273 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 IM6N<$f~?QkhX4Qo diff --git a/mist/keyboard.s b/mist/keyboard.s index 0671d08f..8b48e263 100644 --- a/mist/keyboard.s +++ b/mist/keyboard.s @@ -120,6 +120,13 @@ change_direction: ; load background lda DIRECTION + bpl no_split + bit TEXTGR + jmp done_split +no_split: + bit FULLGR +done_split: + and #$f ; mask off special flags asl clc adc #LOCATION_NORTH_BG @@ -169,6 +176,7 @@ go_forward: ; update new location lda DIRECTION + and #$f clc adc #LOCATION_NORTH_EXIT tay @@ -182,6 +190,7 @@ go_forward: ; update new direction lda DIRECTION + and #$f clc adc #LOCATION_NORTH_EXIT_DIR tay diff --git a/mist/leveldata_island.inc b/mist/leveldata_island.inc index 7e3a110a..c28d7e0c 100644 --- a/mist/leveldata_island.inc +++ b/mist/leveldata_island.inc @@ -710,7 +710,7 @@ location36: .word $0000 ; east bg .word $0000 ; west bg .byte BG_NORTH | BG_SOUTH - .byte $ff + .byte $ff ; DIRECTION_N|DIRECTION_SPLIT|DIRECTION_ONLY_POINT diff --git a/mist/zp.inc b/mist/zp.inc index 2e0e0211..241bca3d 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -40,6 +40,8 @@ DIRECTION = $66 DIRECTION_S = $1 DIRECTION_E = $2 DIRECTION_W = $3 + DIRECTION_ONLY_POINT = $40 ; do not change pointer to grab + DIRECTION_SPLIT = $80 ; split text/graphics LOCATION = $67 LOCATION_STRUCT_L = $68 LOCATION_STRUCT_H = $69 From 80ecdcc4526fe30938bf0ec6fe044ddaef826076 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 00:13:11 -0400 Subject: [PATCH 2/9] mist: fix minor sprite issue --- mist/common_sprites.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mist/common_sprites.inc b/mist/common_sprites.inc index c21651de..98d2d5c8 100644 --- a/mist/common_sprites.inc +++ b/mist/common_sprites.inc @@ -27,7 +27,7 @@ finger_right_sprite: .byte 6,4 .byte $AA,$BA,$AB,$AA,$AA,$AA .byte $BB,$BB,$BB,$BB,$BB,$BB - .byte $BA,$BB,$BB,$BB,$AA,$AA + .byte $BB,$BB,$BB,$BB,$AA,$AA .byte $AB,$BB,$BB,$AB,$AA,$AA From 46b9121c136871cd35570e0d90234be160e92779 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 09:46:53 -0400 Subject: [PATCH 3/9] mist: on split screen cut off the pointer at the edge of screen --- mist/draw_pointer.s | 3 +- mist/generator_puzzle.s | 109 ++++++++++++++++++++++++++- mist/gr_putsprite_crop.s | 3 + mist/graphics_island/generator_n.png | Bin 12719 -> 12710 bytes mist/keyboard.s | 14 ++++ mist/leveldata_island.inc | 6 +- 6 files changed, 131 insertions(+), 4 deletions(-) diff --git a/mist/draw_pointer.s b/mist/draw_pointer.s index ec539a40..442a7a59 100644 --- a/mist/draw_pointer.s +++ b/mist/draw_pointer.s @@ -17,7 +17,8 @@ draw_pointer: ; see if inside special region ldy #LOCATION_SPECIAL_EXIT lda (LOCATION_STRUCT_L),Y - bmi finger_not_special ; if $ff not special + cmp #$ff + beq finger_not_special ; if $ff not special cmp DIRECTION bne finger_not_special ; only special if facing right way diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index d57fa718..75c25963 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -8,7 +8,7 @@ open_gen_door: sta location35,Y ldy #LOCATION_NORTH_EXIT_DIR - lda #(DIRECTION_N | DIRECTION_SPLIT) + lda #(DIRECTION_N | DIRECTION_SPLIT | DIRECTION_ONLY_POINT) sta location35,Y ldy #LOCATION_NORTH_BG @@ -22,3 +22,110 @@ open_gen_door: rts +button_lookup: +.byte $10,$8,$4,$2,$1 + +generator_button_press: + + lda SWITCH_TOP_ROW + ora #$10 + sta SWITCH_TOP_ROW + + sed ; use BCD mode + inc GENERATOR_VOLTS + cld ; turn off BCD mode + + rts + + +generator_update_volts: + + lda DRAW_PAGE + clc + adc #$6 + sta volt_ones_smc+2 + sta volt_tens_smc+2 + + lda GENERATOR_VOLTS + and #$f + clc + adc #$b0 +volt_ones_smc: + sta $6d0+14 ; 14,21 + + lda GENERATOR_VOLTS + lsr + lsr + lsr + lsr + and #$f + clc + adc #$b0 +volt_tens_smc: + sta $6d0+13 ; 13,21 + + + + rts + + +generator_draw_buttons: + + ldx #0 + clc + lda DRAW_PAGE + adc #$4 + sta top_button_draw_smc+2 + adc #$1 + sta bottom_button_draw_smc+2 + lda #$d0+25 + sta top_button_draw_smc+1 + adc #$1 + sta bottom_button_draw_smc+1 + +draw_buttons_loop: + + ; top button + + lda SWITCH_TOP_ROW + and button_lookup,X + beq top_button_off + +top_button_on: + ldy #$95 + bne top_button_draw_smc + +top_button_off: + ldy #$35 + +top_button_draw_smc: + sty $4d0+25 + + inc top_button_draw_smc+1 + inc top_button_draw_smc+1 + + ; bottom button + + lda SWITCH_BOTTOM_ROW + and button_lookup,X + beq bottom_button_off + +bottom_button_on: + ldy #$93 + bne bottom_button_draw_smc + +bottom_button_off: + ldy #$13 + +bottom_button_draw_smc: + sty $5d0+26 + + inc bottom_button_draw_smc+1 + inc bottom_button_draw_smc+1 + + inx + cpx #5 + bne draw_buttons_loop + + rts + diff --git a/mist/gr_putsprite_crop.s b/mist/gr_putsprite_crop.s index cdd67f9a..a9b8e227 100644 --- a/mist/gr_putsprite_crop.s +++ b/mist/gr_putsprite_crop.s @@ -42,6 +42,8 @@ put_sprite_crop_loop: bne crop_increment_y put_sprite_crop_pos: + +psc_smc1: cpy #48 ; bge if >= 48, done sprite bcs crop_sprite_done @@ -222,6 +224,7 @@ put_spritefc_loop: ldy TEMPY ; 3 bmi fcrop_increment_y ; if < 0, skip to next +psc_smc2: cpy #48 ; bge if >= 48, done sprite bcs fcrop_sprite_done diff --git a/mist/graphics_island/generator_n.png b/mist/graphics_island/generator_n.png index d77c7cf71a887a72037bc61401d1fcf2844059b9..e63859a4c2f9757d4691f2edf21dffb97e9e2d37 100644 GIT binary patch delta 9267 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%0AW#T7;2Xq+G589un_L~ zEGunX95>Zwc0Wi?O-0YgU};YlRm@^8KC0{^B#9mw-LdSu+6RNly;uB>o~a@ z*~c4Mi~5H%|C$BcV$;WU!4)>t_-!6s%pUQdA-DIgz5V4!%0$Evd};{5XGP_7@NGM>^>V%-^Et&&T)@YVLEGpUlgV`}sdpAa#=@=}YUg zx-Ibm1`Y$!BiapoW6mnwd=B%Hu8kG?+z>?iH}<1N`3J}~Wn8g+OAL+Anf&_N)g z02x@YIqDsH-UbVf6qBvVda4 ztAWKuK7}5qO&5WG+#d&`Lk}nxh6Y+V4z$*ZTDsnPmOwzFI1YX*AiUZGVihf*=rNzn z`es)09IBRhz?{c{<~Qly35S5@&X#V;0LtO3N~r<7_aRl)*Y>YUeIa$aW%C;S6(3z) z-g}KHZyD{N=)I|omFW4bFXqwn_kKe}5FR}q^<@INKLij~L`GiH#~$hf@z6`a619^K zUj6V$ysil3k)L$)9JDNc)YNP$#&xBCI%+HYyF7>U{JV)9^5{Dpf)|t(eTT!l`UAi{ VHpdoy2(JJD002ovPDHLkV1jTw#qIzA delta 9276 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 eEBX$Hcl8Ir0XD}DgNaH20000 Date: Wed, 11 Mar 2020 09:47:25 -0400 Subject: [PATCH 4/9] mist: add some zero page addrsses for generator --- mist/mist.s | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/mist/mist.s b/mist/mist.s index ad6dc9b2..1929bd1a 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -55,6 +55,12 @@ mist_start: lda #0 sta GEAR_OPEN + sta BREAKER_TRIPPED + sta GENERATOR_VOLTS + sta ROCKET_VOLTS + sta SWITCH_TOP_ROW + sta SWITCH_BOTTOM_ROW + ; debug ; lda #1 ; sta GEAR_OPEN @@ -92,18 +98,22 @@ game_loop: ; handle special-case forground logic ;==================================== + ; handle gear opening + lda GEAR_OPEN beq not_gear_related jsr check_gear_delete not_gear_related: + ; handle clock puzzles + lda LOCATION cmp #25 ; clock puzzle beq location_clock cmp #27 beq location_inside_clock - bne nothing_special + bne location_generator location_clock: jsr draw_clock_face @@ -112,6 +122,18 @@ location_inside_clock: jsr draw_clock_inside jmp nothing_special + ; handle generator puzzle +location_generator: + cmp #36 + bne nothing_special + lda DIRECTION + and #$f + cmp #DIRECTION_N + bne nothing_special + + jsr generator_update_volts + jsr generator_draw_buttons + jmp nothing_special nothing_special: @@ -213,7 +235,7 @@ exit_level: ;.align $100 ;audio_red_page: ;.incbin "audio/red_page.btc" -audio_link_noise: -.incbin "audio/link_noise.btc" +;audio_link_noise: +;.incbin "audio/link_noise.btc" From fc19c9e6f464036ee03d1c9af0de94e692ba0c66 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 09:47:48 -0400 Subject: [PATCH 5/9] mist: temporarily disable sound --- mist/link_book_mist.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mist/link_book_mist.s b/mist/link_book_mist.s index bc8f24f4..77f81cb4 100644 --- a/mist/link_book_mist.s +++ b/mist/link_book_mist.s @@ -4,14 +4,14 @@ mist_link_book: ; play sound effect? - +.if 0 lda #audio_link_noise sta BTC_H ldx #43 ; 45 pages long??? jsr play_audio - +.endif lda #1 sta LOCATION jsr change_location From 0533bf36ff1cf2478429381d4c941d29d08f7bc1 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 11:57:01 -0400 Subject: [PATCH 6/9] mist: more work on generator puzzle, getting closer --- mist/generator_puzzle.s | 209 ++++++++++++++++++++++++++++++++++++++-- mist/zp.inc | 6 ++ 2 files changed, 206 insertions(+), 9 deletions(-) diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index 75c25963..dbfb5e03 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -25,32 +25,146 @@ open_gen_door: button_lookup: .byte $10,$8,$4,$2,$1 +button_values_top: +.byte $01,$02,$22,$19,$09 ; BCD +button_values_bottom: +.byte $10,$07,$08,$16,$05 ; BCD + +needle_strings: + .byte '\'|$80,' '|$80,' '|$80,' '|$80 + .byte ' '|$80,':'|$80,' '|$80,' '|$80 + .byte ' '|$80,' '|$80,':'|$80,' '|$80 + .byte ' '|$80,' '|$80,' '|$80,'/'|$80 + +;============================ +; handle button presses +;============================ + generator_button_press: + lda YPOS + cmp #38 + bcs button_bottom_row ; bge + +button_top_row: + + lda XPOS + sec + sbc #25 + lsr + bmi done_press + cmp #5 + bcs done_press ; bge + + tax lda SWITCH_TOP_ROW - ora #$10 + eor button_lookup,X ; toggle switch sta SWITCH_TOP_ROW - sed ; use BCD mode - inc GENERATOR_VOLTS - cld ; turn off BCD mode + jmp done_press + +button_bottom_row: + + lda XPOS + sec + sbc #26 + lsr + bmi done_press + cmp #5 + bcs done_press ; bge + + tax + lda SWITCH_BOTTOM_ROW + eor button_lookup,X ; toggle switch + sta SWITCH_BOTTOM_ROW +no_bottom_press: + +done_press: + + +calculate_button_totals: + + lda #0 + sta ROCKET_VOLTS + sta GENERATOR_VOLTS + tax + +calc_buttons_loop: + + ; top button + + lda SWITCH_TOP_ROW + and button_lookup,X + beq ctop_button_off + +ctop_button_on: + sed + clc + lda GENERATOR_VOLTS + adc button_values_top,X + sta GENERATOR_VOLTS + cld + +ctop_button_off: + + lda SWITCH_BOTTOM_ROW + and button_lookup,X + beq cbottom_button_off + +cbottom_button_on: + sed + clc + lda GENERATOR_VOLTS + adc button_values_bottom,X + sta GENERATOR_VOLTS + cld + +cbottom_button_off: + + inx + cpx #5 + bne calc_buttons_loop + + ; calculate rocket volts + lda BREAKER_TRIPPED + bne done_rocket_volts + + lda GENERATOR_VOLTS + cmp #$59 + bcs oops_flipped + + sta ROCKET_VOLTS + jmp done_rocket_volts + +oops_flipped: + lda #$3 + sta BREAKER_TRIPPED + +done_rocket_volts: rts +;=========================== +; draw the voltage displays +;=========================== generator_update_volts: lda DRAW_PAGE clc adc #$6 - sta volt_ones_smc+2 - sta volt_tens_smc+2 + sta gen_volt_ones_smc+2 + sta gen_volt_tens_smc+2 + sta rocket_volt_ones_smc+2 + sta rocket_volt_tens_smc+2 + sta gen_put_needle_smc+2 + sta rocket_put_needle_smc+2 lda GENERATOR_VOLTS and #$f clc adc #$b0 -volt_ones_smc: +gen_volt_ones_smc: sta $6d0+14 ; 14,21 lda GENERATOR_VOLTS @@ -61,13 +175,90 @@ volt_ones_smc: and #$f clc adc #$b0 -volt_tens_smc: +gen_volt_tens_smc: sta $6d0+13 ; 13,21 + ; draw gen needle + lda GENERATOR_VOLTS + ldx #0 + cmp #$25 + bcc gen_put_needle + inx + cmp #$50 + bcc gen_put_needle + inx + cmp #$75 + bcc gen_put_needle + inx +gen_put_needle: + txa + asl + asl + tax + ldy #0 +gen_put_needle_loop: + lda needle_strings,X +gen_put_needle_smc: + sta $650+12,Y + iny + inx + cpy #4 + bne gen_put_needle_loop + + + lda ROCKET_VOLTS + and #$f + clc + adc #$b0 +rocket_volt_ones_smc: + sta $6d0+21 ; 21,21 + + lda ROCKET_VOLTS + lsr + lsr + lsr + lsr + and #$f + clc + adc #$b0 +rocket_volt_tens_smc: + sta $6d0+20 ; 20,21 + + + ; draw rocket needle + lda ROCKET_VOLTS + ldx #0 + cmp #$25 + bcc rocket_put_needle + inx + cmp #$50 + bcc rocket_put_needle + inx + cmp #$75 + bcc rocket_put_needle + inx +rocket_put_needle: + txa + asl + asl + tax + ldy #0 +rocket_put_needle_loop: + + lda needle_strings,X +rocket_put_needle_smc: + sta $650+19,Y + iny + inx + cpy #4 + bne rocket_put_needle_loop rts + ;========================= + ; draw the buttons + ;========================= generator_draw_buttons: @@ -111,7 +302,7 @@ top_button_draw_smc: beq bottom_button_off bottom_button_on: - ldy #$93 + ldy #$19 bne bottom_button_draw_smc bottom_button_off: diff --git a/mist/zp.inc b/mist/zp.inc index 241bca3d..2067792f 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -74,6 +74,12 @@ CLOCK_LAST = $92 ANIMATE_FRAME = $93 LEVEL_OVER = $94 +BREAKER_TRIPPED = $95 +GENERATOR_VOLTS = $96 +ROCKET_VOLTS = $97 +SWITCH_TOP_ROW = $98 +SWITCH_BOTTOM_ROW = $99 + DISP_PAGE = $ED ; ALL DRAW_PAGE = $EE ; ALL From f57a6b6f5ffb3178456bfbf570ca25bf8636faf6 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 12:07:15 -0400 Subject: [PATCH 7/9] mist: finger pointing for buttons works --- mist/draw_pointer.s | 7 +++++++ mist/generator_puzzle.s | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mist/draw_pointer.s b/mist/draw_pointer.s index 442a7a59..d6cea68f 100644 --- a/mist/draw_pointer.s +++ b/mist/draw_pointer.s @@ -48,11 +48,18 @@ finger_grab: lda #1 sta IN_SPECIAL + lda DIRECTION + and #DIRECTION_ONLY_POINT + bne special_but_point + lda #finger_grab_sprite jmp finger_draw +special_but_point: + jmp finger_point + finger_not_special: ; check for left/right diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index dbfb5e03..e425b479 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -50,7 +50,7 @@ button_top_row: lda XPOS sec - sbc #25 + sbc #24 lsr bmi done_press cmp #5 @@ -67,7 +67,7 @@ button_bottom_row: lda XPOS sec - sbc #26 + sbc #25 lsr bmi done_press cmp #5 From bd4ec175fcff60c901c321f8e1690b57c4707d59 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 14:17:58 -0400 Subject: [PATCH 8/9] mist: generator puzzle works --- mist/generator_puzzle.s | 50 ++++++++++++++++++++++++++++++++++++----- mist/mist.s | 2 ++ mist/zp.inc | 5 ++++- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/mist/generator_puzzle.s b/mist/generator_puzzle.s index e425b479..dc458126 100644 --- a/mist/generator_puzzle.s +++ b/mist/generator_puzzle.s @@ -150,6 +150,44 @@ done_rocket_volts: generator_update_volts: + ; gradually adjust generator voltage + sed + lda GENERATOR_VOLTS_DISP + cmp GENERATOR_VOLTS + beq no_adjust_gen_volts + bcs gen_volts_dec + + clc + adc #1 + jmp done_adjust_gen_volts +gen_volts_dec: + sec + sbc #1 +done_adjust_gen_volts: + sta GENERATOR_VOLTS_DISP + +no_adjust_gen_volts: + + + ; gradually adjust rocket voltage + lda ROCKET_VOLTS_DISP + cmp ROCKET_VOLTS + beq no_adjust_rocket_volts + bcs rocket_volts_dec + + clc + adc #1 + jmp done_adjust_rocket_volts +rocket_volts_dec: + sec + sbc #1 +done_adjust_rocket_volts: + sta ROCKET_VOLTS_DISP + +no_adjust_rocket_volts: + cld + + lda DRAW_PAGE clc adc #$6 @@ -160,14 +198,14 @@ generator_update_volts: sta gen_put_needle_smc+2 sta rocket_put_needle_smc+2 - lda GENERATOR_VOLTS + lda GENERATOR_VOLTS_DISP and #$f clc adc #$b0 gen_volt_ones_smc: sta $6d0+14 ; 14,21 - lda GENERATOR_VOLTS + lda GENERATOR_VOLTS_DISP lsr lsr lsr @@ -179,7 +217,7 @@ gen_volt_tens_smc: sta $6d0+13 ; 13,21 ; draw gen needle - lda GENERATOR_VOLTS + lda GENERATOR_VOLTS_DISP ldx #0 cmp #$25 bcc gen_put_needle @@ -207,14 +245,14 @@ gen_put_needle_smc: bne gen_put_needle_loop - lda ROCKET_VOLTS + lda ROCKET_VOLTS_DISP and #$f clc adc #$b0 rocket_volt_ones_smc: sta $6d0+21 ; 21,21 - lda ROCKET_VOLTS + lda ROCKET_VOLTS_DISP lsr lsr lsr @@ -227,7 +265,7 @@ rocket_volt_tens_smc: ; draw rocket needle - lda ROCKET_VOLTS + lda ROCKET_VOLTS_DISP ldx #0 cmp #$25 bcc rocket_put_needle diff --git a/mist/mist.s b/mist/mist.s index 1929bd1a..071dfe22 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -58,6 +58,8 @@ mist_start: sta BREAKER_TRIPPED sta GENERATOR_VOLTS sta ROCKET_VOLTS + sta GENERATOR_VOLTS_DISP + sta ROCKET_VOLTS_DISP sta SWITCH_TOP_ROW sta SWITCH_BOTTOM_ROW diff --git a/mist/zp.inc b/mist/zp.inc index 2067792f..bbe35fb2 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -58,7 +58,7 @@ GEAR_OPEN = $82 MARKER_SWITCHES = $83 CLOCK_HOUR = $84 CLOCK_MINUTE = $85 -GENERATOR_ON = $86 +;GENERATOR_ON = $86 TREE_FURNACE_ON = $87 FIREPLACE_GRID0 = $88 FIREPLACE_GRID1 = $89 @@ -79,6 +79,9 @@ GENERATOR_VOLTS = $96 ROCKET_VOLTS = $97 SWITCH_TOP_ROW = $98 SWITCH_BOTTOM_ROW = $99 +GENERATOR_VOLTS_DISP = $9A +ROCKET_VOLTS_DISP = $9B + DISP_PAGE = $ED ; ALL DRAW_PAGE = $EE ; ALL From a3836e8bd28c08a325b64e529428150a92c73e42 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Mar 2020 14:19:46 -0400 Subject: [PATCH 9/9] update TODO --- mist/TODO | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mist/TODO b/mist/TODO index b8bf237d..d219104f 100644 --- a/mist/TODO +++ b/mist/TODO @@ -2,9 +2,10 @@ General: + Insert floppy #100 joke? + double link noise (once when leave, once when get there?) + allow turning around ++ allow going 45 degree angles + adjust grab window on letter + add missing red book step -+ Move sound to language card (meaning no sound on II+ w/o language card) ++ move link sound to be loaded from disk Make game winnable: + Allow access to all marker switches @@ -15,16 +16,16 @@ Make game winnable: MIST island: + Scenery - Projector room, with message - - Tunnel to generator - Climb towers with circuit breakers (2) - Dentist chair - Raised ship - fireplace close/open + - constellation panels + - roof of temple for return + fireplace puzzle + bookshelf close? + book? + atrus at end -+ Generator puzzle + Dentist chair + Raise ship + Fireplace: 8x6 grid