mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-11 09:29:51 +00:00
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:
parent
c61a2d5a1a
commit
c913e3232a
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user