DogP released the “Virtual Boy Sound Generator”, a program that pretty accurately emulates the Virtual Boy’s sound processor and so let’s you test VB sound code on your computer instead of always having to load your flash cart and test on hardware.

Release notes:


I decided to spend a little time this weekend putting together a VB sound generator, which attempts to be a cycle accurate VSU emulator. You give it an input file of register values and time delays, and it converts it to a wav file, and optionally outputs C code corresponding to the input sequence.

I’ve been wanting to do this for a long time… it just finally seemed like a good time to do it. There’s a lot of reasons for it, the main one being that it’s inconvenient to develop sounds by testing them on the VB to hear how they sound, and unfortunately Reality Boy isn’t very accurate. I’m hoping in the long term that it may be possible to optimize this and roll it into RB, though that’s not on my todo list yet.

What really started the project was wanting to know how the random noise generator worked (the manual specifies an LFSR, but it wasn’t clear on what’s actually output, and the tap locations, or notations, don’t really make sense). The easiest and most for sure way for me to figure this out was to make a long recording and pull out the bit sequence. I did this by writing a MATLAB script to detect the first edge in the wav file, then sample 1/2 sample past that, and every sample beyond that. From that I got the LFSR bit sequences (which repeated as expected every time 🙂 ).

I’m guessing there will be bugs and inaccuracies (I haven’t compared any of it with hardware yet, though it sounded good to my ear :-P).

I’m just posting the exe, example input file, and readme for now, though I’ll post the source with the next version… so try it out and give me some feedback 😉 . I’d also like a GUI for this… as much as I dislike Visual Basic, this actually seems like the perfect application for that… so we’ll see. Of course if anyone else would like to do the GUI, that’d be great (but let me know so I don’t start one 😉 ).


News Source: