ssi263: update the myst test code

another Vince is helping test on real hardware, and my simplified
player was too simple and not working despite being fine in AppleWin
This commit is contained in:
Vince Weaver 2021-09-23 23:10:36 -04:00
parent c61a2d5a1a
commit c913e3232a
3 changed files with 45 additions and 31 deletions

View File

@ -16,14 +16,30 @@ speech_test:
lda #4 ; assume slot #4 for now
jsr detect_ssi263
lda #'S'+$80
sta $400
sta $401
lda #'I'+$80
sta $402
lda #':'+$80
sta $403
lda irq_count
clc
adc #'A' ; hack to show if detected or not
sta $400 ; (B is detected, A is not)
beq not_found
lda #'Y'+$80 ; hack to show if detected or not
sta $405 ; (B is detected, A is not)
lda #4 ; assume slot #4 for now
jsr ssi263_speech_init
jmp speech_loop
not_found:
lda #'N'+$80
sta $405
jmp not_found
speech_loop:
@ -38,7 +54,6 @@ speech_loop:
jsr wait_until_keypress
lda #<myst_starry
sta SPEECH_PTRL
lda #>myst_starry
@ -93,10 +108,10 @@ speech_loop:
jmp speech_loop
wait_until_keypress:
lda KEYPRESS

View File

@ -37,29 +37,6 @@ ssi263_speech_init:
lda #>ssi263_speech_irq
sta $3ff
; set defaults
; filter frequency
lda #$E9
ldx #SSI263_F
jsr ssi263_write_chip
; control / articulation/ amplitude
lda #$5C
ldx #SSI263_CAA
jsr ssi263_write_chip
; rate/inflection
lda #$A8
ldx #SSI263_RI
jsr ssi263_write_chip
; inflection
lda #$50
ldx #SSI263_I
jsr ssi263_write_chip
cli ; enable interrupts
rts
@ -135,7 +112,7 @@ ssi263_speech_irq:
tya
pha ; save Y
inc $0404 ; irq indicator on screen
inc $0408 ; irq indicator on screen
; be sure it was a 6522#2 interrupt
ldx #VIA6522_IFR2
@ -165,6 +142,28 @@ not_end:
lda #$ff
sta speech_playing
; set defaults
; filter frequency
lda #$E9
ldx #SSI263_F
jsr ssi263_write_chip
; control / articulation/ amplitude
lda #$5C
ldx #SSI263_CAA
jsr ssi263_write_chip
; rate/inflection
lda #$A8
ldx #SSI263_RI
jsr ssi263_write_chip
; inflection
lda #$50
ldx #SSI263_I
jsr ssi263_write_chip
ldy #$00
; Get the next data

View File

@ -68,7 +68,7 @@ ssi263_speak:
ldx #VIA6522_PCR2
jsr ssi263_write_chip
; Se transitioned inflection by setting value while toggling CTL
; Set transitioned inflection by setting value while toggling CTL
lda #SSI263_CAA_CTL
ldx #SSI263_CAA