Difference between revisions of "Test ROMs"

From GbdevWiki
Jump to: navigation, search
(Blargg's tests: DMG, no$gmb)
 
(34 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
__FORCETOC__
 +
 
A [[Test ROMs|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.
 
A [[Test ROMs|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 ==
Blargg's tests are available at: http://blargg.parodius.com/gb-tests/
+
Blargg's tests are available at:  
 +
 
 +
* <strike>http://blargg.parodius.com/gb-tests/</strike> Old location. Dead ever since Parodius went down!
 +
* <strike>http://blargg.8bitalley.com/parodius/gb-tests/</strike> Another old location.
 +
* https://gbdev.gg8.se/files/roms/blargg-gb-tests/ Mirror.
 +
 
 +
All tests were executed in each emulator's DMG mode, except the CGB sound test, which was executed in both DMG and CGB modes.
  
 +
=== Real hardware (using a GB flash card) ===
 +
Contributions are welcome !
 
{| border="1" class="toptable"
 
{| border="1" class="toptable"
 
|-
 
|-
!Test / Emulator !![[BGB]] !![[Gambatte]]!! [[KiGB]] <span class="smaller">v2.05</span>!![[no$gmb]] !![[VisualBoy Advance|VBA]]
+
!Test / Emulator!!Game Boy (DMG)!!Game Boy Pocket (MGB)!!Game Boy Color (GBC)!!Game Boy Advance (Regular and SP)!! 3DS Virtual Console
 +
|-
 +
| CGB sound <span class="smaller">(in corresponding mode)</span>
 +
| <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:02</pre>
 +
| <span class="failed">Failed</span> The screen goes blank except for a horizontal line during the first test.
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> 2/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:02</pre>
 +
| <span class="failed">Failed</span> 11/12 <pre>01:02 02:02 03:02
 +
04:02 05:02 06:01
 +
07:02 08:01 09:01
 +
10:ok 11:02 12:02</pre>
 +
|-
 +
| CPU instructions
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> The screen goes blank except for a horizontal line during the first test.
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> 5/11 <pre> 01:05 02:02 03:01
 +
04:ok 05:ok 06:ok
 +
07:ok 08:01 09:ok
 +
10:ok 11:01</pre>
 +
|-
 +
| DMG sound <span class="smaller">(v2)</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> The screen goes blank except for a horizontal line during the first test.
 +
| <span class="failed">Failed</span> The screen blacks out during the first test
 +
| <span class="failed">Failed</span> The screen blacks out during the first test
 +
| <span class="failed">Failed</span> 12/12 <pre>01:02 02:02 03:02
 +
04:02 05:02 06:01
 +
07:02 08:01 09:01
 +
10:01 11:02 12:02</pre>
 +
|-
 +
| Instruction timing
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
|-
 +
| Memory timing <span class="smaller">(v2)</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> 3/3 <pre>01:01 02:01 03:01</pre>
 +
|-
 +
| OAM bug <span class="smaller">(v2)</span>
 +
| <span class="passed">Passed</span>
 +
| <span class="failed">Failed</span> The screen goes blank during the first test.
 +
| <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>
 +
| <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>
 +
| <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>
 +
|}
 +
 
 +
Side note for the 3DS VC : it seemingly ran the ROMs in GBC mode, although I cannot confirm this is true. Tests will be conducted using other base ROMs for CIA injection that should enforce DMG mode.
 +
 
 +
=== Emulators running on desktop computers ===
 +
{| border="1" class="toptable"
 +
|-
 +
!Test / Emulator !![[BGB]] <span class="smaller">1.5</span>!![[Gambatte]] <span class="smaller">v0.5.5</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>
 +
| <!-- BGB --> <span class="passed">Passed</span>
 +
| <!-- Gamb --> <span class="passed">Passed</span>
 +
| <!-- KiGB --> <span class="failed">Failed</span> 12/12 <pre>01:02 02:05 03:03
 +
04:02 05:02 06:01
 +
07:02 08:01 09:01
 +
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>
 +
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>
 +
| <!-- BGB --> <span class="passed">Passed</span> <span class="smaller">Runs the 12 tests with the data below (which matches the output on a real DMG)</span>.<pre>01:ok 02:ok 03:ok
 +
04:ok 05:ok 06:ok
 +
07:ok 08:01 09:01
 +
10:01 11:04 12:02</pre>
 +
| <!-- Gamb --> <span class="passed">Passed</span> <span class="smaller">Runs the 12 tests with the data below (which matches the output on a real DMG)</span>.<pre>01:ok 02:ok 03:ok
 +
04:ok 05:ok 06:ok
 +
07:ok 08:01 09:01
 +
10:01 11:04 12:02</pre>
 +
| <!-- KiGB --> <span class="failed">Failed</span> <span class="smaller">(A real DMG fails, but with other values.)</span> <pre>01:02 02:05 03:03
 +
04:02 05:02 06:01
 +
07:02 08:01 09:01
 +
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>
 +
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
| <!-- BGB --> <span class="failed">Failed</span> 3/11 as of 1.12 <span class="smaller">(public)</span><pre>01:06 03:01 11:01</pre>
+
| <!-- BGB --><span class="passed">Passed</span>
<span class="passed">Passed</span> as of 1.13.dev <span class="smaller">(non-public)</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.
 +
| <!-- VBA-M --><span class="passed">Passed</span> 
 
|-
 
|-
 
| 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="passed">Passed</span>
04:02 05:02 06:01
+
| <!-- Gamb --> <span class="passed">Passed</span>
07:05 08:01 09:01
+
| <!-- KiGB --> <span class="failed">Failed</span> 11/12 <pre>01:02 02:05 03:03
10:01 11:03 12:01</pre>
+
|
+
| <!-- KiGB --> <span class="failed">Failed</span> <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
 
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.
 +
| <!-- 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
| <span class="passed">Passed</span>
+
| <!-- BGB --><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> 
 
|-
 
|-
 
| 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="passed">Passed</span>
<pre>01:01 02:01 03:01</pre>
+
| <!-- Gamb --> <span class="passed">Passed</span>
<span class="passed">Passed</span> as of 1.13.dev <span class="smaller">(non-public)</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>
+
| <!-- 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>
 +
| <!-- 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>
|  <!-- BGB --> <span class="failed">Failed</span><pre>01:02 02:02 03:ok
+
|  <!-- 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>
|
+
| <!-- Gamb --> <span class="failed">Failed</span> 5/8 <pre>01:ok 02:02 03:ok
| <!-- KiGB --> <span class="failed">Failed</span> <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
+
| <!-- 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
 +
07:01 08:02</pre>
 +
| <!-- 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>
 
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>
 +
|-
 +
|}
 +
 +
=== Emulators running in JavaScript ===
 +
{| border="1" class="toptable"
 +
|-
 +
!Test / Emulator !![[GameBoy Online]] <span class="smaller">as of 2015-17-12</span>!![[JSGB by Pedro Ladaria|JSGB<span class="smaller"> by Pedro Ladaria</span>]] <span class="smaller">v0.2</span>!![[jsGB by Imran Nazar|jsGB<span class="smaller"> by Imran Nazar aka Two9A </span>]] <span class="smaller">2010-09-27 GitHub checkin</span>
 +
|-
 +
| CGB sound <span class="smaller">(in CGB mode)</span>
 +
| <!-- GBO --> <span class="failed">Failed</span> 14/16 <pre>01:02 02:07 03:03
 +
04:02 05:02 06:01
 +
07:03 08:ok 09:01
 +
10:ok 11:ok* 12:02</pre>Note: GameBoy Online '''does''' have sound support. *Test #11 passes in the LLE-APU branch.
 +
| <!-- JSGB --> (No GBC support.)
 +
| <!-- jsGB --> (No GBC support.)
 +
|-
 +
| CGB sound <span class="smaller">(in DMG mode)</span>
 +
| <!-- 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>Note: JSGB doesn't have sound support.
 +
| <!-- jsGB --> <span class="failed">Failed</span> Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl)<br />Note: JSGB doesn't have sound support.
 +
|-
 +
| CPU instructions
 +
| <!-- GBO --> <span class="passed">Passed</span>
 +
| <!-- 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.
 +
| <!-- jsGB --> <span class="failed">Failed</span> Breaks during the first test. "Unimplemented instruction at $677, stopping." (ld sp,hl)
 +
|-
 +
| DMG sound <span class="smaller">(v2)</span>
 +
| <!-- GBO --> <span class="failed">Failed</span> 11/12 <pre>01:02 02:05 03:03
 +
04:02 05:02 06:01
 +
07:02 08:ok 09:01
 +
10:01 11:03 12:01</pre>Note: GameBoy Online '''does''' have sound support.
 +
| <!-- 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>Note: JSGB doesn't have sound support.
 +
| <!-- jsGB --> <span class="failed">Failed</span> Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl)<br />Note: JSGB doesn't have sound support.
 +
|-
 +
| Instruction timing
 +
| <!-- GBO --> <span class="passed">Passed</span>
 +
| <!-- JSGB --> <span class="failed">Failed</span> #255
 +
| <!-- jsGB --> <span class="failed">Failed</span> Test doesn't finish.
 +
|-
 +
| Memory timing <span class="smaller">(v2)</span>
 +
| <!-- 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>
 +
| <!-- jsGB --> <span class="failed">Failed</span> Test 01 doesn't finish.
 +
|-
 +
| OAM bug <span class="smaller">(v2)</span>
 +
|  <!-- GBO --> <span class="failed">Failed</span> 6/8 <pre>01:03 02:02 03:ok
 +
04:03 05:02 06:ok
 +
07:01 08:02</pre>
 +
| <!-- JSGB --> <span class="failed">Failed</span> (The test never completes.)
 +
| <!-- jsGB --> <span class="failed">Failed</span> Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl)
 
|-
 
|-
 
|}
 
|}

Latest revision as of 19:19, 31 March 2020


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:

All tests were executed in each emulator's DMG mode, except the CGB sound test, which was executed in both DMG and CGB modes.

Real hardware (using a GB flash card)

Contributions are welcome !

Test / Emulator Game Boy (DMG) Game Boy Pocket (MGB) Game Boy Color (GBC) Game Boy Advance (Regular and SP) 3DS Virtual Console
CGB sound (in corresponding mode) 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:02
Failed The screen goes blank except for a horizontal line during the first test. Passed 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
Failed 11/12
01:02 02:02 03:02
04:02 05:02 06:01
07:02 08:01 09:01
10:ok 11:02 12:02
CPU instructions Passed Failed The screen goes blank except for a horizontal line during the first test. Passed Passed Failed 5/11
 01:05 02:02 03:01
04:ok 05:ok 06:ok
07:ok 08:01 09:ok
10:ok 11:01
DMG sound (v2) Passed Failed The screen goes blank except for a horizontal line during the first test. Failed The screen blacks out during the first test Failed The screen blacks out during the first test Failed 12/12
01:02 02:02 03:02
04:02 05:02 06:01
07:02 08:01 09:01
10:01 11:02 12:02
Instruction timing Passed Passed Passed Passed Passed
Memory timing (v2) Passed Passed Passed Passed Failed 3/3
01:01 02:01 03:01
OAM bug (v2) Passed Failed The screen goes blank during the first test. 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

Side note for the 3DS VC : it seemingly ran the ROMs in GBC mode, although I cannot confirm this is true. Tests will be conducted using other base ROMs for CIA injection that should enforce DMG mode.

Emulators running on desktop computers

Test / Emulator BGB 1.5 Gambatte v0.5.5 KiGB v2.05 MESS 0.140 (Oct 31 2010) no$gmb v2.5b VBA-M 1.8.0 SVN956
CGB sound (in CGB mode) Passed Passed 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) Passed Runs the 12 tests with the data below (which matches the output on a real DMG).
01:ok 02:ok 03:ok
04:ok 05:ok 06:ok
07:ok 08:01 09:01
10:01 11:04 12:02
Passed Runs the 12 tests with the data below (which matches the output on a real DMG).
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) Passed Passed 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 2015-17-12 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:02
Note: 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:03
Note: 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:01
Note: 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:03
Note: 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/3
01:01 02:01 03:01
Failed 3/3
01: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)