The box

Game Boy Camera Parallel Port Interface

Updated 10 August 2001


This page is a bit of a mess since I just added bits here and there as new things came up. Sorry about that, but it's been over a year since this was started and it doesn't interest me much anymore, especially since the unsuitable ADC is limiting its performance. If you want to build one, all the information you need is in the circuit diagram.


The Game Boy Camera uses a cheap CMOS image sensor with a resolution of 128*123 and an analogue monochrome output. This page shows how to connect it to a standard non-bidirectional, non-ECP, non-EPP PC parallel port, with 5 bits per pixel, compared to the Game Boy's 2 bits dithered. The circuit described here uses only the small PCB in the swivelling part of the camera, which contains the AR chip, lens assembly and pretty much nothing else. No Game Boy involved.

The specs for the M64282FP "Artificial Retina" or "Intelligent CMOS Image Sensor" chip are available on the web:

Mitsubishi Electric's MEICIS site Check out the evaluation board, although it's more complex(and no doubt more expensive) than this, it's also substantially more powerful. Includes all details to construct it yourself.
M64282FP data sheet PDF. Preliminary version.
M64283FP data sheet PDF. Slightly improved chip, but more comprehensive documentation.


Further speed increase 1-2 FPS

If you overclock the ADC still further you get this kind of speed, but the side effect is inaccurate colors as can be seen around one of my eyes in the second picture. These were taken with a 330ohm resistor in place of the 10k between pins 19 and 4. If the formula for clock frequency given in the data sheet still applied this would set it at 28MHz, well above the maximum allowed 1.5MHz. It may also be nessecary to short out the resistor on the xck input from the parallel port(pin 2), a lower value of the associated capacitor would probably allow even higher speeds, though with lower quality.

100*140mm(4*6in) newspaper ad

0.5 FPS!

It turns out I had a capacitor on the analog input and this was blurring the image when read at high speeds, requiring about 0.1 FPS for the best quality. Simply removing that speeds it up a good deal.

1.2 frames per second 0.67 frames per second 0.38 frames per second
1 fps 0.7 fps (1.5 seconds/frame) 0.4 fps (3 seconds/frame)


Scan of my implementation

Here's a circuit diagram of how I connected it to a parallel port. Essentially all it is is an A/D converter taking analog data from the AR's output line and sending it into the parallel port.

If you're new to electronics then here are a few points that may be helpful:

See Lord_Zebu's site for an improved version. Or e-mail him. It uses the ADC0820 which appears to be suitable for any speed the AR can handle.

The ADC0802 which it uses has an 80us conversion time which should make the frame rate about 0.8 FPS, and the worst part is you have to keep the scene still during that time or the picture will come out all wobbly. I have overclocked it (this is OK by the data sheet) and it seems to be OK, the error was probably absorbed by the unused lower 3 bits.

The software is here, runs in DOS with VGA. C++ source code included. It's really just C, though not ANSI C, but if you remove dos.h, and all the sound(), nosound() and delay() calls (none of which are important anyway) it should be close enough for any PC compiler. There is some inline assembly, if you remove that you don't get graphics, but it should still write the images to files. Sorry I havn't done all this myself but I don't have a compiler handy.


Hey, it's a newspaper! A bus ticket Itself in a mirror

As you can see I have no shortage of interesting items to photograph :) It isn't too good at outdoor pictures in the daytime as there seems to be too much light and the minimum exposure time possible at the low clock speed is probably too long. But here are some pictures taken in the evening with a laptop:

Gravel path Motorway
Under a bridge

Because of the very low frame rate, you can move the camera around during the data read stage:


A bunch of pictures taken in different directions on my balcony. If you don't happen to have a 360 degree screen, reduce the width of your browser window till the fisheye effect isn't noticable and you can feel three dimensional. Panoramania


Spectacular breakthrough. By putting colored filters over the lens and taking three pictures of a scene, one with each of red, green and blue filters, then combining the three pictures with this program you can get full blown colored photos, though a bit wishy washy.

coffee pot a blue chair my computer me
some felt pens a corner of my room Jar of salt, orange and screwdriver phone book


This is what happens when you mess around with some of the other registers. Most pictures don't come out this clearly, these took some careful arrangment of the lighting and camera angle, though they were all taken under the same conditions.

Normal Inverted Can't remember Edge extracted 2D
Edge extracted vertical Edge extracted horozontal Edge enhanced


Scan of the chip close up

Under the lens. Notice how pin 2 is not connected to the die, indicating that this must be the M64282FP as expected, not the M64283FP.



People Resources This GameBoy Development Ring site
is owned by Victor Kemp

[ Skip Prev ][ Prev ][ Next ][ Skip Next ]
[ Random ][ Next 5 ][ List Sites ][ Site Stats ]

Game Boy & Nintendo are trademarks
of Nintendo Co., Ltd. of Kyoto, Japan.

Here's a new-ass nav bar, hosted somewhere else!


To home page 1