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:
; 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

View File

@ -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

View File

@ -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