Browse code

Flipped the ch vol/pitch ports

neauoire authored on 04/04/2021 00:17:40
Showing 2 changed files
... ...
@@ -29,7 +29,7 @@
29 29
 |0140 ;Keys { key 1 }
30 30
 |0150 ;Mouse { x 2 y 2 state 1 chord 1 }
31 31
 |0160 ;File { pad 8 name 2 length 2 load 2 save 2 }
32
-|0170 ;Audio { ch1adsr 2 ch2adsr 2 ch3adsr 2 ch4adsr 2 ch1pitch 1 ch1vol 1 ch2pitch 1 ch2vol 1 ch3pitch 1 ch3vol 1 ch4pitch 1 ch4vol 1 }
32
+|0170 ;Audio { ch1adsr 2 ch2adsr 2 ch3adsr 2 ch4adsr 2 ch1vol 1 ch1pitch 1 ch2vol 1 ch2pitch 1 ch3vol 1 ch3pitch 1 ch4vol 1 ch4pitch 1 }
33 33
 |01F0 ;System { pad 8 r 2 g 2 b 2 }
34 34
 
35 35
 ( vectors )
... ...
@@ -53,10 +53,10 @@
53 53
 	~chnframe.x2 =ctlframe.x1 ~chnframe.y1 =ctlframe.y1
54 54
 	~trkframe.x2 =ctlframe.x2 ~chnframe.y2 =ctlframe.y2
55 55
 
56
-	( default envs )
57
-	#048c =Audio.ch1adsr
58
-	#159d =Audio.ch2adsr
59
-	#26ae =Audio.ch3adsr
56
+	( default settings )
57
+	#048c =Audio.ch1adsr #88 =Audio.ch1vol
58
+	#159d =Audio.ch2adsr #88 =Audio.ch2vol
59
+	#26ae =Audio.ch3adsr #88 =Audio.ch3vol
60 60
 
61 61
 	,draw-timeline JSR2
62 62
 	,draw-controls JSR2
... ...
@@ -68,11 +68,9 @@ BRK
68 68
 	
69 69
 	,draw-cursor JSR2
70 70
 	,move-head JSR2
71
-
72 71
 	~head.pos #08 MOD #00 NEQ ^$skip JNZ
73 72
 		,bang JSR2
74 73
 	$skip
75
-
76 74
 	~Mouse.state #00 EQU ,$click-end JNZ2
77 75
 		~Mouse.x ~trkframe.x1 GTH2 ~Mouse.x ~trkframe.x2 LTH2 #0101 EQU2
78 76
 		~Mouse.y ~trkframe.y1 GTH2 ~Mouse.y ~trkframe.y2 LTH2 #0101 EQU2
... ...
@@ -120,21 +118,28 @@ BRK
120 118
 	~Mouse.x ~ctlframe.x1 SUB2 8- 8/ SWP POP #02 DIV
121 119
 	DUP #00 NEQ ^$no-a JNZ
122 120
 		,Audio #00 ~track.active #02 MUL ADD2 PEK2
123
-		#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD ,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-a
124
-
121
+		#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD 
122
+		,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-a
125 123
 	DUP #01 NEQ ^$no-d JNZ
126 124
 		,Audio #00 ~track.active #02 MUL ADD2 PEK2
127 125
 		DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
128 126
 		,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-d
129
-
130 127
 	DUP #02 NEQ ^$no-s JNZ
131 128
 		,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
132
-		#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD ,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-s
133
-
129
+		#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD 
130
+		,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-s
134 131
 	DUP #03 NEQ ^$no-r JNZ
135 132
 		,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
136 133
 		DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
137 134
 		,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-r
135
+	DUP #05 NEQ ^$no-left JNZ
136
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
137
+		#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD 
138
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-left
139
+	DUP #06 NEQ ^$no-right JNZ
140
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
141
+		DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
142
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-right
138 143
 	POP
139 144
 	( release ) #00 =Mouse.state
140 145
 	,draw-controls JSR2
