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

📄 mo7771a1_%idt%_xxx.asm

📁 w588d开发例程
💻 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 + -