A. This belongs in the dev forum.
B. This has been asked 1,000,000,000,000 times before.
C. It’s easily Google’d for.
D. We all know you really want it for piracy
(Only kidding on that last one :-D)
And now, I will take over KR155E’s body and use it to move this to the dev board. Switch… Ah… Roo…! 😀
Post Edited (01-25-05 03:36)
You could also get two B&W cameras (cheap and really sensitive to red) point them into the VB (or rig up special, modified optics) and project their images through colored or polarized lenses.
But, now we’re getting pretty far off-topic 😉
I am logged in, and the link is there, but when I click it, it says:
“You are not allowed to edit this post.”
I’m trying to figure out how to make a distinction of what data belongs where in the buffer, so as not to start late and end up drawing at the start of the output what is actually in the middle of the display image or something along that line. Do we know if there is any actual sync signal? I know you said that the “vibrating mirror” is master, so it has to somehow know when to be in a certain position, right?
Actually, the servo just vibrates the mirrors back and forth at a rate determined (I think) by a crystal in the VB. There is an optical interrupter (LED pointing at a phototransistor) that senses when a flag, attached to the mirrors, is in a certain spot. This signal goes back to the VIP which then knows when to start changing the LEDs.
There’s also a syncronization system used to communicate with the LED arrays, themselves. The arrays aren’t just a bank of LEDs with a common cathode, or something. That would take too many wires. Instead, the LEDs are divided into groups and attached to the (latched) parallel outputs of a set of shift registers. Each of the SR’s has an input, but they all share a clock (and latch strobe.) And, actually, there is the equivalent of a common cathode…
FWIW, I hope you learn electronics instead of hating the VB…
Your projector idea is great (I’ve thought of it myself) but you’d have to emulate the above-mentioned chip. (Which wouldn’t really be that hard…) As for convergence: just use tri-color LEDs (or fiber-optics to mix two regular ones) and bounce the two images off of one mirror.
Well, the emu’s work because they don’t even use the “LED blink patterns” in the first place. They operate on a higher level where the “BGMaps” (backgrounds) “OBjs” (sprites) etc. are. They actually emulate the VIP; the chip that draws the “Worlds” and generates those LED signals.
I don’t see a way of using a pass-through cart, unless it also emulates the VIP, and patches the cart’s ROM to write to it instead of the VIP’s registers/memory. It would be possible, but probably not easier than replacing the “scanner” (the collective name for the LED arrays+mirrors+lenses) with a video converter. But, maybe a PC could emulate the VIP (since there are many versions of that same code, already) and the cart would do the patching thing, and send the data to the PC for rendering. (Through the expansion area of the cart’s address space.)
Basically, all you have to do is make (for each eye) a buffer that can hold one frame of data, something to convert the data and fill said buffer, and another thing to scan the buffer and produce a signal in the desired output format. I would go with VGA. The vast majority of monitors (including arcade ones) and projectors should be able to handle 384×224. Or, the circuit could paint a black border around it to make it 640×480. Also, like you said before, you could just hook the left one to the red signal, and the right one to one or both of the other two and have instant anaglyph.
I would suggest learning about CPLD’s, PAL’s and FPGA’s, because it’s going to take either a custom chip or a big PCB full of off-the-shelf ones to do this.
I would suggest using a microcontroller, but, if there is one with enough inputs and speed for this, it’s likely going to be quite expensive.
Then, to learn how the video system works, take apart a VB and hook up a ‘scope/analyzer/what-have-you and take a look.
I really wish I had the money, equipment, and time to do this myself. But, if you can make them for a reasonable price, I’ll gladly let you do the work 😉
Good luck!
A. The VB doesn’t generate an analog signal like a TV, arcade, etc.
B. The thing you saw was called the “Video Boy VUE” and it’s basically a VB with a different video chip that does put out an analog (PAL, anaglyph) video signal. There was also an add-on board for the VUE debugger that displayed like this.
C. The signal it does generate would be a lot harder to convert than you may realize…
I won’t try to explain the VB’s display system in detail here, especially since I’m quite tired… But, as a summary:
It’s scanned the other way: the screen is made up of columns, instead of rows (“lines”) like the vast majority of raster displays.
It’s digital, with a combintation serial/parallel interface. The pixel brightness is varied by PWM; pulse-width modulation. Also, since the mirror’s velocity is a sine function, the relative width for a given brightness varies from the center to the edges.
The hardware (the vibrating mirror) is actually the “master” to which the display is synchronized, again, unlike most other displays. It’s analogous to the vertical sync pulse being generated by the vertical coil driver in a PC monitor, instead of by the video-card.
If you still want to give it a try, I (or other members; DogP probably being the most knowledgable in this area) can give you more details.
Later
Did you happen to look in the… CHEATS section? 😛
Maybe the article says the box is a fake…
Anyway, I want to know about the “missing Zelda game” 😀
I think he means:
http://ps2movies.ign.com/ps2/image/article/557/557637/checking-out-the-pstwo-20041015062405112.jpg
-RunnerPack
Actually, most memory cards have a serial interface, so they might not be fast enough for VB. But, even if the card is fast enough, you’d still need an intermediate chip to translate between it and the VB, just like for the floppy.
The best way, right now, is to make a regular flash cart, and use sockets for the chips, so they can be removed for programming.
However, any of these extra storage devices you mention (and more) could be integrated into the cart so the flash chips themselves wouldn’t have to be that big, unless you want to play commercial ROMs.
If you’re just dev’ing, you could make a small (OTP?) EPROM cart that loads and executes a program over a cable from the link port to a PC’s printer port, like the “Multiboot” cables available for the GBA.
It would even be possible to attach a PSX memcard to the VB’s link port. The hardware is pretty much the same, except for the voltage; the VB is 5V and the memcards are ~3.5V. Some 3rd party cards can work at 5V, but it’s probably better to make/use a level shifter.
I’d rather have a “Marshie Ween” with better graphics. Perhaps with two (or more?) layers, instead of two colors.
-RunnerPack
Who said it wasn’t dumped?
KR155E: “The 4 rare ones (Virtual Lab, Space Invaders, SD Gundam and Virtual Bowling) are dumped but not publically available.”
-RunnerPack
Here it is:
http://vr32.de/spiele/released/marios_tennis/box_u/index.e.htm
Or, translate this:
http://vr32.de/spiele/released/marios_tennis/box_j/index.e.htm
Sir William has a valid point, but there’s more to it than that. The number of combinations is vastly reduced when you consider 2 things:
1. That DogP’s cable works for homebrewn games.
2. There are only a few commercial games that even access the link port at all.
Since basic comunications works, it’s safe to assume that some part of the homemade cable is the same as the one a commercial game would be using.
I believe that DogP said, in #virtualboy, that he tried all combinations of the remaining wires, and MT (and the other game(s) that access the port) still didn’t offer 2-player mode.
It could be that a simple patch is required to unlock the mode. Or, the code accessing the port could just be some sort of debugging code. If you really care, it’s time to get your hands dirty by learning some v810 assembly and digging around in the code!
(Making a cable and two carts couldn’t hurt, either 😉
-RunnerPack
There’s one mentioned in the “Comfort…” page on v-b.net, but I doubt it’s gone past the “I’ve got a cunning plan!” phase…
However, I don’t see why it couldn’t be done. All you have to do is simulate the LED arrays with something brighter and change the optics a bit. To preserve the stereo, you’d probably want some polarizing filters and a polarity preserving screen. Or, you could flicker the two (sets of) light sources and time the flickering to the shutters in some LC shutter glasses. OR, you could use different-colored sources and use anaglyph glasses.
Anyone have 448 ultra-bright, non-red LEDs they don’t need? 😉 How about some unjacketed optical fiber?
-RunnerPack
No, I-Glasses don’t use anaglyph, which is the use of colored filters to separate a stereo pair. I believe they use field-sequential (interlaced) stereo pairs.
Reality Boy (which has become Red Dragon) has always had a “placeholder” option for interlaced output, but it isn’t actually implemented, yet.
Anyone reading this is more than welcome to get the code (come to IRC: EFnet: #virtualboy for the latest) and put in support, if they can and will!
RunnerPack
I don’t know why you want one, since none of the released licensed games make use of one, but you can make your own using SNES/N64/GC video cables.
[center]Just click on this ***LINK***[/center]
But, if you’ve seen that link already, and you’ve decided you don’t want to (or can’t) do it, just send me a largish pile of the cables (enough for a few of my own to modify, and at least one SVideo one, for use as-is 😉 and an optional wad of U.S. dollars, and I’ll eventually (time according to thickness of cash wad) send you back a link cable. 😀
I could even make a PC-to-VB cable and, I think, even a PSX controller to VB adaptor.
But, to reiterate, only homemade software would be able to do anything with any of these cables. Which means you’d also need one or more programmable cartridges.
And don’t even think about asking me to make one of those for you… It’s been months since I got the parts for mine, and it’s still not even close to being finished! The wires! Thousands of tiny wires!!! Argh!!! 🙂
-RunnerPack
If you can take it apart, you might be able to fix it. It’s probably a problem with one of the (unnecessarilly flimsy and poorly attached) “ribbon” cables that attach to the displays.
I’ve never done it, but some people say to “fatten” the end with some tape and put it back in the socket. Although, since one entire display is bad, it may have been mishandled quite severely, so it could be a worse problem…
To take it apart, get a flat bladed screwdriver and cut a notch in it as described here:
[center][/center]
And here.
Good luck!
RunnerPack