forked from herrnst/impulsetracker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
IT_PE_V.INC
140 lines (98 loc) · 2.58 KB
/
IT_PE_V.INC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
;
; Pattern edit view functions
;
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Draw_3Note Near ; Given AL = note.
Cmp AL, NONOTE
JB Draw_3Note2
Mov CL, AL
Mov AL, 173 ; '.'
JE Draw_3Note1
Mov AL, '^'
Cmp CL, 0FEh
JE Draw_3Note1
Mov AL, 'Í'
Cmp CL, 0FFh
JE Draw_3Note1
Mov AL, '!'
Draw_3Note1:
Mov AH, CH
StosW
StosW
StosW
Ret
Draw_3Note2:
Push SI
AAM 12 ; AH = octave, AL = note
Mov CL, AH
And AX, 0FFh
LEA SI, [EBX+EAX*2]
Mov AH, CH
SegCS LodsB
StosW
SegCS LodsB
StosW
Mov AL, CL
Add AL, 30h
StosW
Pop SI
Ret
EndP Draw_3Note
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Draw_2Note Near ; Given AL = note.
Cmp AL, NONOTE
JB Draw_2Note2
Mov DL, AL
Mov AL, 173 ; '.'
JE Draw_2Note1
Mov AL, '^'
Cmp DL, 0FEh
JE Draw_2Note1
Mov AL, 'Í'
Cmp DL, 0FFh
JE Draw_2Note1
Mov AL, '!'
Draw_2Note1:
Mov AH, CH
StosW
StosW
Ret
Draw_2Note2:
Push SI
AAM 12 ; AH = octave, AL = note
Mov CL, AH
And AX, 0FFh
LEA SI, [EBX+EAX*2]
SegCS LodsW
Cmp AH, '-'
JNE Draw_2Note3
Add AL, 'a'-'A'
Draw_2Note3:
Mov AH, CH
StosW
Mov AL, CL
Add AL, 30h
StosW
Pop SI
Ret
EndP Draw_2Note
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Proc Draw_2Instrument
Test AL, AL
JNZ Draw_2Instrument1
Mov AL, 173 ; '.'
Mov AH, CH
StosW
StosW
Ret
Draw_2Instrument1:
AAM 10
Add AX, '00'
Mov CL, AL
Mov AL, AH
Mov AH, CH
StosW
Mov AL, CL
StosW
Ret
EndP Draw_2Instrument