Difference between revisions of "Test ROMs"
From GbdevWiki
					
										
					
					 (CGB sound test)  | 
				 (Listed the number of the total tests that failed)  | 
				||
| Line 11: | Line 11: | ||
|-  | |-  | ||
| CGB sound <span class="smaller">(in CGB mode)</span>  | | CGB sound <span class="smaller">(in CGB mode)</span>  | ||
| − | | <!-- BGB --> <span class="failed">Failed</span> <pre>01:02 02:ok 03:03  | + | | <!-- BGB --> <span class="failed">Failed</span> 10/12 <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> <pre>01:02 02:05 03:03  | + | | <!-- 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 49: | Line 49: | ||
|-  | |-  | ||
| DMG sound <span class="smaller">(v2)</span>  | | DMG sound <span class="smaller">(v2)</span>  | ||
| − | | <!-- BGB --> <span class="failed">Failed</span><pre>01:02 02:ok 03:03  | + | | <!-- BGB --> <span class="failed">Failed</span> 11/12<pre>01:02 02:ok 03:03  | 
04:02 05:02 06:01  | 04:02 05:02 06:01  | ||
07:05 08:01 09:01  | 07:05 08:01 09:01  | ||
10:01 11:03 12:01</pre>  | 10:01 11:03 12:01</pre>  | ||
| − | | <!-- Gamb --> <span class="  | + | | <!-- 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> <pre>01:02 02:05 03:03  | + | | <!-- KiGB --> <span class="failed">Failed</span> 11/12 <pre>01:02 02:05 03:03  | 
04:02 05:02 06:01  | 04:02 05:02 06:01  | ||
07:02 08:ok 09:01  | 07:02 08:ok 09:01  | ||
| Line 68: | Line 68: | ||
|-  | |-  | ||
| Memory timing <span class="smaller">(v2)</span>  | | Memory timing <span class="smaller">(v2)</span>  | ||
| − | | <!-- BGB --><span class="failed">Failed</span> as of 1.12 <span class="smaller">(public)</span>  | + | | <!-- BGB --><span class="failed">Failed</span> 3/3 as of 1.12 <span class="smaller">(public)</span>  | 
<pre>01:01 02:01 03:01</pre>  | <pre>01:01 02:01 03:01</pre>  | ||
<span class="passed">Passed</span> as of 1.13.dev <span class="smaller">(non-public)</span>  | <span class="passed">Passed</span> as of 1.13.dev <span class="smaller">(non-public)</span>  | ||
| <!-- Gamb --> <span class="passed">Passed</span>  | | <!-- Gamb --> <span class="passed">Passed</span>  | ||
| <!-- KiGB --> <span class="failed">Test doesn't finish</span>    | | <!-- KiGB --> <span class="failed">Test doesn't finish</span>    | ||
| − | | <!-- no$ --><span class="failed">Failed</span><pre>01:01 02:01 03:01</pre>  | + | | <!-- no$ --><span class="failed">Failed</span> 3/3 <pre>01:01 02:01 03:01</pre>  | 
|-  | |-  | ||
| OAM bug <span class="smaller">(v2)</span>  | | OAM bug <span class="smaller">(v2)</span>  | ||
| − | |  <!-- BGB --> <span class="failed">Failed</span><pre>01:02 02:02 03:ok  | + | |  <!-- BGB --> <span class="failed">Failed</span> 6/8 <pre>01:02 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>  | ||
| − | | <!-- Gamb --> <span class="failed">Failed</span><pre>01:ok 02:02 03:ok  | + | | <!-- Gamb --> <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>  | ||
| − | | <!-- KiGB --> <span class="failed">Failed</span><pre>01:02 02:02 03:ok  | + | | <!-- KiGB --> <span class="failed">Failed</span> 6/8 <pre>01:02 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>  | ||
| − | | <!-- No$ --> <span class="failed">Failed</span><pre>01:02 02:02 03:ok  | + | | <!-- No$ --> <span class="failed">Failed</span> 6/8 <pre>01:02 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 21:05, 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 | 
|---|---|---|---|---|---|
| CGB sound (in CGB mode) |   Failed 10/12 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 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.  | |
| 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.  | |
| 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.  | |
| DMG sound (v2) |   Failed 11/1201: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.  | |
| Instruction timing | Passed | Passed | Test doesn't finish | Test doesn't finish | |
| 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  | |
| 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)  |