# Red Dragon 3DS, Nintendo Virtual Boy Emulator Port



## Another World (Nov 21, 2014)

While still highly considered a proof-of-concept, PlanetVB forum member Danielps has released source code for a Red Dragon 3DS Virtual Boy emulator. Guy Perfect, the person behind the coveted VB Sacred Tech Scrolls, has shown interest in making a VB EMU for the 3DS as well. Thanks to Smealum's release, we may see an optimized VB emulator on the 3DS one day soon.

 Red Dragon 3DS Source Code
 Guy Perfect's ARMulation
 Source


----------



## bobmcjr (Nov 21, 2014)

I hope the controls actually work on this one unlike the PSP version. Really want to play Virtual Boy Warioland in proper 3D.


----------



## callmebob (Nov 21, 2014)




----------



## Foxi4 (Nov 21, 2014)

Well that was quick.


----------



## morphius (Nov 21, 2014)

yes yes yes and yes!!!!!


----------



## Canadacdn (Nov 21, 2014)

Yes. _Yeeeeeesssssss._


----------



## weatMod (Nov 21, 2014)

is this in the right section? i saw VB emulator, but no 3ds icon , i thought it might be for 3ds but i wasnt sure till came in here,


----------



## nine0nine (Nov 21, 2014)

just like playing warioware twisted on your cellphone, this was just meant to be.


----------



## Another World (Nov 21, 2014)

weatMod said:


> is this in the right section? i saw VB emulator, but no 3ds icon , i thought it might be for 3ds but i wasnt sure till came in here,



We don't have those sections for front page news. It is homebrew news, so its posted in that area of GBAtemp news.

-another world


----------



## tbb043 (Nov 21, 2014)

Won't be the same without the eyestrain.




Spoiler



It will be better


----------



## Buck_7 (Nov 22, 2014)

Amazing!


----------



## DinohScene (Nov 22, 2014)

That...
Oh yes <3


----------



## stanleyopar2000 (Nov 22, 2014)

O...M.G please tell me it's 3D capable


----------



## Jao Chu (Nov 22, 2014)

I have never played a virtual boy, hell I've never viewed the console in real life. Can't wait to use this emulator on the 3DS when it's in a playable state. Nice work!


----------



## loco365 (Nov 22, 2014)

I'm trying to build the source, however, GCC is giving me a headache right now...


----------



## LinkmstrYT (Nov 22, 2014)

Can't wait to play Wario Land on it.


----------



## Vappy (Nov 22, 2014)

I've got it compiled and 'working', though it doesn't work too far. Opens, shows this, then freezes.


Spoiler










On the plus side, at least got installed as a .cia with a funky banner I made


Spoiler


----------



## bobmcjr (Nov 22, 2014)

Vappy said:


> I've got it compiled and 'working', though it doesn't work too far. Opens, shows this, then freezes.
> 
> 
> Spoiler
> ...


 
Did you copy the contents of a ROM into a byte pointer called vbrom_bin in a file called vbrom_bin.h? It should also contain vbrom_bin_size as the size of that array as an unsigned int. NOFS is currently defined by default in main.h, the comment next to it says that reading files from the SD card is currently broken so they have to be included this way.


----------



## Vappy (Nov 22, 2014)

bobmcjr said:


> Did you copy the contents of a ROM into a byte pointer called vbrom_bin in a file called vbrom_bin.h? It should also contain vbrom_bin_size as the size of that array as an unsigned int. NOFS is currently defined by default in main.h, the comment next to it says that reading files from the SD card is currently broken so they have to be included this way.


I hadn't done any of that, no, there wasn't any mention of it in any readme and I neglected to check the code for comments, I just assumed even if it didn't load a game it'd run in some capacity. Any chance you'd mind describing the steps you mentioned in a more noob-friendly way?


----------



## Disco (Nov 22, 2014)

Oh I want this so bad! VB emu in 3D


----------



## danielps (Nov 22, 2014)

Vappy said:


> I hadn't done any of that, no, there wasn't any mention of it in any readme and I neglected to check the code for comments, I just assumed even if it didn't load a game it'd run in some capacity. Any chance you'd mind describing the steps you mentioned in a more noob-friendly way?


 

Thanks for testing it! You don't have to do anything, the makefile does it for you.
I pushed a possible fix, could anyone try it out?


----------



## Vappy (Nov 22, 2014)

Still seems to be freezing on frame 1 or 2.


----------



## danielps (Nov 22, 2014)

Try now. This time citra doesn't give any errors (there were some "unknown read32" messages I didn't know about before).
If it works, you should see some graphics after frame 3 and when you press start it will take you to an input test. I would also like to know the speed.


----------



## Jayro (Nov 22, 2014)

Souldn't be too difficult to make the emulator work nearly 100% to the original hardware, since the game library is so damn small. (22 games)


----------



## HtheB (Nov 22, 2014)

danielps said:


> Try now. This time citra doesn't give any errors (there were some "unknown read32" messages I didn't know about before).
> If it works, you should see some graphics after frame 3 and when you press start it will take you to an input test. I would also like to know the speed.


Do you have a compiled version?
Would be easier for us to test


----------



## Coto (Nov 22, 2014)

brilliant!

keep up the good work devs


----------



## danielps (Nov 22, 2014)

HtheB said:


> Do you have a compiled version?
> Would be easier for us to test


 

This one has 3D enabled. I will remove it once I get some feedback, since there's nothing you can do with it at the moment.


----------



## HtheB (Nov 22, 2014)

danielps said:


