Difference between revisions of "Test ROMs"

From GbdevWiki
Jump to: navigation, search
(Added GameBoy Online)
(Added "JSGB by Pedro Ladaria")
Line 6: Line 6:
 
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.  
  
 +
=== Emulators running on desktop computers ===
 
{| border="1" class="toptable"
 
{| border="1" class="toptable"
 
|-
 
|-
Line 122: Line 123:
  
  
 
+
=== Emulators running in JavaScript ===
 
{| border="1" class="toptable"
 
{| border="1" class="toptable"
 
|-
 
|-
!Test / Emulator !![[GameBoy Online]] <span class="smaller">as of 2010-12-22</span>
+
!Test / Emulator !![[GameBoy Online]] <span class="smaller">as of 2010-12-22</span>!![[JSGB by Pedro Ladaria|JSGB<span class="smaller"> by Pedro Ladaria</span>]] <span class="smaller">v0.2</span>
 
|-
 
|-
 
| CGB sound <span class="smaller">(in CGB mode)</span>
 
| CGB sound <span class="smaller">(in CGB mode)</span>
Line 132: Line 133:
 
07:02 08:01 09:01
 
07:02 08:01 09:01
 
10:ok 11:03 12:02</pre>
 
10:ok 11:03 12:02</pre>
 +
| <!-- JSGB --> (No GBC support.)
 
|-
 
|-
 
| CGB sound <span class="smaller">(in DMG mode)</span>
 
| CGB sound <span class="smaller">(in DMG mode)</span>
 
| <!-- GBO --> (Apparently can't run a GBC only ROM in DMG mode.)
 
| <!-- GBO --> (Apparently can't run a GBC only ROM in DMG mode.)
 +
| <!-- JSGB --> <span class="failed">Failed</span> 16/16 <br /> Fails all tests, then proceeds to apparently running many more tests forever, much like Gambatte.  <pre>01:02 02:02 03:02
 +
04:03 05:02 06:02
 +
07:02 08:03 09:02
 +
10:02 11:02 12:03</pre>
 
|-
 
|-
 
| CPU instructions
 
| CPU instructions
 
| <!-- GBO --> <span class="failed">Failed</span> 1/11 <pre>05:01</pre>
 
| <!-- GBO --> <span class="failed">Failed</span> 1/11 <pre>05:01</pre>
 +
| <!-- JSGB --> <span class="failed">Failed</span>  <pre>01:06 02:05 03:</pre>Note: Throws the following errors: "HALT instruction with interrupts disabled.", "STOP instruction". Test 03 never finishes.
 
|-
 
|-
 
| DMG sound <span class="smaller">(v2)</span>
 
| DMG sound <span class="smaller">(v2)</span>
Line 144: Line 151:
 
07:02 08:ok 09:01
 
07:02 08:ok 09:01
 
10:01 11:03 12:01</pre>
 
10:01 11:03 12:01</pre>
 +
| <!-- JSGB --> <span class="failed">Failed</span> 16/16 <br /> Fails all tests, then proceeds to apparently running many more tests forever, much like Gambatte.  <pre>01:02 02:02 03:02
 +
04:03 05:02 06:02
 +
07:02 08:03 09:02
 +
10:02 11:02 12:03</pre>
 
|-
 
|-
 
| Instruction timing
 
| Instruction timing
 
| <!-- GBO --> <span class="passed">Passed</span>
 
| <!-- GBO --> <span class="passed">Passed</span>
 +
| <!-- JSGB --> <span class="failed">Failed</span> #255
 
|-
 
|-
 
| Memory timing <span class="smaller">(v2)</span>
 
| Memory timing <span class="smaller">(v2)</span>
 
| <!-- BGB --><span class="failed">Failed</span> 3/3<pre>01:01 02:01 03:01</pre>
 
| <!-- BGB --><span class="failed">Failed</span> 3/3<pre>01:01 02:01 03:01</pre>
 +
| <!-- JSGB --><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>
Line 155: Line 168:
 
04:03 05:02 06:ok
 
04:03 05:02 06:ok
 
07:01 08:02</pre>
 
07:01 08:02</pre>
 +
|  <!-- JSGB --> <span class="failed">Failed</span> (The test never completes.)
 
|-
 
|-
 
|}
 
|}

Revision as of 02:55, 22 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.

Emulators running on desktop computers

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


Emulators running in JavaScript

Test / Emulator GameBoy Online as of 2010-12-22 JSGB by Pedro Ladaria v0.2
CGB sound (in CGB mode) Failed 15/16
01:02 02:05 03:03
04:02 05:02 06:01
07:02 08:01 09:01
10:ok 11:03 12:02
(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
CPU instructions Failed 1/11
05:01
Failed
01:06 02:05 03:
Note: Throws the following errors: "HALT instruction with interrupts disabled.", "STOP instruction". Test 03 never finishes.
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
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
Instruction timing Passed Failed #255
Memory timing (v2) Failed 3/3
01:01 02:01 03:01
Failed 3/3
01:01 02:01 03:01
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.)