Difference between revisions of "Test ROMs"
|  (Blargg DMG, BGB) | |||
| (38 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. | ||
| − | {| border="1" | + | == Blargg's 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" | ||
| + | |- | ||
| + | !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 | ||
| + | | <!-- BGB --><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> | ||
| + | | <!-- MESS --> <span class="passed">Passed</span> | ||
| + | | <!-- no$ --> <span class="failed">Failed</span> 2/11 <pre>03:01 05:01</pre> | ||
| + | Note: Warns about inc/dec in OAM. | ||
| + | | <!-- VBA-M --><span class="passed">Passed</span>   | ||
| + | |- | ||
| + | | DMG sound <span class="smaller">(v2)</span> | ||
| + | | <!-- BGB --> <span class="passed">Passed</span> | ||
| + | | <!-- Gamb --> <span class="passed">Passed</span> | ||
| + | | <!-- KiGB --> <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: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> | ||
| + | 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 | ||
| + | | <!-- BGB --><span class="passed">Passed</span> | ||
| + | | <!-- Gamb --> <span class="passed">Passed</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>  | ||
| + | | <!-- VBA-M --><span class="passed">Passed</span>   | ||
| + | |- | ||
| + | | Memory timing <span class="smaller">(v2)</span> | ||
| + | | <!-- BGB --><span class="passed">Passed</span> | ||
| + | | <!-- Gamb --> <span class="passed">Passed</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> | ||
| + | | <!-- VBA-M --><span class="failed">Failed</span> 1/3 <pre>01:ok 02:ok 03:01</pre> | ||
| + | |- | ||
| + | | OAM bug <span class="smaller">(v2)</span> | ||
| + | |  <!-- BGB --> <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> | ||
| + | | <!-- Gamb --> <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> | ||
| + | | <!-- 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 | ||
| + | 07:01 08:02</pre> | ||
| + | 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  | + | | 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 | 04:02 05:02 06:01 | ||
| − | 07: | + | 07:02 08:ok 09:01 | 
| − | 10:01 11:03 12:01</pre> | + | 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 | | Instruction timing | ||
| − | | Passed | + | | <!-- 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=" | + | | Memory timing <span class="smaller">(v2)</span> | 
| − | |  | + | | <!-- BGB --><span class="failed">Failed</span> 3/3<pre>01:01 02:01 03:01</pre> | 
| − | <pre>01:01 02:01 03:01</pre> | + | | <!-- JSGB --><span class="failed">Failed</span> 3/3<pre>01:01 02:01 03:01</pre> | 
| − | <span class=" | + | | <!-- jsGB --> <span class="failed">Failed</span> Test 01 doesn't finish. | 
| |- | |- | ||
| − | | OAM bug<span class=" | + | | 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 | 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.) | ||
| + | | <!-- jsGB --> <span class="failed">Failed</span> Breaks during the first test. "Unimplemented instruction at $23f4, stopping." (ld sp,hl) | ||
| |- | |- | ||
| |} | |} | ||
Latest revision as of 20: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.
Contents
Blargg's tests
Blargg's tests are available at:
-  http://blargg.parodius.com/gb-tests/Old location. Dead ever since Parodius went down!
-  http://blargg.8bitalley.com/parodius/gb-tests/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 !
| 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:02Note: 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:03Note: 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:01Note: 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:03Note: 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) | 
