Difference between revisions of "Test ROMs"

From GbdevWiki
Jump to: navigation, search
(updated for bgb 1.4 and fixed mistake: CGB sound has 12 tests, not 16)
Line 4: Line 4:
  
 
== Blargg's tests ==
 
== Blargg's tests ==
Blargg's tests are available at: http://blargg.parodius.com/gb-tests/
+
Blargg's tests are available at:  
 +
 
 +
* <strike>http://blargg.parodius.com/gb-tests/</strike> Old location. Dead ever since Parodius went down!
 +
* http://blargg.8bitalley.com/parodius/gb-tests/ New official location.
 +
* http://gbdev.gg8.se/files/roms/blargg-gb-tests/ Mirror.
  
 
All tests were executed in each emulator's DMG mode, except the CGB sound test, which was executed in both DMG and CGB modes.  
 
All tests were executed in each emulator's DMG mode, except the CGB sound test, which was executed in both DMG and CGB modes.  

Revision as of 16:51, 25 April 2013


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:

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.4 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 2/12
01:ok 02:ok 03:ok
04:ok 05:ok 06:ok
07:ok 08:ok 09:01
10:ok 11:ok 12:02
Passed? Runs the 12 tests with OK, then proceeds to apparently running many more tests forever. Failed 12/12
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:ok 02:ok 03:ok
04:ok 05:ok 06:ok
07:ok 08:01 09:01
10:ok 11:04 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 3/12
01:ok 02:ok 03:ok
04:ok 05:ok 06:ok
07:ok 08:ok 09:01
10:01 11:ok 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 5/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:ok* 12:02
Note: GameBoy Online does have sound support. *Test #11 passes in the LLE-APU branch.
(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)