[Release] VirtuaNES for 3DS

Discussion in '3DS - Homebrew Development and Emulators' started by bubble2k16, Mar 23, 2017.

  1. bubble2k16
    OP

    bubble2k16 GBAtemp Fan

    Member
    10
    Jul 25, 2016
    Senegal
    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. Screen Shot 2017-06-03 at 12.59.57 AM.

    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
     

    Attached Files:

    Last edited by bubble2k16, Jun 2, 2017
    Krem Quay, Cid2mizard, sieroi and 9 others like this.
  2. Canzah

    Canzah GBAtemp Fan

    Member
    5
    Jul 8, 2012
    Poland
    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.
     
  3. kane159

    kane159 GBAtemp Regular

    Member
    5
    May 28, 2013
    Taiwan
    Ohh man!ur awesome! Finally i can play FFVII on my 3ds!!!
    Yeah!!!!!!!


    從我的iPhone使用Tapatalk Pro 發送
     
  4. Instandhaltung

    Instandhaltung Advanced Member

    Newcomer
    4
    Aug 4, 2016
    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.
     
  5. bubble2k16
    OP

    bubble2k16 GBAtemp Fan

    Member
    10
    Jul 25, 2016
    Senegal
    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.
     
  6. lolno

    lolno Newbie

    Newcomer
    1
    Jun 3, 2017
    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!
     

    Attached Files:

    elBenyo, bubble2k16 and BARNWEY like this.
  7. SG6000

    SG6000 GBAtemp Fan

    Member
    5
    Nov 2, 2015
    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.
     
    bubble2k16 likes this.
  8. Matalan

    Matalan Advanced Member

    Newcomer
    1
    Apr 29, 2017
    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.
     
  9. nl255

    nl255 GBAtemp Addict

    Member
    8
    Apr 9, 2004
    @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)
     
  10. Instandhaltung

    Instandhaltung Advanced Member

    Newcomer
    4
    Aug 4, 2016
    Germany
    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!
     
  11. SG6000

    SG6000 GBAtemp Fan

    Member
    5
    Nov 2, 2015
    United Kingdom
    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.
     
    MattKimura likes this.
  12. Krem Quay

    Krem Quay Advanced Member

    Newcomer
    2
    Aug 24, 2014
    United States
    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:
     
  13. Jayro

    Jayro MediCat USB and Mini Windows 10 Developer

    Member
    15
    GBAtemp Patron
    Jayro is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 23, 2012
    United States
    Octo Canyon
    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?)
     
  14. BARNWEY

    BARNWEY GBAtemp Maniac

    Member
    4
    Oct 11, 2016
    United States
    O3DS has great performance, I haven't really encountered anything that slowed down on my 3DS yet XD
     
    Jayro likes this.
  15. Jayro

    Jayro MediCat USB and Mini Windows 10 Developer

    Member
    15
    GBAtemp Patron
    Jayro is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Jul 23, 2012
    United States
    Octo Canyon
    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.
     
  16. MineValmont

    MineValmont Newbie

    Newcomer
    1
    Jun 4, 2017
    Cote d'Ivoire
    Is there a way to set your default buttons permanently?
    Re-setting the keys for every single game sucks.
    Btw, great job @bubble2k16 :)
     
    ShadowOne333 likes this.
  17. sieroi

    sieroi GBAtemp Regular

    Member
    3
    Apr 29, 2015
    This emulator is an absolute delight. Really couldn't ask for more.
     
  18. ShadowOne333

    ShadowOne333 GBAtemp Guru

    Member
    19
    Jan 17, 2013
    Mexico
    +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
     
    BL4Z3D247 likes this.
  19. bubble2k16
    OP

    bubble2k16 GBAtemp Fan

    Member
    10
    Jul 25, 2016
    Senegal
    Yes, it's been asked before, but no plans for custom borders. :)

    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.

    Yes, I intend to do something about it. Hopefully, in the next release.
     
    BL4Z3D247 and ShadowOne333 like this.
  20. lone_wolf323

    lone_wolf323 GBAtemp Addict

    Member
    9
    May 27, 2011
    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?
     
Loading...