Difference between revisions of "Test ROMs"

From GbdevWiki
Jump to: navigation, search
(Blargg's tests)
 
Line 8: Line 8:
 
* <strike>http://blargg.parodius.com/gb-tests/</strike> Old location. Dead ever since Parodius went down!
 
* <strike>http://blargg.parodius.com/gb-tests/</strike> Old location. Dead ever since Parodius went down!
 
* <strike>http://blargg.8bitalley.com/parodius/gb-tests/</strike> Another old location.
 
* <strike>http://blargg.8bitalley.com/parodius/gb-tests/</strike> Another old location.
* http://gbdev.gg8.se/files/roms/blargg-gb-tests/ Mirror.
+
* https://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.  

Latest revision as of 20:19, 31 March 2020


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.

Real hardware (using a GB flash card)

Contributions are welcome !

Test / Emulator Game Boy (DMG) Game Boy Pocket (MGB) Game Boy Color (GBC) Game Boy Advance (Regular and SP) 3DS Virtual Console
CGB sound (in corresponding mode) 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:02
Failed The screen goes blank except for a horizontal line during the first test. Passed 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
Failed 11/12
01:02 02:02 03:02
04:02 05:02 06:01
07:02 08:01 09:01
10:ok 11:02 12:02
CPU instructions Passed Failed The screen goes blank except for a horizontal line during the first test. Passed Passed Failed 5/11
 01:05 02:02 03:01
04:ok 05:ok 06:ok
07:ok 08:01 09:ok
10:ok 11:01
DMG sound (v2) Passed Failed The screen goes blank except for a horizontal line during the first test. Failed The screen blacks out during the first test Failed The screen blacks out during the first test Failed 12/12
01:02 02:02 03:02
04:02 05:02 06:01
07:02 08:01 09:01
10:01 11:02 12:02
Instruction timing Passed Passed Passed Passed Passed
Memory timing (v2) Passed Passed Passed Passed Failed 3/3
01:01 02:01 03:01
OAM bug (v2) Passed Failed The screen goes blank during the first test. 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

Side note for the 3DS VC : it seemingly ran the ROMs in GBC mode, although I cannot confirm this is true. Tests will be conducted using other base ROMs for CIA injection that should enforce DMG mode.

Emulators running on desktop computers

Test / Emulator BGB 1.5 Gambatte v0.5.5 KiGB v2.05 MESS 0.140 (Oct 31 2010) no$gmb v2.5b VBA-M 1.8.0 SVN956
CGB sound (in CGB mode) Passed Passed 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) Passed Runs the 12 tests with the data below (which matches the output on a real DMG).
01:ok 02:ok 03:ok
04:ok 05:ok 06:ok
07:ok 08:01 09:01
10:01 11:04 12:02
Passed Runs the 12 tests with the data below (which matches the output on a real DMG).
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) Passed Passed 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 2015-17-12 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)