|
Post by zshadow on Aug 22, 2006 4:31:03 GMT 1
Hey all.. I'd thought I'd post this incase Laxer3a doesn't already know. Exophase has written a GBA emu from the ground up that runs many games 60FPS at 0 frameskip .. including games like Castlevania: HoD and AoS. 1 or 2 frameskip may be needed for a few games.. and there are some stability issues atm, but I am very impressed. forums.qj.net/f-psp-development-forum-11/t-gpsp-new-gba-emulator-for-psp-66399.htmlJust wondered what any of the TYL devs thought of his work, because I am very impressed I really did not think we would ever see fullspeed GBA emulation on the PSP.. glad I was proved wrong!
|
|
|
Post by prettzv on Aug 22, 2006 21:25:34 GMT 1
I was fairly impressed by the work and hope to see it progress far. I just wish SNES was as simple as the GBA to emulate. SNES had so much more stuff inside to make it a pain. Regardless, great games on both systems. NINTENDO FTW!!!
|
|
|
Post by cwirsing on Aug 24, 2006 1:08:00 GMT 1
Actually the GBA is alot more complicated to emulate. That is because the GBA has more CPU then SNES and has more resources. That is also why we have never seen a decnt GBA emualtor until now. The reason exophases emualtor is pretty much full speed is because his emu was written from scratch unlike TYL which was a port. If someone rights a SNES emu from scratch like exophase the emulator would run 90% of the roms full speed.
|
|
|
Post by shame13 on Aug 24, 2006 8:58:12 GMT 1
but with such a great emulator like tyl......is there really a need for another snes emulator?
|
|
|
Post by sandman53 on Aug 24, 2006 20:45:31 GMT 1
I think if there was a team that could actually code a SNES emulator specifically for the PSP that we wouldn't even need frameskip anymore.
I'm a performance hog, and I want the best performance possible. You can get that by coding an SNES emulator for the PSP. The problem is that it is a lot of work.
I just hope that somebody goes out one day and does it, because that would be pretty cool. It seems that we got all the speed we can from TYL, I think that coding an SNES emulator from scratch is the only way we can get a big performance boost.
|
|
|
Post by prettzv on Aug 24, 2006 22:39:44 GMT 1
A) In terms of complexity of the system SNES is much more complicated to emuate do to not only the large amount of equipment in the system, but also all the modifications made within the carts. Multiple CPU's in Sync with each other is a difficult thing to emulate and uses a lot of processing power. Don't misunderstand me, GBA EMU is a great success and it is very impressive, but with a lot less to coordinate in terms of complexity it is easier to code IMHO.
B) Yoyo and Laxer talked about rewriting the code for PSP and as far as I know they said that the performance gain vs time and effort wasn't worth it to them.
|
|
|
Post by Tinnus on Aug 25, 2006 21:56:08 GMT 1
That GBA emulator is so fast because it uses a DynaRec, JIT, whatever you might want to call it. While most emulators (including TYL) use an interpreter.
|
|
|
Post by prettzv on Aug 26, 2006 11:37:19 GMT 1
How difficult is it to code a DybaRec JIT for a system as complex as the SNES? Especially with the working knowledge this team has?
|
|
|
Post by Tinnus on Aug 27, 2006 3:06:45 GMT 1
Maybe not THAT hard but some things must be held into account.
- The most difficult to emulate parts of the SNES are sound and video, not the CPU. Sound is already in the ME, but video is VEEEEEEEERY slow. So basically the gain would be smaller compared to say GBA which has a much much more complicated CPU. - The emulator is already very fast. The only real benefits would be for the slower cases like coprocessor games, or Mode7-intensive (Like Yoshi's Island or the Mario World boss fights).
|
|
|
Post by prettzv on Aug 27, 2006 16:29:33 GMT 1
Those are the only thing left to optimize it. Anything none mode 7 or multi cpu work awsome atm. Not worth it if the performance gain is minimal though.
|
|
|
Post by seiya60 on Aug 27, 2006 20:43:10 GMT 1
Both the GBA and the Snes emulation is something fantastic on the PSP (on your face nintendo fanboys who said GBA was never gonna be emulated on a PSP). Here in Costa Rica really appreciate all of your effort. Keep up the good work
|
|
|
Post by sandman53 on Aug 30, 2006 11:49:56 GMT 1
Hmm. Im suprised. I thought a dynamic whatever you call it would really help increase the speed of any SNES Emulator. Afterall I think an emulator made specifically for that system would run better than a port of some sort.
I just thought that using an interpreter just wasn't as fast as Dynamic core, or at least the gain would be noticable. Then again I don't know a whole lot about the snes
|
|
|
Post by Tinnus on Aug 30, 2006 19:44:35 GMT 1
Maybe noticeable, but not THAT much.
|
|
|
Post by laxer3a on Sept 2, 2006 1:44:36 GMT 1
Hi... I wrote a LOONNNGGG thread about it before on this forum. (I will add the link later).
Basically the SNES is kind of hard for dynarec because : - Code can be automodifying (a code write itself). In an architecture like MIPS or ARM cpu, you cant do that (because of the pipeline and code CACHE/ data CACHE seperated) So emulator writer goes really simpler.
--> One solution could be to emulate the code in RAM, and JIT the code in ROM.
- The Snes cpu is 1.7 Mhz only : I bet for the moment it takes around 100 Mhz of the main cpu to emulate it (even less probably). The JIT would probably increase the performance by 2 or 3 on the cpu emulation part... but how much TYL would increase in performance... I am not sure.
Most likely a 10% increase in performance globally ? Most of the emu that benefit from JIT are the cpu consuming one : N64 -> 80 Mhz MIPS GBA : 17 Mhz ARM cpu (ARM is annoying to emulate on MIPS : very costly)
This kind of technique would be usefull for the coprocessor as Tinnus said.
|
|
|
Post by prettzv on Sept 2, 2006 12:54:16 GMT 1
That makes sense Thnx
|
|