> This one has 3D enabled. I will remove it once I get some feedback, since there's nothing you can do with it at the moment.
> https://drive.google.com/file/d/0BxgSVhjUzGs2Ykl1YVU2YzRZa2c/view?usp=sharing


 
Thanks for the 3DSX file, do you also have a CIA file?


----------



## SLiV3R (Nov 22, 2014)

Wow! That was fast! This is one of the most wanted emus for the 3DS for sure. Good luck


----------



## danielps (Nov 22, 2014)

HtheB said:


> Thanks for the 3DSX file, do you also have a CIA file?


 

I don't, sorry. I can try to make one if you need it...


----------



## HtheB (Nov 22, 2014)

danielps said:


> I don't, sorry. I can try to make one if you need it...


Yeah, it works better for Gateway users


----------



## HtheB (Nov 22, 2014)

danielps said:


> This one has 3D enabled. I will remove it once I get some feedback, since there's nothing you can do with it at the moment.
> https://drive.google.com/file/d/0BxgSVhjUzGs2Ykl1YVU2YzRZa2c/view?usp=sharing


This file crashes also on Frame2


----------



## Vappy (Nov 22, 2014)

danielps said:


> This one has 3D enabled. I will remove it once I get some feedback, since there's nothing you can do with it at the moment.
> https://drive.google.com/file/d/0BxgSVhjUzGs2Ykl1YVU2YzRZa2c/view?usp=sharing


 
Still freezing in the same place, trying both your precompiled copy and one I built from source. Sorry I can't be more helpful! I also notice that yours is ~1MB larger than my build?



HtheB said:


> Yeah, it works better for Gateway users


 
http://puu.sh/d13ng/57ed21247d.cia Here's a .cia of the latest version.


----------



## HtheB (Nov 22, 2014)

Vappy said:


> http://puu.sh/d13ng/57ed21247d.cia Here's a .cia of the latest version.



This one works!!!
But 3D is off in this build?


----------



## danielps (Nov 22, 2014)

Vappy said:


> Still freezing in the same place, trying both your precompiled copy and one I built from source. Sorry I can't be more helpful! I also notice that yours is ~1MB larger than my build?


Thanks. The file's bigger because there's another rom compiled into it, but it's not being used or anything.
Anyway, it's strange because it works perfectly both on 3dmoo and citra. I'll have to look into it.



HtheB said:


> This one works!!!
> But 3D is off in this build?


Does it show the "Reality Boy" screen? If you press start, do the buttons work? How's the speed?


----------



## HtheB (Nov 22, 2014)

danielps said:


> Does it show the "Reality Boy" screen? If you press start, do the buttons work? How's the speed?


Yes, and when I press the start button, I see the VB controller, but then, nothing works (it doesnt crash since I see the frame still counting)


----------



## loco365 (Nov 22, 2014)

danielps said:


> Does it show the "Reality Boy" screen? If you press start, do the buttons work? How's the speed?


 
I pressed Start and I now see a Virtual Boy controller, and the framecounter still goes up, but that's all.


----------



## Vappy (Nov 22, 2014)

I actually skipped checking the .cia version of the latest build, when the .3dsx one failed I just assumed the .cia one would too. My bad


----------



## Maxternal (Nov 22, 2014)

Loving the concept, vb emu on 3ds, and maybe ive just been out of the loop for too long but wasnt mednafen already open sourced AND providing more efficient emulation already¿,
I just thought it would have been the obvious choice for this.
Of course, maybe this was a lot easier to port.
Great news either was, though


----------



## kane159 (Nov 22, 2014)

WOW,nice to see this coming out, am setting my toolchain ,i'll report later when i finish build and run it


----------



## danielps (Nov 22, 2014)

HtheB said:


> Yes, and when I press the start button, I see the VB controller, but then, nothing works (it doesnt crash since I see the frame still counting)


 I must be doing the input wrong. It's hard to test on an emulator because it runs at about 0.5 fps. How fast is it for you?



Team Fail said:


> I pressed Start and I now see a Virtual Boy controller, and the framecounter still goes up, but that's all.


 That's all the rom has. The buttons should change colours when you press them. Until I get the filesystem code working, you need to add the rom to data/vbrom.bin, "make clean" and "make". The code for scaling bitmaps is still not working properly, so don't expect to run anything too complex yet.



Maxternal said:


> Loving the concept, vb emu on 3ds, and maybe ive just been out of the loop for too long but wasnt mednafen already open sourced AND providing more efficient emulation already¿,
> I just thought it would have been the obvious choice for this.
> Of course, maybe this was a lot easier to port.
> Great news either was, though


I tried it too. In fact, it had a better codebase to start with. I think I decided to use Red Dragon because I'm not too familiar with C++ and the allegro library is simpler.

Anyway, thanks to everyone who tested it. Does anybody have any idea why the 3dsx wouldn't work?


----------



## loco365 (Nov 22, 2014)

danielps said:


> That's all the rom has. The buttons should change colours when you press them. Until I get the filesystem code working, you need to add the rom to data/vbrom.bin, "make clean" and "make". The code for scaling bitmaps is still not working properly, so don't expect to run anything too complex yet.


 
Yeah, pressing buttons does nothing, the buttons don't change color at all. I think you're on the right track with input though, since it recognises the Start button to actually get there.


----------



## danielps (Nov 22, 2014)

Team Fail said:


> Yeah, pressing buttons does nothing, the buttons don't change color at all. I think you're on the right track with input though, since it recognises the Start button to actually get there.


 
Actually, input works now, I just pushed a fix. The keymapping needs to be tweaked though...


