GOBOY est un émulateur de couleur Nintendo Gameboy et Gameboy à go multiplateforme écrit. L'émulateur peut exécuter la majorité des jeux GB et certains jeux CGB. Il y a aussi des couleurs et du soutien sonore. Cet émulateur a été principalement construit comme un exercice de développement et travaille toujours en cours. N'hésitez pas à contribuer si vous êtes intéressé par le développement de l'émulateur Gameboy.


Le programme comprend des fonctions de débogage, ce qui le rend utile pour comprendre le fonctionnement de l'émulateur pour en construire un vous-même. Ces fonctions incluent l'impression d'opcodes et les valeurs d'enregistrement à la console à chaque étape (bien que ralentira considérablement l'émulation) et le basculement des canaux sonores individuels.
Téléchargez la dernière version de Gobboy depuis la page des versions.
Avec GO installé, vous pouvez installer GOBOY dans votre bac Go en fonctionnant:
go get github.com/Humpheh/goboy/cmd/goboySi vous avez Go 1.11, vous pouvez également faire:
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.goGoBoy est compatible avec MacOS, Windows et Linux. La construction de Windows 10 nécessite Mingw et sur Linux, vous devrez installer GTK.
GoBoy utilise le pixel de la bibliothèque Go pour la liaison de contrôle et le rendu graphique, qui nécessite OpenGL. Vous devrez peut-être installer certaines exigences qui peuvent être trouvées sur les pixels Readme.
goboy zelda.gbContrôles: ← ↑ ↓ → Z x Entrez le backspace
La palette de couleurs peut être à vélo avec = (en mode DMG), et le jeu peut être fabriqué plein écran avec f .
Autres options:
-dmg
set to force dmg mode
-mute
mute sound outputDébogue ou options expérimentales:
-cpuprofile string
write cpu profile to file (debugging)
-disableVsync
set to disable vsync (debugging)
-stepthrough
step through opcodes (debugging)
-unlocked
if to unlock the cpu speed (debugging)Il y a quelques raccourcis clavier utiles pour le débogage:
Q - Contexte de basculement de force
W - sprites à bascule de force
A - Imprimer les données de la palette d'arrière-plan GB (CGB)
S - Print Sprite Palette Data (CGB)
D - Imprimer la carte d'arrière-plan pour enregistrer
E - Basculez l'impression opcode à la console (ralentira l'exécution)
7,8,9,0 - Togle des canaux de son 1 à 4.
Si la ROM chargée prend en charge une batterie, un fichier <rom-name>.sav (par exemple zelda.gb.sav ) sera créé à côté de la ROM chargée contenant un vidage du RAM à partir de la cartouche. Une boucle dans le programme mettra à jour ce fichier de sauvegarde chaque seconde pendant l'exécution du jeu.
GoBoy passe actuellement tous les tests dans cpu_instrs de BLARGG et ROMS TEST instr_timing .


Ces ROM sont incluses dans le code source ainsi qu'un test pour vérifier que la sortie est comme prévu ( instructions_test.go et timing_test.go ). Ces tests sont également exécutés sur chaque engagement.
N'hésitez pas à ouvrir les demandes de traction à ce projet ou à jouer si vous êtes intéressé! Il y a encore beaucoup de petits bugs qui peuvent facilement être trouvés en jouant à des jeux sur l'émulateur, ou prendre une tâche dans la liste TODO ci-dessous!




Une grande variété de ressources a été utilisée pour comprendre et tester le matériel Gameboy. Certains d'entre eux incluent: