Difference between revisions of "Test ROMs"
From GbdevWiki
					
										
					
					|  (Listed the number of the total tests that failed) | |||
| Line 8: | Line 8: | ||
| {| border="1" class="toptable" | {| border="1" class="toptable" | ||
| |- | |- | ||
| − | !Test / Emulator !![[BGB]] !![[Gambatte]] <span class="smaller">v0.4.1</span>!! [[KiGB]] <span class="smaller">v2.05</span>!![[no$gmb]] <span class="smaller">v2.5b</span> !![[VisualBoy Advance|VBA]] | + | !Test / Emulator !![[BGB]] !![[Gambatte]] <span class="smaller">v0.4.1</span>!! [[KiGB]] <span class="smaller">v2.05</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> 14/16 <pre>01:02 02:ok 03:03 | 
| 04:02 05:02 06:01 | 04:02 05:02 06:01 | ||
| 07:05 08:ok 09:01 | 07:05 08:ok 09:01 | ||
| 10:01 11:03 12:02</pre> | 10:01 11:03 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> 16/16 <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 22: | Line 22: | ||
| | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | ||
| Note: Test 04 never completes. | Note: Test 04 never completes. | ||
| + | | <!-- VBA-M --><span class="failed">Failed</span> 1/12 <pre>01:ok 02:ok 03:ok | ||
| + | 04:ok 05:ok 06:ok | ||
| + | 07:ok 08:ok 09:01 | ||
| + | 10:ok 11:ok 12:ok</pre> | ||
| |- | |- | ||
| | CGB sound <span class="smaller">(in DMG mode)</span> | | CGB sound <span class="smaller">(in DMG mode)</span> | ||
| Line 38: | Line 42: | ||
| | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | ||
| Note: Test 04 never completes. | Note: Test 04 never completes. | ||
| − | + | | <!-- VBA-M --><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:ok 05:ok 06:ok | ||
| + | 07:ok 08:ok 09:01 | ||
| + | 10:ok 11:ok 12:ok</pre> | ||
| |- | |- | ||
| | CPU instructions | | CPU instructions | ||
| Line 47: | Line 54: | ||
| | <!-- no$ --> <span class="failed">Failed</span> 2/11 <pre>03:01 05:01</pre> | | <!-- no$ --> <span class="failed">Failed</span> 2/11 <pre>03:01 05:01</pre> | ||
| Note: Warns about inc/dec in OAM. | Note: Warns about inc/dec in OAM. | ||
| + | | <!-- VBA-M --><span class="passed">Passed</span>   | ||
| |- | |- | ||
| | DMG sound <span class="smaller">(v2)</span> | | DMG sound <span class="smaller">(v2)</span> | ||
| Line 60: | Line 68: | ||
| | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | | <!-- no$ --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre> | ||
| Note: Test 04 never completes. | Note: Test 04 never completes. | ||
| + | | <!-- VBA-M --><span class="failed">Failed</span> 5/12 <pre>01:ok 02:ok 03:ok | ||
| + | 04:ok 05:ok 06:ok | ||
| + | 07:ok 08:01 09:01 | ||
| + | 10:01 11:04 12:01</pre> | ||
| |- | |- | ||
| | Instruction timing | | Instruction timing | ||
| Line 66: | Line 78: | ||
| | <!-- KiGB --> <span class="failed">Test doesn't finish</span>   | | <!-- KiGB --> <span class="failed">Test doesn't finish</span>   | ||
| | <!-- no$ --> <span class="failed">Test doesn't finish</span>   | | <!-- no$ --> <span class="failed">Test doesn't finish</span>   | ||
| + | | <!-- VBA-M --><span class="passed">Passed</span>   | ||
| |- | |- | ||
| | Memory timing <span class="smaller">(v2)</span> | | Memory timing <span class="smaller">(v2)</span> | ||
| Line 74: | Line 87: | ||
| | <!-- KiGB --> <span class="failed">Test doesn't finish</span>   | | <!-- KiGB --> <span class="failed">Test doesn't finish</span>   | ||
| | <!-- no$ --><span class="failed">Failed</span> 3/3 <pre>01:01 02:01 03:01</pre> | | <!-- no$ --><span class="failed">Failed</span> 3/3 <pre>01:01 02:01 03:01</pre> | ||
| + | | <!-- VBA-M --><span class="failed">Failed</span> 1/3 <pre>01:ok 02:ok 03:01</pre> | ||
| |- | |- | ||
| | OAM bug <span class="smaller">(v2)</span> | | OAM bug <span class="smaller">(v2)</span> | ||
| Line 89: | Line 103: | ||
| 07:01 08:02</pre> | 07:01 08:02</pre> | ||
| Note: Warns about inc/dec in OAM. (Which is appropriate) | Note: Warns about inc/dec in OAM. (Which is appropriate) | ||
| + | | <!-- VBA-M --> <span class="failed">Failed</span> 5/8 <pre>01:ok 02:02 03:ok | ||
| + | 04:03 05:02 06:ok | ||
| + | 07:01 08:02</pre> | ||
| + | |||
| |- | |- | ||
| |} | |} | ||
Revision as of 22:41, 12 December 2010
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.
| Test / Emulator | BGB | Gambatte v0.4.1 | KiGB v2.05 | 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 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 (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.13.dev (non-public) | Passed | Failed 2/11 03:01 05:01 | 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 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 | 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.13.dev (non-public) | Passed | Test doesn't finish | 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 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 | 