----------



## HtheB (Nov 22, 2014)

danielps said:


> I must be doing the input wrong. It's hard to test on an emulator because it runs at about 0.5 fps. How fast is it for you?
> 
> 
> That's all the rom has. The buttons should change colours when you press them. Until I get the filesystem code working, you need to add the rom to data/vbrom.bin, "make clean" and "make". The code for scaling bitmaps is still not working properly, so don't expect to run anything too complex yet.
> ...


 

I made a short video showing how it looks like on real hardware:

(still uploading at the time of posting) Uploaded!

Edit: I noticed something after testing it again: Not only the Start button, but pressing ANY button (besides the Circple pad) brings up the "controller" on the screen...


----------



## kane159 (Nov 22, 2014)

hummm i build the latest git clone in 3dsx and run on my 3DS LL(9.2.0-20J) with cubic ninja card and it just force reboot the system :/ maybe it only work for CIA install?
================================================
ok, finally build a cia version and it works, non crash and all buttons but Circple pad works back to the home screen works too  am so exciting to see how this will do hope we can set the red layout in the future  anyway keep on going bro


----------



## danielps (Nov 22, 2014)

kane159 said:


> hummm i build the latest git clone in 3dsx and run on my 3DS LL(9.2.0-20J) with cubic ninja card and it just force reboot the system :/ maybe it only work for CIA install?
> ================================================
> ok, finally build a cia version and it works, non crash and all buttons but Circple pad works back to the home screen works too  am so exciting to see how this will do hope we can set the red layout in the future  anyway keep on going bro


 
Thanks! In vb_set.c you can change PALMODE to PAL_RED for the red palette and DSPMODE to DM_3D to enable 3D.


----------



## kane159 (Nov 22, 2014)

danielps said:


> Thanks! In vb_set.c you can change PALMODE to PAL_RED for the red palette and DSPMODE to DM_3D to enable 3D.


THX man !! likes the red layout, a lil wired thing is i also change DSPMODE to DM_3D but my 3DS's(US Version with GW 9.2.0-20 U) 3d little light didnt turn on :/ really strange
also try to replace som rom file and it just freeze  (yea, i dont expect that this very early build will work, just give it a shot )


----------



## Vappy (Nov 22, 2014)

Got Flappy Cheep Cheep loaded  Seems to run about 3-4fps, so slightly better than under citra? Same as kane159, enabling 3D didn't seem to work.
Tried to load Wario Land and Teleroboxer, froze at frame 0.


----------



## Joderb (Nov 23, 2014)

I am so super stoked for this! Even though I have a Virtual Boy and Flash Boy, I would totally love to play VB portably. That way I don't get those crazy looks from everyone in the break room at work like I did when I brought in the full thing lol. And Bound High portable!!


----------



## AkiraCast (Nov 23, 2014)

Jack Brothers in 3D  I patiently await the day!


----------



## danielps (Nov 23, 2014)

Vappy said:


> Got Flappy Cheep Cheep loaded  Seems to run about 3-4fps, so slightly better than under citra? Same as kane159, enabling 3D didn't seem to work.
> Tried to load Wario Land and Teleroboxer, froze at frame 0.




3D should be fixed now. It's also possible to set the frameskip changing FRMSKIP in vb_set.c
Wario Land seems to work fine under Citra but it has some graphical glitches.


Spoiler


----------



## weatMod (Nov 23, 2014)

"





Joderb said:


> I am so super stoked for this! Even though I have a Virtual Boy and Flash Boy, I would totally love to play VB portably. That way I don't get those crazy looks from everyone in the break room at work like I did when I brought in the full thing lol. And Bound High portable!!


 
"in the break room at work like I did when I brought in the full thing "
you didn't
TOKEY NOOOO!


----------



## Vappy (Nov 23, 2014)

danielps said:


> 3D should be fixed now. It's also possible to set the frameskip changing FRMSKIP in vb_set.c
> Wario Land seems to work fine under Citra but it has some graphical glitches.


 
Frameskip and 3D both working now  Though the 3D is a little jarring, with it being either off or at maximum depth. Tried a few more games, V Tetris loads and plays fine, Wario Land and Teleroboxer both crash immediately before even the bottom screen displays anything. Loading the .3dsx through Ninjhax still crashes at the first frame.

EDIT: And the 3D seems to cause some graphical glitching, eg. in Flappy it causes an extra pipe to be visible, though I'm not sure whether that's because of the emulator, or the game. It didn't seem to cause any similar issues in V Tetris.

With the 3D off


Spoiler










 
And with it on, from two angles


Spoiler













 
http://puu.sh/d2E3g/b83d98bb7a.jpg .3dsx and .cia versions of the latest build with 3D on if anyone else wants to try


----------



## ShadowOne333 (Nov 23, 2014)

the_randomizer said:


> That's what she said
> In all seriousness, that was pretty danged fast, good to see more emulators.


 
Even better, good to see the most infamous Nintendo "handheld" finally getting a proper treatment in a 3D handheld. 
It's like a match made in Heaven!


----------



## DoJo_Master (Nov 23, 2014)

Ok I'm a real noob at this and I'm sorry im wasting your guys's time but I'm having troubles trying to get it to run.
I put the folder in the 3ds folder on the sdcard and luanched the homebrew but I dont didnt see the emulater, mind you I did extract the folder... What am I doing wrong?


----------



## cvskid (Nov 23, 2014)

DoJo_Master said:


