EmuCR Feeds
Email Us

Simple-Boy v1.0.0 is released. A cycle accurate, high performance Game Boy (DMG-01) emulator written in C++17. Built with modern software design patterns, a comprehensive interactive debugger, and fully optimized audio/graphics rendering using SFML and ImGui. Simple-Boy focuses on clean cycle accurate timing, precise hardware behavior (such as custom LCD timings and stack interrupt execution bounds), and automated test harness execution.

Key Features:
CPU: Complete emulation of the Sharp LR35902 CPU, featuring cycle-accurate instruction timings, correct interrupt boundaries, and stack-frame stack pointer validation.
PPU (Graphics): Pixel pipeline with correct timing for LCD status modes, scanline synchronization, sprites (OBJ rendering), background rendering, and window maps.
APU (Audio): Multi-channel audio engine emulating CH1 & CH2 (Square wave with sweep), CH3 (Custom Wave Pattern with retrigger safety), and CH4 (White Noise). Audio streams smoothly via an asynchronous ring-buffered SFML SoundStream.
Memory Mapper (MBC): Support for a wide variety of cartridges:
ROM Only
MBC1 (Bank switching, RAM enable)
MBC2 (Built in 512-nibble RAM)
MBC3 (RTC clock registers, RAM banking)
MBC5 (Up to 8MB ROM, RAM banking)
Battery-backed Save Support: Automatically saves and loads game battery RAM (saves as .sav or .battery in the ROM folder).
Automated Serial Outputs: Fully hooks the Game Boy link port ($FF01 and $FF02) to output test ROM text directly to your shell.
Simple-Boy Changelog:
Installation & Running
Windows Users
Download and extract Simple-Boy-v1.0.0-Windows.zip attached below.
Run the game in standard mode:
Simple-Boy.exe path/to/game.gb
Run the game with the debugger active:
Simple-Boy.exe path/to/game.gb --debug
(Note: All compiler C++ standard library dependencies are statically linked in this build for portability).

Download: Simple-Boy v1.0.0
Source: Here



Random Related Topic Refresh Related Topic

Random Related Topic Loading...

0 Comments

Post a Comment

Can't post a comment? Try This!