Test ROMs

From GbdevWiki
Revision as of 04:43, 6 September 2011 by Grantgalitz (Talk | contribs) (Emulators running in JavaScript)

Jump to: navigation, search


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.

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 1.3 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 Passed 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/12
01: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) Passed 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:ok 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 2011-01-09 JSGB by Pedro Ladaria v0.2 jsGB by Imran Nazar aka Two9A 2010-09-27 GitHub checkin
CGB sound (in CGB mode) Failed 14/16
01:02 02:07 03:03
04:02 05:02 06:01
07:03 08:ok 09:01
10:ok 11:03 12:02
Note: 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:03
Note: 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 Passed 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:01
Note: 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:03
Note: 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/3
01:01 02:01 03:01
Failed 3/3
01: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)