Homebrew [Release] VirtuaNES for 3DS

  • Thread starter Thread starter bubble2k16
  • Start date Start date
  • Views Views 313,704
  • Replies Replies 501
  • Likes Likes 100
It's a real shame that you chose VirtuaNES as emulator to port considering it's barely any better than Nitendo's own shitty VC in terms of compatibility.
I thought you were going to use FCEU based on the suggestions from SNES9x thread, real disappointment.
Don't get me wrong, I know you did it for free in your spare time but there's hardly any reason to use this over VC NES emulator when their compatibility is basically equally worthless, the only plus of this one is that it supports VRC6 unlike NES VC so at least there's that.

Finally I have some time away from work.

Actually, I tried FCEUX. After some optimisations, the best I got was about 50 fps avg. Hardware acceleration for the GFX seems less trivial than I thought (or maybe I didn't think hard enough). In any case, I didn't want to spend too much time on an NES emulator, so I found VirtuaNES and worked with it. Shitty compatibility, that much I agree. Speed was the important factor - my goal was to have it run on the old 3DS. And I figured it will be much much easier to fix mappers than speed up code, as evident in the more complete implementation of the MMC5 mapper to run Rockman MI and Legend of Link.

Then, I had some luck finding VirtuaNES Up on Github, which fixes some mappers in the original VirtuaNES. Integrated those fixes, made my own fixes, and I also integrated some ROM mapper patches from FCEUX. I did all these in a day.

My current dev version now runs DBZ 2 / 3 RPG (english) and FF7 Demake (english), and some of the Korean ROMs like Buzz and Waldog and Metal Force.

Screen Shot 2017-06-03 at 12.59.35 AM.png
Screen Shot 2017-06-03 at 12.59.57 AM.png


For the benefit of all VirtuaNES for 3DS users, it will be great if you can let me know what other great games have problems, so I can look into them when I get the time. :)

For those who want the hottest beta release:
virtuanes_v0.92b.zip
 

Attachments

Last edited by bubble2k16,
Oh boy, this is great since based on your screenshot it does appear to fix those games. I'll test it as soon as I get home, only got my work laptop with me atm.
 
Ohh man!ur awesome! Finally i can play FFVII on my 3ds!!!
Yeah!!!!!!!


從我的iPhone使用Tapatalk Pro 發送
 
All right, since you asked for it: The european game "Asterix" has glitched backgrounds and sprites. Please look at the picture below.

Also, I don't know if it is my fault, but all PAL releases start with 60 FPS on my 3DS, but this may be due to bad dumps or something...

And lastly, I would really appreciate a "Speed up" function and/or a quicksave function to be available, and that you can map those functions on buttons like L/R or ZL/ZR. That would be amazing!

Thanks for your hard work, I really love the SNES and NES emus ;)

IMG_20170602_221431.jpg
 
All right, since you asked for it: The european game "Asterix" has glitched backgrounds and sprites. Please look at the picture below.

Also, I don't know if it is my fault, but all PAL releases start with 60 FPS on my 3DS, but this may be due to bad dumps or something...

And lastly, I would really appreciate a "Speed up" function and/or a quicksave function to be available, and that you can map those functions on buttons like L/R or ZL/ZR. That would be amazing!

Thanks for your hard work, I really love the SNES and NES emus ;)

View attachment 88817

Glad you liked it.

The thing about NES ROMs is that the only way to identify whether a ROM is PAL or not is through it's filename. So if you rom is named "Asterix (E).nes", with the "(E)" the emulator will run it at 50 fps.

I tried my European version of Asterix and the colors display fine.

Screen Shot 2017-06-03 at 8.48.26 AM.png
 
@bubble2k16 As an Old3DS owner, thank you SO much! So far every game I tried runs flawlessly. I made my own custom top screen (sharing it in case someone wants to use it), and I was wondering if you have plans for adding custom UI colors; also, regarding the top and bottom "garbage lines", it would be fantastic if we could add custom borders to hide them like blarghSNES does; do you think it's possible?

Again thank you very much for your work!
 

Attachments

  • virtuanes_3ds_top.png
    virtuanes_3ds_top.png
    23.6 KB · Views: 584
Heh, I couldn't help playing around with a custom top screen too. Gotta love any personalisation options.

Thanks again for your stellar efforts Bubble!

virtuanes_3ds_top.png
 
  • Like
Reactions: bubble2k16
@bubble2k16
Would it be possible to add full support for the n3ds without having to force overclocking? I believe it is just a matter of changing MaxCpu to 0 and adding a "New3DS Exclusive Process Settings" section (SystemModeExt, CpuSpeed, EnableL2Cache, and CanAccessCore2)
 
I tried my European version of Asterix and the colors display fine.

