...
|
...
|
@@ -2,6 +2,7 @@
|
2
|
2
|
|
3
|
3
|
%RTN { JMP2r }
|
4
|
4
|
%8+ { #0008 ADD2 } %8- { #0008 SUB2 }
|
|
5
|
+%8* { #0008 MUL2 } %8/ { #0008 DIV2 }
|
5
|
6
|
%++ { #0001 ADD2 }
|
6
|
7
|
%MOD { DUP2 DIV MUL SUB }
|
7
|
8
|
%TRACK { ,track.ch1 #00 ~track.active #0020 MUL2 ADD2 }
|
...
|
...
|
@@ -77,10 +78,10 @@ BRK
|
77
|
78
|
~Mouse.y ~trkframe.y1 GTH2 ~Mouse.y ~trkframe.y2 LTH2 #0101 EQU2
|
78
|
79
|
#0101 EQU2 ,touch-trk JNZ2
|
79
|
80
|
~Mouse.x ~chnframe.x1 GTH2 ~Mouse.x ~chnframe.x2 LTH2 #0101 EQU2
|
80
|
|
- ~Mouse.y ~chnframe.y1 #0008 ADD2 GTH2 ~Mouse.y ~chnframe.y2 #0008 SUB2 LTH2 #0101 EQU2
|
|
81
|
+ ~Mouse.y ~chnframe.y1 8+ GTH2 ~Mouse.y ~chnframe.y2 8- LTH2 #0101 EQU2
|
81
|
82
|
#0101 EQU2 ,touch-chn JNZ2
|
82
|
83
|
~Mouse.x ~ctlframe.x1 GTH2 ~Mouse.x ~ctlframe.x2 LTH2 #0101 EQU2
|
83
|
|
- ~Mouse.y ~ctlframe.y1 #0008 ADD2 GTH2 ~Mouse.y ~ctlframe.y2 #0008 SUB2 LTH2 #0101 EQU2
|
|
84
|
+ ~Mouse.y ~ctlframe.y1 8+ GTH2 ~Mouse.y ~ctlframe.y2 8- LTH2 #0101 EQU2
|
84
|
85
|
#0101 EQU2 ,touch-ctl JNZ2
|
85
|
86
|
$click-end
|
86
|
87
|
|
...
|
...
|
@@ -116,7 +117,7 @@ BRK
|
116
|
117
|
|
117
|
118
|
@touch-ctl ( -- )
|
118
|
119
|
|
119
|
|
- ~Mouse.x ~ctlframe.x1 SUB2 #0008 SUB2 #0008 DIV2 SWP POP #02 DIV
|
|
120
|
+ ~Mouse.x ~ctlframe.x1 SUB2 8- 8/ SWP POP #02 DIV
|
120
|
121
|
DUP #00 NEQ ^$no-a JNZ
|
121
|
122
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2
|
122
|
123
|
#10 ADD ,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-a
|
...
|
...
|
@@ -127,13 +128,13 @@ BRK
|
127
|
128
|
,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-d
|
128
|
129
|
|
129
|
130
|
DUP #02 NEQ ^$no-s JNZ
|
130
|
|
- ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 PEK2
|
131
|
|
- #10 ADD ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 POK2 $no-s
|
|
131
|
+ ,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
|
132
|
+ #10 ADD ,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-s
|
132
|
133
|
|
133
|
134
|
DUP #03 NEQ ^$no-r JNZ
|
134
|
|
- ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 PEK2
|
|
135
|
+ ,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
135
|
136
|
DUP #f0 AND STH #01 ADD #0f AND STHr ADD
|
136
|
|
- ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 POK2 $no-r
|
|
137
|
+ ,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-r
|
137
|
138
|
POP
|
138
|
139
|
( release ) #00 =Mouse.state
|
139
|
140
|
,draw-controls JSR2
|
...
|
...
|
@@ -178,7 +179,7 @@ RTN
|
178
|
179
|
@move-head ( -- )
|
179
|
180
|
|
180
|
181
|
( clear )
|
181
|
|
- ~trkframe.y1 #0008 SUB2 =Sprite.y
|
|
182
|
+ ~trkframe.y1 8- =Sprite.y
|
182
|
183
|
~trkframe.x1 #00 ~head.pos ADD2 =Sprite.x
|
183
|
184
|
,head_icn =Sprite.addr
|
184
|
185
|
#00 =Sprite.color
|
...
|
...
|
@@ -194,8 +195,8 @@ RTN
|
194
|
195
|
#00 #20
|
195
|
196
|
$loop
|
196
|
197
|
( load ) OVR #00 SWP TRACK ADD2 PEK2
|
197
|
|
- DUP STH #00 SWP #0e SWP SUB #0008 MUL2 ~trkframe.y1 ADD2 =Sprite.y
|
198
|
|
- OVR #00 SWP #0008 MUL2 ~trkframe.x1 ADD2 =Sprite.x
|
|
198
|
+ DUP STH #00 SWP #0e SWP SUB 8* ~trkframe.y1 ADD2 =Sprite.y
|
|
199
|
+ OVR #00 SWP 8* ~trkframe.x1 ADD2 =Sprite.x
|
199
|
200
|
STHr #00 EQU ^$skip JNZ
|
200
|
201
|
#00 =Sprite.color
|
201
|
202
|
$skip
|
...
|
...
|
@@ -210,8 +211,8 @@ RTN
|
210
|
211
|
#00 #20
|
211
|
212
|
$notes-loop
|
212
|
213
|
( load ) OVR #00 SWP TRACK ADD2 PEK2
|
213
|
|
- DUP STH #00 SWP #0e SWP SUB #0008 MUL2 ~trkframe.y1 ADD2 =Sprite.y
|
214
|
|
- OVR #00 SWP #0008 MUL2 ~trkframe.x1 ADD2 =Sprite.x
|
|
214
|
+ DUP STH #00 SWP #0e SWP SUB 8* ~trkframe.y1 ADD2 =Sprite.y
|
|
215
|
+ OVR #00 SWP 8* ~trkframe.x1 ADD2 =Sprite.x
|
215
|
216
|
,note_icn =Sprite.addr
|
216
|
217
|
STHr #00 EQU ^$skip JNZ
|
217
|
218
|
#05 =Sprite.color
|
...
|
...
|
@@ -236,15 +237,15 @@ RTN
|
236
|
237
|
OVR2 ~trkframe.x1 ADD2 =Sprite.x
|
237
|
238
|
#02 =Sprite.color
|
238
|
239
|
~Sprite.addr 8+ =Sprite.addr
|
239
|
|
- OVR2 ~trkframe.x1 ADD2 ~trkframe.y1 #0001 ADD2 ~trkframe.y2 #01 ,line-vertical-dotted JSR2
|
|
240
|
+ OVR2 ~trkframe.x1 ADD2 ~trkframe.y1 ++ ~trkframe.y2 #01 ,line-vertical-dotted JSR2
|
240
|
241
|
$skip
|
241
|
242
|
OVR2 ~trkframe.x1 ADD2 ~trkframe.y1 ~trkframe.y2 #01 ,line-vertical-dotted JSR2
|
242
|
|
- SWP2 #0008 ADD2 SWP2
|
|
243
|
+ SWP2 8+ SWP2
|
243
|
244
|
OVR2 OVR2 LTH2 ^$loop JNZ
|
244
|
245
|
POP2
|
245
|
246
|
POP2
|
246
|
247
|
|
247
|
|
- ~trkframe.x1 ~trkframe.x2 ~trkframe.y1 #0008 SUB2 #0040 ADD2 #01 ,line-horizontal-dotted JSR2
|
|
248
|
+ ~trkframe.x1 ~trkframe.x2 ~trkframe.y1 8- #0040 ADD2 #01 ,line-horizontal-dotted JSR2
|
248
|
249
|
|
249
|
250
|
RTN
|
250
|
251
|
|
...
|
...
|
@@ -262,7 +263,7 @@ RTN
|
262
|
263
|
#01 =Sprite.color
|
263
|
264
|
~Sprite.addr 8+ =Sprite.addr
|
264
|
265
|
~Sprite.x 8- =Sprite.x
|
265
|
|
- SWP2 #0008 ADD2 SWP2
|
|
266
|
+ SWP2 8+ SWP2
|
266
|
267
|
OVR2 OVR2 LTH2 ^$loop JNZ
|
267
|
268
|
POP2
|
268
|
269
|
POP2
|
...
|
...
|
@@ -319,20 +320,20 @@ RTN
|
319
|
320
|
@draw-controls ( -- )
|
320
|
321
|
|
321
|
322
|
~ctlframe.x1 ~ctlframe.y1 ~ctlframe.x2 ~ctlframe.y2 #01 ,line-rect JSR2
|
322
|
|
- ~ctlframe.x1 #0008 ADD2 ~ctlframe.y1 #0008 ADD2 #02 ,env_txt ,draw-label JSR2
|
323
|
|
- ~ctlframe.x1 #0008 ADD2 ~ctlframe.y1 #0010 ADD2
|
|
323
|
+ ~ctlframe.x1 8+ ~ctlframe.y1 8+ #02 ,env_txt ,draw-label JSR2
|
|
324
|
+ ~ctlframe.x1 8+ ~ctlframe.y1 #0010 ADD2
|
324
|
325
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
325
|
326
|
,draw-knob JSR2
|
326
|
327
|
~ctlframe.x1 #0018 ADD2 ~ctlframe.y1 #0010 ADD2
|
327
|
328
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2 #0f AND
|
328
|
329
|
,draw-knob JSR2
|
329
|
330
|
~ctlframe.x1 #0028 ADD2 ~ctlframe.y1 #0010 ADD2
|
330
|
|
- ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 PEK2 #04 SFT
|
|
331
|
+ ,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2 #04 SFT
|
331
|
332
|
,draw-knob JSR2
|
332
|
333
|
~ctlframe.x1 #0038 ADD2 ~ctlframe.y1 #0010 ADD2
|
333
|
|
- ,Audio #00 ~track.active #02 MUL ADD2 #0001 ADD2 PEK2 #0f AND
|
|
334
|
+ ,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2 #0f AND
|
334
|
335
|
,draw-knob JSR2
|
335
|
|
- ~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 #0008 ADD2 #02 ,vol_txt ,draw-label JSR2
|
|
336
|
+ ~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
|
336
|
337
|
~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 #0010 ADD2 #00 ,draw-knob JSR2
|
337
|
338
|
~ctlframe.x1 #0060 ADD2 ~ctlframe.y1 #0010 ADD2 #0f ,draw-knob JSR2
|
338
|
339
|
|
...
|
...
|
@@ -341,10 +342,10 @@ RTN
|
341
|
342
|
@draw-channels
|
342
|
343
|
|
343
|
344
|
~chnframe.x1 ~chnframe.y1 ~chnframe.x2 ~chnframe.y2 #01 ,line-rect JSR2
|
344
|
|
- ~chnframe.x1 #0008 ADD2 ~chnframe.y1 #0008 ADD2 #01 ~track.active #00 EQU #07 MUL ADD ,ch1_txt ,draw-label JSR2
|
345
|
|
- ~chnframe.x1 #0008 ADD2 ~chnframe.y1 #0010 ADD2 #01 ~track.active #01 EQU #07 MUL ADD ,ch2_txt ,draw-label JSR2
|
346
|
|
- ~chnframe.x1 #0008 ADD2 ~chnframe.y1 #0018 ADD2 #01 ~track.active #02 EQU #07 MUL ADD ,ch3_txt ,draw-label JSR2
|
347
|
|
- ~chnframe.x1 #0008 ADD2 ~chnframe.y1 #0020 ADD2 #01 ~track.active #03 EQU #07 MUL ADD ,ch4_txt ,draw-label JSR2
|
|
345
|
+ ~chnframe.x1 8+ ~chnframe.y1 8+ #01 ~track.active #00 EQU #07 MUL ADD ,ch1_txt ,draw-label JSR2
|
|
346
|
+ ~chnframe.x1 8+ ~chnframe.y1 #0010 ADD2 #01 ~track.active #01 EQU #07 MUL ADD ,ch2_txt ,draw-label JSR2
|
|
347
|
+ ~chnframe.x1 8+ ~chnframe.y1 #0018 ADD2 #01 ~track.active #02 EQU #07 MUL ADD ,ch3_txt ,draw-label JSR2
|
|
348
|
+ ~chnframe.x1 8+ ~chnframe.y1 #0020 ADD2 #01 ~track.active #03 EQU #07 MUL ADD ,ch4_txt ,draw-label JSR2
|
348
|
349
|
|
349
|
350
|
RTN
|
350
|
351
|
|
...
|
...
|
@@ -372,9 +373,9 @@ RTN
|
372
|
373
|
( load ) =label.addr =label.color =Sprite.y =Sprite.x
|
373
|
374
|
~label.addr
|
374
|
375
|
$loop
|
375
|
|
- ( draw ) DUP2 PEK2 #00 SWP #0008 MUL2 ,font ADD2 =Sprite.addr ~label.color =Sprite.color
|
376
|
|
- ( incr ) #0001 ADD2
|
377
|
|
- ( incr ) ~Sprite.x #0008 ADD2 =Sprite.x
|
|
376
|
+ ( draw ) DUP2 PEK2 #00 SWP 8* ,font ADD2 =Sprite.addr ~label.color =Sprite.color
|
|
377
|
+ ( incr ) ++
|
|
378
|
+ ( incr ) ~Sprite.x 8+ =Sprite.x
|
378
|
379
|
DUP2 PEK2 #00 NEQ ^$loop JNZ
|
379
|
380
|
POP2
|
380
|
381
|
|