Flipped the ch vol/pitch ports
This commit is contained in:
parent
fe6514e2ef
commit
739b13c1e3
|
@ -29,7 +29,7 @@
|
||||||
|0140 ;Keys { key 1 }
|
|0140 ;Keys { key 1 }
|
||||||
|0150 ;Mouse { x 2 y 2 state 1 chord 1 }
|
|0150 ;Mouse { x 2 y 2 state 1 chord 1 }
|
||||||
|0160 ;File { pad 8 name 2 length 2 load 2 save 2 }
|
|0160 ;File { pad 8 name 2 length 2 load 2 save 2 }
|
||||||
|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 }
|
|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 }
|
||||||
|01F0 ;System { pad 8 r 2 g 2 b 2 }
|
|01F0 ;System { pad 8 r 2 g 2 b 2 }
|
||||||
|
|
||||||
( vectors )
|
( vectors )
|
||||||
|
@ -53,10 +53,10 @@
|
||||||
~chnframe.x2 =ctlframe.x1 ~chnframe.y1 =ctlframe.y1
|
~chnframe.x2 =ctlframe.x1 ~chnframe.y1 =ctlframe.y1
|
||||||
~trkframe.x2 =ctlframe.x2 ~chnframe.y2 =ctlframe.y2
|
~trkframe.x2 =ctlframe.x2 ~chnframe.y2 =ctlframe.y2
|
||||||
|
|
||||||
( default envs )
|
( default settings )
|
||||||
#048c =Audio.ch1adsr
|
#048c =Audio.ch1adsr #88 =Audio.ch1vol
|
||||||
#159d =Audio.ch2adsr
|
#159d =Audio.ch2adsr #88 =Audio.ch2vol
|
||||||
#26ae =Audio.ch3adsr
|
#26ae =Audio.ch3adsr #88 =Audio.ch3vol
|
||||||
|
|
||||||
,draw-timeline JSR2
|
,draw-timeline JSR2
|
||||||
,draw-controls JSR2
|
,draw-controls JSR2
|
||||||
|
@ -68,11 +68,9 @@ BRK
|
||||||
|
|
||||||
,draw-cursor JSR2
|
,draw-cursor JSR2
|
||||||
,move-head JSR2
|
,move-head JSR2
|
||||||
|
|
||||||
~head.pos #08 MOD #00 NEQ ^$skip JNZ
|
~head.pos #08 MOD #00 NEQ ^$skip JNZ
|
||||||
,bang JSR2
|
,bang JSR2
|
||||||
$skip
|
$skip
|
||||||
|
|
||||||
~Mouse.state #00 EQU ,$click-end JNZ2
|
~Mouse.state #00 EQU ,$click-end JNZ2
|
||||||
~Mouse.x ~trkframe.x1 GTH2 ~Mouse.x ~trkframe.x2 LTH2 #0101 EQU2
|
~Mouse.x ~trkframe.x1 GTH2 ~Mouse.x ~trkframe.x2 LTH2 #0101 EQU2
|
||||||
~Mouse.y ~trkframe.y1 GTH2 ~Mouse.y ~trkframe.y2 LTH2 #0101 EQU2
|
~Mouse.y ~trkframe.y1 GTH2 ~Mouse.y ~trkframe.y2 LTH2 #0101 EQU2
|
||||||
|
@ -120,21 +118,28 @@ BRK
|
||||||
~Mouse.x ~ctlframe.x1 SUB2 8- 8/ SWP POP #02 DIV
|
~Mouse.x ~ctlframe.x1 SUB2 8- 8/ SWP POP #02 DIV
|
||||||
DUP #00 NEQ ^$no-a JNZ
|
DUP #00 NEQ ^$no-a JNZ
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 PEK2
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2
|
||||||
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD ,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-a
|
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD
|
||||||
|
,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-a
|
||||||
DUP #01 NEQ ^$no-d JNZ
|
DUP #01 NEQ ^$no-d JNZ
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 PEK2
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2
|
||||||
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-d
|
,Audio #00 ~track.active #02 MUL ADD2 POK2 $no-d
|
||||||
|
|
||||||
DUP #02 NEQ ^$no-s JNZ
|
DUP #02 NEQ ^$no-s JNZ
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
||||||
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD ,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-s
|
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD
|
||||||
|
,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-s
|
||||||
DUP #03 NEQ ^$no-r JNZ
|
DUP #03 NEQ ^$no-r JNZ
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2
|
||||||
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-r
|
,Audio #00 ~track.active #02 MUL ADD2 ++ POK2 $no-r
|
||||||
|
DUP #05 NEQ ^$no-left JNZ
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
|
||||||
|
#10 ~Mouse.state #10 EQU #e0 MUL ADD ADD
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-left
|
||||||
|
DUP #06 NEQ ^$no-right JNZ
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2
|
||||||
|
DUP #f0 AND STH #01 ~Mouse.state #10 EQU #0e MUL ADD ADD #0f AND STHr ADD
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 POK2 $no-right
|
||||||
POP
|
POP
|
||||||
( release ) #00 =Mouse.state
|
( release ) #00 =Mouse.state
|
||||||
,draw-controls JSR2
|
,draw-controls JSR2
|
||||||
|
@ -150,8 +155,6 @@ BRK
|
||||||
$skip1
|
$skip1
|
||||||
#00 SWP ,notes ADD2 PEK2
|
#00 SWP ,notes ADD2 PEK2
|
||||||
#0c #03 MUL SUB =Audio.ch1pitch
|
#0c #03 MUL SUB =Audio.ch1pitch
|
||||||
#11 =Audio.ch1vol
|
|
||||||
|
|
||||||
$listen2
|
$listen2
|
||||||
,track.ch2 #00 ~head.pos #08 DIV ADD2 PEK2
|
,track.ch2 #00 ~head.pos #08 DIV ADD2 PEK2
|
||||||
#01 SUB
|
#01 SUB
|
||||||
|
@ -160,8 +163,6 @@ BRK
|
||||||
$skip2
|
$skip2
|
||||||
#00 SWP ,notes ADD2 PEK2
|
#00 SWP ,notes ADD2 PEK2
|
||||||
#0c #03 MUL SUB =Audio.ch2pitch
|
#0c #03 MUL SUB =Audio.ch2pitch
|
||||||
#11 =Audio.ch2vol
|
|
||||||
|
|
||||||
$listen3
|
$listen3
|
||||||
,track.ch3 #00 ~head.pos #08 DIV ADD2 PEK2
|
,track.ch3 #00 ~head.pos #08 DIV ADD2 PEK2
|
||||||
#01 SUB
|
#01 SUB
|
||||||
|
@ -170,8 +171,6 @@ BRK
|
||||||
$skip3
|
$skip3
|
||||||
#00 SWP ,notes ADD2 PEK2
|
#00 SWP ,notes ADD2 PEK2
|
||||||
#0c #03 MUL SUB =Audio.ch3pitch
|
#0c #03 MUL SUB =Audio.ch3pitch
|
||||||
#11 =Audio.ch3vol
|
|
||||||
|
|
||||||
$end
|
$end
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
@ -320,6 +319,7 @@ RTN
|
||||||
@draw-controls ( -- )
|
@draw-controls ( -- )
|
||||||
|
|
||||||
~ctlframe.x1 ~ctlframe.y1 ~ctlframe.x2 ~ctlframe.y2 #01 ,line-rect JSR2
|
~ctlframe.x1 ~ctlframe.y1 ~ctlframe.x2 ~ctlframe.y2 #01 ,line-rect JSR2
|
||||||
|
( env )
|
||||||
~ctlframe.x1 8+ ~ctlframe.y1 8+ #02 ,env_txt ,draw-label JSR2
|
~ctlframe.x1 8+ ~ctlframe.y1 8+ #02 ,env_txt ,draw-label JSR2
|
||||||
~ctlframe.x1 8+ ~ctlframe.y1 #0010 ADD2
|
~ctlframe.x1 8+ ~ctlframe.y1 #0010 ADD2
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
,Audio #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
||||||
|
@ -333,9 +333,14 @@ RTN
|
||||||
~ctlframe.x1 #0038 ADD2 ~ctlframe.y1 #0010 ADD2
|
~ctlframe.x1 #0038 ADD2 ~ctlframe.y1 #0010 ADD2
|
||||||
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2 #0f AND
|
,Audio #00 ~track.active #02 MUL ADD2 ++ PEK2 #0f AND
|
||||||
,draw-knob JSR2
|
,draw-knob JSR2
|
||||||
~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
|
( vol )
|
||||||
~ctlframe.x1 #0050 ADD2 ~ctlframe.y1 #0010 ADD2 #00 ,draw-knob JSR2
|
~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 8+ #02 ,vol_txt ,draw-label JSR2
|
||||||
~ctlframe.x1 #0060 ADD2 ~ctlframe.y1 #0010 ADD2 #0f ,draw-knob JSR2
|
~ctlframe.x1 #0058 ADD2 ~ctlframe.y1 #0010 ADD2
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #04 SFT
|
||||||
|
,draw-knob JSR2
|
||||||
|
~ctlframe.x1 #0068 ADD2 ~ctlframe.y1 #0010 ADD2
|
||||||
|
,Audio #0009 ADD2 #00 ~track.active #02 MUL ADD2 PEK2 #0f AND
|
||||||
|
,draw-knob JSR2
|
||||||
|
|
||||||
RTN
|
RTN
|
||||||
|
|
||||||
|
|
|
@ -499,14 +499,15 @@ Uint8
|
||||||
audio_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1)
|
audio_poke(Uxn *u, Uint16 ptr, Uint8 b0, Uint8 b1)
|
||||||
{
|
{
|
||||||
Uint8 *m = u->ram.dat;
|
Uint8 *m = u->ram.dat;
|
||||||
|
m[PAGE_DEVICE + 0x0070 + b0] = b1;
|
||||||
if(b0 & 1) {
|
if(b0 & 1) {
|
||||||
Uint16 addr = ptr + (b0 & 0x6);
|
Uint16 addr = ptr + (b0 & 0x6);
|
||||||
Channel *c = &channels[(b0 & 0x6) >> 1];
|
Channel *c = &channels[(b0 & 0x6) >> 1];
|
||||||
SDL_LockAudioDevice(audio_id);
|
SDL_LockAudioDevice(audio_id);
|
||||||
c->period = note_periods[m[addr + 8] % 12] >> (m[addr + 8] / 12);
|
c->period = note_periods[m[addr + 9] % 12] >> (m[addr + 9] / 12);
|
||||||
c->count %= c->period;
|
c->count %= c->period;
|
||||||
c->volume[0] = (m[addr + 9] >> 4) & 0xf;
|
c->volume[0] = (m[addr + 8] >> 4) & 0xf;
|
||||||
c->volume[1] = m[addr + 9] & 0xf;
|
c->volume[1] = m[addr + 8] & 0xf;
|
||||||
c->age = 0;
|
c->age = 0;
|
||||||
c->a = (SAMPLE_FREQUENCY >> 4) * ((m[addr] >> 4) & 0xf);
|
c->a = (SAMPLE_FREQUENCY >> 4) * ((m[addr] >> 4) & 0xf);
|
||||||
c->d = c->a + (SAMPLE_FREQUENCY >> 4) * (m[addr] & 0xf);
|
c->d = c->a + (SAMPLE_FREQUENCY >> 4) * (m[addr] & 0xf);
|
||||||
|
|
Loading…
Reference in New Issue