We're using cookies to ensure you get the best experience on our website. More info
Understood
@runnerpackRegistered July 26, 2003Active 11 months, 4 weeks ago
1,430 Replies made

speedyink wrote:
As for color, though, the ‘Charubo 55’ logo features gradients, which look to possibly include colors close to the Super Gameboy scheme.

In offset printing (as well as most other printing technology), gradients and multiple colors are done using dithering. I guarantee that only four colors of ink were used on that box; black, yellow, pinkish red, and dark purple (the white is the base color of the card-stock). There’s probably a color test pattern on one of the hidden flaps that shows the colors used.

It’s possible that they chose those colors for the reasons speculated on above and didn’t care what colors the logo ended up using, but the logo has those colors in plenty of other places with no direct VB connection, such as in this animated logo from the N64.

And it’s printed on every single side of the box, bar the bottom.

Since the box started off as a single sheet of card-stock, it wouldn’t cost any extra to print on every side (in fact, it would have cost only a bit more to print on the inside).

I hate to burst anyone’s bubble, but my theory is that the colors of the screenshots are the same as those in the Japan System Supply logo, to make the box cheaper to print (and possibly to make it look a bit more cohesive).

I don’t really understand the “easy compression” one (I don’t think all the information about how it works is included in the article), but it doesn’t really apply to the way the VB’s graphics work, anyway.

The stuff about rendering stereo pairs from 3D models is pretty good, I guess, but the VB has so few pixels (and colors) available, it’s a much better idea to just use “pixel art” for everything (except for the occasional “cut scene” I suppose).

Thanks for the links, though. Be sure to share anything else you find in the future. In fact, I hope others join in and make this thread grow!

ElmerPCFX wrote:
So … I have a couple of technical questions for the assembly-capable developers here.

I’m only barely “assembly-capable” on the v810, but I’ll take a shot at answering these.

I’ve not seen the VirtualBoy SDK (and don’t particularly want to wade through it) … but are the V810’s registers R2 and R5 actually used in whatever VirtualBoy libraries you guys use?

There really is no “the VirtualBoy SDK” due to a lot of fragmenting, but, TMK, most of the existing code out there avoids direct access to registers except in the necessary setting of hardware ports for control of the peripheral hardware. If you want to make use of these registers for a specific purpose (especially if it means improving memory usage of generated code), I’m sure existing projects could be made compatible quite easily.

Does the VirtualBoy have single-cycle RAM, or does it have wait-states that slow down RAM access?

The cartride ROM has either 1 or 2 (the default) wait-states, selectable in software. The RAM used by the video hardware (the “VIP”) has 2-5 waits, depending on what part of the display rendering cycle it’s currently in. All other areas have a fixed wait-state of 1.

Are you using any Nintendo binary-only libraries, or can you re-assemble/re-compile whatever libraries/engines that you’re using?

None of the existing, publicly-available, homebrew VB software uses any Nintendo code, binary or otherwise. I can’t speak for what anyone has on their personal PCs, though.

L___E___T wrote:
Another idea I found interesting is – if you have a Bluetooth controller this could make some interesting applications with Game Maker, for someone like me that can mock up little things but not comfortably code on actual hardware.

The only problem there is that it has no strap. It’s like a normal View Master in that you have to hold it up to your eyes like a pair of binoculars. You can find ones with head straps on Ebay, etc.

Also, does Game Maker make Android/iOS apps? I’m pretty sure Unity does, although you might have to pay for that privilege.

speedyink wrote:
It’s like a mix between the original design and the Virtual Boy. I like it. I wonder what makes it Virtual Reality, I’m assuming the pictures are just stereoscopic 3D instead of the old 2D pictures they used to use. Then, they could have just called it View Master 3D. So maybe it is a nod to the Virtual Boy =P

I don’t know what kind of View Master you’ve been using, but they’ve always been 3D for me…

This thing, though, is just an overpriced, plastic “Google Cardboard” viewer you put your phone into. A bit ironic, given that the Cardboard thing was obviously designed around the View Master concept, and now VM themselves are playing catch-up! 😛

I think the “reels” are some kind of NFC tag, too.

DogP wrote:
I don’t think that chip will work… it does I2C and UART, but not SPI (AFAICT).

That’s true, but its four GPIO pins sound very capable, and I was thinking they could be used for the actual link port communication (which I probably should have mentioned in the first post…)

I mainly suggested it because of the prices and package sizes. I don’t know if it would be cheaper or smaller than FTDI or AVR options, though. But if you already have a sufficiently cheap/small solution, and the software is almost ready, there’s no reason to switch.

If you’ve already checked for and eliminated foreign object interference, you should try cleaning out the optical sensors on the galvos with dry, clean air and/or a small brush. If the servo board can’t see the pulses coming from them, it may try to ramp up the amplitude to get a response, resulting in the mirror trying to “jump the rails”.

If that doesn’t work, you could try a known-good servo board to eliminate it as the source. After that, I guess it would have to be something physically wrong with the mirrors, which might become obvious after comparing it to a known-good unit (including how the mirrors behave when manually tilted).

@DogP: Have you seen this one?

Microchip MCP2221 USB-to-UART/I2C Bridge

It’s about $3 in single quantity on Ebay, and under $2 each for 100 from the usual places. It even comes in tiny TSSOP14 and ultra-tiny BGA16 (4x4x0.9mm) packages.

There’s some open-source software for it, too.

HP Lovethrash wrote:
Out of curiosity, how did YOU find that listing??

I sometimes forget that there are those whose search-fu is not as strong as mine… Continue your training and you will achieve mastery in due time, grasshopper 😉

