www.pudn.com > bak22.rar > PLAY.INC, change:2006-05-30,size:11196b
.define MOUDLE_DVR1600 //.define MOUDLE_S530 .define MOUDLE_MS01 .DEFINE BASE_SOUND_ADDR 0x8026 .DEFINE SOUND_A20 0x0000 .DEFINE SOUND_S480 0x0001 .DEFINE SOUND_S720 0x0002 .DEFINE SOUND_MS01 0x0003 .DEFINE SOUND_A1600 0x0004 .DEFINE SOUND_MS02 0x0005 .DEFINE SOUND_S200 0x0006 .DEFINE SOUND_S530 0x0007 .DEFINE MAX_SOUND_TYPE 0x0008 .DEFINE SACM_IDLE 0 .DEFINE SACM_PLAY 1 .DEFINE SACM_PLAYBACK 2 .DEFINE SACM_RECORD 3 .DEFINE MANUAL 0 .DEFINE AUTO 1 .DEFINE RceMonitorOff 0 .DEFINE RceMonitorOn 1 //.DEFINE RecPrecisionConvertBit 0x0002 //.DEFINE RecPrecisionConvertBit_ 0xfffd .DEFINE RecCutEndFrameBit 0x0004 .DEFINE RecCutEndFrameBit_ 0xfffb .DEFINE PlayInternalSound 0x0008 .DEFINE PlayInternalSound_ 0xfff7 .DEFINE C_RampDelay 120 .DEFINE C_Fosc_49M 0x0080 //.DEFINE C_Fosc_41M 0x0060 //.DEFINE C_Fosc_33M 0x0040 //.DEFINE C_Fosc_20M 0x0020 // (default) //.DEFINE C_Fosc_24M 0x0000 .DEFINE C_SystemClock2 C_Fosc_49M //.DEFINE C_Timer_Setting_8K_For_24MHz 0xF9FF //.DEFINE C_Timer_Setting_9K_For_24MHz 0xFAAA //.DEFINE C_Timer_Setting_10K_For_24MHz 0xFB33 //.DEFINE C_Timer_Setting_11K_For_24MHz 0xFBA2 //.DEFINE C_Timer_Setting_12K_For_24MHz 0xFBFF //.DEFINE C_Timer_Setting_13K_For_24MHz 0xFC4E //.DEFINE C_Timer_Setting_14K_For_24MHz 0xFC92 //.DEFINE C_Timer_Setting_15K_For_24MHz 0xFCCC //.DEFINE C_Timer_Setting_16K_For_24MHz 0xFCFF //.DEFINE C_Timer_Setting_17K_For_24MHz 0xFD2D //.DEFINE C_Timer_Setting_18K_For_24MHz 0xFD55 //.DEFINE C_Timer_Setting_20K_For_24MHz 0xFD98 //.DEFINE C_Timer_Setting_24K_For_24MHz 0xFDFF //.DEFINE C_Timer_Setting_28K_For_24MHz 0xFE48 //.DEFINE C_Timer_Setting_32K_For_24MHz 0xFE80 //.DEFINE C_Timer_Setting_8000_For_24MHz 0xF9FF //.DEFINE C_Timer_Setting_9000_For_24MHz 0xFAAA //.DEFINE C_Timer_Setting_10000_For_24MHz 0xFB33 //.DEFINE C_Timer_Setting_11000_For_24MHz 0xFBA2 //.DEFINE C_Timer_Setting_12000_For_24MHz 0xFBFF //.DEFINE C_Timer_Setting_12500_For_24MHz 0xFC29 //.DEFINE C_Timer_Setting_13000_For_24MHz 0xFC4E //.DEFINE C_Timer_Setting_13500_For_24MHz 0xFC72 //.DEFINE C_Timer_Setting_14000_For_24MHz 0xFC92 //.DEFINE C_Timer_Setting_14400_For_24MHz 0xFCAB //.DEFINE C_Timer_Setting_14500_For_24MHz 0xFCB0 //.DEFINE C_Timer_Setting_14800_For_24MHz 0xFCC2 //.DEFINE C_Timer_Setting_15000_For_24MHz 0xFCCC //.DEFINE C_Timer_Setting_15200_For_24MHz 0xFCDB //.DEFINE C_Timer_Setting_15500_For_24MHz 0xFCE7 //.DEFINE C_Timer_Setting_15600_For_24MHz 0xFCED //.DEFINE C_Timer_Setting_16000_For_24MHz 0xFCFF //.DEFINE C_Timer_Setting_17000_For_24MHz 0xFD2D //.DEFINE C_Timer_Setting_18000_For_24MHz 0xFD55 //-(0x10000-0x400*24000/n)-1 .DEFINE C_Timer_Setting_12500_For_49MHz 0xF851 .DEFINE C_Timer_Setting_13000_For_49MHz 0xF89D .DEFINE C_Timer_Setting_13500_For_49MHz 0xF8E3 .DEFINE C_Timer_Setting_14500_For_49MHz 0xF961 .DEFINE C_Timer_Setting_15000_For_49MHz 0xF999 .DEFINE C_Timer_Setting_15625_For_49MHz 0xF9DB .DEFINE C_Timer_Setting_16000_For_49MHz 0xFA00 .DEFINE C_Timer_Setting_16250_For_49MHz 0xFA17 .DEFINE C_Timer_Setting_16875_For_49MHz 0xFA4F .DEFINE C_Timer_Setting_17000_For_49MHz 0xFA5A .DEFINE C_Timer_Setting_17227_For_49MHz 0xFA6C .DEFINE C_Timer_Setting_17915_For_49MHz 0xFAA3 .DEFINE C_Timer_Setting_18000_For_49MHz 0xFAAA .DEFINE C_Timer_Setting_18125_For_49MHz 0xFAB4 .DEFINE C_Timer_Setting_18605_For_49MHz 0xFAD6 .DEFINE C_Timer_Setting_18750_For_49MHz 0xFAE1 .DEFINE C_Timer_Setting_19500_For_49MHz 0xFB13 .DEFINE C_Timer_Setting_19983_For_49MHz 0xFB31 .DEFINE C_Timer_Setting_20000_For_49MHz 0xFB33 .DEFINE C_Timer_Setting_20250_For_49MHz 0xFB42 .DEFINE C_Timer_Setting_20671_For_49MHz 0xFB5A .DEFINE C_Timer_Setting_21250_For_49MHz 0xFB7B .DEFINE C_Timer_Setting_21750_For_49MHz 0xFB96 //.DEFINE C_Timer_Setting_22050_For_49MHz 0xFBFF .DEFINE C_Timer_Setting_22050_For_49MHz 0xFBA6 .DEFINE C_Timer_Setting_22500_For_49MHz 0xFBBB .DEFINE C_Timer_Setting_23428_For_49MHz 0xFBE6 .DEFINE C_Timer_Setting_24000_For_49MHz 0xFBFF .DEFINE C_Timer_Setting_24806_For_49MHz 0xFC20 .DEFINE C_Timer_Setting_25000_For_49MHz 0xFC28 .DEFINE C_Timer_Setting_25500_For_49MHz 0xFC3C .DEFINE C_Timer_Setting_26000_For_49MHz 0xFC4E .DEFINE C_Timer_Setting_27000_For_49MHz 0xFC71 .DEFINE C_Timer_Setting_29000_For_49MHz 0xFCB0 .DEFINE C_Timer_Setting_30000_For_49MHz 0xFCCC .DEFINE C_Timer_Setting_32000_For_49MHz 0xFCFF .DEFINE C_Timer_Setting_34000_For_49MHz 0xFD2D .DEFINE C_Timer_Setting_36000_For_49MHz 0xFD55 .DEFINE C_Timer_Setting_44100_For_49MHz 0xFDD2 .DEFINE C_Timer_Setting_8K_For_49MHz 0xF3FF .DEFINE C_Timer_Setting_9K_For_49MHz 0xF555 .DEFINE C_Timer_Setting_10K_For_49MHz 0xF666 .DEFINE C_Timer_Setting_11K_For_49MHz 0xF745 .DEFINE C_Timer_Setting_12K_For_49MHz 0xF7FF .DEFINE C_Timer_Setting_16K_For_49MHz 0xF9FF .DEFINE C_Timer_Setting_24K_For_49MHz 0xFBFF .DEFINE C_Timer_Setting_32K_For_49MHz 0xFCFF .DEFINE C_MS01_Timer_Setting C_Timer_Setting_16K_For_49MHz .DEFINE C_DVR_Rec_Timer_Setting C_Timer_Setting_32000_For_49MHz .DEFINE C_A1600_Timer_Setting C_Timer_Setting_16000_For_49MHz .DEFINE C_IRQ6_TMB2 0x0001; //TMB2 IRQ6 .DEFINE C_IRQ6_TMB1 0x0002; //TMB1 IRQ6 .DEFINE C_IRQ5_2Hz 0x0004; //2Hz IRQ5 .DEFINE C_IRQ5_4Hz 0x0008; //4Hz IRQ5 .DEFINE C_IRQ4_1KHz 0x0010; //1024Hz IRQ4 .DEFINE C_IRQ4_2KHz 0x0020; //2048 IRQ4 .DEFINE C_IRQ4_4KHz 0x0040; //4096 IRQ4 .DEFINE C_IRQ3_KEY 0x0080; //Key Change IRQ3 .DEFINE C_IRQ3_Ext1 0x0100; //Ext1 IRQ3 .DEFINE C_IRQ3_Ext2 0x0200; //Ext2 IRQ3 .DEFINE C_IRQ2_TMB 0x0400; //Timer B IRQ2 .DEFINE C_FIQ_TMB 0x0800; //Timer B FIQ .DEFINE C_IRQ1_TMA 0x1000; //Timer A IRQ1 .DEFINE C_FIQ_TMA 0x2000; //Timer A FIQ .DEFINE C_IRQ0_PWM 0x4000; //PWM IRQ0 .DEFINE C_FIQ_PWM 0x8000; //PWM FIQ //.DEFINE PORTA_INPUT 0101000000001100B // 0000000000001100B //0111111100000000B //.DEFINE PORTA_OUTPUT 0101111111111100B // 0000111111111100B //0111111111111111B .define BIT_RATE_10K 0 .define BIT_RATE_12K 1 .define BIT_RATE_14K 2 .define BIT_RATE_16K 3 .define BIT_RATE_20K 4 .define BIT_RATE_24K 5 .DEFINE DVR1600_1600 0 .DEFINE DVR1600_DVR 1 .DEFINE KeyRecCutTime 576 ////////////////////////////////////////////////////////////////// // Define Area for I/O ////////////////////////////////////////////////////////////////// //PortA,PortB contain some special functions P_IOA_Data: .VDEF 0x7000; // Write Data into data register and read from IOA pad P_IOA_Buffer: .VDEF 0x7001; // Write Data into buffer register and read from buffer register P_IOA_Dir: .VDEF 0x7002; // Direction vector for IOA P_IOA_Attrib: .VDEF 0x7003; // Attribute vector for IOA P_IOA_Latch: .VDEF 0x7004; // Latch PortA data for key change wake-up P_IOB_Data: .VDEF 0x7005 // Write Data into the data register and read from IOB pad P_IOB_Buffer: .VDEF 0x7006 // Write Data into buffer register and read from buffer register P_IOB_Dir: .VDEF 0x7007 // Direction vector for IOB P_IOB_Attrib: .VDEF 0x7008 // Attribute vector for IOB P_FeedBack: .VDEF 0x7009; // Clock form external R,C P_TimerA_Data: .VDEF 0x700A; // Data port for TimerA P_TimerA_Ctrl: .VDEF 0x700B; // Control Port for TimerA P_TimerB_Data: .VDEF 0x700C; // Data port for TimerB P_TimerB_Ctrl: .VDEF 0x700D; // Control Port for TimerB P_TimeBase_Setup: .VDEF 0x700E; // TimerBase Freq. Set P_TimeBase_Clear: .VDEF 0x700F; // Reset Timerbase counter P_INT_Ctrl: .VDEF 0x7010; // for read INT flag(R) P_INT_Clear: .VDEF 0x7011; // Clear interrupt source P_Watchdog_Clear: .VDEF 0x7012; // Watchdog Reset P_SystemClock: .VDEF 0x7013; // Change system clock frequency(include go to standby mode) P_ADC: .VDEF 0x7014; // Data Port for AD P_ADC_Ctrl: .VDEF 0x7015; // Control Port for AD control P_ADC_Status: .VDEF 0x7015; // AD Port Status P_DAC2: .VDEF 0x7016; // Data Port for DAC2 P_PWM: .VDEF 0x7016; // Data Port for PWM P_DAC1: .VDEF 0x7017; // Data Port for DAC1 P_DAC_Ctrl: .VDEF 0x702A; // Control Port for two DAC and audio output mode P_ADC_MUX_Ctrl: .VDEF 0x702B // Control Port P_ADC_LINEIN_Data: .VDEF 0x702C // Line in data P_INT_Mask: .VDEF 0x702D //R/W INT enable/disable P_UART_Command2: .VDEF 0x7022; // Command2 Port for UART //P_INT_Mask: .VDEF 0x702D .DEFINE P_UART_Command1 0x7021; // Command1 Port for UART .DEFINE P_UART_Data 0x7023; // Data Port for UART .DEFINE P_UART_BaudScalarLow 0x7024; // Set Baud Rate scalar low .DEFINE P_UART_BaudScalarHigh 0x7025; // Set Baud Rate scalar high .ifdef MOUDLE_MS01 .EXTERNAL F_SACM_MS01_Play .EXTERNAL F_SACM_MS01_Initial .EXTERNAL F_SACM_MS01_Volume .EXTERNAL F_SACM_MS01_Status .EXTERNAL F_SACM_MS01_ServiceLoop .EXTERNAL F_SACM_MS01_Stop .external F_ISR_Service_SACM_MS01 .external F_IRQ2_Service_SACM_MS01 .external F_IRQ4_Service_SACM_MS01 .endif .ifdef MOUDLE_S200 .EXTERNAL F_SACM_S200_Play .EXTERNAL F_SACM_S200_Initial .EXTERNAL F_SACM_S200_Volume .EXTERNAL F_SACM_S200_Status .EXTERNAL F_SACM_S200_ServiceLoop .EXTERNAL F_SACM_S200_Stop .external F_ISR_Service_SACM_S200 .endif .ifdef MOUDLE_S530 .EXTERNAL F_SACM_S530_Play .EXTERNAL F_SACM_S530_Initial .EXTERNAL F_SACM_S530_Volume .EXTERNAL F_SACM_S530_Status .EXTERNAL F_SACM_S530_ServiceLoop .EXTERNAL F_SACM_S530_Stop .EXTERNAL F_SACM_S530_Speed .EXTERNAL F_ISR_Service_SACM_S530 .endif .ifdef MOUDLE_S480 .EXTERNAL F_SACM_S480_Play .EXTERNAL F_SACM_S480_Initial .EXTERNAL F_SACM_S480_Volume .EXTERNAL F_SACM_S480_Status .EXTERNAL F_SACM_S480_ServiceLoop .EXTERNAL F_SACM_S480_Stop .external F_ISR_Service_SACM_S480 .endif .ifdef MOUDLE_DVR1600 .EXTERNAL F_SACM_DVR1600_Play .EXTERNAL F_SACM_DVR1600_Initial .EXTERNAL F_SACM_DVR1600_Volume .EXTERNAL F_SACM_DVR1600_Status .EXTERNAL F_SACM_DVR1600_ServiceLoop .EXTERNAL F_SACM_DVR1600_Stop .EXTERNAL F_SACM_DVR1600_PlaySequence .EXTERNAL F_SACM_DVR1600_Rec .EXTERNAL _SACM_DVR1600_Speed //.EXTERNAL F_SACM_DVR1600_Speed_Initial .external F_ISR_Service_SACM_DVR1600 .endif