> Ok I'm a real noob at this and I'm sorry im wasting your guys's time but I'm having troubles trying to get it to run.
> I put the folder in the 3ds folder on the sdcard and luanched the homebrew but I dont didnt see the emulater, mind you I did extract the folder... What am I doing wrong?


Where did you manage to get the emulator from? I do not see any links on the front page to download it.


----------



## DoJo_Master (Nov 23, 2014)

I downloaded it from his source code  Red Dragon 3DS Source Code


----------



## cvskid (Nov 23, 2014)

DoJo_Master said:


> Ok I'm a real noob at this and I'm sorry im wasting your guys's time but I'm having troubles trying to get it to run.
> I put the folder in the 3ds folder on the sdcard and luanched the homebrew but I dont didnt see the emulater, mind you I did extract the folder... What am I doing wrong?


I think i see what the problem is, only thing i could find on that page you linked is the source code and in that folder there is no .3dsx file so nothing will show up in the homebrew launcher menu.


----------



## DoJo_Master (Nov 23, 2014)

cvskid said:


> I think i see what the problem is, only thing i could find on that page you linked is the source code and in that folder there is no .3dsx file so nothing will show up in the homebrew launcher menu.


 
Oh ok gotchya!


----------



## the_randomizer (Nov 23, 2014)

ShadowOne333 said:


> Even better, good to see the most infamous Nintendo "handheld" finally getting a proper treatment in a 3D handheld.
> It's like a match made in Heaven!


 

Hopefully this time it would give people eye strain and motion sickness!


----------



## Belmondo (Nov 24, 2014)

OfficerJeffrey said:


> Jack Brothers in 3D  I patiently await the day!


 

This is awesome! I have always wanted to play jack brothers in 3D!


----------



## shadow1w2 (Nov 24, 2014)

Been waiting a long time.
Sad Nintendo failed to do this first as they would have made some money easily.

Hoping we'll see a way to add color to the game graphics now that we can play them on a true 3D screen.
I'm ready to start coloring in all the graphics in all the games in case such a feature can happen. :3

Also hope this will give the Virtual Boy homebrew scene a little boost or at least encourage Virtual Boy styled games just for the fun of it. :3


----------



## HtheB (Nov 24, 2014)

shadow1w2 said:


> Been waiting a long time.
> Sad Nintendo failed to do this first as they would have made some money easily.
> 
> Hoping we'll see a way to add color to the game graphics now that we can play them on a true 3D screen.
> ...


I wont burst your dream bubble... so have fun coloring in "Red Alarm".


----------



## shadow1w2 (Nov 24, 2014)

HtheB said:


> I wont burst your dream bubble... so have fun coloring in "Red Alarm".


I'll do it! xD

With the vectors like that game has I'd imagine a simple color overlay system might work but then again that would be a rather difficult game to colorize.
Probably would need a hack to help tell the emulator where to paint over the colors but even then it would be very limited and probably not worth the effort. (easier in photoshop xD)

Still a fun one, love that game.

I'm mostly thinking of the more sprite based one like the Mario and Wario games.
Then it would just be a matter of overlaying tiles or the like.

Then again that mind numbing red color is rather nostalgic.


----------



## danielps (Nov 24, 2014)

I just pushed a fix that doesn't give any memory errors on roms like Teleroboxer (at least on citra). I don't think this fixes the 3dsx problem but it's worth a try. There should also be a slight speed improvement.


----------



## HtheB (Nov 24, 2014)

danielps said:


> I just pushed a fix that doesn't give any memory errors on roms like Teleroboxer (at least on citra). I don't think this fixes the 3dsx problem but it's worth a try. There should also be a slight speed improvement.


got the Cia file for us?


----------



## loco365 (Nov 24, 2014)

Here's a 3DSX in case anyone wants to try it: https://dl.dropboxusercontent.com/u/34957059/r3Ddragon-master.3dsx

I haven't tested it myself, as I just built it moments ago.

Edit: Goes to the second frame, then boots me to the system menu with "An error has occurred, forcing the software to close. The system will now restart."


----------



## Vappy (Nov 25, 2014)

danielps said:


> I just pushed a fix that doesn't give any memory errors on roms like Teleroboxer (at least on citra). I don't think this fixes the 3dsx problem but it's worth a try. There should also be a slight speed improvement.


 
Thanks for the update! Just tried with Teleroboxer again and it was able to get in game, navigate the menus, but froze once a round started. Also a few graphical glitches with the 3D turned on.


----------



## cvskid (Nov 25, 2014)

Anyone happened to have either a icon.bin or a .smdh file that goes with this emulator for the .3dsx verson?


----------



## Vappy (Nov 25, 2014)

cvskid said:


> Anyone happened to have either a icon.bin or a .smdh file that goes with this emulator for the .3dsx verson?


 
Here http://puu.sh/d4lje/196b630d33.smdh

Although I just tried the .3dsx version, similar error to Team_Fail, it gets to Frame 1 and freezes.


----------



## codezer0 (Nov 25, 2014)

I eagerly await until this is able to play well on the system; if anything, the 3DS seems a natural fit for handling VB emulation in a way nothing else could.


----------



## cvskid (Nov 25, 2014)

Vappy said:


> Here http://puu.sh/d4lje/196b630d33.smdh
> 
> Although I just tried the .3dsx version, similar error to Team_Fail, it gets to Frame 1 and freezes.


That link just opens up to a bunch of black question marks, letters, and symbols.


----------



## Vappy (Nov 25, 2014)

cvskid said:


> That link just opens up to a bunch of black question marks, letters, and symbols.


 
Try right-click, save link as?


----------



## cvskid (Nov 25, 2014)

