We're using cookies to ensure you get the best experience on our website. More info
Understood
@guyperfectRegistered December 4, 2012Active 2 years, 8 months ago
375 Replies made

dasi and I are working to bring some Virtual Boy programming tutorials to the masses. We’ll be covering all of the topics you’ll need to know about for homebrew development.

Parasyte wrote:
Not quite; the operation of the VIP is entirely undocumented. It’s essentially a black box that just “works”, on the principles of magic and voodoo, for all we know.

What are you expecting, circuit diagrams? That’s beyond the scope of the document; hardly a reason to label it incomplete.

You’ll notice many editor’s notes throughout the document for things remaining to be tested. Feel free to run some trials so we can get rid of them. (-:

  • This reply was modified 11 years, 3 months ago by Guy Perfect.

Parasyte wrote:
I’m waiting for it to get more complete. 🙂

You’ll be waiting a while. There’s barely anything left to document. Just some stuff like floating-point instructions setting the carry flag and such.

Parasyte wrote:
But even it is far from complete!

Exactly! Better use the Sacred Tech Scroll instead!

jrronimo wrote:
Is the Nintendo tech manual hosted somewhere? It’d be neat to browse. I’m guessing Big N isn’t too fond of that one being out in the wild…

No matter. We’ve got something better: the Sacred Tech Scroll!

KR155E wrote:
According to our host, this has been resolved. For me it worked last night. Please let me know if/when there’s still downtime/500 errors.

Yesterday, same 500 time, same 500 channel.

We’re also quite a bit more informed nowadays. Just check this out. (-:

http://www.planetvb.com/content/downloads/documents/stsvb.html

My Zapper is orange with a grey secondary color and a black trigger. Yours is grey with a white secondary color and an orange (red) trigger.

Octaedre wrote:
if the only outputs on the VB are 6-bit sample outputs, why doesn’t it sound more like SNES then ? Apart from the very obviously sampled voice snippets not much else sounds like sampled instruments but more like chiptunes, like what the NES or Genesis do. It may be entirely true but then why would all the developers chose to go for this very chiptune-based sound instead of using all digitized instrument samples like what was done on the SNES ?

The premise of the VB’s sound hardware is that rather than using built-in wave types (square, triangle, sawtooth), they let the programmer decide what the wave should be. All five non-noise channels give the programmer access to 32 samples, the whole representing a single cycle of a wave. For example, if you give it 16 ups followed by 16 downs, you get a simple square wave.

The reason Virtual Boy sounds are typically chiptune-y, and the reason developers almost exclusively used them that way, is because that was the intent of the stock features of the hardware. Using the simple square wave from the previous paragraph, you could play a note by cycling through those 32 samples at whatever frequency. Middle C is around 261 cycles per second, if I recall correctly. That is to say, the audio hardware would go through all 32 samples of the square wave 261 times every second to produce sound.

You can’t do a lot with 32 samples. You can’t construct complex wave patterns like the ones produced by real-world musical instruments. You specify one cycle of one wave, and the hardware will play that cycle at the specified frequency. That’s a very chiptune-esque procedure.

Having said that, a typical PCM stream is also possible. Galactic Pinball has a famous catch phrase at the title screen demonstrating that capability. Thing is, I’m not entirely sure how the Galactic Pinball program pulls it off. It would need to rapidly update those 32 samples zillions of times per second in order to play a continuous stream of pre-recorded audio. The specifics of how this works is something I intend to research.

My logic is that, if you can strongarm a PCM stream into the VB’s audio unit, then what’s to stop you from generating that stream programmatically at runtime? You’d be free of the chiptune restraint, and could use that to your advantage for music and sound effects alike.

Virtual Boy has been demonstrated outputting PCM audio, so conceivably if you can construct an output waveform, the Virtual Boy can play it. One of my planned experiments involves a music + SFX audio engine that composes a PCM stream rather than use the stock features of the hardware channels.

By itself, Virtual Boy doesn’t have “a sound”. All wave patterns are defined by software in special audio RAM that is rapidly sampled to produce output. So you want a square wave? Give it a square wave. Want a sine wave? Give it a–you get the idea. A convenient benefit is that you can use pulse waves with customized duty cycles. And in the case of “welcome to space world”, you can rig it up to play PCM audio.

In any case, my point is that sound on Virtual Boy is what you make of it. You get 5 channels of 6-bit samples. What those samples are is entirely up to the program.

Perhaps the best solution is to hack the games of interest to not output sound effects, then load the mod on the hardware for recording.

Okonomiyaki wrote:
I know absolutely zero about the vb from a tech pov […]

This might help. (-:

akumie wrote:
[…] as a game it is sadly dissapointing […] I was hoping […]

If this is how one responds to the hard work and effort of others, then how should one respond to your effortless post? Was the rest of your day so productive that all you had left to do was publicly lament about how the universe doesn’t live up to your expectations?

Take it somewhere else, your majesty, and leave this thread to those who have any purpose posting in it.

WoLfMaN wrote:
Give it a shot, but don´t forget to include some material – people like to see what they get before they donate… 😉

I’ll shoot some videos and take some screenshots. Is there any part of the game that’s especially gawk-worthy?

I’ve had a chat with bigmak, and I talked him into accepting vast sums of cash from total strangers. (-:

I have some contact in the gaming journalism biz, so I’ll reach out in that avenue. Who knows a good way to set up a fund raiser?

thunderstruck wrote:
Well, who cares.

The point is that people not make decisions based on false pretenses.

I fully support donating to bigmak; he spent a significant amount on the prototype. I’m extremely appreciative of his contribution and hope he does manage to break even when it’s all said and done.

Having said that, if someone wants to purchase a cartridge for the purpose of helping with the cost of the prototype, well, they’re not getting the full story.

I approached him with an offer to do just that, and I’m not the only one who did. He didn’t want it.

bigmak wrote:
My goal

If i don’t make a dime..rom will be released..lesson learned no hard feelings (from me..not the wife)
If i make 1k back..I’ll be fine..but my wife will be angry = sleeping on the couch prob.
If i make 3k back..I’ll be fine..wife will be disapointed = sleep in the bed, relations with the wife..prob..maybe
If i make 5k back..I’ll be fine..wife will be fine
If i make 7k back..I’ll be fine..wife and I will get a vacation this year
If i make 10k back..I’ll be amazed..wife will be amazed..I’ll take some money and do something for the vboy community..not sure what
If i make 50k..I’ll be dead..wife will get money and hide the gun in the lake (search the lake!!)

It’s been brought to my attention that bigmak has declined multiple offers from multiple members of the community to pull together resources from other connections and fundraisers to help him recoup the cost of acquiring the Faceball prototype.

That is to say, bigmak has specifically declined people giving him his money back.

If you want to purchase a Faceball cartridge, that’s fine, but there’s more going on behind the scenes than just getting cash back into bigmak’s pocket.

Antipiracy only works on piracy. Selling a prototype of a canceled product cannot, by anyone’s reckoning, be considered piracy.

The real legal issue comes from something I’ve talked to bigmak about: he isn’t the copyright holder, nor does he own any applicable trademarks. However, I’m not sure either could be enforced if bigmak did sell it, since I don’t think a trademark for MIDI Maze was ever filed, and anyone owning the copyright would have to step forth in a sort of “I’m Spartacus” fashion.

Updated to version 0.91

* Revised the content of the VIP Display Procedure section
* Documented the mysterious workings of the noise generator
* Corrected definition of NaN
* Corrected notation of JMP instruction
* Confirmed that Illegal Opcode exceptions use Current PC as the Restore PC
* Clarified that only one floating-point exception can be caught at a time
* Confirmed that Floating-Point Invalid Operation executes at 0xFFFFFF60
* Documented significance of Overflow bit for multiply and divide instructions
* Documented significance of negative shift amounts for bit shift instructions
* Documented significance of Carry bit for shift instructions
* Corrected flag modifications of MPYHW instruction
* Tweaked the lists of CPU instructions
* Fixed broken linkage and typofication