Re: Is Sonic Core still alive
Posted: Thu May 01, 2014 7:02 am
ill explain the problem with the 32 to 64 bit sample players
its the instructions int instruction is 32bits now on a 32bit system its 4bytes pointer size
know this is where the problem is on the 64bit int32 is in 8bytes per pointer size
its actually a ms coding problem when trying to make 32bit code compatible with 64bit
rather than keeping the same pointer size as 32bit int instruction they made it larger the reason for this they needed fewer pointers 1/2 of the 32bit
now any new 32bit instruction use the getpointer instruction for a 64bit os
now the sts samplers and the sample osc were written for 32bit systems so they use int and would not of known the 64bit getpointer in32 instruction set
as it was not available
now on 64bit programs there are conversion programs that deal with older coded plugs in 32bit and they bridge the 64bit problem with instructions that take the values then re write the instructions so that they perform properly in 64bit environment one program is jbridge
but this adds extra latency to the plug as it has to process the instruction twice and why the 32bit equivalents are less cpu intensive than being used in 64bit mode
it is being addressed but its not an overnight thing
it means ever int instruction for the memory pointer system for the int of the 32bit code for the sample player .h file has to be changed so that in 64bit and 32bit it works
this means updating the .h file and cpp file then coding a new .dll that address these new instruction set then test debug test debug until you have a working module then add the module to the dsp data base and create a gui for it
the getpointer instruction works for both 64bit and 32bit as its still 32bit instructions but its telling to get the memory pointer int32 so on a 32 bit os it will be 4bytes per pointer but on a 64bit os its 8bytes per pointer
but the int instruction is asking for a 4 bytes pointer and there is not one on a 64bit os and so it does not know what todo no sound or crashes or you get the bsod problems
in a 64bit os they still use 32bit audio the scope system works on 32 bit interger and is the most dsp efficient as floating point it need a int to float convertor and so needs extra dsp to process
as ever if microsoft had just kept the original int pointer size of 4bytes then it would of never been a problem and any 32bit software would of worked but microsoft wants people to ever change the os + more money comming in
and they add new instructions all the time so that new ide software has to be released
which means a constant learning curve for c++ developement
its the instructions int instruction is 32bits now on a 32bit system its 4bytes pointer size
know this is where the problem is on the 64bit int32 is in 8bytes per pointer size
its actually a ms coding problem when trying to make 32bit code compatible with 64bit
rather than keeping the same pointer size as 32bit int instruction they made it larger the reason for this they needed fewer pointers 1/2 of the 32bit
now any new 32bit instruction use the getpointer instruction for a 64bit os
now the sts samplers and the sample osc were written for 32bit systems so they use int and would not of known the 64bit getpointer in32 instruction set
as it was not available
now on 64bit programs there are conversion programs that deal with older coded plugs in 32bit and they bridge the 64bit problem with instructions that take the values then re write the instructions so that they perform properly in 64bit environment one program is jbridge
but this adds extra latency to the plug as it has to process the instruction twice and why the 32bit equivalents are less cpu intensive than being used in 64bit mode
it is being addressed but its not an overnight thing
it means ever int instruction for the memory pointer system for the int of the 32bit code for the sample player .h file has to be changed so that in 64bit and 32bit it works
this means updating the .h file and cpp file then coding a new .dll that address these new instruction set then test debug test debug until you have a working module then add the module to the dsp data base and create a gui for it
the getpointer instruction works for both 64bit and 32bit as its still 32bit instructions but its telling to get the memory pointer int32 so on a 32 bit os it will be 4bytes per pointer but on a 64bit os its 8bytes per pointer
but the int instruction is asking for a 4 bytes pointer and there is not one on a 64bit os and so it does not know what todo no sound or crashes or you get the bsod problems
in a 64bit os they still use 32bit audio the scope system works on 32 bit interger and is the most dsp efficient as floating point it need a int to float convertor and so needs extra dsp to process
as ever if microsoft had just kept the original int pointer size of 4bytes then it would of never been a problem and any 32bit software would of worked but microsoft wants people to ever change the os + more money comming in
and they add new instructions all the time so that new ide software has to be released
which means a constant learning curve for c++ developement