HardwareHeaven.com
Looking for the skin chooser?
 
 
  • Home

  • Reviews

  • Articles

  • News

  • Tools

  • GamingHeaven

  • Forums

  • Network

 

Go Back   HardwareHeaven.com > Forums > Hardware and Related Topics > kX Project Audio Driver Support Forum > Effects and the DSP


Reply
 
Thread Tools
Old Nov 6, 2005, 08:09 PM   #1
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

Attention: Martin Borisov

hello i am trying to edit your code for the efx tubedrive to make the inputs stereo. so fare i have this...


---------------------------------------------------------------------------
; Generated by kX DSP Editor - microcode dump
name "EFX TubeDrive";
copyright "Copyright Martin Borisov (c), EF-X 2004.";
; NOTE The present DSP microcode dump is protected by the
; license agreement bundled with the appropriate software
; package containing this microcode,
; regardless the particular copyright notice is present in the dump.
engine "kX 3538";
created "06/30/2004";
comment "martintiger@abv.bg";
guid "5cc0af29-f438-47da-86d5-ac0cdf427b72";
; Registers
input in, in2;
output out, out2;
static level=0x1714fbcd, drive=0xd, b_b0=0x764d71e;
static b_b1=0x0, b_b2=0xf89b28e2, b_a1=0x6fe7b265;
static b_a2=0xcec9ae3c, b_state1=0x0, b_state2=0x0;
static b_state3=0x0, b_state4=0x0, l_b0=0x469bd78;
static l_b1=0x8d37aef, l_b2=0x469bd78, l_a1=0x50b77a12;
static l_a2=0xdda1900e, l_state1=0x0, l_state2=0x0;
static l_state3=0x0, l_state4=0x0, l_state11=0x0;
static l_state12=0x0, l_state13=0x0, l_state14=0x0;
temp t1;
static dc=0x0, pos=0x26666666, neg=0xd9999999
; Code
macs t1, dc, in, in2, 0x7fffffff;
macs 0x0, 0x0, b_state2, b_b2;
macmv b_state2, b_state1, b_state1, b_b1;
macmv b_state1, t1, b_state4, b_a2;
macmv b_state4, b_state3, b_state3, b_a1;
macs b_state3, accum, t1, b_b0;
acc3 b_state3, accum, b_state3, 0x0;
macs t1, b_state3, 0x0, 0x0;
log t1, t1, drive, 0x0;
macs t1, t1, 0x0, 0x0;
macs t1, t1, 0x0, 0x0;
macs 0x0, 0x0, l_state2, l_b2;
macmv l_state2, l_state1, l_state1, l_b1;
macmv l_state1, t1, l_state4, l_a2;
macmv l_state4, l_state3, l_state3, l_a1;
macs l_state3, accum, t1, l_b0;
acc3 l_state3, accum, l_state3, 0x0;
macs t1, l_state3, 0x0, 0x0;
macs 0x0, 0x0, l_state12, l_b2;
macmv l_state12, l_state11, l_state11, l_b1;
macmv l_state11, t1, l_state14, l_a2;
macmv l_state14, l_state13, l_state13, l_a1;
macs l_state13, accum, t1, l_b0;
acc3 l_state13, accum, l_state13, 0x0;
macs t1, l_state13, 0x0, 0x0;
macints t1, 0x0, t1, 0x1;
macs out, out2, 0x0, t1, level;
end

---------------------------------------------------------------

the only difference is in the declarences of inputs and outputs

before i hadd added the declarations of in2 and out2 to the "code" dection i didnt get any errors but after a series of trials to update i got this in the output window.

--------------------------------------------------------------------------

Dump successfully loaded
Compilation failed
(28): error P215: undeclared identifier 'in'
Microcode updated
Compilation failed
(28): error P212: end of instruction expected
Compilation failed
(28): error P212: end of instruction expected
Compilation failed
(28): error P212: end of instruction expected
------------------------------------------------------------------------

what am i doing wrong?
laserbeak is offline   Reply With Quote


Old Nov 6, 2005, 08:54 PM   #2
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

macs t1, dc, in, in2, 0x7fffffff;

You have 5 parameters in this instruction when there should only be 4.