Vappy said:


> Try right-click, save link as?


Thank you, that worked.


----------



## EMP Knightmare (Nov 25, 2014)

Everyone's a fan of the VB all of a sudden

Mario Tennis FTW


----------



## hippy dave (Nov 25, 2014)

Vappy said:


> Thanks for the update! Just tried with Teleroboxer again and it was able to get in game, navigate the menus, but froze once a round started. Also a few graphical glitches with the 3D turned on.


 
Please could you share your latest build? Cheers!

Great work daniel, keep it up!


----------



## loco365 (Nov 25, 2014)

EMP Knightmare said:


> Everyone's a fan of the VB all of a sudden
> 
> Mario Tennis FTW


 
I played Wario Land on my Wii, but I've always wanted to play it in 3D, so this is a nice thing to see. I'll finally be able to play it the way it was intended!


----------



## Vappy (Nov 25, 2014)

hippy dave said:


> Please could you share your latest build? Cheers!
> 
> Great work daniel, keep it up!


I can post it built with homebrew/public domain ROMs, but no commercial games.http://puu.sh/d4zzh/6f2839812e.zip Here's two copies, one with Flappy Cheep Cheep, one with Vue Snake.


----------



## hippy dave (Nov 25, 2014)

Good point. Thanks mate!


----------



## jurai (Nov 25, 2014)

great to see that the 3d is already working


----------



## hippy dave (Nov 25, 2014)

Arg, trying to build, but makerom tells me the elf's section size is too large, even after I've stripped it.


----------



## Raverrevolution (Nov 25, 2014)

I just want to thank you guys very much for working on this.  I wish I knew what I was doing and could help out.  
I tried running that last compiled version that was posted and it just booted me back out to the home screen fyi.  I was actually expecting it to freeze as it did with others.

This is going to be so awesome when it's done.  Thanks again!!


----------



## spinal_cord (Nov 26, 2014)

