📄 691speechmodal.s14
字号:
jsr _Speech691_initial
jsr _Speech691Play_Dialog
jsr SysSpeEnableTouchPanel
;pla
;sta np:_ADCCON1
;pla
;sta np:_IER1 ;EnableTouchPanel
pla
sta _SOper1+1
pla
sta _SOper1
pla
jsr DelayDlg ;MDF2
jsr _Speech691_initial ;2005-5-22 04:59下午
jsr _Speech691Sleep ;2005-5-22 04:59下午
rts
;*--------------------------------------------------------------------------
;* Speech691Play_Dialog
;*--------------------------------------------------------------------------
_Speech691Play_Dialog:
lda np:Sp691_volume
cmp #10h
bcs _Speech691PlayOK_Dialog
rts
_Speech691PlayOK_Dialog:
;lda np:DictSysFlag+1
;and #0fdh
;sta np:DictSysFlag+1 ;;;;setted by c dlg function
lda #04
jsr Speech691_sendData
lda #01
jsr Speech691_sendData
_Speech691PlayStart_Dialog:
ldy #0ffh
sty np:Sp691_wordTemp
lda #3
sta np:Sp691_wordTemp+1
_Speech691PlayWait_Dialog:
dey
cpy #0
bne _Speech691PlayWait_Lp1_Dialog
dec np:Sp691_wordTemp
bne _Speech691PlayWait_Lp2_Dialog
dec np:Sp691_wordTemp+1
bne _Speech691PlayWait_Lp3_Dialog
jsr DelayDlg
jsr _Speech691_initial
lda #03
jsr _Speech691Sleep
rts
_Speech691PlayWait_Lp3_Dialog
ldy #0ffh
sty np:Sp691_wordTemp
_Speech691PlayWait_Lp2_Dialog:
ldy #0ffh
_Speech691PlayWait_Lp1_Dialog:
lda np:_PI
and #OUTRDYH
bne _Speech691Play_INReady_Dialog
jsr _Spe691_ReadRetValue
;lda np:Sp691_returnValue
;cmp #0
;bne _Speech691PlayWait_Dialog
;lda np:Sp691_returnValue+1
;cmp #0
;bne _Speech691PlayWait_Dialog
;lda np:Sp691_returnValue+2
;cmp #0
;bne _Speech691PlayWait_Dialog
;lda np:Sp691_returnValue+3
;cmp #0
;bne _Speech691PlayWait_Dialog
nop
nop
nop
nop
nop
nop
jsr DelayDlg ;MDF1
lda #3
jsr _Speech691Sleep
lda np:Speech691_lenResidue
and #01h
beq Speech691Play_return_Dialog
nop
nop
nop
nop
nop
nop
jsr DelayDlg ;MDF1
lda #01h
sta np:Sp691_VolumeFlag
jsr _Speech691_initial
lda #3
jsr _Speech691Sleep ;;@MDF2: @2005/03/25
lda #1
rts
Speech691Play_return_Dialog:
lda #0
rts
_Speech691Play_INReady_Dialog:
lda np:_PI
and #INRDYH
bne _Speech691PlayWait_Dialog
;lda np:DictSysFlag+1
;and #02
;cmp #0
;bne _Speech691Play_Dialog_End ;_Speech691Play_Stop_Dialog
;
;lda np:DictSysFlag+3
;and #01
;cmp #0
;beq _Speech691Play_INReady_Dialog1
;jmp _Speech691Play_Dialog_End_Key
_Speech691Play_INReady_Dialog1:
;lda np:DictSysFlag
;and #06h
;cmp #0
;beq _Speech691Play_Stop_Dialog
lda np:Speech691_len+1
bne _Speech691Play_GetData_Dialog
lda np:Speech691_len
bne _Speech691Play_GetData_Dialog
_Speech691Play_Stop_Dialog:
lda #0ffh
jsr Speech691_sendData
lda #0ffh
jsr Speech691_sendData
clc
lda np:Speech691_lenResidue
adc #1
sta np:Speech691_lenResidue
jmp _Speech691PlayStart_Dialog
_Speech691Play_GetData_Dialog:
pha
txa
pha
ldy #0
lda (_SOper1),y
tax
lsr a
lsr a
lsr a
lsr a
ora #10h
jsr Speech691_sendData
txa
and #0Fh
ora #10h
jsr Speech691_sendData
jsr PerformSpeed
sec
lda np:Speech691_len
sbc #1
sta np:Speech691_len
lda np:Speech691_len+1
sbc #0
sta np:Speech691_len+1
clc
lda _SOper1
adc #1
sta _SOper1
lda _SOper1+1
adc #0
sta _SOper1+1
lda np:DictSysFlag+1
and #02
cmp #0
bne _Speech691Play_Dialog_End ;_Speech691Play_Stop_Dialog
lda np:DictSysFlag+3
and #01
cmp #0
bne _Speech691Play_Dialog_End_Key
pla
tax
pla
jmp _Speech691PlayStart_Dialog
_Speech691Play_Dialog_End:
pla
tax
pla
lda #0ffh
jsr Speech691_sendData
lda #0ffh
jsr Speech691_sendData
jsr DelayDlg
jsr _Speech691_initial
lda #03
jsr _Speech691Sleep ;;@MDF2: @2005/03/25
lda np:DictSysFlag+1
and #0fdh
sta np:DictSysFlag+1
rts
_Speech691Play_Dialog_End_Key:
pla
tax
pla
lda #0ffh
jsr Speech691_sendData
lda #0ffh
jsr Speech691_sendData
jsr DelayDlg
jsr _Speech691_initial
lda #03
jsr _Speech691Sleep ;;@MDF2: @2005/03/25
jsr SysGetKey
; lda np:DictSysFlag+1
; and #0fdh
; sta np:DictSysFlag+1
rts
;*************************************************************************
;*函数名: MIDIPLAY
;*说明: 播放MIDI音乐
;*输入参数:
;* U8* SAddress 数据地址
;*返回值: Void
;*修改历史:
;* 姓名 日期 说明
;* ----- ---- ----
;*************************************************************************
MidiPlay:
pha
txa
pha
lda _SOper1
pha
lda _SOper1+1
pha
;lda np:_IER1
;pha
;lda np:_ADCCON1
;pha
;lda np:_IER1 ;DisableTouchPanel
;and #11111110b
;sta np:_IER1
;lda np:_ADCCON1
;and #03fh
;sta np:_ADCCON1
;ora #020h
;sta np:_ADCCON1
;lda #0
;sta np:_ADCCON1
jsr SysSpeDisableTouchPanel
lda np:DictSysFlag+1
and #0fdh
sta np:DictSysFlag+1
lda np:DictSysFlag+3
and #0feh
sta np:DictSysFlag+3
lda #0
sta np:Sp691_wordTemp1
ldy #0
lda np:PRMBN MidiPlay,y
sta _SOper1
iny
lda np:PRMBN MidiPlay,y
sta _SOper1+1
lda np:Sp691_volume
and #0fh
cmp #00h
bne MidiPlay_OK1
jmp MidiPlay_End
MidiPlay_OK1:
;lda np:DictSysFlag+3
;and #04
;cmp #0
;bne MidiPlay_OK
;jmp MidiPlay_End
MidiPlay_OK:
lda #0
sta np:Sp691_VolumeFlag
jsr _Speech691_initial
MidiPlay_start_now:
;lda np:DictSysFlag+3
;and #0feh
;sta np:DictSysFlag+3
jsr Speech691Play_FM ;play midi file
MidiPlay_End:
;lda np:DictSysFlag+3
;and #01h
;sta np:DictSysFlag+3 ;Add this code @2005/02/22/17:01
jsr DelayDlg
jsr _Speech691Sleep
jsr SysSpeEnableTouchPanel
;pla
;sta np:_ADCCON1
;pla
;sta np:_IER1
pla
sta _SOper1+1
pla
sta _SOper1
pla
tax
pla
rts
;*************************************************************************
;*函数名: BellPlay_Flash
;*说明: 播放MIDI音乐
;*输入参数:
;* U8* SAddress 数据地址
;*返回值: Void
;*修改历史:
;* 姓名 日期 说明
;* ----- ---- ----
;*************************************************************************
BellPlay_Flash:
pha
txa
pha
lda _SOper1
pha
lda _SOper1+1
pha
;lda np:_IER1
;pha
;lda np:_ADCCON1
;pha
;lda np:_IER1 ;DisableTouchPanel
;and #11111110b
;sta np:_IER1
;lda np:_ADCCON1
;and #03fh
;sta np:_ADCCON1
;ora #020h
;sta np:_ADCCON1
;lda #0
;sta np:_ADCCON1
jsr SysSpeDisableTouchPanel
lda np:DictSysFlag ;关闭闹铃标志位
and #0fdh
sta np:DictSysFlag
lda np:DictSysFlag+3 ;关闭按键标志位
and #0feh
sta np:DictSysFlag+3
lda #0
sta np:Sp691_wordTemp1
ldy #0
lda np:PRMBN BellPlay_Flash,y
sta _SOper1
iny
lda np:PRMBN BellPlay_Flash,y
sta _SOper1+1
lda np:DictSysFlag+3
and #0feh
sta np:DictSysFlag+3
lda np:DictSysFlag
and #0fdh
sta np:DictSysFlag
;brk
clc
lda _SOper1
adc #40h
sta _SOper1
lda _SOper1+1
adc #0
sta _SOper1+1
lda np:Sp691_volume
and #0fh
cmp #00h
bne BellPlay_OK1
jmp Speech691FMMusicPlay_End
BellPlay_OK1:
lda np:DictSysFlag+3
and #01
cmp #0
beq BellPlay_OK
lda np:DictSysFlag
and #02
cmp #0
beq BellPlay_OK
jmp Speech691FMMusicPlay_End
BellPlay_OK:
lda #0
sta np:Sp691_VolumeFlag
jsr _Speech691_initial
BellPlay_start_now:
;lda np:DictSysFlag+3
;and #0feh
;sta np:DictSysFlag+3
jsr BellPlay_FM ;play midi file
BellPlay_End:
; lda np:DictSysFlag+3
; and #01h
; sta np:DictSysFlag+3 ;Add this code @2005/02/22/17:01
jsr DelayDlg ;MDF2:Add This line @2005/03/16/16:51
jsr _Speech691_initial ; for improve the tone quanlity and decrease the noise
jsr _Speech691Sleep
jsr SysSpeEnableTouchPanel
;pla
;sta np:_ADCCON1
;pla
;sta np:_IER1 ;EnableTouchPanel
pla
sta _SOper1+1
pla
sta _SOper1
pla
tax
pla
rts
;*-----------------------------------------------------------------------------
;* Spe691FMMusicPlay_Rom
;*-----------------------------------------------------------------------------
BellPlay_Rom:
pha
txa
pha
lda _SOper1
pha
lda _SOper1+1
pha
;lda np:_IER1
;pha
;lda np:_ADCCON1
;pha
;lda np:_IER1
;and #11111110b
;sta np:_IER1
;lda np:_ADCCON1
;and #03fh
;sta np:_ADCCON1
;ora #020h
;sta np:_ADCCON1
;lda #0
;sta np:_ADCCON1
jsr SysSpeDisableTouchPanel
lda np:DictSysFlag ;关闭闹铃标志位
and #0fdh
sta np:DictSysFlag
lda np:DictSysFlag+3 ;关闭按键标志位
and #0feh
sta np:DictSysFlag+3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -