World: r3wp
[rebcode] Rebcode discussion
older newer | first last |
Maxim 17-Feb-2007 [1539] | brian is your best bet for rebcode help, he helped a lot in designing and testing it with Carl. |
Steeve 17-Feb-2007 [1540x2] | found it: The current beta release is 031/rebview1352031.exe. |
i think i will ahve no problems to covert Z80 opcodes in rebcode, it's a similar approach | |
Maxim 17-Feb-2007 [1542] | just that if you have some bugs or wandering about specifics, he has deep knowledge of it, he might even be able to give you hints on how to go around a few missing things. |
Steeve 18-Feb-2007 [1543] | is there a way to test if a var is set to none ? |
Anton 18-Feb-2007 [1544] | NONE? word |
Steeve 18-Feb-2007 [1545] | yep |
Anton 18-Feb-2007 [1546] | ah sorry - rebcode - not sure :--x |
Steeve 18-Feb-2007 [1547x6] | ^^^ |
is the T flag positionned after AND opcode execution ? | |
i should test that | |
seems not | |
so, i have to do something like that, to set the T flag, i mean : AND tmp 255 eq.i tmp 255 | |
i have to do many operations like that to emulate the Z80 8-bit ship, Z80 modify his T-flag after any logical operation. i think Rebcode should do that too :-) | |
Oldes 18-Feb-2007 [1553] | Please write it to Rambo, better now, before R3 |
Steeve 18-Feb-2007 [1554x5] | done |
another prob is that all opcode operate on 32 bit integers only, in my case it would be cool if they can act as well on chars (8 bit) | |
i can do without, but my code is more verbose | |
...and slower | |
espacially with bit rotation opcode, which are useless in my case ^^^ | |
Steeve 19-Feb-2007 [1559x2] | i need a speed reverse byte function with rebcode , for example 1100 0000 => 000 0011 any idea ? |
* 1100 0000 => 0000 0011 | |
Coccinelle 20-Feb-2007 [1561] | I get strange result from the sin opcode, is there something special to know or is it a bug ? |
Maxim 20-Feb-2007 [1562] | rad or degres? |
Coccinelle 20-Feb-2007 [1563x2] | degree |
I try with rad too but I should make a mistake | |
Maxim 20-Feb-2007 [1565] | I'm not an expert only that I know by having many 3d cgi scripts that many apis have a mix and match of rad and degres... but it seems you looked at that too... |
Coccinelle 20-Feb-2007 [1566x3] | To test, I use this code : |
test-sin: rebcode [value [decimal!]][sin value return value] | |
>> test-sin 90. == 0.893996663600558 >> test-sin 100. == -0.506365641109759 >> test-sin 0.0 == 0.0 >> test-sin 1. == 0.841470984807897 >> test-sin .1 == 9.98334166468282E-2 >> | |
Maxim 20-Feb-2007 [1569x2] | hum... its possible that some values just don't map directly to precise values (floating point errors) |
but I agree that sin 90 should give you something closer to 1 | |
Coccinelle 20-Feb-2007 [1571x2] | et sin 1 devrait donner quelque chose de proche de 0 |
sorry in english, and sin 1 should give something near to 0 | |
Maxim 20-Feb-2007 [1573x2] | just tested and well... the values supplied really are in radians :-) |
>> sine/radians 90 == 0.893996663600556 | |
Coccinelle 20-Feb-2007 [1575] | and a radian is pi / 2, right ? |
Maxim 20-Feb-2007 [1576] | 2 * pi |
Coccinelle 20-Feb-2007 [1577x2] | Yes, right. It's OK now my script is running well. Thanks you. |
Thanks to rebcode I can generate 6 minutes of music in 20 seconds instead of 5 minutes with a standard script. Great. | |
Rebolek 20-Feb-2007 [1579x2] | if you want fast sine, use tables, it's 10x times faster (that's without interpolation, but even with interpolation it will be still faster). |
or if you need continuos sine wave, use self oscilating filter | |
Coccinelle 20-Feb-2007 [1581] | I'm a newbe in music generation so ... I don't know what is self oscilating filter. |
Rebolek 20-Feb-2007 [1582x3] | you can generate sine wave aproximation faster than using sin func |
some example code (in C, but easy to rewrite): float a = 2.f*(float)sin(Pi*frequency/samplerate); float s[2]; s[0] = 0.5f; s[1] = 0.f; loop: s[0] = s[0] - a*s[1]; s[1] = s[1] + a*s[0]; output_sine = s[0]; output_cosine = s[1] | |
this is much faster than calling SIN | |
Coccinelle 20-Feb-2007 [1585] | Very simple indeed. I will test. |
Rebolek 20-Feb-2007 [1586] | have you seen my Sintezar PM-101 in rebol.org library? maybe it will be interesting for you. I've got rebcode version on my disk, but because rebcode is not part of official rebol, it's not released. if you're interested, i can send you some examples. now i'm rewriting that synth as VST instrument in C(++), it's much faster then :) |
Coccinelle 20-Feb-2007 [1587x2] | No, I will look at now. |
Thanks Rebolek, I reduce the time to produce 6 minutes 44 of music from 20 to 15 second. | |
older newer | first last |