Looking good so far (I assume, can't test it). Has anyone managed to get it past frame 2 in a 3dsx version?


----------



## loco365 (Nov 27, 2014)

spinal_cord said:


> Looking good so far (I assume, can't test it). Has anyone managed to get it past frame 2 in a 3dsx version?


 
I've been building the 3dsx versions and testing them, in fact, I'm building the latest code push and am going to test it on my XL.

Edit: I can't seem to get any .VB files to load, although it seems preliminary SD card support is being added. Is there any particular directory they're to go into, or...?


----------



## Vappy (Nov 27, 2014)

Team Fail said:


> Edit: I can't seem to get any .VB files to load, although it seems preliminary SD card support is being added. Is there any particular directory they're to go into, or...?


 
ROMs show if I put them on the SD root, but the emulator crashes trying to load them. .3dsx version just hangs, installed .cia crashes back to sysNAND.


----------



## danielps (Nov 27, 2014)

Team Fail said:


> I've been building the 3dsx versions and testing them, in fact, I'm building the latest code push and am going to test it on my XL.
> 
> Edit: I can't seem to get any .VB files to load, although it seems preliminary SD card support is being added. Is there any particular directory they're to go into, or...?


 
Right now it only looks in the root of the SD. I just wanted to get the basics working for now.



Vappy said:


> ROMs show if I put them on the SD root, but the emulator crashes trying to load them. .3dsx version just hangs, installed .cia crashes back to sysNAND.


 
What if you "git checkout 84fb862"? You have to copy vbrom.bin to /rom.vb for it to work.


----------



## Vappy (Nov 27, 2014)

danielps said:


> What if you "git checkout 84fb862"? You have to copy vbrom.bin to /rom.vb for it to work.


 
Built with a copy of V Tetris as the vbrom.bin under data, and a copy of it in the SD root. Latest build fails as I said, commit 84fb862 crashes before reaching the menu.


----------



## loco365 (Nov 27, 2014)

Vappy said:


> Built with a copy of V Tetris as the vbrom.bin under data, and a copy of it in the SD root. Latest build fails as I said, commit 84fb862 crashes before reaching the menu.


 

I'm using commit 84c85711f8 and I have "rom.vb" on the root of the SD card (Seems to work now). It works properly, however, selecting the rom crashes the application and boots me back to the system menu.

Methinks it has an issue with allocating memory or something upon launch of the VB rom.


----------



## danielps (Nov 28, 2014)

Well, I'm stuck. I'll look into it when I have time.
The good news is that I might be getting a copy of CN after being told by the Amazon seller that they didn't have any stock.
The bad news is that I have exams coming up and I won't be having a lot of free time until Christmas or so.


----------



## kargath (Feb 14, 2015)

Sorry to necro this,  but was curious if there's been any progress made?  This project is something I've been hoping for since the 3ds first arrived.


----------



## SLiV3R (Feb 14, 2015)

It has been updated a couple of times last month at github.  Last update is 10 days ago....


----------



## RevPokemon (Feb 14, 2015)

kargath said:


> Sorry to necro this, but was curious if there's been any progress made? This project is something I've been hoping for since the 3ds first arrived.




https://github.com/mrdanielps/r3Ddragon

Last comment there was a month ago


----------



## danielps (Feb 14, 2015)

kargath said:


> Sorry to necro this, but was curious if there's been any progress made? This project is something I've been hoping for since the 3ds first arrived.


 
I've been posting the progress here: https://github.com/mrdanielps/r3Ddragon/wiki/Current-progress

Basically, I've fixed the problem with ninjhax and a few bugs, worked on rewriting the interpreter core in assembly, realised it wasn't giving a big performance boost and my 3DS broke.
After taking it to repair I started working on the dynamic recompiler and two weeks ago they told me they couldn't fix it.

I'm still working on it but I'm a little bit busy with other stuff right now. If anyone wants to take a look at it there's a "dynarec" branch on github, although I wouldn't advise anyone to use it unless they want to contribute. Only a few homebrew demos work properly, it has huge memory leaks (there's no proper cleanup because I'm lazy) and it's not that fast (a 2X improvement in the best case) because I'm focusing on getting things translated properly before optimizing it.

I'll make a proper release thread once I think it deserves one.

Also, I've got a N3DS now.


----------



## ShadowOne333 (Feb 14, 2015)

Has someone compiled the latest build and see how well it performs?


----------



## danielps (Feb 14, 2015)

ShadowOne333 said:


> Has someone compiled the latest build and see how well it performs?


 
Here's a quick comparison between the interpreter and the dynarec (based on the ROM you can see here: ):
Spash screen: 3.7 ->  7.8 fps
Controller test: 5.9 -> 7.75 fps

It's not a huge difference but the current code is much more optimizable, so I'm pretty sure it will be better in the next few months.


----------



## ShadowOne333 (Feb 14, 2015)

danielps, thanks for the video!
Good thing is that there is still being worked on at a normal pace, but it will be very fruitful at the end.


----------



## danielps (Feb 14, 2015)

ShadowOne333 said:


> danielps, thanks for the video!
> Good thing is that there is still being worked on at a normal pace, but it will be very fruitful at the end.


 
Just to clarify, that video was recorded by HtheB back in November.


----------



## Smoker1 (Mar 15, 2015)

Has there been any progress with this Emulator? Would love to have this on my N3DS


----------



## danielps (Mar 15, 2015)

Smoker1 said:


> Has there been any progress with this Emulator? Would love to have this on my N3DS


 

Progress has been slow because I'm busy with class.

The dynarec is doing well. In fact, I fixed a few crashes and graphical glitches yesterday.
Most ROMs won't work yet and debugging can be a pain. I'l probably make a compatibility list on the github wiki later next week (there's one already for the interpreter).
I'm focusing on getting flappy cheep-cheep working in-game for now and it's getting close. It gets to the menu screen but crashes when starting on real hardware.
However, on 3dmoo it works perfectly, except that pipes change position every frame, which would make it extremely hardcore I guess...

It's nowhere near full speed yet but the fps values I posted the other day should actually be doubled because timing is broken and display interrupts aren't triggered at the right time.
Software rendering is really slow too, so that's another thing I need to fix before releasing something decent.


----------



## Smoker1 (Mar 16, 2015)

Awesome. I swear Wario Land is going to be great on the 3DS


----------



## Smoker1 (Mar 23, 2015)

Will you have this as .3ds, .3dsx and/or .cia ? CIA Format will actually be best due to more Permissions to Sound, Sleep Mode, and Home Button. Not to mention some Homebrew work better as .cia


----------



## danielps (Mar 23, 2015)

Smoker1 said:


> Will you have this as .3ds, .3dsx and/or .cia ? CIA Format will actually be best due to more Permissions to Sound, Sleep Mode, and Home Button. Not to mention some Homebrew work better as .cia


 

Right now it will only work as a 3dsx because the dynarec needs to change memory permissions, and that's provided by ninjhax.
I believe a CIA would be possible, but I don't have a GW to test.


----------



## Smoker1 (Mar 23, 2015)

Well if you need a tester, I can help out to test how things are with it


----------



## AlanWeird (Mar 23, 2015)

Oh dear god. I had no idea this was in the works.

Finally. Virtual boy wario land.


----------



## danielps (Mar 24, 2015)

Smoker1 said:


> Well if you need a tester, I can help out to test how things are with it


 

Well, to be honest, I don't need testers right now. The reason is that almost every ROM will crash at some point, so to pinpoint an issue it has to be carefully debugged on an emulator. Each game breaks the dynarec in a completely different and unimaginable way.

I'll let people know once it's stable enough, probably in a new thread over at the homebrew section.


----------



## Smoker1 (Mar 24, 2015)

Well hopefully Citra 3DS accelerates it's progress. I read somewhere that Homebrew works to a point, and they were able to get a actual 3DS Game running somewhat. Getting far ahead than anyone expected.


----------



## Disco (May 1, 2015)

So....is this thing developed...or...?


----------



## danielps (May 1, 2015)

Disco said:


> So....is this thing developed...or...?


 
Yes. I just can't work on it as much as I'd like because I'm busy with class.


----------



## Disco (May 1, 2015)

Ok, Thanks


----------



## Smoker1 (May 1, 2015)

Well hopefully you will be able to work on it later when you are not busy with School


----------



## hippy dave (Jun 9, 2015)

Hey @danielps, really happy to see some fresh commits!  Let me know if I can help testing/debugging. The current github source doesn't get further than starting rom execution but not displaying anything, you probably know that already but if that's not what you're expecting then I can try and pin it down further.


----------



## danielps (Jun 10, 2015)

hippy dave said:


> Hey @danielps, really happy to see some fresh commits!  Let me know if I can help testing/debugging. The current github source doesn't get further than starting rom execution but not displaying anything, you probably know that already but if that's not what you're expecting then I can try and pin it down further.


The current source should work, but only with very specific ROMs, like Reality Boy Demo 1 (I've heard it's what all the cool kids are playing these days).
It's still far from optimized. In fact, at this point I'm not even sure the 3DS can handle VB emulation tbh, at least without a ton of optimization.

Anyway, if anyone's bored and wants to lend a hand debugging the dynarec, all you need is knowledge of V810 and ARM assembly. PM me for details. It's "fun"...


----------



## hippy dave (Jun 10, 2015)

danielps said:


> The current source should work, but only with very specific ROMs, like Reality Boy Demo 1 (I've heard it's what all the cool kids are playing these days).
> It's still far from optimized. In fact, at this point I'm not even sure the 3DS can handle VB emulation tbh, at least without a ton of optimization.
> 
> Anyway, if anyone's bored and wants to lend a hand debugging the dynarec, all you need is knowledge of V810 and ARM assembly. PM me for details. It's "fun"...


Ah cool, I just tried that demo and actually it crashed at the same point, but maybe that's just me.
I don't know either of those languages, but I have a general understanding of assembly from x86 and others from the old days, so maybe I'll look into it if I find time. Keep up the good work anyway


----------



## danielps (Jun 10, 2015)

hippy dave said:


> Ah cool, I just tried that demo and actually it crashed at the same point, but maybe that's just me.
> I don't know either of those languages, but I have a general understanding of assembly from x86 and others from the old days, so maybe I'll look into it if I find time. Keep up the good work anyway


I forgot to mention that you have to uncomment HB_FlushInvalidateCache in drc_core.c for it to work on an actual 3DS.


----------



## hippy dave (Jun 10, 2015)

danielps said:


> I forgot to mention that you have to uncomment HB_FlushInvalidateCache in drc_core.c for it to work on an actual 3DS.


Ok thanks, yay the demo runs


----------



## ShadowOne333 (Jun 10, 2015)

Can't wait to play my beloved Wario Land, Mario Clash and Mario Tennis with revitalized 3D in my 3DS.


----------



## Smoker1 (Jun 11, 2015)

I seriously want Wario Land. But if possible, would there be a way to incorporate the CHT File so I could have Infinite Time?


----------



## danielps (Jun 13, 2015)

Here's a progress video.
The low frame rate is because the dynarec isn't optimized and hardware rendering isn't implemented yet.


----------



## Smoker1 (Jun 13, 2015)

Great work. Cant wait


----------



## loco365 (Aug 11, 2015)

Decided to boot up Ninjhax today and was reminded of this, so I decided to come back and see what was happening with this emulator. @danielps, you mention that Wario Land runs decently, is that on the Old 3DS or New 3DS? I wouldn't mind getting it built after I reinstall devkitpro (I did a clean install of Windows 10 the other week).


----------



## danielps (Aug 11, 2015)

Team Fail said:


> Decided to boot up Ninjhax today and was reminded of this, so I decided to come back and see what was happening with this emulator. @danielps, you mention that Wario Land runs decently, is that on the Old 3DS or New 3DS? I wouldn't mind getting it built after I reinstall devkitpro (I did a clean install of Windows 10 the other week).


Wario Land doesn't work at the moment. The only commercial games that boot are Mario Tennis and Bound High, but they won't work in-game. It does run on RetroArch however, at about 50% speed on a N3DS with ninjhax 2.0, so you might want to build that instead.
I don't expect r3Ddragon to be playable until there's a way to get either the N3DS speedup on ninjhax 1.1b or dynamic recompilation on 2.0.


----------



## loco365 (Aug 11, 2015)

danielps said:


> Wario Land doesn't work at the moment. The only commercial games that boot are Mario Tennis and Bound High, but they won't work in-game. It does run on RetroArch however, at about 50% speed on a N3DS with ninjhax 2.0, so you might want to build that instead.
> I don't expect r3Ddragon to be playable until there's a way to get either the N3DS speedup on ninjhax 1.1b or dynamic recompilation on 2.0.


Ah. I still have an O3DS so I'm basically SOL for anything regardless right now because a lot of emulators are making use of that extra power and I'm sitting here trying to get a job to get one. I do hope that I can secure a N3DS though, perhaps for the use of Ninjhax 2.0.


----------



## danielps (Aug 15, 2015)

So I recorded this, but I wanted to clarify something first.

I was curious to see the emulator running at full speed, so I used NTR CFW to patch ninjhax2's process and, just as expected, it was 3 times faster.
Now, before anyone makes a big deal out of this, keep in mind that booting NTR -> Cubic Ninja -> Ninjhax 2.0 -> Patching is a huge pain in the neck (and a crappy solution) and there will eventually be a way for dynarec emulators to benefit from the N3DS speedup.

Anyway, enjoy!


----------



## loco365 (Aug 15, 2015)

danielps said:


> So I recorded this, but I wanted to clarify something first.
> 
> I was curious to see the emulator running at full speed, so I used NTR CFW to patch ninjhax2's process and, just as expected, it was 3 times faster.
> Now, before anyone makes a big deal out of this, keep in mind that booting NTR -> Cubic Ninja -> Ninjhax 2.0 -> Patching is a huge pain in the neck (and a crappy solution) and there will eventually be a way for dynarec emulators to benefit from the N3DS speedup.
> ...



That's really awesome to see. I ran it on my 3DS and it was slow as can be, although seeing it in 3D was pretty damn cool. I'm wondering if perhaps @shinyquagsire23 can be of assistance, this emulator would very much benefit from dynarec even on older Ninjhax versions.


----------



## danielps (Aug 15, 2015)

Team Fail said:


> That's really awesome to see. I ran it on my 3DS and it was slow as can be, although seeing it in 3D was pretty damn cool. I'm wondering if perhaps @shinyquagsire23 can be of assistance, this emulator would very much benefit from dynarec even on older Ninjhax versions.


Well, there's still some room for optimization, the recompiled code is awful and software rendering slows it down a bunch. It doesn't look like the O3DS will be able to run it at full speed, but I have some ideas to make it, at least, a little bit better (the game I filmed, Fishbone, runs at 16 fps, so I definitely want to improve on that).


----------



## loco365 (Aug 15, 2015)

danielps said:


> Well, there's still some room for optimization, the recompiled code is awful and software rendering slows it down a bunch. It doesn't look like the O3DS will be able to run it at full speed, but I have some ideas to make it, at least, a little bit better (the game I filmed, Fishbone, runs at 16 fps, so I definitely want to improve on that).


Yeah, it was Fishbone that I tried. Good game, too. I'm sure some speed will come in time for O3DS users. It may not be the best, but it's better than nothing.


----------



## shinyquagsire23 (Aug 16, 2015)

danielps said:


> So I recorded this, but I wanted to clarify something first.
> 
> I was curious to see the emulator running at full speed, so I used NTR CFW to patch ninjhax2's process and, just as expected, it was 3 times faster.
> Now, before anyone makes a big deal out of this, keep in mind that booting NTR -> Cubic Ninja -> Ninjhax 2.0 -> Patching is a huge pain in the neck (and a crappy solution) and there will eventually be a way for dynarec emulators to benefit from the N3DS speedup.
> ...



Just curious, but what exactly about the process did you patch? Dynrec could probably help somewhat, although it only goes so far really. I'm still curious about gpsp with the 3x speedup _and_ dynrec.


----------



## danielps (Aug 16, 2015)

shinyquagsire23 said:


> Just curious, but what exactly about the process did you patch? Dynrec could probably help somewhat, although it only goes so far really. I'm still curious about gpsp with the 3x speedup _and_ dynrec.


Just the KProcess' PID to 0. It was running under the dlplay process apparently.


----------



## Jiro2 (Aug 16, 2015)

Ninjhax 2.0 is already considerably faster than 1.0 at emulators on the N3DS, but you said that this gives a speedup even with Ninjjhax 2.  So is this a speedup on top of the 2.0 speedup (and if so, does it work on the O3DS?)

Would it be possible to write an emulator that automatically does this speedup without needing a CFW to patch it?


----------



## danielps (Aug 16, 2015)

Jiro2 said:


> Ninjhax 2.0 is already considerably faster than 1.0 at emulators on the N3DS, but you said that this gives a speedup even with Ninjjhax 2.  So is this a speedup on top of the 2.0 speedup (and if so, does it work on the O3DS?)
> 
> Would it be possible to write an emulator that automatically does this speedup without needing a CFW to patch it?


No, this is not a speedup on top of a speedup. It's just for emulators that can't work on ninjhax 2 because it doesn't have enough access.


----------



## zoogie (Aug 21, 2015)

Happy 20th Birthday Virtual Boy 
http://www.fastcompany.com/3050016/unraveling-the-enigma-of-nintendos-virtual-boy-20-years-later


----------



## Smoker1 (Aug 22, 2015)

Is there anyway to test the Latest version of this? Finally able to have NinjHax on my N3DS with Gateway/EmuNAND through IronHax. CitraGB works great despite the sluggishness of the Games I have tested. Seriously cant wait to get Wario Land going  . If you need testers, just ask. 
Gateway 9.2 Eur Emunand
9.2 FW
Latest NinjHax
N3DS XL (Eur)


----------



## danielps (Aug 22, 2015)

Smoker1 said:


> Is there anyway to test the Latest version of this? Finally able to have NinjHax on my N3DS with Gateway/EmuNAND through IronHax. CitraGB works great despite the sluggishness of the Games I have tested. Seriously cant wait to get Wario Land going  . If you need testers, just ask.
> Gateway 9.2 Eur Emunand
> 9.2 FW
> Latest NinjHax
> N3DS XL (Eur)


I don't need testers right now, sorry.


----------



## Normmatt (Aug 22, 2015)

Does the virtual boy supported self modifying code and if so is it used a lot? would be an interesting project to try static recompilation.


----------



## danielps (Aug 22, 2015)

Normmatt said:


> Does the virtual boy supported self modifying code and if so is it used a lot? would be an interesting project to try static recompilation.


That's a good idea. It definitely supports it, but I don't think any commercial games used it.


----------



## angelhp (Sep 2, 2015)

Can someone compilate the ultimate version for ninjhax 2.1?


----------



## danielps (Sep 2, 2015)

angelhp said:


> Can someone compilate the ultimate version for ninjhax 2.1?


It won't work on ninjhax 2.


----------



## angelhp (Sep 2, 2015)

danielps said:


> It won't work on ninjhax 2.


Ahhhh !!! Ok thanks =((


----------



## Smoker1 (Sep 2, 2015)

Just cant wait for it to be working. Gonna be a great day for everyone.


----------



## danielps (Sep 15, 2015)

I finally made a proper thread for this, there's no release yet, but it's getting there:
http://gbatemp.net/threads/wip-r3ddragon-virtual-boy-emulator.397411/


----------



## Drak0rex (Nov 3, 2015)

Has this actually become something? I need VB on my 3DS.


----------



## danielps (Nov 3, 2015)

Drak0rex said:


> Has this actually become something? I need VB on my 3DS.





danielps said:


> I finally made a proper thread for this, there's no release yet, but it's getting there:
> http://gbatemp.net/threads/wip-r3ddragon-virtual-boy-emulator.397411/


----------

