channeltable.asm
来自「w588d开发例程」· 汇编 代码 · 共 2,397 行 · 第 1/4 页
ASM
2,397 行
DW GET_TM0V_PROC
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERN GET_TM1V_PROC
DW GET_TM1V_PROC
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERN GET_TM2V_PROC
DW GET_TM2V_PROC
.ELSE
DW 0000H
.ENDIF
;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
PUBLIC SP_INIT_TIMER_PROC_TABLE
PUBLIC MS_INIT_TIMER_PROC_TABLE
SP_INIT_TIMER_PROC_TABLE:
MS_INIT_TIMER_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERN INIT_TM0_PROC
DW INIT_TM0_PROC ;VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERN INIT_TM1_PROC
DW INIT_TM1_PROC ;VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERN INIT_TM2_PROC
DW INIT_TM2_PROC ;VS2A
.ELSE
DW 0000H
.ENDIF
;------------------------------------------------------------------------
; The VSx ISR Table, Using This Table and SP_CHANNEL_ADDR_TABLE
;------------------------------------------------------------------------
PUBLIC SP_STOP_TIMER_PROC_TABLE
PUBLIC MS_STOP_TIMER_PROC_TABLE
SP_STOP_TIMER_PROC_TABLE:
MS_STOP_TIMER_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERN STOP_TM0_PROC
DW STOP_TM0_PROC ;VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERN STOP_TM1_PROC
DW STOP_TM1_PROC ;VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERN STOP_TM2_PROC
DW STOP_TM2_PROC ;VS2A
.ELSE
.ENDIF
;-----------------------------------------------------------------------------
.IF (WITH_HQPC8 == 1 || WITH_VMDPC8 == 1)
PUBLIC HQ_MELODY_SYNTH_START_TABLE
HQ_MELODY_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS2A
DW HQPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS1A
DW HQPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS0A
DW HQPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS2A
DW HQPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS1A
DW HQPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS1A
DW HQPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS2A
DW HQPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS0A
DW HQPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS2A
DW HQPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS1A
DW HQPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_READ_BYTE_VS0A
DW HQPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ENDIF
;-------------------------------------------------------------------------------------
;-------------------------------------------------------------------------------------
PUBLIC HQ_VOLZERO_SYNTH_START_TABLE
HQ_VOLZERO_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS2A
DW HQPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS1A
DW HQPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS0A
DW HQPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS2A
DW HQPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS1A
DW HQPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS1A
DW HQPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS2A
DW HQPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS0A
DW HQPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS2A
DW HQPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS1A
DW HQPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_HQPC8 .EQ. 1)
EXTERN HQPC8_VOL_ZERO_VS0A
DW HQPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ENDIF
.ENDIF
;-----------------------------------------------------------------------------
.IF (WITH_HQPC8 == 1 || WITH_VMDPC8 == 1)
PUBLIC VMD_MELODY_SYNTH_START_TABLE
VMD_MELODY_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS2A
DW VMDPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS1A
DW VMDPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS0A
DW VMDPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS2A
DW VMDPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS1A
DW VMDPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS1A
DW VMDPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS2A
DW VMDPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS0A
DW VMDPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS2A
DW VMDPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS1A
DW VMDPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_READ_BYTE_VS0A
DW VMDPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ENDIF
;---------------------------------------------------------------------------------------------------
PUBLIC VMD_VOLZERO_SYNTH_START_TABLE
VMD_VOLZERO_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS2A
DW VMDPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS1A
DW VMDPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS0A
DW VMDPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS2A
DW VMDPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS1A
DW VMDPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS1A
DW VMDPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS2A
DW VMDPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS0A
DW VMDPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS2A
DW VMDPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS1A
DW VMDPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_VMDPC8 .EQ. 1)
EXTERN VMDPC8_VOL_ZERO_VS0A
DW VMDPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ENDIF
.ENDIF
;-----------------------------------------------------------------------------
.IF (WITH_PCSPC8 == 1)
PUBLIC PCS_MELODY_SYNTH_START_TABLE
PCS_MELODY_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS2A
DW PCSPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS1A
DW PCSPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS0A
DW PCSPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS2A
DW PCSPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS1A
DW PCSPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS1A
DW PCSPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS2A
DW PCSPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS0A
DW PCSPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS2A
DW PCSPC8_READ_BYTE_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS1A
DW PCSPC8_READ_BYTE_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_READ_BYTE_VS0A
DW PCSPC8_READ_BYTE_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ENDIF
;-----------------------------------------------------------------------------------------
PUBLIC PCS_VOLZERO_SYNTH_START_TABLE
PCS_VOLZERO_SYNTH_START_TABLE:
.IF (CHIPSERIES = 'W588C')
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS2A
DW PCSPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS1A
DW PCSPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS0A
DW PCSPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS2A
DW PCSPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS1A
DW PCSPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.ELSE
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS1A
DW PCSPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS2A
DW PCSPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS0A
DW PCSPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
.ENDIF
.ENDIF
.ELSE ;WITH_TONE=1
.IF (WITH_VS2A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS2A
DW PCSPC8_VOL_ZERO_VS2A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS1A
DW PCSPC8_VOL_ZERO_VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS0A_PCSPC8 .EQ. 1)
EXTERN PCSPC8_VOL_ZERO_VS0A
DW PCSPC8_VOL_ZERO_VS0A
.ELSE
DW 0000H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?