Homebrew [Release] VirtuaNES for 3DS

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
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

  • virtuanes_v0.92b.zip
    1.2 MB · Views: 549
Last edited by bubble2k16,

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
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.
 

kane159

Well-Known Member
Member
Joined
May 28, 2013
Messages
215
Trophies
1
Age
35
XP
1,244
Country
Taiwan
Ohh man!ur awesome! Finally i can play FFVII on my 3ds!!!
Yeah!!!!!!!


從我的iPhone使用Tapatalk Pro 發送
 

Instandhaltung

I feel it. I feel the cosmos!
Member
Joined
Aug 4, 2016
Messages
246
Trophies
0
Age
35
XP
1,952
Country
Germany
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
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
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
 

lolno

New Member
Newbie
Joined
Jun 3, 2017
Messages
4
Trophies
0
Age
53
XP
64
Country
Nigeria
@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: 510

SG6000

Well-Known Member
Member
Joined
Nov 2, 2015
Messages
391
Trophies
0
XP
1,396
Country
United Kingdom
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

nl255

Well-Known Member
Member
Joined
Apr 9, 2004
Messages
3,000
Trophies
2
XP
2,791
Country
@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)
 

Instandhaltung

I feel it. I feel the cosmos!
Member
Joined
Aug 4, 2016
Messages
246
Trophies
0
Age
35
XP
1,952
Country
Germany
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!
 

SG6000

Well-Known Member
Member
Joined
Nov 2, 2015
Messages
391
Trophies
0
XP
1,396
Country
United Kingdom
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

Krem Quay

Well-Known Member
Newcomer
Joined
Aug 24, 2014
Messages
89
Trophies
0
Age
26
XP
231
Country
United States
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:
 

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
12,973
Trophies
4
Location
WA State
Website
ko-fi.com
XP
17,003
Country
United States
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?)
 

BARNWEY

Well-Known Member
Member
Joined
Oct 11, 2016
Messages
1,268
Trophies
0
XP
648
Country
United States
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

Jayro

MediCat USB Dev
Developer
Joined
Jul 23, 2012
Messages
12,973
Trophies
4
Location
WA State
Website
ko-fi.com
XP
17,003
Country
United States
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.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,184
Trophies
2
XP
33,690
Country
Mexico
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

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
@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.
 

lone_wolf323

Well-Known Member
Member
Joined
May 27, 2011
Messages
5,485
Trophies
2
XP
4,928
Country
Canada
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

General chit-chat
Help Users
    rvtr @ rvtr: Spam bots again.