GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - aappleby/gbmicrotest: A large collection of as-small-as-possible tests for your Game Boy emulator

BranchesTags
Open more actions menu

Latest commit

 

History

8 Commits
8 Commits

Folders and files

NameName
Last commit message
Last commit date
bin
bin
 
 
tests
tests
 
 
GBMicrotest.code-workspace
GBMicrotest.code-workspace
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.sh
build.sh
 
 

Repository files navigation

GBMicrotest

A large collection of as-small-as-possible tests for your Game Boy emulator that check for a wide variety of cycle-accurate timing issues and quirks found on the real Game Boy hardware. All tests in this repo have been checked on real hardware (version DMG-CPU-08 I believe).

These tests were originally used to debug GateBoy, and are not intended to verify basic functionality of your emulator. They are solely for tracking down cycle-accuracy issues in emulators that are already functional. GateBoy, for example, passes all but a handful of these tests because it does not currently simulate asynchronous timing glitches correctly.

I originally wrote these tests because the other available test ROMs do a bunch of setup/teardown that made it painfully slow to iterate on back when GateBoy could only run at a tiny fraction of realtime. These tests instead check exactly one register or memory address at one specific cycle after boot and then write a pass/fail value to VRAM so the result is visible onscreen.

Running:

Prebuilt ROMs are in bin/ and do not require your emulator to have a mapper implemented.

Most tests will complete in a few hundred cycles, except for those that need to check behavior after VBLANK.

The test will write results to ram at 0xFF80-0xFF82 and then display either stripes on the LCD if the test passes, or black if the test fails.

  • 0xFF80 - Test result
  • 0xFF81 - Expected result
  • 0xFF82 - 0x01 if the test passed, 0xFF if the test failed.

(Re)Building:

Install wla-dx, then run "build.sh" in the repo root.

About

A large collection of as-small-as-possible tests for your Game Boy emulator

Resources

Readme
MIT license
Activity

Stars

24 stars

Watchers

2 watching

Forks

3 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.