?? channeltable.asm
字號(hào):
.IF (CHIPSERIES = 'W588L')
.IF ((WITH_TONE .EQ. 0) && (WITH_SP .EQ. 1))
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8
.ELSE
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8
.ENDIF
.ENDIF
.ENDIF
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
.IF (WITH_MS .EQ. 1)
PUBLIC MS_CHANNEL_PCSPC8_TABLE
MS_CHANNEL_PCSPC8_TABLE:
.IF (CHIPSERIES = 'W588C')
DB WITH_VS2A_PCSPC8
DB WITH_VS1A_PCSPC8
DB 00H
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
DB WITH_VS0A_PCSPC8
DB WITH_VS2A_PCSPC8
DB WITH_VS1A_PCSPC8
.ELSE
DB WITH_VS1A_PCSPC8
DB WITH_VS2A_PCSPC8
DB WITH_VS0A_PCSPC8
.ENDIF
.ELSE ;WITH_TONE=1
DB WITH_VS2A_PCSPC8
DB WITH_VS1A_PCSPC8
DB WITH_VS0A_PCSPC8
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588L')
.IF ((WITH_TONE .EQ. 0) && (WITH_SP .EQ. 1))
DB WITH_VS1A_PCSPC8
DB WITH_VS2A_PCSPC8
DB 00
.ELSE
DB WITH_VS2A_PCSPC8
DB WITH_VS1A_PCSPC8
DB 00H
.ENDIF
.ENDIF
.ENDIF
;------------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------------
PUBLIC MS_CHANNEL_TABLE
MS_CHANNEL_TABLE:
.IF (WITH_MS .EQ. 1)
.IF (CHIPSERIES = 'W588C')
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8+WITH_VS2A_TONE
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8+WITH_VS1A_TONE
DB 00H
.ENDIF
.IF (CHIPSERIES = 'W588D')
.IF (WITH_TONE .EQ. 0)
.IF (WITH_SP .EQ. 0)
DB WITH_VS0A_HQPC8+WITH_VS0A_VMDPC8+WITH_VS0A_PCSPC8
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8
.ELSE
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8
DB WITH_VS0A_HQPC8+WITH_VS0A_VMDPC8+WITH_VS0A_PCSPC8
.ENDIF
.ELSE ;WITH_TONE=1
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8+WITH_VS2A_TONE
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8+WITH_VS1A_TONE
DB WITH_VS0A_HQPC8+WITH_VS0A_VMDPC8+WITH_VS0A_PCSPC8+WITH_VS0A_TONE
.ENDIF
.ENDIF
.IF (CHIPSERIES = 'W588L')
.IF ((WITH_TONE .EQ. 0) && (WITH_SP .EQ. 1))
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8
DB 00
.ELSE
DB WITH_VS2A_HQPC8+WITH_VS2A_VMDPC8+WITH_VS2A_PCSPC8+WITH_VS2A_TONE
DB WITH_VS1A_HQPC8+WITH_VS1A_VMDPC8+WITH_VS1A_PCSPC8+WITH_VS1A_TONE
DB 00
.ENDIF
.ENDIF
.ENDIF
;==============================================================================
;
;==============================================================================
.IF (WITH_MS .EQ. 1)
PUBLIC ASSIGN_CHANNEL_PROC_TABLE
ASSIGN_CHANNEL_PROC_TABLE:
.IF (WITH_DYNAMIC_CH .EQ. 1)
EXTERNAL FIND_IDLE_CHANNEL_PROC
DW FIND_IDLE_CHANNEL_PROC
.ELSE
EXTERNAL ASSIGN_MIDI_CHANNEL_PROC
DW ASSIGN_MIDI_CHANNEL_PROC
.ENDIF
.ENDIF
;==============================================================================
; Timer tables
;==============================================================================
PUBLIC SP_SET_TMV_PROC_TABLE
PUBLIC MS_SET_TMV_PROC_TABLE
SP_SET_TMV_PROC_TABLE:
MS_SET_TMV_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERNAL SET_TM0V_PROC
DW SET_TM0V_PROC ;VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERNAL SET_TM1V_PROC
DW SET_TM1V_PROC ;VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERNAL SET_TM2V_PROC
DW SET_TM2V_PROC ;VS2A
.ELSE
DW 0000H
.ENDIF
;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
PUBLIC SP_SET_TMC_PROC_TABLE
PUBLIC MS_SET_TMC_PROC_TABLE
SP_SET_TMC_PROC_TABLE:
MS_SET_TMC_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERNAL SET_TM0C_PROC
DW SET_TM0C_PROC ;VS0A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERNAL SET_TM1C_PROC
DW SET_TM1C_PROC ;VS1A
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERNAL SET_TM2C_PROC
DW SET_TM2C_PROC ;VS2A
.ELSE
DW 0000H
.ENDIF
;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
PUBLIC SP_GET_TMC_PROC_TABLE
PUBLIC MS_GET_TMC_PROC_TABLE
SP_GET_TMC_PROC_TABLE:
MS_GET_TMC_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERNAL GET_TM0C_PROC
DW GET_TM0C_PROC
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS1A .EQ. 1)
EXTERN GET_TM1C_PROC
DW GET_TM1C_PROC
.ELSE
DW 0000H
.ENDIF
.IF (WITH_VS2A .EQ. 1)
EXTERN GET_TM2C_PROC
DW GET_TM2C_PROC
.ELSE
DW 0000H
.ENDIF
;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
PUBLIC SP_GET_TMV_PROC_TABLE
PUBLIC MS_GET_TMV_PROC_TABLE
SP_GET_TMV_PROC_TABLE:
MS_GET_TMV_PROC_TABLE:
.IF (WITH_VS0A .EQ. 1)
EXTERNAL GET_TM0V_PROC
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
.IF (CHIPSERIES = 'W588L')
.IF ((WITH_TONE .EQ. 0) && (WITH_SP .EQ. 1))
.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
.ELSE
.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
.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
.IF (CHIPSERIES = 'W588L')
.IF ((WITH_TONE .EQ. 0) && (WITH_SP .EQ. 1))
.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
.ELSE
.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
.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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -