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