Thanks for trying, I thought it was a bad dump, but it seems that it has something to do with the filename (!). If it is called Asterix (E).nes, it runs fine, but I always write "Europe" in brackets, and then it gets all messy... Does the Emulator change some settings other than FPS based on the region it detects? Might be useful to me since my naming system for all the files will have to be changed then ;-) If you don't know anything about it, and you have some time, try to change the filename of Asterix and see if the error is replicable on your system. Thanks!
 
Would you mind telling me how you managed to change the top screen?
I'm using the cia version to install but I don't know how to change this.

Just replace the virtuanes_3ds_top.png file with your own. For the cia version this file is read from the root of the sd card.
 
  • Like
Reactions: MattKimura
Finally I have some time away from work.

Actually, I tried FCEUX. After some optimisations, the best I got was about 50 fps avg. Hardware acceleration for the GFX seems less trivial than I thought (or maybe I didn't think hard enough). In any case, I didn't want to spend too much time on an NES emulator, so I found VirtuaNES and worked with it. Shitty compatibility, that much I agree. Speed was the important factor - my goal was to have it run on the old 3DS. And I figured it will be much much easier to fix mappers than speed up code, as evident in the more complete implementation of the MMC5 mapper to run Rockman MI and Legend of Link.

Then, I had some luck finding VirtuaNES Up on Github, which fixes some mappers in the original VirtuaNES. Integrated those fixes, made my own fixes, and I also integrated some ROM mapper patches from FCEUX. I did all these in a day.

My current dev version now runs DBZ 2 / 3 RPG (english) and FF7 Demake (english), and some of the Korean ROMs like Buzz and Waldog and Metal Force.

View attachment 88804 View attachment 88805

For the benefit of all VirtuaNES for 3DS users, it will be great if you can let me know what other great games have problems, so I can look into them when I get the time. :)

For those who want the hottest beta release:
virtuanes_v0.92b.zip

I guess for on, there is the Fceumm mappers to add :http://cah4e3.shedevr.org.ru/fceultra.php . I cannot think of any specific game that doesn't work at the moment--however, Donkey Kong ountry 4 (the bootleg game) doesn't work because its mapper is not supported at the moment. I wanted to play that on 3ds:
 
This looks amazing, and I like the ROM selection GUI as well. I take it this runs great on N3DS... How's the O3DS performance? Anything noticeable between the two? (Or any specific ROMs that experience slowdown on O3DS but not N3DS?)
 
This looks amazing, and I like the ROM selection GUI as well. I take it this runs great on N3DS... How's the O3DS performance? Anything noticeable between the two? (Or any specific ROMs that experience slowdown on O3DS but not N3DS?)
O3DS has great performance, I haven't really encountered anything that slowed down on my 3DS yet XD
 
  • Like
Reactions: Jayro
I know that the first Chip and Dale Rescue Rangers game suffers slowdown, even on real hardware when too many sprites are on-screen. It's the only game I KNOW has slowdown, so I was just curious.
 
Is there a way to set your default buttons permanently?
Re-setting the keys for every single game sucks.
Btw, great job @bubble2k16 :)
+1 to this.
I remember I made the suggestion tio to @bubble2k16 some time ago about adding an option to both of his emus so that you can create a general configuration file for the whole emu instead of one per game.
Though I don't know if that's in his plans or not :p
 
  • Like
Reactions: BL4Z3D247
@bubble2k16 As an Old3DS owner, thank you SO much! So far every game I tried runs flawlessly. I made my own custom top screen (sharing it in case someone wants to use it), and I was wondering if you have plans for adding custom UI colors; also, regarding the top and bottom "garbage lines", it would be fantastic if we could add custom borders to hide them like blarghSNES does; do you think it's possible?

Again thank you very much for your work!

Yes, it's been asked before, but no plans for custom borders. :)

Thanks for trying, I thought it was a bad dump, but it seems that it has something to do with the filename (!). If it is called Asterix (E).nes, it runs fine, but I always write "Europe" in brackets, and then it gets all messy... Does the Emulator change some settings other than FPS based on the region it detects? Might be useful to me since my naming system for all the files will have to be changed then ;-) If you don't know anything about it, and you have some time, try to change the filename of Asterix and see if the error is replicable on your system. Thanks!

Yup when I removed (E) the game's graphics screws up. It's probably a timing issue that causes it to happen. Try and load the file in FCEUX with the (E) removed, the palettes will screw up too.

+1 to this.
I remember I made the suggestion tio to @bubble2k16 some time ago about adding an option to both of his emus so that you can create a general configuration file for the whole emu instead of one per game.
Though I don't know if that's in his plans or not :P

Yes, I intend to do something about it. Hopefully, in the next release.
 
Ive seen in the emu for PSP that their nes emu had a rewind mode. which made the game undo up to a certain amount of frames and input. Would anything like that be possible for the 3ds nes emu?
 

Site & Scene News

Popular threads in this forum