Test ROMs
A test ROM is a program designed specifically to test whether the platform that the program is running on is working correctly. A test ROM can be used to test the accuracy of an emulator, as well as compare the behavior of different hardware revisions.
Contents
Blargg's tests
Blargg's tests are available at: http://blargg.parodius.com/gb-tests/
All tests were executed in each emulator's DMG mode, except the CGB sound test, which was executed in both DMG and CGB modes.
Emulators running on desktop computers
| Test / Emulator | BGB v.1.12/1.3 dev | Gambatte v0.4.1 | KiGB v2.05 | MESS 0.140 (Oct 31 2010) | no$gmb v2.5b | VBA-M 1.8.0 SVN956 | 
|---|---|---|---|---|---|---|
| CGB sound (in CGB mode) |   Failed 14/16 01:02 02:ok 03:03 04:02 05:02 06:01 07:05 08:ok 09:01 10:01 11:03 12:02  | 
Passed? Runs the 12 tests with OK, then proceeds to apparently running many more tests forever. |   Failed 16/16 01:02 02:05 03:03 04:02 05:02 06:01 07:02 08:01 09:01 10:01 11:02 12:02  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
 Failed 1/12 01:ok 02:ok 03:ok 04:ok 05:ok 06:ok 07:ok 08:ok 09:01 10:ok 11:ok 12:ok  | 
| CGB sound (in DMG mode) |   Failed (A real DMG fails, but with other values.) 01:02 02:ok 03:03 04:02 05:02 06:01 07:05 08:ok 09:01 10:01 11:03 12:02  | 
  Passed? Runs the 12 tests with the data below (which matches the output on a real DMG) and then proceeds to apparently running many more tests forever.01:ok 02:ok 03:ok 04:ok 05:ok 06:ok 07:ok 08:01 09:01 10:01 11:04 12:02  | 
  Failed (A real DMG fails, but with other values.) 01:02 02:05 03:03 04:02 05:02 06:01 07:02 08:01 09:01 10:01 11:02 12:02  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
 Failed (A real DMG fails, but with other values.) 01:ok 02:ok 03:ok 04:ok 05:ok 06:ok 07:ok 08:ok 09:01 10:ok 11:ok 12:ok  | 
| CPU instructions |   Failed 3/11 as of 1.12 (public)01:06 03:01 11:01 Passed as of 1.3 dev (non-public)  | 
Passed |   Failed 2/11 03:01 05:01  | 
Passed |   Failed 2/11 03:01 05:01 Note: Warns about inc/dec in OAM.  | 
Passed | 
| DMG sound (v2) |   Failed 11/1201:02 02:ok 03:03 04:02 05:02 06:01 07:05 08:01 09:01 10:01 11:03 12:01  | 
Passed? Runs the 12 tests with OK, then proceeds to apparently running many more tests until it finally hangs at "D7". |   Failed 11/12 01:02 02:05 03:03 04:02 05:02 06:01 07:02 08:ok 09:01 10:01 11:02 12:01  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
  Failed 01:02 02:02 03:02 Note: Test 04 never completes.  | 
 Failed 5/12 01:ok 02:ok 03:ok 04:ok 05:ok 06:ok 07:ok 08:01 09:01 10:01 11:04 12:01  | 
| Instruction timing | Passed | Passed | Test doesn't finish | Passed | Test doesn't finish | Passed | 
| Memory timing (v2) |  Failed 3/3 as of 1.12 (public)
01:01 02:01 03:01 Passed as of 1.3 dev (non-public)  | 
Passed | Test doesn't finish |  Failed 1/3 01:ok 02:ok 03:01  | 
 Failed 3/3 01:01 02:01 03:01  | 
 Failed 1/3 01:ok 02:ok 03:01  | 
| OAM bug (v2) |    Failed 6/8 01:02 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
  Failed 5/8 01:ok 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
  Failed 6/8 01:02 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
  Failed 5/8 01:ok 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
  Failed 6/8 01:02 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02 Note: Warns about inc/dec in OAM. (Which is appropriate)  | 
  Failed 5/8 01:ok 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
Emulators running in JavaScript
| Test / Emulator | GameBoy Online as of 2010-12-22 | JSGB by Pedro Ladaria v0.2 | jsGB by Imran Nazar aka Two9A 2010-09-27 GitHub checkin | 
|---|---|---|---|
| CGB sound (in CGB mode) |   Failed 15/16 01:02 02:05 03:03 04:02 05:02 06:01 07:02 08:01 09:01 10:ok 11:03 12:02Note: GameBoy Online does have sound support.  | 
(No GBC support.) | (No GBC support.) | 
| CGB sound (in DMG mode) | (Apparently can't run a GBC only ROM in DMG mode.) |   Failed 16/16  Fails all tests, then proceeds to apparently running many more tests forever, much like Gambatte. 01:02 02:02 03:02 04:03 05:02 06:02 07:02 08:03 09:02 10:02 11:02 12:03Note: JSGB doesn't have sound support.  | 
  Failed Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl) Note: JSGB doesn't have sound support.  | 
| CPU instructions |   Failed 1/11 05:01  | 
  Failed  01:06 02:05 03:Note: Throws the following errors: "HALT instruction with interrupts disabled.", "STOP instruction". Test 03 never finishes.  | 
Failed Breaks during the first test. "Unimplemented instruction at $677, stopping." (ld sp,hl) | 
| DMG sound (v2) |   Failed 11/12 01:02 02:05 03:03 04:02 05:02 06:01 07:02 08:ok 09:01 10:01 11:03 12:01Note: GameBoy Online does have sound support.  | 
  Failed 16/16  Fails all tests, then proceeds to apparently running many more tests forever, much like Gambatte. 01:02 02:02 03:02 04:03 05:02 06:02 07:02 08:03 09:02 10:02 11:02 12:03Note: JSGB doesn't have sound support.  | 
  Failed Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl) Note: JSGB doesn't have sound support.  | 
| Instruction timing | Passed | Failed #255 | Failed Test doesn't finish. | 
| Memory timing (v2) |  Failed 3/301:01 02:01 03:01  | 
 Failed 3/301:01 02:01 03:01  | 
Failed Test 01 doesn't finish. | 
| OAM bug (v2) |    Failed 6/8 01:03 02:02 03:ok 04:03 05:02 06:ok 07:01 08:02  | 
Failed (The test never completes.) | Failed Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl) |