⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 691speechmodal.s14

📁 TI 691 的驱动部分
💻 S14
📖 第 1 页 / 共 5 页
字号:
	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 + -