📄 toneplay.asm
字号:
;====================================================================================
; Function: F_TonePlay
; Description: play tone.
; Input:
;
; Output:
;
; Destroy: A,X,Y
; Stacks: 2
;====================================================================================
F_TonePlay:
ldx #0
tone_is_loop:
jsr out_tone
txa
bne tone_is_begin
jsr wait_rtc_clr_rtcf
lda #PRET0C
sta T0C
tone_is_begin:
cpx #0ffh
beq tone_is_over
jsr wait_rtc_interrupt
dey
bne tone_is_begin
jmp tone_is_loop
;--------------------------------------------------
out_tone:
lda if_tone_table,x
tay
eor #0ffh ; end code.
beq endoftone
sty T0BF
lda if_time_table,x
tay
inx
rts
endoftone:
ldx #0ffh
stz T0C
tone_is_over:
rts
;---------------------------------------;
if_tone_table:
db t31
db 0ffh
; db t17,t16,t15c,t16
;; ?
;; db t21,t21,t22,t21,t17,t21
;; ?
; db t23,t23,t24,t23,t22c,t23
; db t27,t26,t25c,t26,t27,t26,t25,t26,t31,t26,t31
; db t27,t26,t25,t26
; db t27,t26,t25,t26
; db t27,t26,t25,t24
; db t23
;
;; ?
; db t23,t24,t25,t25,t26,t25,t24,t23,t22,t22,t23,t24
; db t25,t25,t26,t25,t24,t23
; db t22,t21,t22
; db t23,t23,t24,t23,t22,t21
;; ?
; db t17,t17,t21,t22
; db t23,t23,t24,t23,t22,t21
; db t17,t17,t16,t15c,t16
;
;; ?
; db t21,t21,t22,t21,t17,t21
;; ?
; db t23,t23,t24,t23,t22c,t23
; db t27,t26,t25c,t26,t27,t26,t25,t26,t31,t26,t27
; db t31,t27,t26,t25c
; db t26,t23,t24,t22
; db t21,t17,t16,t17
; db t16
; db t21,t22
;
; db t23,t21,t22
; db t23,t22,t21,t17
; db t16,t17,t21,t22
; db t17,t15,t21,t22,t23,t21,t22
; db t23,t22,t21,t17
; db t16,t22,t17,t15
; db t21
; db t23,t24,t23,t22
; db t21,t22,t21,t17,t16,t21,t17,t16
;
; db t15c,t16,t17,t15,t13,t14c,t15,t13,t16,t15c,t16,t17,t21,t17,t21,t22
; db t23,t22c,t23,t22,t23,t24,t23,t22 ;?
; db t21,t22,t21,t17,t16,t21,t17,t16
; db t15c,t16,t17,t15,t13,t14c,t15,t13
; db t14c,t15,t16,t14,t12c,t13,t14,t12
; db t13
;
; db t15,t14,t13,t12
; db t11,t12,t13,t14,t15,t16,t17,t21,t21,t17,t16,t15,t15,t14,t13,t12
; db t11,t12,t13,t14,t15,t16,t17,t21
; db t21c,t22,t15,t14,t13,t12
; db t11,t12,t13,t14,t15,t16,t17,t21
; db t21,t17,t16,t15,t15,t14,t13,t12
;
; db t13,t15,t11,t13,t12,t14,t17,t12
; db t11,t23,t24,t23,t22
; db t21,t22,t21,t17,t16,t21,t17,t16,t15c,t16,t17,t15,t13,t14c,t15,t13
; db t16,t15c,t16,t17,t21,t17,t21,t22,t23,t22c,t23,t22,t23,t22,t23,t21
; db t24,t23,t24,t23,t24,t23,t24,t23
;
; db t24,t23,t22,t21,t17,t21,t12,t17
; db t21,t22,t23,t16,t15c,t16,t17,t15
; db t16
; db t21,t22
; db t23,t21,t22
; db t23,t22,t21,t17
; db t16,t17,t21,t22
; db t17,t15,t21,t22,t23,t21,t22
; db t23,t22,t21,t17
;
; db t16,t22,t17,t15
; db t21
; db t17,t16,t15c,t16
;; ?
; db t21,t21,t22,t21,t17,t21
;; ?
; db t23,t23,t24,t23,t22c,t23
; db t27,t26,t25c,t26,t27,t26,t25,t26
; db t31,t26,t31
; db t27,t26,t25,t26
; db t27,t26,t25,t26
;
; db t27,t26,t25,t24
; db t23
; db t23,t24,t25,t25,t26,t25,t24,t23
;; ?
; db t22,t22,t23,t24,t25,t25,t26,t25,t24,t23
; db t22,t21,t22
; db t23,t23,t24,t23,t22,t21
;; ?
; db t17,t17,t21,t22
; db t23,t23,t24,t23,t22,t21
;
; db t17,t17,t16,t15c,t16
;; ?
; db t21,t21,t22,t21,t17,t21
;; ?
; db t23,t23,t24,t23,t22c,t23
; db t27,t26,t25c,t26,t27,t26,t25,t26,t31,t26,t27
; db t31,t27,t26,t25c
; db t26,t23,t24,t22
; db t21,t17,t16,t17
; db t16
;
; db t21,t21,t22,t22
;; ?
; db t23,t23,t23,t21,t21,t22,t22
; db t23,t23,t22,t22,t21,t21,t17,t17
; db t16,t16,t17,t17,t21,t21,t22,t22
; db t17,t17,t15,t15,t21,t21,t22,t22
; ?
; db t23,t23,t23,t21,t21,t22,t22
; db t23,t23,t22,t22,t21,t21,t17,t17
;
; db t16,t16,t22,t22,t17,t17,t15,t15
; db t21
; db t23,t23
; db t23
; db t23,t24,t23,t22,t23,t24,t23,t22,t23
; db t24,t23,t23,t23,t23
; db t22,t25
; db t23
; db t23
;
; db t24,t23,t22,t23,t24,t23,t22,t23
; db t24
; db t23
; db t22,t22,t22,t22,t21,t23,t23
; db t23
; db t23
; db t24,t23,t22,t23,t24,t23,t22,t23
; db t24,t23,t23,t23,t23
; db t22,t25
;
; db t23
; db t23
; db t24,t23,t22,t23,t24,t23,t22,t23,t24
; db t23
; db t22,t22,t22,t22
; db t21,t23
; db t21,t25
; db t21,t23
; db t21,t23,t21,t25
; db t21,t21
; db t21
; db 0ffh
; .1 220 91h
; .2 247 81h
; .3 277 73h
; .4 294 6ch
; .5 330 60h
; .6 370 56h
; .7 416 4dh
; 1 440 48h
; 2 494 40h
; 3 554 39h
; 4 587 36h
; 5 659 30h
; 6 740 2bh
; 7 831 26h
; 1^ 880 24h
; 2^ 988 21h ;20h
; 3^ 1108 1dh
; 4^ 1174 1bh
; 5^ 1318 18h
; 6^ 1480 15h
; 7^ 1662 13h
;---------------------------------------;
;---------------------------------------;
if_time_table:
db 02h ;2*32ms=64ms
; db 04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h,10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 10h
;
; db 08h,08h,08h,08h,04h,04h,04h,04h,08h,08h,08h,08h
; db 08h,08h,04h,04h,04h,04h
; db 10h,08h,08h
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,08h,08h
; db 08h,08h,04h,04h,04h,04h
; db 10h,04h,04h,04h,04h
;
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h,10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 10h,08h,04h,04h
; db 10h
; db 08h,08h
;
; db 10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h,10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 10h
; db 04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
;
; db 04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h
;
; db 04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
;
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h
; db 08h,08h
; db 10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 10h,08h,08h
; db 08h,08h,08h,08h
;
; db 08h,08h,08h,08h
; db 10h
; db 04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
;
; db 08h,08h,08h,08h
; db 10h
; db 08h,08h,08h,08h,04h,04h,04h,04h
; db 08h,08h,08h,08h,08h,08h,04h,04h,04h,04h
; db 10h,08h,08h
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,08h,08h
; db 08h,08h,04h,04h,04h,04h
;
; db 10h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 08h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h,08h,08h
; db 08h,08h,08h,08h
; db 08h,08h,08h,08h
; db 10h,08h,04h,04h
; db 10h
;
; db 04h,04h,04h,04h
; db 04h,04h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 04h,04h,08h,04h,04h,04h,04h
; db 04h,04h,04h,04h,04h,04h,04h,04h
;
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h
; db 0ch,04h
; db 10h
; db 10h,04h,04h,04h,04h,04h,04h,04h,04h
; db 10h,08h,08h,08h,08h
; db 18h,08h
; db 10h
; db 10h
;
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10h
; db 10h
; db 08h,08h,08h,08h,10h,0ch,04h
; db 10h
; db 10h
; db 04h,04h,04h,04h,04h,04h,04h,04h
; db 10H,08H,08H,08H,08H
; db 18h,08h
;
; db 10h
; db 10h
; db 04h,04h,04h,04h,04h,04h,04h,04h,10h
; db 10h
; db 08h,08h,08h,08h
; db 18h,08h
; db 18h,08h
; db 18h,08h
; db 08h,08h,08h,08h
; db 10h,10h
; db 10h
;
;==============================================================
;Tone define
t01 equ 91h
t01c equ 8ah
t02b equ 89h
t02 equ 81h
t02c equ 7bh
t03b equ 7ah
t03 equ 73h
t04 equ 6ch
t04c equ 67h
t05b equ 66h
t05 equ 60h
t05c equ 5ch
t06b equ 5bh
t06 equ 56h
t06c equ 52h
t07b equ 51h
t07 equ 4dh
t11 equ 48h
t11c equ 45h
t12b equ 44h
t12 equ 40h
t12c equ 3dh
t13b equ 3ch
t13 equ 39h
t14 equ 36h
t14c equ 34h
t15b equ 33h
t15 equ 30h
t15c equ 2eh
t16b equ 2dh
t16 equ 2bh
t16c equ 29h
t17b equ 28h
t17 equ 26h
t21 equ 24h
t21c equ 23h
t22b equ 22h
t22 equ 21h
t22c equ 1fh
t23b equ 1fh
t23 equ 1dh
t24 equ 1bh
t25 equ 18h
t25c equ 17h
t26b equ 16h
t26 equ 15h
t26c equ 14h
t27b equ 14h
t27 equ 13h
t31 equ 11h
;==============================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -