?? 691speechmodal.s14
字號:
;_ADCCON1 &= 0x3f ;
;_ADCCON1 |=0x20; //enter idle , must be do .
;_IER1 &= 0xfe ;
lda #1
sta np:Sp691_wordTemp1
ldy #0
lda np:PRMBN BellPlay_Rom,y
sta np:Sp691_wordTemp
iny
lda np:PRMBN BellPlay_Rom,y
sta np:Sp691_wordTemp+1
iny
lda np:PRMBN BellPlay_Rom,y
sta np:Sp691_wordTemp+2
iny
lda np:PRMBN BellPlay_Rom,y
sta np:Sp691_wordTemp+3
lda #00000001b
sta _ChanCONx
lda np:Sp691_wordTemp+3
sta np:_CSx
lda np:Sp691_wordTemp+2
sta np:_ADDRHx
lda np:Sp691_wordTemp+1
sta np:_ADDRMx
lda np:Sp691_wordTemp
sta np:_ADDRLx
lda np:_INCRx
ora #01h
sta np:_INCRx
lda #00000001b
and #00000111b
ora #00100000b
sta _ChanCONx
lda np:Sp691_volume
and #0fh
cmp #00h
bne BellPlay_Rom_OK1
jmp BellPlay_Rom_End
BellPlay_Rom_OK1:
lda np:DictSysFlag ;鬧鈴
and #02 ;
cmp #0 ;
beq BellPlay_Rom_OK ;
jmp BellPlay_Rom_End ;
BellPlay_Rom_OK:
lda #0
sta np:Sp691_VolumeFlag
jsr _Speech691_initial
jsr BellPlay_FM
BellPlay_Rom_End:
lda np:_INCRx
and #0feh
sta np:_INCRx
jsr DelayDlg
jsr _Speech691Sleep
jsr SysSpeEnableTouchPanel
; pla
; sta np:_ADCCON1
; pla
; sta np:_IER1 ;EnableTouchPanel
pla
sta _SOper1+1
pla
sta _SOper1
pla
tax
pla
rts
;*----------------------------------------------------------------------
;* BellPlay_FM
;*----------------------------------------------------------------------
BellPlay_FM:
lda #04
jsr Speech691_sendData
lda #04
jsr Speech691_sendData
Bell_FM_OutReady:
jsr Bell_FM_WaitOutReady
cmp #0
beq Bell_FM_WaitOK
jmp Bell_FM_Return
Bell_FM_WaitOK:
jsr _Spe691_ReadRetValue
lda np:Sp691_returnValue
asl a
asl a
asl a
asl a
sta np:Speech691_len
lda np:Sp691_returnValue+1
and #0fh
clc
adc np:Speech691_len
sta np:Speech691_len
Bell_FM_InReady:
jsr Bell_FM_WaitInReady
cmp #0
beq Bell_FM_InReadyOK
jmp Bell_FM_Return
Bell_FM_InReadyOK:
lda np:Speech691_len
bne Bell_FM_GetData
Bell_FM_Wait1:
lda np:_PI
and #OUTRDYH
bne Bell_FM_Wait1
jsr _Spe691_ReadRetValue
lda np:Sp691_returnValue
and #0fh
cmp #0
beq Bell_FM_checkReturn1
jmp Bell_FM_Return
Bell_FM_checkReturn1:
lda np:Sp691_returnValue+2
and #0fh
cmp #2
beq Bell_FM_checkReturn2
jmp Bell_FM_Return
Bell_FM_checkReturn2:
lda np:Sp691_returnValue+3
and #0fh
cmp #3
beq Bell_FM_checkReturn3
jmp Bell_FM_Return
Bell_FM_checkReturn3:
lda np:Sp691_returnValue+1
and #0fh
sta np:Speech691_len
lda #09
jsr Speech691_sendData
lda np:Speech691_len
jsr Speech691_sendData
Bell_FM_GetData:
lda np:Sp691_wordTemp1
cmp #0
beq Bell_FM_GetData_Flash
Bell_FM_GetData_Rom:
lda _DATAx1
jmp Bell_FM_GetData_Process
Bell_FM_GetData_Flash:
ldy #0
lda (_SOper1),y
Bell_FM_GetData_Process:
tax
lsr a
lsr a
lsr a
lsr a
ora #10h
jsr Speech691_sendData
txa
and #0fh
ora #10h
jsr Speech691_sendData
sec
lda np:Speech691_len
sbc #1
sta np:Speech691_len
lda np:Sp691_wordTemp1
cmp #1
beq Bell_FM_GetData_P1
clc
lda _SOper1
adc #1
sta _SOper1
lda _SOper1+1
adc #0
sta _SOper1+1
Bell_FM_GetData_P1:
lda np:DictSysFlag+3 ;判斷有無按鍵
and #01h ;
cmp #0
bne Bell_FM_Return_N_Key
lda np:DictSysFlag ;
and #02h ;判斷有無鬧鈴
cmp #0 ;
bne Bell_FM_Return_N ;
jmp Bell_FM_InReady
Bell_FM_Return:
jsr DelayDlg ;MDF3:Add @17:07 for improve tone quanlity
jsr _Speech691_initial
lda #3
jsr _Speech691Sleep
rts
Bell_FM_Return_N:
;lda np:DictSysFlag
;and #0fdh
;sta np:DictSysFlag
jsr DelayDlg
jsr _Speech691_initial
lda #3
jsr _Speech691Sleep
rts
Bell_FM_Return_N_Key:
;lda np:DictSysFlag
;and #0fdh
;sta np:DictSysFlag
jsr DelayDlg
jsr _Speech691_initial
lda #3
jsr _Speech691Sleep
rts
;*-------------------------------------------------------------------------
;* Bell_FM_WaitOutReady
;*-------------------------------------------------------------------------
Bell_FM_WaitOutReady:
ldy #0ffh
sty np:Sp691_wordTemp
lda #05h
sta np:Sp691_wordTemp+1
Bell_FM_WaitOutReady0:
lda np:_PI
and #OUTRDYH
bne Bell_FM_WaitOutReady01
lda #0
rts
Bell_FM_WaitOutReady01:
dey
cpy #0
bne Bell_FM_WaitOutReady1
ldy np:Sp691_wordTemp
dey
sty np:Sp691_wordTemp
cpy #0
bne Bell_FM_WaitOutReady2
ldy np:Sp691_wordTemp+1
dey
sty np:Sp691_wordTemp+1
cpy #0
bne Bell_FM_WaitOutReady3
lda #1
rts
Bell_FM_WaitOutReady3:
lda #0ffh
sta np:Sp691_wordTemp
Bell_FM_WaitOutReady2:
ldy #0ffh
Bell_FM_WaitOutReady1:
lda np:_PI
and #OUTRDYH
bne Bell_FM_WaitOutReady11
lda #0
rts
Bell_FM_WaitOutReady11:
lda np:DictSysFlag+3
and #01h
cmp #0
bne Bell_FM_OutReadyStop
lda np:DictSysFlag
and #02h ;
cmp #0 ;
bne Bell_FM_OutReadyStop ;
lda np:_PI
and #OUTRDYH
bne Bell_FM_WaitOutReady0
lda #0
rts
Bell_FM_OutReadyStop:
lda #1
rts
;*-------------------------------------------------------------------------
;* Bell_FM_WaitInReady
;*-------------------------------------------------------------------------
Bell_FM_WaitInReady:
ldy #0ffh
sty np:Sp691_wordTemp
lda #3
sta np:Sp691_wordTemp+1
Bell_FM_WaitInReady0:
dey
cpy #0
bne Bell_FM_WaitInReady1
ldy np:Sp691_wordTemp
dey
sty np:Sp691_wordTemp
cpy #0
bne Bell_FM_WaitInReady2
ldy np:Sp691_wordTemp+1
dey
sty np:Sp691_wordTemp+1
cpy #0
bne Bell_FM_WaitInReady3
lda #1
rts
Bell_FM_WaitInReady3:
lda #0ffh
sta np:Sp691_wordTemp
Bell_FM_WaitInReady2:
ldy #0ffh
Bell_FM_WaitInReady1:
lda np:DictSysFlag+3
and #01h
cmp #0
bne Bell_FM_InReadyStop
lda np:DictSysFlag
and #02h ;
cmp #0 ;
bne Bell_FM_InReadyStop ;
lda np:_PI
and #INRDYH
bne Bell_FM_WaitInReady0
lda #0
rts
Bell_FM_InReadyStop:
lda #1
rts
;*************************************************************************
;*函數(shù)名: Spe691FMMusicPlay_Flash
;*說明: 播放MIDI音樂
;*輸入?yún)?shù):
;* U8* SAddress 數(shù)據(jù)地址
;*返回值: Void
;*修改歷史:
;* 姓名 日期 說明
;* ----- ---- ----
;*************************************************************************
Spe691FMMusicPlay_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 #0
sta np:Sp691_wordTemp1
ldy #0
lda np:PRMBN Spe691FMMusicPlay_Flash,y
sta _SOper1
iny
lda np:PRMBN Spe691FMMusicPlay_Flash,y
sta _SOper1+1
lda np:DictSysFlag+3
and #0feh
sta np:DictSysFlag+3
lda np:DictSysFlag+1
and #0fdh
sta np:DictSysFlag+1
;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 Spe691FMMusicPlay_OK1
jmp Speech691FMMusicPlay_End
Spe691FMMusicPlay_OK1:
lda np:DictSysFlag+3
and #01
cmp #0
beq Spe691FMMusicPlay_OK
lda np:DictSysFlag+1
and #02
cmp #0
beq Spe691FMMusicPlay_OK
jmp Speech691FMMusicPlay_End
Spe691FMMusicPlay_OK:
lda #0
sta np:Sp691_VolumeFlag
jsr _Speech691_initial
Spe691FMMusicPlay_start_now:
;lda np:DictSysFlag+3
;and #0feh
;sta np:DictSysFlag+3
jsr Speech691Play_FM ;play midi file
Speech691FMMusicPlay_End:
;lda np:DictSysFlag+3
;and #01h
;sta np:DictSysFlag+3 ;Add this code @2005/02/22/17:01 error code
jsr DelayDlg
jsr _Speech691_initial ;2005-5-22 04:59下午
jsr _Speech691Sleep ;2005-5-22 04:59下午
jsr SysSpeEnableTouchPanel
;pla
;sta np:_ADCCON1
;pla
;sta np:_IER1 ;EnableTouchPanel
pla
sta _SOper1+1
pla
sta _SOper1
pla
tax
pla
rts
;*-----------------------------------------------------------------------------
;* Spe691FMMusicPlay_Rom
;*-----------------------------------------------------------------------------
Spe691FMMusicPlay_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+3
and #0feh
sta np:DictSysFlag+3
lda np:DictSysFlag+1
and #0fdh
sta np:DictSysFlag+1
;_ADCCON1 &= 0x3f ;
;_ADCCON1 |=0x20; //enter idle , must be do .
;_IER1 &= 0xfe ;
lda #1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -