This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#2911 - (S)NES emulator
Attached to Project:
Rockbox
Opened by RonSijm (ronsijm) - Thursday, 12 January 2006, 23:51 GMT+2
Last edited by Steve Bavin (pondlife) - Friday, 21 September 2007, 14:02 GMT+2
Opened by RonSijm (ronsijm) - Thursday, 12 January 2006, 23:51 GMT+2
Last edited by Steve Bavin (pondlife) - Friday, 21 September 2007, 14:02 GMT+2
|
DetailsWould it be possible to make a (S)nes emulator?
just something like Rockboy, but then for (S)nes roms. I know it will be hard to just make an emulator, but maybe there are already open source NES emulators, so you can just port / edit it so it works on RockBox Gr. Ron |
This task depends upon
I do have to agree it'll be really hard to get to a playable speed...
The problem would be displaying the graphics on the smaller devices, and the coding of the actual emulator.
A NES emulator for the GBC? will wonders ever cease? =D
Brarei, the reason iDarcnes in Ipodlinux works so well is because they're using a part of the ipod (forgot which one, lol :B) to make it run so fast sometimes the sound can't keep up. Something you really need to keep in mind with Rockbox and Ipod Linux; Ipod Linux is only for Ipods. the reason it's (for lack of a better word) better than Rockbox is that they're only working with Ipods, and take advantage of every little part to have excellent performance in programs Rockbox has trouble keeping up with (but at least our Doom has sound >:3 muahaha). Rockbox, on the other hand, is for many different MP3's, and many different functions. that's why Rockboy is slow on the H10, but perfect on the Gigabeat. it's the different systems that make Coding a new program for rockbox in general so difficult.
What I'm saying, Brarei, is to not make too many similarities with Ipodlinux. I like IPL, but it is MUCH different from Rockbox, and you need to keep that in mind when making a technilogical statement or question with Rockbox.
Rockbox is Rockbox and IPL is IPL. done :-)
ahem... getting back on subject...
The graphics and coding difficulty are a given when it comes to anything emulation-related. it's not unique to the nes .
one more thing to think about, Michael. When you aren't playing a Nes emulator on your GBC, play a GBC game. then play that GBC game on an ipod or whatever. notice the difference? As I just said with Brarei, most of the systems that run Rockbox can't run emulators at full speed. and since the GBC is slow, then doesn't that mean the NES'll be slow?
The NES emulator won't be perfect, but I still can't wait to try it.
It's not accurate to say that IPL is better because they are only focused on developing for ipods, and hence take advantage of "every little part".
IMO, the relevant differences are not technical, they are:
1) IPL has active developers with an interest in gaming and emulators. Rockbox doesn't.
2) IPL is split into a distinct kernel and userland, which means they can port non-GPL'd software (such as DarcNES and MAME) to the ipod. Rockbox's all-in-one nature won't allow that, and unfortunately very few emulators are GPL'd.
Good work, though the zip file contains a lot of duplicate code?
I would suggest to you to open a new task (patch, not on feature request) and make an svn diff of your work so that it will be more easy to compile.
Well it is quite awesome, thanks! :)
The nes_rockbox.h only includes defines for the H10 (the same as the original patch) and the Gigabeat (just an initial attempt - maybe they need changing). Maybe others could add definitions for their devices.
Note that the NES needs 8 buttons - the four directions, A, B, select and start. So for example the ipods will probably need the same approach as rockboy - using the wheel as a touchpad to generate 8 different button locations.
*PANIC*
Stkov (6)
i then have to do a hard reboot. i dont believe its a problem with the roms as i can run them on fine on znes. also any .snes games wont show up at all.
i believe the viewer needs to turned into a port of znes just like rockboy is a port of gnuboy.
znes has most if not all the features that i think we would require. Game specific button mapping, grayscale support, full stereo sound, frame skip, save/load, emulation speed etc and it is very fast it doesn't look like that much of a resource hog but it might be a bit of a pain to port but theres Snes9x aswell which is very port friendly apparently.
I've have only been working with rockbox for a few days, but I've been building and tweaking plugin code. I had been looking at the other NES port thread and playing with FCEU code, but this one looks promising.
oh, and 5.5g version, por favor? that'll be so awesome =D
I tweaked the InfoNES_LoadFrame function to access the frame buffer directly on my ipod and it runs faster now. Still not fast enough... I also tweaked a few inner loops in the InfoNes line rendering code, but no major speed gains there. Once I get a bit more, I'll try to put together a patch.
sorry, I'm a little lost, is this the NES emulator everyone's talking about, or an Snes Emulator?
by the way Criznach, I think SNES9x and Znes would be hard to port, since they're higher-end SNES emulators. a low-tech SNES emulator that's GPL'ed would be good
sorry I can't help with Development. My computer has no internet, and I don't think people'll be kosher with me downloading VMware everywhere
http://forums.rockbox.org/index.php?topic=13157.0
This includes:
Optimized 1:1 lcd copy for displays as large as or larger than NES frame buffer.
Changed the #ifdefs around frame buffer copy to toggle 1:1 code when appropriate
Optimized sprite to scanline copy (minimal gain, I suspect).
Forced backlight on.
Wrapped non-simulator-compatible code in #ifdefs.
Grafted some ipod scroll wheel code from rockboy, toggled on with platform #ifdefs.
Added rb->yield() to InfoNes_DrawLine that gets executed each frame.
Nice work anyway, I hope to see more updates.