Description du projet

Émuler la Gameboy sur un SmartPhone ?!
C’est possible, j’ai créé cette interface web afin de tester les possibilisées Ingame, et voir les limites de nos Smartphones sur ce support.
Gameboy.montrezvous.net

Aux possibilisées natives de la Gameboy, j’ai ajouté un sélecteur de jeux, des boutons de sauvegarde, pause, volume et vitesse.

Le premier jeu (Super Mario Land 2 Couleur) se lance sans le son afin de laisser le temps à l’utilisateur de se familiariser avec l’interface puis qu’il utilise le sélecteur de jeu pour démarrer à jouer.

L’interface WEB de ce projet est pensée intégralement pour les Smartphones (Mobile-first) afin d’étudier la transition : Boutons => Écran tactile.

Les sauvegardes de jeux se font dans les cookies du navigateur, 8 emplacements de sauvegardes maximum sont disponibles, le bouton SUPP efface la plus ancienne des sauvegardes.

Les 164 Jeux Gameboy et Gameboy-Color(C) sont disponibles, leurs droits d’auteur dépassent 20 ans, tombés actuellement dans le domaine public.

Cette interface web est écrite en HTML5/JavaScript natif, le jeu Gameboy est émulé par un Objet Javascript, les boutons HTML sont connectés à cet Objet JS, l’écran utilise un Canvas HTML5 actualisé par cet Objet JS en temps réel.

Il existe une multitude d’émulateurs de consoles en Javascript, le choix de la Gameboy s’explique car il s’agit de ma première console, pour sa similitude matérielle avec nos smartphones et pour la disponibilité exceptionnelle de ses jeux.

La Valeur des Curseurs de Volume Sonore et Vitesse d’émulation possèdent deux boutons réajustant leurs valeurs initiales.
La Vitesse de Jeu est comprise entre 0.1 et 3 fois plus vite qu’initialement.
Le Bouton Pause est une invention de notre part permettant de mettre l’IA en Pause.
Les Utilisateurs de PC remarqueront de nombreux message dans leur Console de Navigateur, pour ce jeu est Kirby 2 Color :

windowingInitialize() called. 0
GameBoyIO.js:74 No previous emulation was found to be cleared. 0
GameBoyCore.js:4683 Game Title: KIRBY2[][À] 0
GameBoyCore.js:4684 Game Code: 0
GameBoyCore.js:4687 Cartridge type #27 0
GameBoyCore.js:4830 Cartridge Type: MBC5 + SRAM + BATT. 0
GameBoyCore.js:4833 64 ROM banks. 0
GameBoyCore.js:4839 1 RAM bank requested for allocation. 0
GameBoyCore.js:4872 Only GBC mode detected. 0
GameBoyIO.js:154 Could not find any previous SRAM copy for the current ROM. 0
GameBoyCore.js:4967 Actual bytes of MBC RAM allocated: 131072 0
GameBoyCore.js:4466 Starting without the GBC boot ROM. 0
GameBoyCore.js:4897 New style license code: 49 0
GameBoyIO.js:35 Starting the iterator. 0
GameBoyCore.js:417 Going into double clock speed mode. 0

Ce projet m’offre un retour d’expérience du projet Gameboy sur Smartphone très intéressant.