📄 mo7771a1_%idt%_xxx.asm
字号:
CHIP W588
INCLUDE PGM_HEAD_588.INI
GLOBAL INSTRUMENT_TYPE_LIST_TABLE
GLOBAL INSTRUMENT_LIST_TABLE_LOW
GLOBAL INSTRUMENT_LIST_TABLE_HIGH
GLOBAL INS_ENV_ATTACK_INTEGER_TABLE
GLOBAL INS_ENV_ATTACK_FRACTION_TABLE
GLOBAL INS_ENV_SUSTAIN_TABLE
GLOBAL INS_ENV_DECAY_INTEGER_TABLE
GLOBAL INS_ENV_DECAY_FRACTION_TABLE
GLOBAL INS_ENV_RELEASE_INTEGER_TABLE
GLOBAL INS_ENV_RELEASE_FRACTION_TABLE
GLOBAL DRUM_ADDR_LOW_TABLE
GLOBAL DRUM_ADDR_HIGH_TABLE
GLOBAL DRUM_ADDR_HIGH8_TABLE
GLOBAL DRUM_TIMER_INDEX_TABLE
GLOBAL MELODIC_SETTING_TABLE
.GLOBALS ON
LIBRARY_CODE: SECTION
INS_ENV_ATTACK_INTEGER_TABLE:
DB 00h; INS0=0
INS_ENV_ATTACK_FRACTION_TABLE:
DB 00h; INS0
INS_ENV_DECAY_INTEGER_TABLE:
DB 00h; INS0=0
INS_ENV_DECAY_FRACTION_TABLE:
DB 00h; INS0
INS_ENV_SUSTAIN_TABLE:
DB 00h ;0
INS_ENV_RELEASE_INTEGER_TABLE:
DB 00h; INS0=0
INS_ENV_RELEASE_FRACTION_TABLE:
DB 00h; INS0
INSTRUMENT_TYPE_LIST_TABLE:
DB FFh
INSTRUMENT_LIST_TABLE_LOW:
DB 00h
INSTRUMENT_LIST_TABLE_HIGH:
DB 00h
MELODIC_SETTING_TABLE:
DRUM_ADDR_LOW_TABLE:
DB 00h ;35 Addr=000000h
DRUM_ADDR_HIGH_TABLE:
DB 00h ;35
DRUM_ADDR_HIGH8_TABLE:
DB 00h ;35
DRUM_TIMER_INDEX_TABLE:
DB 00h ;35
;======================================================================
; System clock is 6144000 ============================================
; W588S note: TM0/TM1 : /2/4/32/128
; TMG : /2/8/64/512
; output tone TMV table and range====================================
.IF (WITH_TONE == 1)
TONE_TMV_TABLE:
DB F4H, E6H, D9H, CDH, C1H, B6H, ACH, A2H, 99H, 91H, 88H, 81H
DB 79H, 73H, 6CH, 66H, 60H, 5BH, 56H, 51H, 4CH, 48H, 44H, 40H
DB 3CH, 39H, 36H, 32H, 30H, 2DH, 2AH, 28H, 26H, 23H, 21H, 1FH
DB 1EH, 1CH, 1AH, 19H, 17H, 16H, 15H, 13H, 12H, 11H, 10H, FH
.IF (CHIPSERIES = 'W588D').OR. (CHIPSERIES = 'W588C').OR. (CHIPSERIES = 'W583C')
TONE_TMC_LO_OCTAVE EQU 17H ;/128
TONE_TMC_MI_OCTAVE EQU 15H ;/32
TONE_TMC_HI_OCTAVE EQU 13H ;/4
.ELSE
TONE_TMC_LO_OCTAVE EQU FH ;/128
TONE_TMC_MI_OCTAVE EQU DH ;/32
TONE_TMC_HI_OCTAVE EQU BH ;/4
.ENDIF
TONE_NOTE_LO_BOUND EQU 31D
TONE_NOTE_LO_RANGE EQU 24D
TONE_NOTE_MI_RANGE EQU 36D
TONE_NOTE_HI_RANGE EQU 36D
.ENDIF
; for HQ melody =====================================================
.IF (WITH_HQPC8 == 1 || WITH_VMDPC8 == 1)
HQ_TMC_TABLE:
DB 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
DB 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DB 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
HQ_TMV_INDEX_TABLE:
DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11
DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11
DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11
HQ_SAMPLE_INCREMENT_TABLE:
DB 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DB 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DB 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
.ENDIF
.IF (WITH_PCSPC8 == 1)
.IF (CHIPSERIES = 'W588C')
DRUM_ADDR_TMC_TABLE:
DB 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DRUM_ADDR_TMV_TABLE:
DB 97, 95, 84, 76, 69,255,245,235,218,204,191,180,170,161,153,145,138,133,127,122,117,113,109,105,101
.ELSE
.IF (WITH_TONE .EQ. 1).OR.(WITH_SP .EQ. 1)
DRUM_ADDR_TMC_TABLE:
DB 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DRUM_ADDR_TMV_TABLE:
DB 97, 95, 84, 76, 69,255,245,235,218,204,191,180,170,161,153,145,138,133,127,122,117,113,109,105,101
.ELSE
DRUM_ADDR_TMC_TABLE:
DB 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
DRUM_ADDR_TMV_TABLE:
DB 97, 95, 84, 76, 69,255,245,235,218,204,191,180,170,161,153,145,138,133,127,122,117,113,109,105,101
.ENDIF
.ENDIF
.ENDIF
;========================================================
.GLOBALS OFF
ENDS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -