Original Post

I had a look on the web and here of course but did not find any reference to a Virtual Boy emulator for DS. As my work gets me more and more involved into script languages and programming, I thought that trying to develop something like that is a good way to give something back to the PVB community. I also understand that some emulators have been ported to other systems. Now don’t get me wrong here, I do not fear the work to try, but I thought that it was maybe good to start trying with a post on the great planter virtual boy. As there is no thread VB emulation on this forum I post it here in de VB development section.

The DS is the ideal big brother of the vb as it has two screens.

1′ Goal: Get the emulation nice on two screens stereo.
2′ Features: Standard emulation features.
3′ Goal: Get the emulation nice on two screens. (90 degrees turned so one could try to look at both screens simultaneously to reach some kind of sterio…?)

I will do some more research in the direction. If you know any good references or have any advice/comments I am happy to hear from you.

11 Replies

I’m not making fun at all I think it’s great but does that mean we’d be staring at our 😛 DS’s sideways and cross eyed? 😛

I don’t want to discourage you, but the DS is far from the “ideal” platform for a VB emulator.

For starters, the screens are only 256 x 192. This is little more than half of the pixels on a VB screen. Even without rotating for side-by-side stereoscopy, the VB’s 384×224 images would have to be scaled. And if they were rotated/scaled, there would be hardly any picture left to see!

Then there are the CPUs. One is 67 MHz and the other is 33 MHz. RB runs barely adequately on my 2.4 GHz P4! This might be solvable with some serious CPU/VIP core optimization and by taking advantage of both CPUs and the T&L hardware, but it sounds like a lot of work that might not pay off…

I haven’t tried the PSP port of Red Dragon (since I don’t own one) but if you want a pocket VB, you may be better off working on that. (And if SofiyaCat is reading, it would be nice if we could get the source code or a patch…)

There are also the half-dozen or so systems being churned out by the Game Park company. One or more of those might be powerful enough to support VB emulation.

Then there are a number of “learning game” systems made by Leapfrog, V-Tech, and others that are looking pretty good, if they’re ever hacked for homebrew development.

The only thing these other systems lack is a second screen, and that can be made up for with anaglyph glasses or other techniques.

If you can do it, I’ll be very impressed, but I don’t think I would try it. I do look forward to others’ input on the subject, though.

god, i wish i could get that PSP one working. i have NEVER gotten a game to run on it. anyone?

@Deadly-D

Not necessarily cross eyed but.. YES!


@RunnerPack

That’s exactly the Kind of Information I need. It does sound slightly discouraging though. Do you think applying some kind of Filter to every Image to rescale it would already need too much CPU to have any decent frame rate? PSP is not an Option as the thing with the two screens (point one from the first post) would be really important for me. So I guess I will first have to get deeper into the topic of VB emulation or better emulation in general. I will also have to look in other emulators for DS and see how things are done. Is a VB so much more complicated to emulate compared to a SNES? Then I can look at it and see whether its worth to even invest a serious amount of time or invest into another VB project Idea related to RPG and the VBJAEngine.

Any further advices an inputs welcome.

I haven’t done any DS development, nor have I really compared the two systems side by side to see what kind of optimizations that could be done… but IMO it’d be pretty close to hopeless without the perfect emulator (ie not a port of an existing emu). The ARM9 is a 32bit RISC running at 66MHz, the v810 is a 32bit RISC running at 20MHz. Even if you could find comparable ARM9 instructions to completely replace the v810 instructions for the CPU core, you only have about 3x the clock speed to handle all the overhead of the rest of the CPU core, fetching from ROM, RAM, display, etc.

IIRC, David Tucker said that 80% of the time in the current RB is spent in the CPU core, so that’s where most of the optimization would need to be done, and luckily that’s probably the best place since most v810 instructions probably have an identical ARM instruction (except probably the bitstring functions, which aren’t used much). But you still can’t execute these instructions natively, so there’s still overhead of translating the native v810 to the ARM instruction.

So yeah… my opinion is that you probably could get the emu running on the DS, but getting it running at any more than a couple FPS, or especially at a playable speed would be EXTREMELY difficult. As RunnerPack said, even on a reasonably fast desktop PC, the emu still doesn’t run perfectly. Of course RISC emulation on a CISC CPU in a multitasking environment isn’t ideal, but comparing a multitasking CISC @ 2.4GHz to a dedicated RISC @ 66MHz, there should be more than enough difference to suggest the P4 would perform better than the ARM9.

DogP

could it be done by sacrificing one screen? the 3d effect of the two screens being held sideways sounds like it wouldnt work well and wouldnt be playable, due to the button layout, anyway.

Actually, I would think a Wii port might be cooler.
I saw this video where some guy made… oh well, just have a look!!

cYa,

Tauwasser

OK. I think this project must be buried. The things I would have liked the emu to do just not seem possible without some very serious effort. Even with the effort the chances of success are very low so the project unfortunately dies at the pre-feasibility stage. And l also have to admit that even if it was done, I would have to invest even more time then other people. I do have a rather basic knowledge of programming and this certainly does not include “directly to the core DS”. I will now invest some thought in some other project ideas and I’ll let you know if something is coming up. One Idea is to port or remake a VB game to/for DS. Maybe this is easier. Thanks for all your help. I really mean it although the help was discouraging. 🙁 I have to find a realistic project.

Well… the best time to cancel a project is before you waste any time on it… so it’s good that you did the research first.

DogP

Here’s something I just found out about that sounds like a great target for a new (or ported) VB emulator:

http://www.openpandora.org/

It’s kinda pricey, but if enough people buy them, the price might come down through volume.

There’s also the OLPC, which is already down to $200 (except that you have to buy one for a kid when you buy yours, so it’s really $400) and the specs are pretty impressive for the price (which is, incidentally, the same as the VB’s launch price ;-)).

Porting VB games to the DS might be cool, but it’s likely someone will eventually make a game that at least clones the core gameplay of each VB game–if they haven’t already. 😛

Why not get into VB dev’ing? It’s pretty fun and fairly easy on newbies, thanks to its relatively streamlined design. It’s also one of the best documented consoles in the homebrewing community.

While the default clock of the NDS might not be able to handle the overhead of emulating the v810 you can easily overclock the ds to 118 which is 5.8 times the clock speed of the v810. now all that stands in the way is the host of other issues with the idea!

Overclock your Nintendo DS Lite

 

Write a reply

You must be logged in to reply to this topic.