... ...
@@ -150,8 +155,6 @@ BRK
150 155
 	$skip1
151 156
 	#00 SWP ,notes ADD2 PEK2
152 157
 	#0c #03 MUL SUB =Audio.ch1pitch
153
-	#11 =Audio.ch1vol
154
-	
155 158
 	$listen2
156 159
 	,track.ch2 #00 ~head.pos #08 DIV ADD2 PEK2 
157 160
 	#01 SUB
... ...
@@ -160,8 +163,6 @@ BRK
160 163
 	$skip2
161 164
 	#00 SWP ,notes ADD2 PEK2
162 165
 	#0c #03 MUL SUB =Audio.ch2pitch
163
-	#11 =Audio.ch2vol
164
-
165 166
 	$listen3
166 167
 	,track.ch3 #00 ~head.pos #08 DIV ADD2 PEK2 
167 168
 	#01 SUB
... ...
@@ -170,8 +171,6 @@ BRK
170 171
 	$skip3
171 172
 	#00 SWP ,notes ADD2 PEK2
172 173
 	#0c #03 MUL SUB =Audio.ch3pitch
173
-	#11 =Audio.ch3vol
174
-
175 174
 	$end
176 175
 
177 176
 RTN
... ...
@@ -320,6 +319,7 @@ RTN
320 319
 @draw-controls ( -- )
321 320
 	
322 321
 	~ctlframe.x1 ~ctlframe.y1 ~ctlframe.x2 ~ctlframe.y2 #01 ,line-rect JSR2
322
+	( env )
323 323
 	~ctlframe.x1 8+ ~ctlframe.y1 8+ #02 ,env_txt ,draw-label JSR2
324 324
 	~ctlframe.x1 8+ ~ctlframe.y1 #0010 ADD2 
325 325
 		,Audio #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
... ...
@@ -333,9 +333,14 @@ RTN
333 333
 	~ctlframe.x1 #0038 ADD2 ~ctlframe.y1 #0010 ADD2 
334 334
 		,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2 #0f AND
335 335
 		,draw-knob JSR2
336
-	~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
337
-	~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 #0010 ADD2 #00 ,draw-knob JSR2
338
-	~ctlframe.x1 #0060 ADD2 ~ctlframe.y1 #0010 ADD2 #0f ,draw-knob JSR2
336
+	( vol )
337
+	~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
338
+	~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 #0010 ADD2
339
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
340
+	,draw-knob JSR2
341
+	~ctlframe.x1 #0068 ADD2 ~ctlframe.y1 #0010 ADD2 
342
+		,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #0f AND
343
+	,draw-knob JSR2
339 344
 
340 345
 RTN
341 346
 
... ...
@@ -499,14 +499,15 @@ Uint8
499 499
 audio_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1)
500 500
 {
501 501
 	Uint8 *m = u->ram.dat;
502
+	m[PAGE_DEVICE + 0x0070 + b0] = b1;
502 503
 	if(b0 & 1) {
503 504
 		Uint16 addr = ptr + (b0 & 0x6);
504 505
 		Channel *c = &channels[(b0 & 0x6) >> 1];
505 506
 		SDL_LockAudioDevice(audio_id);
506
-		c->period = note_periods[m[addr + 8] % 12] >> (m[addr + 8] / 12);
507
+		c->period = note_periods[m[addr + 9] % 12] >> (m[addr + 9] / 12);
507 508
 		c->count %= c->period;
508
-		c->volume[0] = (m[addr + 9] >> 4) & 0xf;
509
-		c->volume[1] = m[addr + 9] & 0xf;
509
+		c->volume[0] = (m[addr + 8] >> 4) & 0xf;
510
+		c->volume[1] = m[addr + 8] & 0xf;
510 511
 		c->age = 0;
511 512
 		c->a = (SAMPLE_FREQUENCY >> 4) * ((m[addr] >> 4) & 0xf);
512 513
 		c->d = c->a + (SAMPLE_FREQUENCY >> 4) * (m[addr] & 0xf);