mist: generator puzzle works

This commit is contained in:
Vince Weaver 2020-03-11 14:17:58 -04:00
parent f57a6b6f5f
commit bd4ec175fc
3 changed files with 50 additions and 7 deletions

View File

@ -150,6 +150,44 @@ done_rocket_volts:
generator_update_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 lda DRAW_PAGE
clc clc
adc #$6 adc #$6
@ -160,14 +198,14 @@ generator_update_volts:
sta gen_put_needle_smc+2 sta gen_put_needle_smc+2
sta rocket_put_needle_smc+2 sta rocket_put_needle_smc+2
lda GENERATOR_VOLTS lda GENERATOR_VOLTS_DISP
and #$f and #$f
clc clc
adc #$b0 adc #$b0
gen_volt_ones_smc: gen_volt_ones_smc:
sta $6d0+14 ; 14,21 sta $6d0+14 ; 14,21
lda GENERATOR_VOLTS lda GENERATOR_VOLTS_DISP
lsr lsr
lsr lsr
lsr lsr
@ -179,7 +217,7 @@ gen_volt_tens_smc:
sta $6d0+13 ; 13,21 sta $6d0+13 ; 13,21
; draw gen needle ; draw gen needle
lda GENERATOR_VOLTS lda GENERATOR_VOLTS_DISP
ldx #0 ldx #0
cmp #$25 cmp #$25
bcc gen_put_needle bcc gen_put_needle
@ -207,14 +245,14 @@ gen_put_needle_smc:
bne gen_put_needle_loop bne gen_put_needle_loop
lda ROCKET_VOLTS lda ROCKET_VOLTS_DISP
and #$f and #$f
clc clc
adc #$b0 adc #$b0
rocket_volt_ones_smc: rocket_volt_ones_smc:
sta $6d0+21 ; 21,21 sta $6d0+21 ; 21,21
lda ROCKET_VOLTS lda ROCKET_VOLTS_DISP
lsr lsr
lsr lsr
lsr lsr
@ -227,7 +265,7 @@ rocket_volt_tens_smc:
; draw rocket needle ; draw rocket needle
lda ROCKET_VOLTS lda ROCKET_VOLTS_DISP
ldx #0 ldx #0
cmp #$25 cmp #$25
bcc rocket_put_needle bcc rocket_put_needle

View File

@ -58,6 +58,8 @@ mist_start:
sta BREAKER_TRIPPED sta BREAKER_TRIPPED
sta GENERATOR_VOLTS sta GENERATOR_VOLTS
sta ROCKET_VOLTS sta ROCKET_VOLTS
sta GENERATOR_VOLTS_DISP
sta ROCKET_VOLTS_DISP
sta SWITCH_TOP_ROW sta SWITCH_TOP_ROW
sta SWITCH_BOTTOM_ROW sta SWITCH_BOTTOM_ROW

View File

@ -58,7 +58,7 @@ GEAR_OPEN = $82
MARKER_SWITCHES = $83 MARKER_SWITCHES = $83
CLOCK_HOUR = $84 CLOCK_HOUR = $84
CLOCK_MINUTE = $85 CLOCK_MINUTE = $85
GENERATOR_ON = $86 ;GENERATOR_ON = $86
TREE_FURNACE_ON = $87 TREE_FURNACE_ON = $87
FIREPLACE_GRID0 = $88 FIREPLACE_GRID0 = $88
FIREPLACE_GRID1 = $89 FIREPLACE_GRID1 = $89
@ -79,6 +79,9 @@ GENERATOR_VOLTS = $96
ROCKET_VOLTS = $97 ROCKET_VOLTS = $97
SWITCH_TOP_ROW = $98 SWITCH_TOP_ROW = $98
SWITCH_BOTTOM_ROW = $99 SWITCH_BOTTOM_ROW = $99
GENERATOR_VOLTS_DISP = $9A
ROCKET_VOLTS_DISP = $9B
DISP_PAGE = $ED ; ALL DISP_PAGE = $ED ; ALL
DRAW_PAGE = $EE ; ALL DRAW_PAGE = $EE ; ALL