peasant: fix to work on machines w/o mockingboard

wasn't properly wrapping all cases
This commit is contained in:
Vince Weaver 2021-09-30 00:57:00 -04:00
parent c340aa6bbe
commit 74ed7d7e9d
4 changed files with 48 additions and 21 deletions

View File

@ -4,10 +4,10 @@ General:
- More frames in peasant sprites
- Hook up text parser
- When load game, stop walking
- Load the names of saves from disk
- Let disk 2 live in the 2nd drive?
LDA $C08A,X to select first drive
LDA $C08B,X to select second drive
- Implement game over screen
Videlectrix Title:
- Can we make it faster?
@ -15,10 +15,15 @@ Videlectrix Title:
Intro:
- Speaker music for title if no Mockingboard
Map:
- implement map
Peasantry:
- Better animation of River
- animation for the boat
- animation of River
- animation of waterfall
- Priorities for all rooms
- Hook up hidden glen, inside of cottage and inn
- Hook up hidden glen, inside of cottages and inn
- Archery minigame
Tower:
@ -27,7 +32,7 @@ Tower:
Trogdor:
- All the rest
- Rest of Trogdor's speech
- Properly disable speech if SSI-263 is available
- Fix speech generation
Ending:
- Smoother baby animation? Use page-flipping?

View File

@ -24,6 +24,10 @@ peasant_quest_intro:
; restart music, only drum loop
;******************************
lda SOUND_STATUS
and #SOUND_MOCKINGBOARD
beq mockingboard_notfound
; hack! modify the PT3 file to ignore the latter half
lda #$ff ; end after 4 patterns
@ -35,6 +39,7 @@ peasant_quest_intro:
jsr pt3_init_song
cli
mockingboard_notfound:
;************************
; Cottage
@ -91,10 +96,18 @@ peasant_quest_intro:
escape_handler:
;==========================
; disable music
lda SOUND_STATUS
and #SOUND_MOCKINGBOARD
beq mockingboard_notfound2
sei ; turn off music
jsr clear_ay_both ; clear AY state
jsr mockingboard_disable_interrupt
mockingboard_notfound2:
;=============================
; start new game

View File

@ -18,6 +18,7 @@ WHICH_PEASANTRY = 0
peasant_quest:
lda #0
sta GAME_OVER
sta FRAME
jsr hgr_make_tables
@ -25,9 +26,6 @@ peasant_quest:
; Y=0, A=0 after this called
lda #0
sta FRAME
; update map location
jsr update_map_location
@ -144,23 +142,10 @@ game_over:
rts
;.include "decompress_fast_v2.s"
.include "wait_keypress.s"
.include "draw_peasant.s"
;.include "hgr_font.s"
;.include "draw_box.s"
;.include "hgr_rectangle.s"
;.include "hgr_7x28_sprite_mask.s"
;.include "hgr_1x5_sprite.s"
;.include "hgr_partial_save.s"
;.include "hgr_input.s"
;.include "hgr_tables.s"
;.include "hgr_text_box.s"
;.include "clear_bottom.s"
;.include "hgr_hgr2.s"
.include "gr_copy.s"
.include "new_map_location.s"
@ -178,10 +163,26 @@ game_over:
.include "wait.s"
.include "wait_a_bit.s"
.include "version.inc"
.include "loadsave_menu.s"
; Moved to qload
;.include "decompress_fast_v2.s"
;.include "hgr_font.s"
;.include "draw_box.s"
;.include "hgr_rectangle.s"
;.include "hgr_7x28_sprite_mask.s"
;.include "hgr_1x5_sprite.s"
;.include "hgr_partial_save.s"
;.include "hgr_input.s"
;.include "hgr_tables.s"
;.include "hgr_text_box.s"
;.include "clear_bottom.s"
;.include "hgr_hgr2.s"
help_message:
.byte 0,43,24, 0,253,82
.byte 8,41,"I don't understand. Type",13

View File

@ -221,9 +221,17 @@ altfire_good:
bit PAGE2 ; return to viewing PAGE2
;==============================
; disable music, if applicable
lda SOUND_STATUS
and #SOUND_MOCKINGBOARD
beq mockingboard_notfound2
sei ; disable music
jsr clear_ay_both
mockingboard_notfound2:
;************************
; Tips