simon@arapoglu:~$

$ cd ~/projects/joyboy

Alle Projekte ansehen
JoyBoy
tetris.pngOpen ↗

JoyBoy

Ein Game-Boy-Emulator in Go geschrieben, mit interaktivem Debugger und OpenGL-Rendering.

GoOpenGLGLFWDear ImGuiGame Boy Emulation

$ open links

$ cat about.md

JoyBoy ist ein in Go geschriebener Game-Boy-Emulator, veröffentlicht als Version 0.1. Er emuliert die LR35902-CPU mit einem No-MBC-Aufbau (32 KiB) und rendert Frames in OpenGL mit GLFW und Dear ImGui. Ein interaktiver Debugger erlaubt es, die emulierte CPU zu pausieren, Schritt für Schritt auszuführen und neu zu starten; das Joypad wird auf Tastatursteuerung abgebildet. JoyBoy wurde mit handgetesteten Tetris- und Dr.-Mario-ROMs verifiziert und lädt sein ROM über einen fest verdrahteten Pfad - eine vollständige Cartridge- und Sound-Implementierung ist für zukünftige Versionen geplant.

$ cat info

ArtSoftware-Projekt
EntwicklungEinzelentwicklung
TechnologienGoOpenGLGLFWDear ImGuiGame Boy Emulation

$ cat features

CPU-Emulation

Emulation der LR35902-CPU (Sharp SM83-Kern) mit einem No-MBC-32-KiB-Cartridge-Aufbau.

Interaktiver Debugger

Breakpoints per Klick auf Speicherzellen setzen, die emulierte CPU neu starten, im Einzelschritt und Schnellschritt ausführen und Register und Speicher inspizieren.

Echtzeit-VRAM-Viewer

GPU-beschleunigte Tile-, Background-, Window- und Objekt-Viewer (Sprites), die den Live-VRAM-Inhalt direkt in den Debugger rendern.

OpenGL-Frame-Rendering

Rekonstruiert die Background-, Window- und Objekt-Layer und lädt den kompletten Frame bei VBlank hoch, gerendert in OpenGL über GLFW und Dear ImGui.

$ cat gallery