Difference between revisions of "Test ROMs"
From GbdevWiki
Grantgalitz (Talk | contribs) (→Emulators running in JavaScript) |
(updated for bgb 1.4 and fixed mistake: CGB sound has 12 tests, not 16) |
||
Line 11: | Line 11: | ||
{| border="1" class="toptable" | {| border="1" class="toptable" | ||
|- | |- | ||
− | !Test / Emulator !![[BGB]] <span class="smaller">1. | + | !Test / Emulator !![[BGB]] <span class="smaller">1.4</span>!![[Gambatte]] <span class="smaller">v0.4.1</span>!! [[KiGB]] <span class="smaller">v2.05</span>!![[MESS]] <span class="smaller">0.140 (Oct 31 2010)</span>!![[no$gmb]] <span class="smaller">v2.5b</span> !![[VisualBoy Advance|VBA]]<span class="smaller">-M 1.8.0 SVN956</span> |
|- | |- | ||
| CGB sound <span class="smaller">(in CGB mode)</span> | | CGB sound <span class="smaller">(in CGB mode)</span> | ||
− | | <!-- BGB --> <span class="failed">Failed</span> | + | | <!-- BGB --> <span class="failed">Failed</span> 2/12 <pre>01:ok 02:ok 03:ok |
− | 04: | + | 04:ok 05:ok 06:ok |
− | 07: | + | 07:ok 08:ok 09:01 |
− | 10: | + | 10:ok 11:ok 12:02</pre> |
| <!-- Gamb --> <span class="passed">Passed?</span> Runs the 12 tests with OK, then proceeds to apparently running many more tests forever. | | <!-- Gamb --> <span class="passed">Passed?</span> Runs the 12 tests with OK, then proceeds to apparently running many more tests forever. | ||
− | | <!-- KiGB --> <span class="failed">Failed</span> | + | | <!-- KiGB --> <span class="failed">Failed</span> 12/12 <pre>01:02 02:05 03:03 |
04:02 05:02 06:01 | 04:02 05:02 06:01 | ||
07:02 08:01 09:01 | 07:02 08:01 09:01 | ||
Line 33: | Line 33: | ||
|- | |- | ||
| CGB sound <span class="smaller">(in DMG mode)</span> | | CGB sound <span class="smaller">(in DMG mode)</span> | ||
− | | <!-- BGB --> <span class="failed">Failed</span> <span class="smaller">(A real DMG fails, but with other values.)</span> <pre>01: | + | | <!-- BGB --> <span class="failed">Failed</span> <span class="smaller">(A real DMG fails, but with other values.)</span> <pre>01:ok 02:ok 03:ok |
− | 04: | + | 04:ok 05:ok 06:ok |
− | 07: | + | 07:ok 08:01 09:01 |
− | 10: | + | 10:ok 11:04 12:02</pre> |
| <!-- Gamb --> <span class="passed">Passed?</span> 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.<pre>01:ok 02:ok 03:ok | | <!-- Gamb --> <span class="passed">Passed?</span> 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.<pre>01:ok 02:ok 03:ok | ||
04:ok 05:ok 06:ok | 04:ok 05:ok 06:ok | ||
Line 64: | Line 64: | ||
|- | |- | ||
| DMG sound <span class="smaller">(v2)</span> | | DMG sound <span class="smaller">(v2)</span> | ||
− | | <!-- BGB --> <span class="failed">Failed</span> | + | | <!-- BGB --> <span class="failed">Failed</span> 3/12<pre>01:ok 02:ok 03:ok |
− | 04: | + | 04:ok 05:ok 06:ok |
− | 07: | + | 07:ok 08:ok 09:01 |
− | 10:01 11: | + | 10:01 11:ok 12:01</pre> |
| <!-- Gamb --> <span class="passed">Passed?</span> Runs the 12 tests with OK, then proceeds to apparently running many more tests until it finally hangs at "D7". | | <!-- Gamb --> <span class="passed">Passed?</span> Runs the 12 tests with OK, then proceeds to apparently running many more tests until it finally hangs at "D7". | ||
| <!-- KiGB --> <span class="failed">Failed</span> 11/12 <pre>01:02 02:05 03:03 | | <!-- KiGB --> <span class="failed">Failed</span> 11/12 <pre>01:02 02:05 03:03 | ||
Line 99: | Line 99: | ||
|- | |- | ||
| OAM bug <span class="smaller">(v2)</span> | | OAM bug <span class="smaller">(v2)</span> | ||
− | | <!-- BGB --> <span class="failed">Failed</span> | + | | <!-- BGB --> <span class="failed">Failed</span> 5/8 <pre>01:ok 02:02 03:ok |
04:03 05:02 06:ok | 04:03 05:02 06:ok | ||
07:01 08:02</pre> | 07:01 08:02</pre> |
Revision as of 23:11, 25 May 2012
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 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/1201: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:02Note: 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: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 | 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: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) |