mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +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:
@@ -16,14 +16,30 @@ speech_test:
|
|||||||
lda #4 ; assume slot #4 for now
|
lda #4 ; assume slot #4 for now
|
||||||
jsr detect_ssi263
|
jsr detect_ssi263
|
||||||
|
|
||||||
|
lda #'S'+$80
|
||||||
|
sta $400
|
||||||
|
sta $401
|
||||||
|
lda #'I'+$80
|
||||||
|
sta $402
|
||||||
|
lda #':'+$80
|
||||||
|
sta $403
|
||||||
|
|
||||||
lda irq_count
|
lda irq_count
|
||||||
clc
|
beq not_found
|
||||||
adc #'A' ; hack to show if detected or not
|
|
||||||
sta $400 ; (B is detected, A is not)
|
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
|
lda #4 ; assume slot #4 for now
|
||||||
jsr ssi263_speech_init
|
jsr ssi263_speech_init
|
||||||
|
|
||||||
|
jmp speech_loop
|
||||||
|
|
||||||
|
not_found:
|
||||||
|
lda #'N'+$80
|
||||||
|
sta $405
|
||||||
|
jmp not_found
|
||||||
|
|
||||||
|
|
||||||
speech_loop:
|
speech_loop:
|
||||||
|
|
||||||
@@ -38,7 +54,6 @@ speech_loop:
|
|||||||
|
|
||||||
jsr wait_until_keypress
|
jsr wait_until_keypress
|
||||||
|
|
||||||
|
|
||||||
lda #<myst_starry
|
lda #<myst_starry
|
||||||
sta SPEECH_PTRL
|
sta SPEECH_PTRL
|
||||||
lda #>myst_starry
|
lda #>myst_starry
|
||||||
@@ -93,10 +108,10 @@ speech_loop:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
jmp speech_loop
|
jmp speech_loop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wait_until_keypress:
|
wait_until_keypress:
|
||||||
|
|
||||||
lda KEYPRESS
|
lda KEYPRESS
|
||||||
|
@@ -37,29 +37,6 @@ ssi263_speech_init:
|
|||||||
lda #>ssi263_speech_irq
|
lda #>ssi263_speech_irq
|
||||||
sta $3ff
|
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
|
cli ; enable interrupts
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@@ -135,7 +112,7 @@ ssi263_speech_irq:
|
|||||||
tya
|
tya
|
||||||
pha ; save Y
|
pha ; save Y
|
||||||
|
|
||||||
inc $0404 ; irq indicator on screen
|
inc $0408 ; irq indicator on screen
|
||||||
|
|
||||||
; be sure it was a 6522#2 interrupt
|
; be sure it was a 6522#2 interrupt
|
||||||
ldx #VIA6522_IFR2
|
ldx #VIA6522_IFR2
|
||||||
@@ -165,6 +142,28 @@ not_end:
|
|||||||
lda #$ff
|
lda #$ff
|
||||||
sta speech_playing
|
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
|
ldy #$00
|
||||||
; Get the next data
|
; Get the next data
|
||||||
|
@@ -68,7 +68,7 @@ ssi263_speak:
|
|||||||
ldx #VIA6522_PCR2
|
ldx #VIA6522_PCR2
|
||||||
jsr ssi263_write_chip
|
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
|
lda #SSI263_CAA_CTL
|
||||||
ldx #SSI263_CAA
|
ldx #SSI263_CAA
|
||||||
|
Reference in New Issue
Block a user