sa: modify to not lyrics off the end and print garbage

This commit is contained in:
Vince Weaver 2018-05-24 11:59:07 -04:00
parent 6933be42f6
commit 79be2739da
5 changed files with 32 additions and 29 deletions

View File

@ -1,3 +1,8 @@
Fun fact:
The letter 'Z' does not appear at all in the lyrics to the song.
(Noticed when I had to edge comparison for uppercase off by one)
Challenges: Challenges:
+ 6-channel audio + 6-channel audio
+ Fitting it all in 48k (want to avoid disk routines if can) + Fitting it all in 48k (want to avoid disk routines if can)

View File

@ -1,6 +1,5 @@
+ Opening graphics (BASIC) + Opening graphics (BASIC)
+ 80-column support + 80-column support
+ No lowercase for 40-column option?
+ 40 column support + 40 column support
+ Electric Duet support? + Electric Duet support?
@ -10,3 +9,6 @@ Abandoned
fitting in 16k fitting in 16k
+ six-channel support + six-channel support
-- went for 4-channel support instead -- went for 4-channel support instead
+ lowecase for 40-column/speaker option?
-- seems like too much complexity, people without 80-col
cards will just have to with uppercase

View File

@ -169,11 +169,25 @@ mb_done_load:
lda A_COARSE_TONE ; 3 lda A_COARSE_TONE ; 3
bpl mb_not_done ; 3/2nt bpl mb_not_done ; 3/2nt
lda #1 ; set done playing ; 2
jmp quiet_exit ; 3 quiet_exit:
;=========== lda #1 ; set done playing ; 2
; typ 6 sta DONE_PLAYING
jsr clear_ay_both
;=====================================
; clear register area
;=====================================
ldx #13 ; 2
lda #0 ; 2
mb_clear_reg:
sta REGISTER_DUMP,X ; clear register value ; 4
sta REGISTER_OLD,X ; clear old values ; 4
dex ; 2
bpl mb_clear_reg ; 2nt/3
jmp exit_interrupt
mb_not_done: mb_not_done:
;============================================== ;==============================================
@ -269,23 +283,6 @@ done_interrupt:
jsr display_lyrics jsr display_lyrics
jmp exit_interrupt
quiet_exit:
sta DONE_PLAYING
jsr clear_ay_both
;=====================================
; clear register area
;=====================================
ldx #13 ; 2
lda #0 ; 2
mb_clear_reg:
sta REGISTER_DUMP,X ; clear register value ; 4
sta REGISTER_OLD,X ; clear old values ; 4
dex ; 2
bpl mb_clear_reg ; 2nt/3
exit_interrupt: exit_interrupt:
pla ; restore a ; 4 pla ; restore a ; 4

View File

@ -858,3 +858,9 @@
.byte $98,$C9,$D6,$C9,$D4,$00 .byte $98,$C9,$D6,$C9,$D4,$00
; 8868 "\iY!!\n" ; 8868 "\iY!!\n"
.byte $A4,$D9,$A1,$A1,$8D,$00 .byte $A4,$D9,$A1,$A1,$8D,$00
; HACK to make sure we don't run off the end waiting for the song to finish
.byte $A4,$8D,$00
.byte $A4,$8D,$00
.byte $A4,$8D,$00

View File

@ -133,13 +133,6 @@ mockingboard_found:
jsr load_song jsr load_song
;============================
; Init Background
;============================
;============================ ;============================
; Enable 6502 interrupts ; Enable 6502 interrupts
;============================ ;============================