wraggster
April 7th, 2010, 18:58
ragnarok2040 (http://psx-scene.com/forums/showthread.php?t=58208&page=18) posted some interesting news regarding work on the Snes Emulator for the PS2 recently:
I actually have some good news, .
I've been playing with some C++ code for the PS2 in order to research and solve the linking problem I had with snes9x-1.51. The last time I fiddled with snes9x-1.51's source, I couldn't compile the input code because of problems with using the <string> part of libstdc++ as well as istream/ostream objects which were resulting in a variety of problems.
After testing a few things out, I had a hunch that it was because ps2sdk's libc and newlib's libc having the same name. Which was resulting in either a precedence issue with ps2sdk's libc or ps2sdk's libc was the only libc being linked. The second option seems more likely since ee-g++ was complaining of missing symbols and newlib's libc was used to build libstdc++.
In the end, I renamed newlib's libc.a to libn.a, and made sure -lc preceded -ln in the linking order, and the problems seem to have gone away. That means I shouldn't have to rewrite a large portion of snes9x to get it working, .
TL;DR
Might have fixed a C++ linking problem, so I shouldn't have to rewrite a good sized part of Snes9x to get it working.
I still have the sources for the last alpha of snes9x-1.43, but I'm not sure I can reuse any of the code. It does make a good guide for doing the new port, though, since the elements haven't changed.
I just need to finish the GUI design doc. and implement it. There are quite a few more features planned, so the code will be more complex but using an object-oriented design will simplify the implementation a lot, especially being able to use the string object, .
I actually have some good news, .
I've been playing with some C++ code for the PS2 in order to research and solve the linking problem I had with snes9x-1.51. The last time I fiddled with snes9x-1.51's source, I couldn't compile the input code because of problems with using the <string> part of libstdc++ as well as istream/ostream objects which were resulting in a variety of problems.
After testing a few things out, I had a hunch that it was because ps2sdk's libc and newlib's libc having the same name. Which was resulting in either a precedence issue with ps2sdk's libc or ps2sdk's libc was the only libc being linked. The second option seems more likely since ee-g++ was complaining of missing symbols and newlib's libc was used to build libstdc++.
In the end, I renamed newlib's libc.a to libn.a, and made sure -lc preceded -ln in the linking order, and the problems seem to have gone away. That means I shouldn't have to rewrite a large portion of snes9x to get it working, .
TL;DR
Might have fixed a C++ linking problem, so I shouldn't have to rewrite a good sized part of Snes9x to get it working.
I still have the sources for the last alpha of snes9x-1.43, but I'm not sure I can reuse any of the code. It does make a good guide for doing the new port, though, since the elements haven't changed.
I just need to finish the GUI design doc. and implement it. There are quite a few more features planned, so the code will be more complex but using an object-oriented design will simplify the implementation a lot, especially being able to use the string object, .