silence phoneme on reset if MB speech chip present

This commit is contained in:
Peter Ferrie 2024-11-20 17:44:08 -08:00
parent ed1ac60c8d
commit b6deaebea9
2 changed files with 14 additions and 0 deletions

View File

@ -52,6 +52,11 @@ Reenter
sta $C000 ; Turn 80STORE switch off sta $C000 ; Turn 80STORE switch off
ldx #$ff ldx #$ff
txs ; so that we never trash the reset vector txs ; so that we never trash the reset vector
lda #$c0 ; duration=11 phoneme=000000 (pause)
SilenceIsGolden
sta $bf40 ; C = SSI reg 0, S/S I or A = 6522#1 port b data
; SMC to MB slot by init code, if appropriate
jsr SwitchToBank2 jsr SwitchToBank2
jsr DisableAccelerator ; back to 1 MHz (especially important on IIgs jsr DisableAccelerator ; back to 1 MHz (especially important on IIgs
; which restores default speed on Ctrl-Reset) ; which restores default speed on Ctrl-Reset)

View File

@ -239,6 +239,15 @@
stx MockingboardStuff ; save mockingboard slot and type stx MockingboardStuff ; save mockingboard slot and type
txa ; requires RAM1 write txa ; requires RAM1 write
php php
bmi @mb_speech
asl
bpl @no_speech
lsr
@mb_speech
and #7
ora #$C0
sta SilenceIsGolden + 2
@no_speech
jsr BuildVBLFunction ; requires ROM read, RAM1 write jsr BuildVBLFunction ; requires ROM read, RAM1 write
plp plp
beq @done_with_mb beq @done_with_mb