The camera holds a maximum of 30 pictures after unlocking all the features through the mini games, so you get about a 35mm film roll's worth of tiny pictures before they have to be offloaded somewhere... which is no mean feat. You can't just use a link cable and save them somewhere, you can't insert SD cards - so what do?
Methods exist, the most ready-made being the BitBoy, which allows the user to save images pixel-for-pixel to an SD card by using the print function originally intended for the Game Boy Printer accessory. But as the BitBoy is a bit too pricy for us urchins, we use a more complicated and imperfect pipeline to capture our images, all the while having at least as much fun as the rich kids.
The method described below works on Linux systems, though it involves a capture card dongle that was made for Windows systems. If you're on Windows, just follow the instructions that come with the EasyCapture device and you can do essentially what we're doing here - alternatively, you can use this opportunity to make the switch to a Linux-based system. Come play with us.
Here's how it's going to work: you'll insert the GBC into the SGB and the SGB into the SNES. You'll then attach the SNES to the capture card and the capture card to your PC.
Like this (it'll look a bit different for North America, where a redesigned SNES and SGB were sold). Keep in mind you'll need a SNES controller to use the camera and open the pictures in it.
sudo cp ./somagic_firmware.bin /lib/firmware/somagic_firmware.bin
sudo apt install gcc make libgcrypt20* libusb-1.0-0 libusb-1.0-0-dev debhelper devscripts
sudo dpkg -i multiarch-support_2.29-0ubuntu2_i386.deb
sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4_i386.deb
sudo dpkg -i libgcrypt11-dev_1.5.4-3+really1.8.4-3ubuntu1_i386.deb
cd somagic-easycap_1.1it may complain about some stuff; pay it no mind.
make && sudo make install
somagic-initIt should return nothing if it works. If it tells you the device isn't hooked up, try reconnecting, try different USB ports, reboot, et cetera.
Now you can view the video stream in VLC Media Player:
sudo somagic-capture --cvbs-input=1 --pal | vlc --demux rawvid --rawvid-fps 30 --rawvid-width 720 --rawvid-height 576 --rawvid-chroma=UYVY -Change --pal to --ntsc or --secam depending on the colour system used in your region. Look at that, you're playing Nintendo on your computer! If it doesn't work, try turning the SNES off and on, or re-initialising the stream.
As our pictures are monochrome and the SGB has some colour emulation settings, if your pictures appear in colour, press START+SELECT simultaneously and repeat until the display is black and white. Look here for a complete guide to the SGB.
After doing this and once the GBC has booted up, use your controller to select 'SHOOT' and then 'CHECK' to view your photos.
In this screen, select a photo, wait a second for the little cursor at the bottom to disappear, and then on your PC while in VLC, hit Shift+S on your keyboard to take a screenshot. Go to the next picture, wait, hit Shift+S. Keep doing this until you've screenshotted all of your pictures. VLC usually saves them to your home directory.
ls | cat -n | while read n f; do mv "$f" `printf "%03d.png" $n`; doneWhich changes the filenames to a numbered list. No real reason for this other than neatness. Now for the real magic:
mkdir out | for f in *.png; do convert $f -crop 325x225+192+167 +repage -grayscale rec709luma -resize 325x281\! -level 15%,97%,1.6 -unsharp 0x2.75x0.5x0.0015686 out/$f; doneLo, for a folder called out has appeared! And what's more, it contains beautiful, sharp, correctly proportioned Game Boy Camera images! A wonder of computing.
And that's it, friend. It isn't pixel perfect and the process is a bit messy what with analog signals and dodgy capture cards, but it gets the job done. Enjoy!