GBA Tests: Difference between revisions
Added VBA-M results |
Added GBAHawk results |
||
| Line 260: | Line 260: | ||
|Halt_DMA_IRQ | |Halt_DMA_IRQ | ||
| | | | ||
| | |{{Fail}} test 138 ||{{Fail}} test 184 ||{{Fail}} test 137 ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 184 ||Not Tested ||Not Tested | ||
|- | |- | ||
!02 | !02 | ||
|Halt_DMA_IRQ_Read_OAM | |Halt_DMA_IRQ_Read_OAM | ||
| | | | ||
| | |{{Fail}} test 223 ||{{Fail}} test 184 ||{{Fail}} test 223 ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 56 ||{{Fail}} test 184 ||Not Tested ||Not Tested | ||
|- | |- | ||
!03 | !03 | ||
|Halt_IRQ | |Halt_IRQ | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 184 ||{{Pass}} ||{{Fail}} test 184 ||{{Fail}} test 184 ||{{Fail}} test 94 ||{{Fail}} test 184 ||{{Fail}} test 184 ||Not Tested ||Not Tested | ||
|- | |- | ||
!04 | !04 | ||
| Line 280: | Line 280: | ||
|Internal_Cycle_DMA_IRQ_7 | |Internal_Cycle_DMA_IRQ_7 | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 6 ||{{Fail}} test 10 ||{{Fail}} test 248 ||{{Fail}} test 4 ||{{Fail}} test 248 ||{{Fail}} test 6 ||{{Fail}} test 10 ||Not Tested ||Not Tested | ||
|- | |- | ||
!06 | !06 | ||
|Internal_Cycle_DMA_IRQ_br | |Internal_Cycle_DMA_IRQ_br | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 20 ||{{Pass}} ||{{Pass}} ||{{Fail}} test 20 ||{{Fail}} test 20 ||{{Pass}} ||{{Fail}} test 76 ||Not Tested ||Not Tested | ||
|- | |- | ||
!07 | !07 | ||
|Internal_Cycle_DMA_IRQ_br1_IWRAM | |Internal_Cycle_DMA_IRQ_br1_IWRAM | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 90 ||{{Fail}} test 90 ||Not Tested ||Not Tested | ||
|- | |- | ||
!08 | !08 | ||
|Internal_Cycle_DMA_IRQ_Br_pre | |Internal_Cycle_DMA_IRQ_Br_pre | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 28 ||{{Fail}} test 26 ||{{Pass}} ||{{Pass}}||{{Fail}} test 82 ||Not Tested ||Not Tested | ||
|- | |- | ||
!09 | !09 | ||
|Internal_Cycle_DMA_IRQ_Br_pre_tim | |Internal_Cycle_DMA_IRQ_Br_pre_tim | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 32 ||{{Fail}} test 27 ||{{Fail}} test 255 ||{{Fail}} test 2 ||{{Fail}} test 255 ||Not Tested ||Not Tested | ||
|- | |- | ||
!10 | !10 | ||
|Internal_Cycle_DMA_IRQ_ldr_IWRAM | |Internal_Cycle_DMA_IRQ_ldr_IWRAM | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 32 ||{{Fail}} test 36 ||{{Fail}} test 16 ||{{Fail}} test 20 ||{{Fail}} test 20 ||{{Fail}} test 32 ||{{Fail}} test 38 ||Not Tested ||Not Tested | ||
|- | |- | ||
!11 | !11 | ||
|Internal_Cycle_DMA_IRQ_nop_IWRAM | |Internal_Cycle_DMA_IRQ_nop_IWRAM | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 36 ||{{Pass}} ||{{Pass}} ||{{Fail}} test 94 ||{{Fail}} test 94 ||Not Tested ||Not Tested | ||
|- | |- | ||
!12 | !12 | ||
|Internal_Cycle_DMA_IRQ_ST | |Internal_Cycle_DMA_IRQ_ST | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 8 ||{{Pass}} ||{{Fail}} test 248 ||{{Fail}} test 4 ||{{Fail}} test 248 ||{{Pass}} ||{{Fail}} test 54 ||Not Tested ||Not Tested | ||
|- | |- | ||
!13 | !13 | ||
|Internal_Cycle_DMA_IRQ_ST_p3 | |Internal_Cycle_DMA_IRQ_ST_p3 | ||
| | | | ||
| | |{{Pass}} ||{{Fail}} test 8 ||{{Pass}} ||{{Fail}} test 6 ||{{Fail}} test 6 ||{{Fail}} test 8 ||{{Pass}} ||{{Fail}} test 62 ||Not Tested ||Not Tested | ||
|- | |- | ||
!14 | !14 | ||
| Line 330: | Line 330: | ||
|Internal_Cycle_DMA_MUL_IRQ | |Internal_Cycle_DMA_MUL_IRQ | ||
| | | | ||
| | |{{Fail}} test 24 ||{{Pass}} ||{{Fail}} test 24 ||{{Fail}} test 8 ||{{Fail}} test 14 ||{{Fail}} test 6 ||{{Fail}} test 134 ||{{Fail}} test 24 ||Not Tested ||Not Tested | ||
|- | |- | ||
!16 | !16 | ||
|Internal_Cycle_DMA_TIM_Br_pre | |Internal_Cycle_DMA_TIM_Br_pre | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 32 ||{{Fail}} test 27 ||{{Fail}} test 255 ||{{Fail}} test 2 ||{{Fail}} test 255 ||Not Tested ||Not Tested | ||
|- | |- | ||
!colspan="13"|IRQ | !colspan="13"|IRQ | ||
| Line 389: | Line 389: | ||
|LDM_ALU_IMM | |LDM_ALU_IMM | ||
| | | | ||
| | |{{Fail}} test 2 ||{{Fail}} test 2 ||{{Pass}} ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||Not Tested ||Not Tested | ||
|- | |- | ||
!03 | !03 | ||
| Line 399: | Line 399: | ||
|LDM_Bx | |LDM_Bx | ||
| | | | ||
| | |{{Fail}} test 1 ||{{Fail}} test 1 ||{{Pass}} ||{{Fail}} test 1 ||{{Fail}} test 1 ||{{Fail}} test 1 ||{{Fail}} (crash) ||{{Fail}} test 1 ||Not Tested ||Not Tested | ||
|- | |- | ||
!05 | !05 | ||
|LDM_LD | |LDM_LD | ||
| | | | ||
| | |{{Fail}} test 2 ||{{Fail}} test 2 ||{{Pass}} ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||Not Tested ||Not Tested | ||
|- | |- | ||
!06 | !06 | ||
|LDM_MUL_UL_32 | |LDM_MUL_UL_32 | ||
| | | | ||
| | |{{Fail}} test 2 ||{{Fail}} test 2 ||{{Pass}} ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||Not Tested ||Not Tested | ||
|- | |- | ||
!07 | !07 | ||
|LDM_MUL_UL_SL | |LDM_MUL_UL_SL | ||
| | | | ||
| | |{{Fail}} test 2 ||{{Fail}} test 2 ||{{Pass}} ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||Not Tested ||Not Tested | ||
|- | |- | ||
!08 | !08 | ||
|LDM_Swap | |LDM_Swap | ||
| | | | ||
| | |{{Fail}} test 2 ||{{Fail}} test 2 ||{{Pass}} ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||{{Fail}} test 2 ||Not Tested ||Not Tested | ||
|- | |- | ||
!colspan="13"|PPU | !colspan="13"|PPU | ||
| Line 426: | Line 426: | ||
|Sprite_Disable_Midline | |Sprite_Disable_Midline | ||
| | | | ||
|{{ | |{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||Not Tested ||{{Pass}} | ||
|- | |- | ||
!02 | !02 | ||
|Sprite_Disable_on_VRAM_Access | |Sprite_Disable_on_VRAM_Access | ||
| | | | ||
|{{ | |{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||{{Fail}} ||Not Tested ||{{Pass}} | ||
|- | |- | ||
!03 | !03 | ||
| Line 479: | Line 479: | ||
|branch_thumb_arm_3 | |branch_thumb_arm_3 | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Fail}} test 102 ||{{Fail}} (stuck) ||{{Pass}} ||{{Fail}} test 102 ||{{Fail}} (crash) ||{{Pass}} ||Not Tested ||Not Tested | ||
|- | |- | ||
!08 | !08 | ||
|branch_thumb_arm_4 | |branch_thumb_arm_4 | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Fail}} test 38 ||{{Pass}} ||{{Fail}} test 45 ||{{Pass}} ||Not Tested ||Not Tested | ||
|- | |- | ||
!09 | !09 | ||
| Line 513: | Line 513: | ||
|STM_ALU_IMM | |STM_ALU_IMM | ||
| | | | ||
| | |{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||{{Pass}} ||Not Tested ||Not Tested | ||
|- | |- | ||
!colspan="13"|Timer | !colspan="13"|Timer | ||
| Line 556: | Line 556: | ||
|arm | |arm | ||
| | | | ||
| | |{{Fail}} test 365 ||{{Fail}} test 256 ||{{Pass}} ||{{Pass}} ||{{Fail}} test 235 ||{{Pass}} ||{{Fail}} (crash) ||{{Fail}} test 225 ||Not Tested ||Not Tested | ||
|- | |- | ||
!02 | !02 | ||
|branches | |branches | ||
| | | | ||
| | |{{Fail}} test 60 ||{{Fail}} (stuck) ||{{Fail}} test 60 ||{{Fail}} (stuck) ||{{Fail}} (stuck) ||{{Fail}} (stuck) ||{{Fail}} (crash) ||{{Fail}} (stuck) ||Not Tested ||Not Tested | ||
|- | |- | ||
!03 | !03 | ||
|data_swap | |data_swap | ||
| | | | ||
| | |{{Fail}} test 455 ||{{Fail}} test 456 ||{{Fail}} test 454 ||{{Fail}} (stuck) ||{{Fail}} test 454 ||{{Fail}} (stuck) ||{{Fail}} (crash) ||{{Fail}} test 454 ||Not Tested ||Not Tested | ||
|- | |- | ||
!04 | !04 | ||
|halfword_transfer | |halfword_transfer | ||
| | | | ||
| | |{{Fail}} test 416 ||{{Fail}} test 256 ||{{Fail}} test 414 ||{{Fail}} test 414 ||{{Fail}} test 416 ||{{Fail}} (stuck) ||{{Fail}} test 410 ||{{Fail}} test 410 ||Not Tested ||Not Tested | ||
|- | |- | ||
!05 | !05 | ||
|multiply | |multiply | ||
| | | | ||
| | |{{Fail}} (stuck) ||{{Fail}} test 322 ||{{Fail}} test 329 ||{{Fail}} test 320 ||{{Fail}} test 322 ||{{Fail}} (stuck) ||{{Fail}} (crash) ||{{Fail}} (stuck) ||Not Tested ||Not Tested | ||
|- | |- | ||
!colspan="13"|PSR | !colspan="13"|PSR | ||
| Line 583: | Line 583: | ||
|PSR2 | |PSR2 | ||
| | | | ||
| | |{{Fail}} test 8 ||{{Fail}} test 1 ||{{Fail}} test 8 ||{{Fail}} test 1 ||{{Fail}} (stuck) ||{{Fail}} (stuck) ||{{Fail}} (crash) ||{{Fail}} test 8 ||Not Tested ||Not Tested | ||
|- | |- | ||
!colspan="13"|Timer | !colspan="13"|Timer | ||
| Line 590: | Line 590: | ||
|Timer_check_count_up_presence | |Timer_check_count_up_presence | ||
| | | | ||
| | |{{Fail}} test 1 ||{{Pass}} ||{{Pass}} ||{{Fail}} test 1 ||{{Fail}} test 4 ||{{Pass}} ||{{Pass}} ||{{Fail}} test 4 ||Not Tested ||Not Tested | ||
|- | |- | ||
|} | |} | ||
| Line 842: | Line 842: | ||
![https://github.com/CasualPokePlayer/gba-rtc-test/ GBA RTC Test] | ![https://github.com/CasualPokePlayer/gba-rtc-test/ GBA RTC Test] | ||
|18 | |18 | ||
| | |{{Fail}} (0) ||{{Fail}} (7) ||{{Fail}} (16) ||{{Fail}} (0) ||{{Fail}} (0) ||{{Fail}} (0) ||{{Fail}} (1) ||{{Fail}} (1) ||Not Tested ||Not Tested | ||
|- | |- | ||
|} | |} | ||
Revision as of 12:47, 4 June 2025
This page documents the results of various emulators and hardware using test ROMs. Emulators tested using official BIOS. The number next to the fail state is the number of tests passed, so higher equals better.
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | Memory tests | 1552 | Pass | Pass | Pass | Pass | Pass | Pass | Fail (1181) | Fail (1426) | Pass | Fail (1368)* |
| 02 | I/O read tests | 130 | Pass | Pass | Pass | Pass | Fail (128) | Pass | Fail (129) | Fail (100) | Fail (129) | Pass* |
| 03 | Timing tests | 2020 | Pass | Pass | Pass | Pass | Fail (1768) | Pass | Fail (1121)** | Fail (1024)** | Fail (1796) | Pass* |
| 04 | Timer count-up tests | 936 | Pass | Pass | Pass | Fail (720)** | Fail (744) | Fail (921)** | Fail (152) | Fail (440) | Fail (442) | Fail (920)* |
| 05 | Timer IRQ tests | 90 | Pass | Pass | Pass | Pass | Fail (70) | Pass | Fail (44) | Fail (8) | Fail (65) | Pass* |
| 06 | Shifter tests | 140 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Fail (132) | Pass | Pass* |
| 07 | Carry tests | 93 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass* |
| 08 | Multiply long tests | 72 | Pass | Pass | Pass | Fail (52) | Fail (52) | Fail (52) | Fail (52) | Fail (52) | Fail (52) | Fail (52)* |
| 09 | BIOS math tests | 615 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Fail (520)* |
| 10 | DMA tests | 1256 | Pass | Pass | Pass | Pass | Fail (1232) | Pass | Fail (1060) | Fail (1068) | Fail (1248) | Fail (1184)* |
| 11 | SIO register R/W tests | 90 | Fail (25) | Fail (18) | Fail (28) | Fail (25) | Fail (60)** | Fail (34) | Fail (25) | Fail (13) | Fail (25)*** | Not Tested |
| 12 | SIO timing tests | 8 | Fail (0) | Fail (0) | Fail (0) | Fail (0) | Fail (0) | Fail (0) | Fail (0) | Fail (0) | Fail (0)*** | Not Tested |
| 13 | Misc. edge case tests**** | 10 | Fail (8) | Fail (8) | Fail (8) | Fail (4) | Fail (8) | Fail (7)** | Fail (3) | Fail (8) | Fail (6)** | Pass* |
| 14 | Video tests | 7 | Fail (6) | Fail (6) | Pass | Fail (5) | Fail (4) | Fail (5) | Fail (3) | Fail (4) | Fail (4) | Pass* |
* tested on r83
** inconsistent results, showcasing highest value seen
*** tested with GBA2P v220813
**** two of the tests are acting a bit weird and need to be checked, using a flashcart they don't pass
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | Memory | 9 | Pass | Pass | Pass | Pass | Fail (8) | Pass | Fail (8) | Fail (1) | Pass | Pass |
| 02 | LCD | 7 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Fail (6) | Pass | Pass |
| 03 | Timer | 3 | Pass | Pass | Pass | Pass | Pass | Pass | Fail (2) | Fail (2) | Pass | Pass |
| 04 | DMA | 9 | Pass | Pass | Pass | Pass | Pass | Pass | Fail (8) | Fail (7) | Pass | Pass |
| 05 | COM | N/A | Skip | Skip | Skip | Skip | Skip | Skip | Skip | Skip | Skip | Skip |
| 06 | Key Input | 1 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
| 07 | Interrupt | 7 | Pass | Pass | Pass | Pass | Pass | Fail (4) | Fail (6) | Fail (5) | Pass | Pass |
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | arm | Pass | Pass | Pass | Pass | Fail test 235 | Pass | Fail (crash) | Fail test 225 | Pass | Pass* | |
| 02 | bios | Pass | Pass | Pass | Pass | Pass | Pass | Fail test 3 | Fail test 1 | Pass | Pass | |
| 03 | memory | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | |
| 04 | nes | Pass | Pass | Pass | Pass | Pass | Pass | Fail test 1 | Pass | Pass | Pass | |
| 05 | thumb | Pass | Pass | Pass | Pass | Fail test 230 | Pass | Fail test 225 | Fail test 221 | Pass | Pass | |
| Save | ||||||||||||
| 01 | none | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Fail test 1 | Fail test 1 | Not Tested | |
| 02 | sram | Pass | Pass | Pass | Pass | Fail test 6 | Pass | Pass | Fail test 6 | Fail test 1 | Pass | |
| 03 | flash64** | Fail test 2 | Pass | Pass | Pass | Fail test 6 | Pass | Fail test 10 | Fail test 6 | Fail test 1 | Pass | |
| 04 | flash128** | Fail test 2 | Pass | Fail test 9 | Pass*** | Fail test 6 | Pass | Fail test 10 | Fail test 6 | Fail test 1 | Pass | |
* tested on commit a6447c5
** these tests fail on a real flash board and probably are testing conformity with the flash implementation of modern flashcarts
*** fails on test 9 on reruning the test immediately
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DMA | ||||||||||||
| 01 | DMA_ROM_Fixed | Pass | Fail test 242 | Pass | Fail test 240 | Fail test 242 | Pass | Fail test 240 | Fail test 9 | Fail test 240 | Pass | |
| FIFO | ||||||||||||
| 01 | FIFO | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | |
| 02 | FIFO_2 | Pass | Fail test 80 | Pass | Fail test 51 | Fail test 51 | Fail test 51 | Fail test 54 | Fail test 46 | Fail test 51 | Fail test 80 | |
| Interactions | ||||||||||||
| 01 | Halt_DMA_IRQ | Fail test 138 | Fail test 184 | Fail test 137 | Fail test 184 | Fail test 184 | Fail test 184 | Fail test 184 | Fail test 184 | Not Tested | Not Tested | |
| 02 | Halt_DMA_IRQ_Read_OAM | Fail test 223 | Fail test 184 | Fail test 223 | Fail test 184 | Fail test 184 | Fail test 184 | Fail test 56 | Fail test 184 | Not Tested | Not Tested | |
| 03 | Halt_IRQ | Pass | Fail test 184 | Pass | Fail test 184 | Fail test 184 | Fail test 94 | Fail test 184 | Fail test 184 | Not Tested | Not Tested | |
| 04 | Internal_Cycle_DMA_IRQ | Pass | Fail test 6 | Pass | Fail test 248 | Fail test 4 | Fail test 248 | Fail test 8 | Fail test 54 | Fail test 6 | Fail test 8 | |
| 05 | Internal_Cycle_DMA_IRQ_7 | Pass | Fail test 6 | Fail test 10 | Fail test 248 | Fail test 4 | Fail test 248 | Fail test 6 | Fail test 10 | Not Tested | Not Tested | |
| 06 | Internal_Cycle_DMA_IRQ_br | Pass | Fail test 20 | Pass | Pass | Fail test 20 | Fail test 20 | Pass | Fail test 76 | Not Tested | Not Tested | |
| 07 | Internal_Cycle_DMA_IRQ_br1_IWRAM | Pass | Pass | Pass | Pass | Pass | Pass | Fail test 90 | Fail test 90 | Not Tested | Not Tested | |
| 08 | Internal_Cycle_DMA_IRQ_Br_pre | Pass | Pass | Pass | Fail test 28 | Fail test 26 | Pass | Pass | Fail test 82 | Not Tested | Not Tested | |
| 09 | Internal_Cycle_DMA_IRQ_Br_pre_tim | Pass | Pass | Pass | Fail test 32 | Fail test 27 | Fail test 255 | Fail test 2 | Fail test 255 | Not Tested | Not Tested | |
| 10 | Internal_Cycle_DMA_IRQ_ldr_IWRAM | Pass | Fail test 32 | Fail test 36 | Fail test 16 | Fail test 20 | Fail test 20 | Fail test 32 | Fail test 38 | Not Tested | Not Tested | |
| 11 | Internal_Cycle_DMA_IRQ_nop_IWRAM | Pass | Pass | Pass | Fail test 36 | Pass | Pass | Fail test 94 | Fail test 94 | Not Tested | Not Tested | |
| 12 | Internal_Cycle_DMA_IRQ_ST | Pass | Fail test 8 | Pass | Fail test 248 | Fail test 4 | Fail test 248 | Pass | Fail test 54 | Not Tested | Not Tested | |
| 13 | Internal_Cycle_DMA_IRQ_ST_p3 | Pass | Fail test 8 | Pass | Fail test 6 | Fail test 6 | Fail test 8 | Pass | Fail test 62 | Not Tested | Not Tested | |
| 14 | Internal_Cycle_DMA_Mul | Pass | Pass | Pass | Fail test 40 | Fail test 41 | Fail test 43 | Fail test 37 | Pass | Fail test 41 | Pass | |
| 15 | Internal_Cycle_DMA_MUL_IRQ | Fail test 24 | Pass | Fail test 24 | Fail test 8 | Fail test 14 | Fail test 6 | Fail test 134 | Fail test 24 | Not Tested | Not Tested | |
| 16 | Internal_Cycle_DMA_TIM_Br_pre | Pass | Pass | Pass | Fail test 32 | Fail test 27 | Fail test 255 | Fail test 2 | Fail test 255 | Not Tested | Not Tested | |
| IRQ | ||||||||||||
| 01 | Halt_PC | Pass | Fail test 212 | Pass | Pass | Fail test 208 | Fail test 216 | Fail test 195 | Fail test 159 | Fail test 184 | Pass | |
| 02 | Halt_PC_2 | Pass | Pass | Pass | Pass | Fail test 235 | Pass | Pass | Fail test 221 | Fail test 242 | Fail test 239 | |
| 03 | Halt_PC_3 | Pass | Fail test 237 | Pass | Pass | Fail test 232 | Pass | Fail test 255 | Fail test 219 | Fail test 239 | Fail test 239 | |
| 04 | Halt_PC_4 | Pass | Pass | Pass | Pass | Fail test 236 | Pass | Fail test 1 | Fail test 223 | Fail test 245 | Fail test 242 | |
| 05 | IE | Pass | Pass | Pass | Fail test 3 | Fail test 3 | Pass | Pass | Fail test 4 | Fail test 2 | Pass | |
| 06 | IF | Pass | Pass | Pass | Fail test 3 | Fail test 3 | Pass | Fail test 6 | Fail test 2 | Fail test 2 | Pass | |
| 07 | IF_Timer | Pass | Pass | Pass | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 1 | Fail test 2 | Pass | |
| 08 | IRQ_sub | Pass | Pass | Pass | Pass | Fail test 247 | Pass | Fail (crash) | Fail test 223 | Fail test 245 | Pass | |
| LDM | ||||||||||||
| 01 | LDM_ALU | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 9 | |
| 02 | LDM_ALU_IMM | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Not Tested | Not Tested | |
| 03 | LDM_ALU_Store | Fail test 6 | Fail test 6 | Pass | Fail test 6 | Fail test 6 | Fail test 6 | Fail test 6 | Fail test 6 | Fail test 6 | Pass | |
| 04 | LDM_Bx | Fail test 1 | Fail test 1 | Pass | Fail test 1 | Fail test 1 | Fail test 1 | Fail (crash) | Fail test 1 | Not Tested | Not Tested | |
| 05 | LDM_LD | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Not Tested | Not Tested | |
| 06 | LDM_MUL_UL_32 | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Not Tested | Not Tested | |
| 07 | LDM_MUL_UL_SL | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Not Tested | Not Tested | |
| 08 | LDM_Swap | Fail test 2 | Fail test 2 | Pass | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Fail test 2 | Not Tested | Not Tested | |
| PPU | ||||||||||||
| 01 | Sprite_Disable_Midline | Fail | Fail | Fail | Fail | Fail | Fail | Fail | Fail | Not Tested | Pass | |
| 02 | Sprite_Disable_on_VRAM_Access | Fail | Fail | Fail | Fail | Fail | Fail | Fail | Fail | Not Tested | Pass | |
| 03 | Sprite_Last_VRAM_Access | Pass | Pass | Pass | Fail test 141 | Fail test 143 | Fail test 173 | Fail test 155 | Fail test 116 | Fail test 141 | Pass | |
| 04 | Sprite_Last_VRAM_Access_Free | Pass | Fail test 121 | Pass | Fail test 119 | Fail test 121 | Fail test 119 | Fail test 119 | Fail test 9 | Fail test 119 | Pass | |
| Prefetcher | ||||||||||||
| 01 | boundary_test_1 | Pass | Fail test 33 | Pass | Fail test 33 | Fail test 27 | Fail test 33 | Fail test 39 | Pass | Fail test 34 | Pass | |
| 02 | branch_THUMB | Pass | Pass | Pass | Fail test 40 | Fail test 29 | Pass | Fail test 37 | Pass | Fail test 40 | Pass | |
| 03 | Branch_THUMB_2 | Pass | Fail test 19 | Pass | Fail test 13 | Fail test 33 | Fail test 19 | Fail test 45 | Pass | Fail test 45 | Pass | |
| 04 | Branch_THUMB_3 | Pass | Fail test 45 | Pass | Fail test 36 | Fail test 35 | Fail test 45 | Fail test 41 | Pass | Fail test 36 | Pass | |
| 05 | Branch_THUMB_4 | Pass | Fail test 55 | Pass | Fail test 27 | Fail test 28 | Fail test 63 | Fail test 27 | Pass | Fail test 27 | Pass | |
| 06 | Branch_THUMB_ARM | Pass | Fail test 57 | Pass | Fail test 59 | Fail test 49 | Pass | Fail test 65 | Pass | Fail test 59 | Pass | |
| 07 | branch_thumb_arm_3 | Pass | Pass | Fail test 102 | Fail (stuck) | Pass | Fail test 102 | Fail (crash) | Pass | Not Tested | Not Tested | |
| 08 | branch_thumb_arm_4 | Pass | Pass | Pass | Pass | Fail test 38 | Pass | Fail test 45 | Pass | Not Tested | Not Tested | |
| 09 | DMA | Pass | Pass | Pass | Fail test 50 | Fail test 40 | Fail test 45 | Fail test 66 | Pass | Fail test 59 | Pass | |
| 10 | Full_ARM | Pass | Fail test 51 | Pass | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Pass | |
| 11 | Full_THUMB | Pass | Pass | Pass | Fail test 36 | Fail test 31 | Pass | Fail test 49 | Pass | Fail test 44 | Pass | |
| PSR | ||||||||||||
| 01 | PSR | Pass | Pass | Pass | Fail test 1 | Fail test 1 | Pass | Fail (crash) | Fail test 1 | Fail test 1 | Pass | |
| STM | ||||||||||||
| 01 | STM_ALU_IMM | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Not Tested | Not Tested | |
| Timer | ||||||||||||
| 01 | Timer | Pass | Fail test 1 | Pass | Fail test 3 | Fail test 1 | Fail test 3 | Fail test 3 | Fail test 3 | Fail test 3 | Fail test 3 | |
| 02 | Timer_disable | Pass | Pass | Pass | Fail test 254 | Fail test 251 | Pass | Fail test 244 | Fail test 254 | Fail test 254 | Pass | |
| 03 | Timer_reset | Pass | Fail test 2 | Pass | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Fail test 1 | Pass | |
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ARM | ||||||||||||
| 01 | arm | Fail test 365 | Fail test 256 | Pass | Pass | Fail test 235 | Pass | Fail (crash) | Fail test 225 | Not Tested | Not Tested | |
| 02 | branches | Fail test 60 | Fail (stuck) | Fail test 60 | Fail (stuck) | Fail (stuck) | Fail (stuck) | Fail (crash) | Fail (stuck) | Not Tested | Not Tested | |
| 03 | data_swap | Fail test 455 | Fail test 456 | Fail test 454 | Fail (stuck) | Fail test 454 | Fail (stuck) | Fail (crash) | Fail test 454 | Not Tested | Not Tested | |
| 04 | halfword_transfer | Fail test 416 | Fail test 256 | Fail test 414 | Fail test 414 | Fail test 416 | Fail (stuck) | Fail test 410 | Fail test 410 | Not Tested | Not Tested | |
| 05 | multiply | Fail (stuck) | Fail test 322 | Fail test 329 | Fail test 320 | Fail test 322 | Fail (stuck) | Fail (crash) | Fail (stuck) | Not Tested | Not Tested | |
| PSR | ||||||||||||
| 01 | PSR2 | Fail test 8 | Fail test 1 | Fail test 8 | Fail test 1 | Fail (stuck) | Fail (stuck) | Fail (crash) | Fail test 8 | Not Tested | Not Tested | |
| Timer | ||||||||||||
| 01 | Timer_check_count_up_presence | Fail test 1 | Pass | Pass | Fail test 1 | Fail test 4 | Pass | Pass | Fail test 4 | Not Tested | Not Tested | |
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bus | ||||||||||||
| 01 | 128kb-boundary | 12 | Pass | Fail (9) | Pass | Fail (0) | Fail (6) | Pass | Fail (7) | Fail (0) | Fail (6) | Fail (stuck)* |
| DMA | ||||||||||||
| 01 | burst-into-tears | 3 | Pass | Fail (0) | Pass | Fail (0) | Fail (1) | Pass | Fail (1) | Fail (0) | Fail (1) | Fail (1) |
| 02 | force-nseq-access | 2 | Pass | Pass | Pass | Fail (0) | Fail (0) | Pass | Fail (0) | Fail (0) | Fail (0) | Pass |
| 03 | latch | 3 | Pass | Pass | Pass | Pass | Fail (1) | Pass | Fail (0) | Fail (1) | Fail (1) | Pass |
| 04 | start-delay | 1 | Pass | Pass | Pass | Fail | Fail | Pass | Fail | Fail | Fail | Pass |
| IRQ | ||||||||||||
| 01 | irq-delay | 3 | Pass | Pass | Pass | Fail (0) | Fail (1) | Pass | Fail (0) | Fail (1) | Fail (0) | Pass |
| PPU | ||||||||||||
| 01 | bgpd | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Fail | Fail | Pass |
| 02 | bgx | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Fail | Fail | Pass |
| 03 | dispcnt-latch | 1 | Pass | Pass | Pass | Fail | Fail | Pass | Fail | Fail | Fail | Pass |
| 04 | greenswap | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Fail | Fail | Fail |
| 05 | sprite-hmosaic | 4 | Pass | Pass | Pass | Fail | Fail | Pass | Fail | Fail | Fail | Not tested |
| 06 | status-irq-dma | 4 | Pass | Pass | Pass | Fail (0) | Fail (0) | Pass | Fail (stuck) | Fail (stuck) | Fail (0) | Pass |
| 07 | vram-mirror | 10 | Pass | Pass | Pass | Fail (6) | Pass | Pass | Fail (7) | Pass | Fail (8) | Fail (7) |
| Timer | ||||||||||||
| 01 | reload | 7 | Pass | Pass | Pass | Fail (5) | Fail (4) | Pass | Fail (0) | Fail (2) | Fail (4) | Pass |
| 02 | start-stop | 2 | Pass | Pass | Pass | Fail (1) | Fail (1) | Pass | Pass | Fail (1) | Fail (1) | Pass |
| Misc | ||||||||||||
| 01 | halt-cnt | 6 | Pass | Fail (5) | Pass | Fail (2) | Fail (2) | Fail (3) | Fail (0) | Fail (stuck) | Fail (stuck) | Fail (2) |
* tested on commit 40355cb
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | bios-openbus | 12 | Fail (10) | Pass | Pass | Pass | Pass | Pass | Pass | Fail (0) | Pass | Pass |
| 02 | dma-latch* | 4 | Fail (2) | Fail (3) | Fail (3) | Pass | Fail (1) | Fail (3) | Fail (0) | Fail (0) | Fail (1) | Fail (3) |
| 03 | dma-start-delay | 8 | Pass | Pass | Pass | Fail (0) | Fail (0) | Fail (6) | Fail (0) | Fail (0) | Fail (0) | Pass |
| 04 | timer-basic | 10 | Fail (9) | Pass | Pass | Fail (2) | Fail (2) | Pass | Pass | Fail (6) | Fail (2) | Pass |
* fourth test is acting a bit weird and needs to be checked, using a flashcart it doesn't pass
| No. | Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | Cartridge | 2 | Pass | Pass | Pass | Fail (1) | Fail (0) | Fail (1) | Fail (0) | Fail (0) | Fail (0) | Fail (1) |
| 02 | CPU | 3 | Pass | Pass | Pass | Fail (1) | Fail (1) | Pass | Fail (2) | Fail (2) | Fail (1) | Fail (2) |
| 03 | DMA | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Fail | Fail | Pass |
| Test Name | Subtests | GBAHawk |
NanoBoyAdvance |
Mesen |
SkyEmu |
mGBA |
ares |
No$GBA |
Visual Boy Advance M |
MiSTer_GBA |
Analogue Pocket |
|---|---|---|---|---|---|---|---|---|---|---|---|
| GValiente | |||||||||||
| Background palette h-blank update - circle | 1 | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass |
| Sprite update HDMA - diamond | 1 | Pass | Pass | Pass | Pass | Fail | Pass | Fail | Fail | Fail | Pass |
| Sprite border HDMA - cube | 1 | Pass | Pass | Pass | Pass | Fail | Pass | Fail | Fail | Fail | Pass |
| Max sprites per scanline | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Pass | Fail | Pass |
| Velipso | |||||||||||
| Large sprite row warp | 2 | Pass | Pass | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Pass |
| Interrupt timing vblank + timer0* | 1 | Pass | Pass | Pass | Fail | Fail | Fail | Fail | Fail | Fail | Fail |
| Ladystarbreeze | |||||||||||
| Mid-frame video capture DMA | 1 | Pass | Pass | Pass | Pass | Fail | Pass | Fail (stuck) | Fail (stuck) | Fail (stuck) | Pass |
| CiroteMark | |||||||||||
| Absolute error in ticks | 1 | Fail (1650) | Fail (-267272) | Fail (133) | Fail (497529) | Fail (5920975) | Fail (-262865) | Fail (18228211) | Fail (6567849) | Fail (231264) | Fail (29102) |
| CasualPokePlayer | |||||||||||
| GBA RTC Test | 18 | Fail (0) | Fail (7) | Fail (16) | Fail (0) | Fail (0) | Fail (0) | Fail (1) | Fail (1) | Not Tested | Not Tested |
* test is acting a bit weird and needs to be checked, using a flashcart it doesn't pass
Emulators in this article
- Main article: Game Boy Advance emulators
- Hover over the emulators at the top of each compatibility list for the specific version tested
- GBAHawk
- NanoBoyAdvance
- Mesen
- SkyEmu
- mGBA
- Ares
- No$GBA
- Visual Boy Advance M
- MiSTer_GBA
- Analogue Pocket
External links
Test ROMs
- mGBA gba-suite
- jsmolka gba-tests
- NanoBoyAdvance hw-test
- Hades-Tests
- AGBEEG aging test suite
- AGS Aging Cart decompilation
- CiroteMark
- GBA RTC Test