1.43. I tried transplanting various things in isolation from 1.52 into NDSSFC-1.06-based-on-Snes9x-1.43 and failed for various reasons each time.^This. The emulator really needs an overhaul or at least some improvement in the audio department...if possible. Is it based off of 1.51 or 1.43?
Here's some background.
After I tried transplanting source/tile.cpp, source/gfx.cpp, source/ppu.cpp and the new files they depended on, then adding the variables needed by 1.52 in the various "graphics state" data structures, I found that I could still compile it, but the frames per second dropped 2x! That was clearly unacceptable.
There's way too much C++ in the brand new source/apu/ folder, and the DS2 SDK's C-or-C++-but-not-too-much-++-please compiler complained of missing internal functions from the C++ Standard Library, even if I removed -nostdlib in the Makefile to include it. Things that are quite essential, such as __cxa_atexit (exception handling at-exit code), __cxa_guard_acquire, __cxa_guard_release (for atomic locks), __preinit_array_start, __preinit_array_end, __init_array_start, __init_array_end, __fini_array_start, __fini_array_end (for initialisation of .data sections containing preallocated data, like lookup tables (?)), operator new, operator delete, operator new[], operator delete[] (for memory allocation, quite essential those four) and finally 'main' (!), though that one was easier to work around...
Code:
int main(int argc, char** argv) {
ds2_main();
return 0;
}
If one of you guys can get the new 1.52 APU code to a state that can even just compile as C++-but-not-too-much-++-please, without necessarily testing it (that means ShadauxCat can try this even if s/he doesn't have a DSTWO, just the SDK, hint hint ), I would much appreciate it.