La Game Boy Camera est
un périphérique pour Game Boy qui permet de prendre des photos en basse
résolution (128 x 112, donc seulement 14 kilopixels) en noir
et blanc avec 4 niveaux de gris (donc 2 bits par pixel). Un maximum de 30 photos
peut être stocké à l'intérieur de la cartouche, dans une mémoire RAM de 128K,
alimentée par une pile de sauvegarde.
Il existe différentes techniques (voir la mienne) permettant de
lire le contenu de la RAM de la cartouche vers un fichier sur un PC.
Une fois ce fichier de sauvegarde en main, il faut en extraire les images à
l'aide d'un logiciel. J'ai trouvé un logiciel prévu pour cela, nommé
GBCameraDump, mais
pour Windows. Il fonctionne sans difficulté dans Wine et permet de récupérer
les images dans un format .BMP.
Malgré cela, il m'a plu de faire mon propre outil pour extraire les photos,
un outil en ligne de commande fonctionnant sous Linux et générant des images .png.
Ensuite, un peu inspiré par cet Éditeur de carte
mémoire N64 en javascript fonctionnant dans un navigateur web, et voulant
jouer un peu avec les canvas html5, j'ai réalisé un deuxième outil
d'extraction de photo, cette fois en Javascript/HTML5!
Voici quelques photos prises avec la caméra pour Game Boy. Les couleurs sont celles
obtenues lorsqu'on utilise la caméra avec le Game Boy player (sur Gamecube).
Outil Javascript/html5
La version Javascript/HTML5 s'exécute dans votre navigateur web (entièrement localement) et vous
permet de sélectionner un fichier de sauvegarde sur votre PC.
Fonctionnalités:
Affichage des images « grand format » (128x112) contenues dans la mémoire.
Affiche aussi les images ayant été effacées
Choix de la couleur (par code hex) pour les 4 niveaux de gris.
3 thèmes de couleurs préétablis (Noir et blanc, Gameboy et Gameboy player)
Enregistrement au format .png par la fonction « Enregistrer Sous ... » du navigateur.
La version en ligne de commande offre davantage que la version Javascript, mais
il faudra la compiler pour votre système.
Fonctionnalités:
Extraction des images « grand format » (128x112) vers un .PNG
Extraction des images « format timbre » vers un .PNG
Extraction des images Game Faces vers un .PNG
Récupération des images effacées
Extraction d'une seule image ou de toutes les images d'un coup
Affichage d'une liste d'images
Utilisation
Obtenir de l'aide avec -h
Options:
-h Display this help text
-i index Source image index (first image is 0). Default: 0
-g Use gameface as source photo
-o output.png Export a single photo to a .png file
-b basename Export all photos to png files, using the specified basename
-d Display selected photo (see -i) to the terminal
-l List photos in save file
-a Also export deleted photos
-s Export/display small photos (32x32) intead of large photos (128x112)
-v Be verbose
Lister les photos (voir lesquelles sont actives ou effacées)
./gbcam2png source.sav -l
Extraire une photo (index 0) vers un fichier .png
./gbcam2png source.sav -i 0 -o output.png
Extraire toutes les photos vers plusieurs fichiers .png
./gbcam2png source.sav -b test
Pour chaque photo active (c'est à dire, qui n'a pas été effacée) un fichier nommé testXX.png (où
XX correspondra à l'index de la photo, compté depuis 00) sera créé.
Extraire toutes les photos, même celles qui sont effacées
./gbcam2png source.sav -b test -a
Afficher une image dans un terminal (-d)
Comme il s'agit d'images d'une résolution assez basse, cet outil peut les afficher
dans un terminal en contrôlant la couleur d'arrrière plan des cellules (par des codes
ANSI/VT100). Il faut toutefois utiliser une police d'écriture très petite, et les
« pixels » sont rectangulaires...
./gbcam2png source.sav -i 15 -d
Ce projet est aussi disponible sur GitHub! Pour suggérer de nouvelles fonctionnalités, signaler un problème ou contribuer au projet,
vous pouvez m'écrire ou utiliser le dépôt GitHub: https://github.com/raphnet/gbcam2png
Ma méthode pour lire la RAM
L'adaptateur N64 à USB que j'ai développé, combiné avec un logiciel
de gestion côté PC, supporte le Transfer Pak pour N64. Avec le
Transfer Pak, il est possible de
lire ou écrire la mémoire de sauvegarde de plusieurs types de cartouches de jeu Game Boy.
Depuis la version 2.1.14, le logiciel de gestion peut également lire/écrire
la mémoire de sauvegarde de la Game Boy Camera.
Pour lancer la lecture de la mémoire RAM, il suffit d'accéder au menu Transfer Pak -> Read cartridge RAM to file... et de nommer le fichier cible.
La lecture se terminera en moins d'une minute. Il s'agira ensuite d'utiliser l'outil de votre choix pour extraire les images de ce fichier de sauvegarde.
Un survol rapide des autres méthodes
Il existe plusieurs autres manières pour récupérer les images:
Prendre une photo de l'écran du Game Boy
Utiliser le Super Game Boy ou le Game Boy Player et capturer une image avec une carte
d'acquisition vidéo
Imprimer une photo avec l'imprimante pour Game Boy
Utiliser la Mega Memory Card pour lire la mémoire de sauvegarde de la caméra, pour
ensuite la copier vers une cartouche Game Boy reprogrammable. Il s'agit ensuite de
lire le contenu de la cartouche reprogrammable par USB ou via la carte SD, selon le cas.
Source:
http://jamesumber.com/how-to-transfer-photos-from-a-game-boy-camera/
Il faut noter que passer par l'imprimante (une vraie ou en émulation) a l'avantage que le
cadre des photos sera présent.