I did see some chip pinouts with 3.3/5v but it didn’t seem worth the bother to backwards-engineer it :p

What happened when you checked continuity/resistance from one of said power pins and pins on the DIN connector?

Only one link to a real pinout existed, and it was as dead as the Audrey.

Did you try the URL in the Internet Wayback Machine?

blitter wrote:
Fun fact: the Select button is deprecated with the latest 3DS games.

Very interesting! I hadn’t even noticed (which just shows how useless the select button really is, I guess ;-))

Done.

(Actually, KR155E needs to fix the Wiki so it either supports HTML entities, or knows how to properly deal with Unicode, or both.)

VirtualChris wrote:
So how come it works on the second 8×8 square if I do modify it to 0x7fe?

Basic binary arithmetic, actually:

0x0002 (0000_0000_0000_0010) & 0x07FE (0000_0111_1111_1110) => 0x0002 (0000_0000_0000_0010)

Your other problems (e.g. the bridge collision) probably stem from your misunderstanding and misuse of this bit of code.

I know I need to better understand how the Virtual Boy, and quite frankly everything else I program, but every time I look at a Wiki, I never understand the technical aspect of it. It all looks like Greek to me. It’s like I don’t have the smarts or the brain to comprehend that type of stuff.

Are you trying to look at the two separately? You should probably have both the code you want to study and the VB docs open at the same time, so you have some kind of context to go by.

It may also be that you don’t have a really good grasp of the basics of binary/hex arithmetic, boolean logic, and memory addressing (and especially how these things are represented in the C syntax). These are general programming/computer science topics and are assumed prerequisites to understanding the documentation for any specific system, not just the VB. If you try to read a document without understanding the language in which it’s written, of course it isn’t going to make much sense.

VirtualChris wrote:
(…) apparently it only works for Map 1?

That’s not a question? 😛

The problem is that you somehow mangled the code. The first parameter of the function is supposed to select which BGMap to test, but it has been removed from the body of the function, so it is being ignored (except by the compiler, which has no doubt been trying to alert you to the damaged code by way of a warning…). It has to be multiplied by 0x1000 to form an offset to the correct section of BGMM, thusly:

HWORD getBGMapChar(bgmap, x, y)
{ 	
    return (BGMM[(bgmap * 0x1000) + (y * 64) + x] & 0x7ff);
}

Also, you’re not supposed to modify the 0x7ff. It’s a mask that filters out things like palettes and flip flags, which leaves just the character number. You then compare the number returned by this function to the number of a character to see if it’s the one you’re looking for.

If you took the time to study the “how” and “why” of coding, rather than programming by means of random copypasta, you wouldn’t run into these kinds of problems.

Actually, (nearly?) every game uses it. In all/most games, if you pause and then press Select, you get the alignment screen again.

However, I agree that it is mostly superfluous, which is why I think we should put it to better use.

BTW, it didn’t actually disappear “for good”, since the Wii and GB/DS families of consoles have them (although in the Wiis’ case it’s called “-“). Also, the “Z” button on the GC controller was mostly relegated to the function of a Select button in many games (and the Game Boy Player), likely due to its awkward placement.

Alex wrote:

I think it’s the ribbons though :/ It’s a common problem that Virtual Boy’s get, A LOT get it sadly, even mine have it.

No, not a lot of them, all of them 😛

You and the OP should get your respective displays soldered (or do it yourself if you have the skills).


@JoePassive
: Even if it’s not the cause of this particular problem – which it probably is – it will eliminate one possible cause and let you track it down with known-good displays.

A resistor won’t work, because the voltage will change as the battery depletes (which you alluded to, already). You should use an LDO (low drop-out) voltage regulator. One popular example would be the LM1117. It’s an adjustable regulator, which means you can set the output voltage using a resistor (which is explained in the datasheet, along with other support components you’ll need, such as filtering capacitors). I just bought something that contains three of the little guys! (presumably all set to different voltages).

For the highest efficiency, you could even use a switching regulator, but for one this size, the cost will likely outweigh the benefit (and if you cheap out on it, the efficiency will likely be worse than the LM1117).

If you can get it open, it shouldn’t be too difficult to trace the pins on the connector to the VCC/VDD pins of some of the chips inside. Just look up the datasheets of some likely-looking ICs and set your DMM to its audible continuity setting.

On the other hand, if you just want to plug it in, I found this: http://www.ebay.com/itm/151977561033 (this page gave me the number to search for: 1.015.1494-00)

BTW, out of curiosity, how did you figure out the number and voltages of the pins, but not their actual assignments?

  • This reply was modified 9 years, 4 months ago by RunnerPack.

Although I have an ASUS VG23AH passive 3D monitor, I’m still interested in the outcome of this thread. There are obviously many more 2D displays in the world than there are 3D-capable ones, and anaglyph is a good balance of trade-offs for displaying 3D on them (especially Green/Magenta, with its better luminance balance and lossy compression tolerance).

I still have a few pairs of anaglyph glasses I break out once in a while for the odd anaglyph-only website. One tech you seem to have left out of your roundup is the “Intru3D” amber/blue glasses cross-promoted by Intel and Dreamworks back when “Monsters vs. Aliens” came out. As usual, there’s a license fee associated with the “color preserving” part of the technology, but they also work fairly well with straight yellow/blue anaglyphs.

EDIT: Wait, I kinda got mixed up there… The InTru3D stuff is rendering technology, the paper glasses used for the Super Bowl ads was called “ColorCode 3D”. US pat. 6,687,003

I agree with HorvatM. If you don’t have access to a large format scanner, get a good camera with a macro mode and a ring light. If you take lots of overlapping photos of both sides, we can stitch them all together into one, big, high-res photo.