Aside from the above, EFX Tubedrive is a .dll plugin, so be aware that some things cannot be done to it without recompiling the plugin (C++ source code).
Russ is offline   Reply With Quote
Old Nov 6, 2005, 09:32 PM   #3
h/h member-shmember
 
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,606
Rep Power: 66
Max M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to allMax M. is a name known to all

[color=gray] btw, where is TigerM? i haven't seen him for a long time... i start to miss... [/color]
Max M. is offline   Reply With Quote
Old Nov 6, 2005, 09:47 PM Threadstarter Thread Starter   #4
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

Quote:
Originally Posted by Russ
macs t1, dc, in, in2, 0x7fffffff;

You have 5 parameters in this instruction when there should only be 4.

Aside from the above, EFX Tubedrive is a .dll plugin, so be aware that some things cannot be done to it without recompiling the plugin (C++ source code).
that the type of instruction it is that it only allows 4 parameters?

so what do i do with my extra input? oh wait then i will have to look at the c++ source. i wonder, is it available?
laserbeak is offline   Reply With Quote
Old Nov 6, 2005, 09:49 PM Threadstarter Thread Starter   #5
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

cool thanks guys.
laserbeak is offline   Reply With Quote
Old Nov 6, 2005, 10:02 PM   #6
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

All Dane instructions take that basic form.

i.e.
opcode result, a, x, y;

To use an extra input, you would use a seperate instruction to work with that input, etc.
Russ is offline   Reply With Quote
Old Nov 6, 2005, 10:06 PM Threadstarter Thread Starter   #7
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

hehe just read that thanks but it still wont really do anything will it? besides maybe let audio pass?
macs t1, dc, in, 0x7fffffff; ------> if i used this
macs t1, dc, in2, 0x7fffffff; ------> would this be legal? what do the hex numbers represent? not that far in the tutorial yet
laserbeak is offline   Reply With Quote
Old Nov 6, 2005, 10:07 PM   #8
kX user
 
Join Date: Apr 2004
Posts: 851
Rep Power: 0
Tiger M is on a distinguished road

I miss you too, Max
Tiger M is offline   Reply With Quote
Old Nov 6, 2005, 10:19 PM   #9
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

It is kind of hard to explain as it depends on what you are trying to do. You should really read the guide. The hex numbers are just numbers represented in hex, nothing more, except that it is in 2's compliment form (search the internet). 0x7FFFFFFF in this case is bascially equivalent to 1, so the above instruction works like this:
t1 = dc + in * 1 (t1 = dc + in)
t1 = dc + in2 * 1 (t1 = dc + in2)

You can do that if you want, but you are not going to get the result you are expecting. 't1' is just going to end up being the value of the second instruction, so the first instruction basically will not do anything. You would want to either devide both inputs in half and then add them together (in which case using a monomix plugin would be an easier solution), or you would need to basically do the same thing to the second input that you do to the first input (throught the whole plugin code), and then store the results in a seperate register.
i.e.
macs t1_left, dc, in_left, 1
macs t1_right, dc, in_right, 1

Again, you best bet would be to read through the guide so you have a better understanding of how it works.
Russ is offline   Reply With Quote
Old Nov 6, 2005, 10:23 PM Threadstarter Thread Starter   #10
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

thanks alot i have been reading about this in the guide you're comments are very reassuring.
a snippet from the guide shws this
control In1 Level=0x0, In2 Level=0x0;
does that say that there are 2 sereo sliders initialized to 0?
laserbeak is offline   Reply With Quote
Old Nov 6, 2005, 10:25 PM   #11
HardwareHeaven Extreme Member
 
Join Date: Jan 2005
Posts: 5,507
Rep Power: 61
Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!Russ is just super!

Quote:
Originally Posted by laserbeak
thanks alot i have been reading about this in the guide you're comments are very reassuring.
a snippet from the guide shws this
control In1 Level=0x0, In2 Level=0x0;
does that say that there are 2 sereo sliders initialized to 0?
Yes.

<edit>
BTW: Not stereo sliders. Just 2 sliders.
Russ is offline   Reply With Quote
Old Nov 8, 2005, 01:53 AM Threadstarter Thread Starter   #12
DriverHeaven Lover
 
Join Date: Jul 2003
Posts: 153
Rep Power: 0
laserbeak is on a distinguished road

ok thanks.
this looks interesting.
laserbeak is offline   Reply With Quote
Reply

Bookmarks

Thread Tools