A test ROM for Game Boy (DMG) emulator developers to verify accurate PPU emulation.
dmg-acid2 is a test ROM for Game Boy (DMG) emulator developers to verify the accuracy of their Pixel Processing Unit (PPU) emulation. It provides a visual reference image that an accurate emulator must reproduce, testing various graphics rendering features like object priority, tile mapping, and PPU flag handling. The project helps ensure emulators correctly implement the Game Boy's graphics hardware specifications.
Developers building or maintaining Game Boy (DMG) emulators who need to validate the accuracy of their PPU implementation. It is also useful for retro gaming enthusiasts interested in emulator development and hardware accuracy testing.
Developers choose dmg-acid2 because it offers a standardized, visual compliance test specifically for Game Boy PPU emulation, with clear failure examples that diagnose specific inaccuracies. It is designed to be accessible, working with simple line-based renderers without requiring cycle-accurate timing, making it a practical tool for improving emulator quality.
😀 The Acid2 test, now for the original Game Boy! 😀
Tests key graphics features like object priority, tile mapping, and PPU flags, with detailed sections in the guide covering background, window, and object rendering.
Includes a table of failure images linked to specific PPU issues, such as object palette or background enable flags, helping developers quickly identify and fix inaccuracies.
Designed to work with line-based renderers without requiring cycle-accurate timing, as stated in the README, making it practical for many emulator implementations.
Provides precise reference images and color conversion formulas (e.g., for DMG and CGB modes), ensuring consistent comparison across emulators.
Explicitly not a PPU timing torture test, as admitted in the README, so it lacks validation for cycle-accurate emulation needed in some advanced scenarios.
Focuses solely on PPU emulation, ignoring other critical emulator parts like CPU, audio, or input handling, which requires additional testing tools.
Building from source requires RGBDS, adding complexity for users who prefer pre-built binaries or are unfamiliar with assembler toolchains.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.