Difference between revisions of "Test ROMs"

From GbdevWiki
Jump to: navigation, search
(Fixed the BGB version numbering)
Line 8: Line 8:
 
{| border="1" class="toptable"
 
{| border="1" class="toptable"
 
|-
 
|-
!Test / Emulator !![[BGB]] <span class="smaller">v.1.12/1.3 dev</span>!![[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>
+
!Test / Emulator !![[BGB]] <span class="smaller">v.1.12/1.3 dev</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>
Line 20: Line 20:
 
07:02 08:01 09:01
 
07:02 08:01 09:01
 
10:01 11:02 12:02</pre>
 
10:01 11:02 12:02</pre>
 +
| <!-- MESS --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre>
 +
Note: Test 04 never completes.
 
| <!-- 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.
Line 40: Line 42:
 
07:02 08:01 09:01
 
07:02 08:01 09:01
 
10:01 11:02 12:02</pre>
 
10:01 11:02 12:02</pre>
 +
| <!-- MESS --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre>
 +
Note: Test 04 never completes.
 
| <!-- 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.
Line 52: Line 56:
 
| <!-- Gamb --> <span class="passed">Passed</span>
 
| <!-- Gamb --> <span class="passed">Passed</span>
 
| <!-- KiGB --> <span class="failed">Failed</span> 2/11 <pre>03:01 05:01</pre>
 
| <!-- KiGB --> <span class="failed">Failed</span> 2/11 <pre>03:01 05:01</pre>
 +
| <!-- MESS --> <span class="passed">Passed</span>
 
| <!-- 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.
Line 66: Line 71:
 
07:02 08:ok 09:01
 
07:02 08:ok 09:01
 
10:01 11:02 12:01</pre>
 
10:01 11:02 12:01</pre>
 +
| <!-- MESS --> <span class="failed">Failed</span> <pre>01:02 02:02 03:02</pre>
 +
Note: Test 04 never completes.
 
| <!-- 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.
Line 77: Line 84:
 
| <!-- 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>  
 +
| <!-- MESS --><span class="passed">Passed</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>   
 
| <!-- VBA-M --><span class="passed">Passed</span>   
Line 86: Line 94:
 
| <!-- 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>  
 +
| <!-- MESS --><span class="failed">Failed</span> 1/3 <pre>01:ok 02:ok 03:01</pre>
 
| <!-- 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>
 
| <!-- VBA-M --><span class="failed">Failed</span> 1/3 <pre>01:ok 02:ok 03:01</pre>
Line 97: Line 106:
 
07:01 08:02</pre>
 
07:01 08:02</pre>
 
| <!-- KiGB --> <span class="failed">Failed</span> 6/8 <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
 +
07:01 08:02</pre>
 +
| <!-- MESS --> <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>
Line 106: Line 118:
 
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 22:27, 21 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 v.1.12/1.3 dev 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 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
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
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.3 dev (non-public)

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 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
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) Failed 3/3 as of 1.12 (public)
01:01 02:01 03:01

Passed as of 1.3 dev (non-public)

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 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 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