mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-28 02:55:03 +00:00
Merge branch 'master' of https://github.com/deater/dos33fsprogs
This commit is contained in:
commit
769ae6c9d8
@ -2,9 +2,10 @@ General:
|
|||||||
+ Insert floppy #100 joke?
|
+ Insert floppy #100 joke?
|
||||||
+ double link noise (once when leave, once when get there?)
|
+ double link noise (once when leave, once when get there?)
|
||||||
+ allow turning around
|
+ allow turning around
|
||||||
|
+ allow going 45 degree angles
|
||||||
+ adjust grab window on letter
|
+ adjust grab window on letter
|
||||||
+ add missing red book step
|
+ 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:
|
Make game winnable:
|
||||||
+ Allow access to all marker switches
|
+ Allow access to all marker switches
|
||||||
@ -15,16 +16,16 @@ Make game winnable:
|
|||||||
MIST island:
|
MIST island:
|
||||||
+ Scenery
|
+ Scenery
|
||||||
- Projector room, with message
|
- Projector room, with message
|
||||||
- Tunnel to generator
|
|
||||||
- Climb towers with circuit breakers (2)
|
- Climb towers with circuit breakers (2)
|
||||||
- Dentist chair
|
- Dentist chair
|
||||||
- Raised ship
|
- Raised ship
|
||||||
- fireplace close/open
|
- fireplace close/open
|
||||||
|
- constellation panels
|
||||||
|
- roof of temple for return
|
||||||
+ fireplace puzzle
|
+ fireplace puzzle
|
||||||
+ bookshelf close?
|
+ bookshelf close?
|
||||||
+ book?
|
+ book?
|
||||||
+ atrus at end
|
+ atrus at end
|
||||||
+ Generator puzzle
|
|
||||||
+ Dentist chair
|
+ Dentist chair
|
||||||
+ Raise ship
|
+ Raise ship
|
||||||
+ Fireplace: 8x6 grid
|
+ Fireplace: 8x6 grid
|
||||||
|
@ -27,7 +27,7 @@ finger_right_sprite:
|
|||||||
.byte 6,4
|
.byte 6,4
|
||||||
.byte $AA,$BA,$AB,$AA,$AA,$AA
|
.byte $AA,$BA,$AB,$AA,$AA,$AA
|
||||||
.byte $BB,$BB,$BB,$BB,$BB,$BB
|
.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
|
.byte $AB,$BB,$BB,$AB,$AA,$AA
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ draw_pointer:
|
|||||||
; see if inside special region
|
; see if inside special region
|
||||||
ldy #LOCATION_SPECIAL_EXIT
|
ldy #LOCATION_SPECIAL_EXIT
|
||||||
lda (LOCATION_STRUCT_L),Y
|
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
|
cmp DIRECTION
|
||||||
bne finger_not_special ; only special if facing right way
|
bne finger_not_special ; only special if facing right way
|
||||||
|
|
||||||
@ -47,11 +48,18 @@ finger_grab:
|
|||||||
lda #1
|
lda #1
|
||||||
sta IN_SPECIAL
|
sta IN_SPECIAL
|
||||||
|
|
||||||
|
lda DIRECTION
|
||||||
|
and #DIRECTION_ONLY_POINT
|
||||||
|
bne special_but_point
|
||||||
|
|
||||||
lda #<finger_grab_sprite
|
lda #<finger_grab_sprite
|
||||||
sta INL
|
sta INL
|
||||||
lda #>finger_grab_sprite
|
lda #>finger_grab_sprite
|
||||||
jmp finger_draw
|
jmp finger_draw
|
||||||
|
|
||||||
|
special_but_point:
|
||||||
|
jmp finger_point
|
||||||
|
|
||||||
finger_not_special:
|
finger_not_special:
|
||||||
|
|
||||||
; check for left/right
|
; check for left/right
|
||||||
|
@ -8,7 +8,7 @@ open_gen_door:
|
|||||||
sta location35,Y
|
sta location35,Y
|
||||||
|
|
||||||
ldy #LOCATION_NORTH_EXIT_DIR
|
ldy #LOCATION_NORTH_EXIT_DIR
|
||||||
lda #DIRECTION_N
|
lda #(DIRECTION_N | DIRECTION_SPLIT | DIRECTION_ONLY_POINT)
|
||||||
sta location35,Y
|
sta location35,Y
|
||||||
|
|
||||||
ldy #LOCATION_NORTH_BG
|
ldy #LOCATION_NORTH_BG
|
||||||
@ -22,3 +22,339 @@ open_gen_door:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
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 #24
|
||||||
|
lsr
|
||||||
|
bmi done_press
|
||||||
|
cmp #5
|
||||||
|
bcs done_press ; bge
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda SWITCH_TOP_ROW
|
||||||
|
eor button_lookup,X ; toggle switch
|
||||||
|
sta SWITCH_TOP_ROW
|
||||||
|
|
||||||
|
jmp done_press
|
||||||
|
|
||||||
|
button_bottom_row:
|
||||||
|
|
||||||
|
lda XPOS
|
||||||
|
sec
|
||||||
|
sbc #25
|
||||||
|
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:
|
||||||
|
|
||||||
|
; 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
|
||||||
|
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_DISP
|
||||||
|
and #$f
|
||||||
|
clc
|
||||||
|
adc #$b0
|
||||||
|
gen_volt_ones_smc:
|
||||||
|
sta $6d0+14 ; 14,21
|
||||||
|
|
||||||
|
lda GENERATOR_VOLTS_DISP
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
and #$f
|
||||||
|
clc
|
||||||
|
adc #$b0
|
||||||
|
gen_volt_tens_smc:
|
||||||
|
sta $6d0+13 ; 13,21
|
||||||
|
|
||||||
|
; draw gen needle
|
||||||
|
lda GENERATOR_VOLTS_DISP
|
||||||
|
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_DISP
|
||||||
|
and #$f
|
||||||
|
clc
|
||||||
|
adc #$b0
|
||||||
|
rocket_volt_ones_smc:
|
||||||
|
sta $6d0+21 ; 21,21
|
||||||
|
|
||||||
|
lda ROCKET_VOLTS_DISP
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
and #$f
|
||||||
|
clc
|
||||||
|
adc #$b0
|
||||||
|
rocket_volt_tens_smc:
|
||||||
|
sta $6d0+20 ; 20,21
|
||||||
|
|
||||||
|
|
||||||
|
; draw rocket needle
|
||||||
|
lda ROCKET_VOLTS_DISP
|
||||||
|
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:
|
||||||
|
|
||||||
|
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 #$19
|
||||||
|
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
|
||||||
|
|
||||||
|
@ -42,6 +42,8 @@ put_sprite_crop_loop:
|
|||||||
bne crop_increment_y
|
bne crop_increment_y
|
||||||
|
|
||||||
put_sprite_crop_pos:
|
put_sprite_crop_pos:
|
||||||
|
|
||||||
|
psc_smc1:
|
||||||
cpy #48 ; bge if >= 48, done sprite
|
cpy #48 ; bge if >= 48, done sprite
|
||||||
bcs crop_sprite_done
|
bcs crop_sprite_done
|
||||||
|
|
||||||
@ -222,6 +224,7 @@ put_spritefc_loop:
|
|||||||
ldy TEMPY ; 3
|
ldy TEMPY ; 3
|
||||||
|
|
||||||
bmi fcrop_increment_y ; if < 0, skip to next
|
bmi fcrop_increment_y ; if < 0, skip to next
|
||||||
|
psc_smc2:
|
||||||
cpy #48 ; bge if >= 48, done sprite
|
cpy #48 ; bge if >= 48, done sprite
|
||||||
bcs fcrop_sprite_done
|
bcs fcrop_sprite_done
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 1014 B After Width: | Height: | Size: 12 KiB |
@ -120,6 +120,27 @@ change_direction:
|
|||||||
|
|
||||||
; load background
|
; load background
|
||||||
lda DIRECTION
|
lda DIRECTION
|
||||||
|
bpl no_split
|
||||||
|
|
||||||
|
; split text/graphics
|
||||||
|
bit TEXTGR
|
||||||
|
|
||||||
|
; also change sprite cutoff
|
||||||
|
ldx #40
|
||||||
|
stx psc_smc1+1
|
||||||
|
stx psc_smc2+1
|
||||||
|
|
||||||
|
jmp done_split
|
||||||
|
no_split:
|
||||||
|
bit FULLGR
|
||||||
|
|
||||||
|
; also change sprite cutoff
|
||||||
|
ldx #40
|
||||||
|
stx psc_smc1+1
|
||||||
|
stx psc_smc2+1
|
||||||
|
|
||||||
|
done_split:
|
||||||
|
and #$f ; mask off special flags
|
||||||
asl
|
asl
|
||||||
clc
|
clc
|
||||||
adc #LOCATION_NORTH_BG
|
adc #LOCATION_NORTH_BG
|
||||||
@ -169,6 +190,7 @@ go_forward:
|
|||||||
; update new location
|
; update new location
|
||||||
|
|
||||||
lda DIRECTION
|
lda DIRECTION
|
||||||
|
and #$f
|
||||||
clc
|
clc
|
||||||
adc #LOCATION_NORTH_EXIT
|
adc #LOCATION_NORTH_EXIT
|
||||||
tay
|
tay
|
||||||
@ -182,6 +204,7 @@ go_forward:
|
|||||||
; update new direction
|
; update new direction
|
||||||
|
|
||||||
lda DIRECTION
|
lda DIRECTION
|
||||||
|
and #$f
|
||||||
clc
|
clc
|
||||||
adc #LOCATION_NORTH_EXIT_DIR
|
adc #LOCATION_NORTH_EXIT_DIR
|
||||||
tay
|
tay
|
||||||
|
@ -710,8 +710,10 @@ location36:
|
|||||||
.word $0000 ; east bg
|
.word $0000 ; east bg
|
||||||
.word $0000 ; west bg
|
.word $0000 ; west bg
|
||||||
.byte BG_NORTH | BG_SOUTH
|
.byte BG_NORTH | BG_SOUTH
|
||||||
.byte $ff
|
.byte DIRECTION_N|DIRECTION_SPLIT|DIRECTION_ONLY_POINT
|
||||||
|
.byte 24,36 ; special x
|
||||||
|
.byte 34,40 ; special y
|
||||||
|
.word generator_button_press-1 ; special function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
mist_link_book:
|
mist_link_book:
|
||||||
|
|
||||||
; play sound effect?
|
; play sound effect?
|
||||||
|
.if 0
|
||||||
lda #<audio_link_noise
|
lda #<audio_link_noise
|
||||||
sta BTC_L
|
sta BTC_L
|
||||||
lda #>audio_link_noise
|
lda #>audio_link_noise
|
||||||
sta BTC_H
|
sta BTC_H
|
||||||
ldx #43 ; 45 pages long???
|
ldx #43 ; 45 pages long???
|
||||||
jsr play_audio
|
jsr play_audio
|
||||||
|
.endif
|
||||||
lda #1
|
lda #1
|
||||||
sta LOCATION
|
sta LOCATION
|
||||||
jsr change_location
|
jsr change_location
|
||||||
|
30
mist/mist.s
30
mist/mist.s
@ -55,6 +55,14 @@ mist_start:
|
|||||||
lda #0
|
lda #0
|
||||||
sta GEAR_OPEN
|
sta GEAR_OPEN
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
; debug
|
; debug
|
||||||
; lda #1
|
; lda #1
|
||||||
; sta GEAR_OPEN
|
; sta GEAR_OPEN
|
||||||
@ -92,18 +100,22 @@ game_loop:
|
|||||||
; handle special-case forground logic
|
; handle special-case forground logic
|
||||||
;====================================
|
;====================================
|
||||||
|
|
||||||
|
; handle gear opening
|
||||||
|
|
||||||
lda GEAR_OPEN
|
lda GEAR_OPEN
|
||||||
beq not_gear_related
|
beq not_gear_related
|
||||||
|
|
||||||
jsr check_gear_delete
|
jsr check_gear_delete
|
||||||
not_gear_related:
|
not_gear_related:
|
||||||
|
|
||||||
|
; handle clock puzzles
|
||||||
|
|
||||||
lda LOCATION
|
lda LOCATION
|
||||||
cmp #25 ; clock puzzle
|
cmp #25 ; clock puzzle
|
||||||
beq location_clock
|
beq location_clock
|
||||||
cmp #27
|
cmp #27
|
||||||
beq location_inside_clock
|
beq location_inside_clock
|
||||||
bne nothing_special
|
bne location_generator
|
||||||
|
|
||||||
location_clock:
|
location_clock:
|
||||||
jsr draw_clock_face
|
jsr draw_clock_face
|
||||||
@ -112,6 +124,18 @@ location_inside_clock:
|
|||||||
jsr draw_clock_inside
|
jsr draw_clock_inside
|
||||||
jmp nothing_special
|
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:
|
nothing_special:
|
||||||
|
|
||||||
@ -213,7 +237,7 @@ exit_level:
|
|||||||
;.align $100
|
;.align $100
|
||||||
;audio_red_page:
|
;audio_red_page:
|
||||||
;.incbin "audio/red_page.btc"
|
;.incbin "audio/red_page.btc"
|
||||||
audio_link_noise:
|
;audio_link_noise:
|
||||||
.incbin "audio/link_noise.btc"
|
;.incbin "audio/link_noise.btc"
|
||||||
|
|
||||||
|
|
||||||
|
13
mist/zp.inc
13
mist/zp.inc
@ -40,6 +40,8 @@ DIRECTION = $66
|
|||||||
DIRECTION_S = $1
|
DIRECTION_S = $1
|
||||||
DIRECTION_E = $2
|
DIRECTION_E = $2
|
||||||
DIRECTION_W = $3
|
DIRECTION_W = $3
|
||||||
|
DIRECTION_ONLY_POINT = $40 ; do not change pointer to grab
|
||||||
|
DIRECTION_SPLIT = $80 ; split text/graphics
|
||||||
LOCATION = $67
|
LOCATION = $67
|
||||||
LOCATION_STRUCT_L = $68
|
LOCATION_STRUCT_L = $68
|
||||||
LOCATION_STRUCT_H = $69
|
LOCATION_STRUCT_H = $69
|
||||||
@ -56,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
|
||||||
@ -72,6 +74,15 @@ CLOCK_LAST = $92
|
|||||||
ANIMATE_FRAME = $93
|
ANIMATE_FRAME = $93
|
||||||
LEVEL_OVER = $94
|
LEVEL_OVER = $94
|
||||||
|
|
||||||
|
BREAKER_TRIPPED = $95
|
||||||
|
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
|
DISP_PAGE = $ED ; ALL
|
||||||
DRAW_PAGE = $EE ; ALL
|
DRAW_PAGE = $EE ; ALL
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user