Goboy es un emulador de color de Nintendo Gameboy y Gameboy múltiple escrito en GO. El emulador puede ejecutar la mayoría de los juegos de GB y algunos juegos de CGB. También hay soporte de color y sonido. Este emulador se construyó principalmente como un ejercicio de desarrollo y todavía está funcionando en progreso. No dude en contribuir si está interesado en el desarrollo del emulador de Gameboy.


El programa incluye funciones de depuración que lo hacen útil para comprender la operación del emulador para construir uno usted mismo. Estas funciones incluyen la impresión de códigos de operación y los valores de registro en la consola en cada paso (aunque frenarán en gran medida la emulación) y la alternativa de canales de sonido individuales.
Descargue el último lanzamiento de Goboy de la página de lanzamientos.
Con GO instalado, puede instalar GOBOY en su contenedor GO ejecutando:
go get github.com/Humpheh/goboy/cmd/goboySi tiene Go 1.11, también puede hacer:
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.goGoboy es compatible con macOS, Windows y Linux. Construir en Windows 10 requiere Mingw y en Linux, deberá instalar GTK.
Goboy usa el píxel de la biblioteca GO para el enlace de control y la representación de gráficos, que requiere OpenGL. Es posible que deba instalar algunos requisitos que se pueden encontrar en el readMe de los píxeles.
goboy zelda.gbControles: ← ↑ ↓ → Z x Ingrese Backspace
La paleta de colores se puede ciclar con = (en modo DMG), y el juego se puede hacer con pantalla completa con f .
Otras opciones:
-dmg
set to force dmg mode
-mute
mute sound outputOpciones de depuración o experimental:
-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)Hay algunos atajos de teclado útiles para la depuración:
P - Forzar el fondo de alternar
W - Force Toggle Sprites
A - Imprimir datos de paleta de fondo GB (CGB)
S - Datos de paleta de sprites impresas (CGB)
D - Imprimir el mapa de fondo para registrar
E - Alternar la impresión de código de operación a la consola (disminuirá la ejecución)
7,8,9,0 - Alternar los canales de sonido 1 a 4.
Si la ROM cargada admite una batería A <rom-name>.sav (por ejemplo, zelda.gb.sav ) se creará junto a la ROM cargada que contiene un volcado de la RAM del cartucho. Un bucle en el programa actualizará este archivo de guardado cada segundo mientras el juego se ejecuta.
Actualmente, Gotboy pasa todas las pruebas en ROM cpu_instrs e instr_timing de Blargg.


Estas ROM se incluyen en el código fuente junto con una prueba para verificar la salida es como se esperaba ( instructions_test.go y timing_test.go ). Estas pruebas también se ejecutan en cada confirmación.
¡No dude en abrir solicitudes de extracción a este proyecto o jugar si está interesado! Todavía hay muchos errores pequeños que se pueden encontrar fácilmente jugando juegos en el emulador, ¡o tomar una tarea de la lista de TODO a continuación!




Se utilizaron una gran variedad de recursos para comprender y probar el hardware de Gameboy. Algunos de estos incluyen: