Giter Site home page Giter Site logo

suite's People

Contributors

endrift avatar fleroviux avatar yuriks avatar zaydlang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

suite's Issues

Basic Mode 3/4 Video Tests Won't Display Actual If I/O Tests Are Ran First

This was tested on the 3DS Virtual Console. It has not been tested on actual hardware yet.

Steps to Recreate:

  1. Go to I/O read tests
  2. Go back
  3. Go to Video Tests
  4. Run Basic Mode 3 and Basic Mode 4 after

Actual Results:
"Actual" displays a blank page

Expected Results:
For Actual to display the same thing as expected

Hope this helps!

ARM tests

Tests for edge cases on ARM instructions

Expected results of H-Blank bit start tests

On hardware (Gameboy player) I always get Flip 1: 0x85 != 0x84. Is the test hardware dependent? Is it a typo in the expected results for the test?

I suppose another variable could be the flash cart I am using, but I only have the one and one piece of hardware, so no other data points. Currently my emulator implementation also gets the same result.

Memory SRAM mirror tests write to OAM, causing subsequent runs to have failures on hardware.

DMA0 source/destination address of 0xF000 gets truncated down to 0x7000 so the SRAM mirror store tests write to OAM. This is fine on the first run as the store tests happen after the load test. However subsequent runs of the memory tests will show fails since the SRAM mirror load tests load from OAM, which is no longer 0 as expected as OAM is not cleared in between tests.

Confirmed this happens on hardware (Gameboy Player.)

Unable to build on WSL Debian

I am using the Debian version of WSL and am unable to build the test suite. I get the following error:

grit -ff /home/jsmolka/suite/gfx/videotest.grit -fts -ovideotest
videotest.s
arm-none-eabi-gcc: error: videotest.s: No such file or directory
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.
make[1]: *** [/opt/devkitpro/devkitARM/base_rules:95: videotest.o] Error 1
make: *** [Makefile:110: build] Error 2

When googling it I end up at issue #7 of this test suite. Do you have any idea why this could be happening? If not, would you be kind enough to provide a binary of the latest version (I am still using an older one I found on a forum).

DMA 'Imm W R+0x10/+IWRAM (or EWRAM)' tests are not independent for channel 0

If you run the DMA tests and then try try to run the tests in the title individually, they will fail. This is because they rely on the latched value from the previous 'HBl W -SRAM/=ROM' test. Running them independently after the tests cycle instead uses the value from the 'Imm H V+BIOS/+VRAM' test that normally occurs after it.

This happens because the source address gets truncated down to 0x4328C as channel 0 cannot access ROM. The test also runs a DMA from BIOS, but DMA cannot access that either, so both DMAs access the latched value.

This can also indirectly demonstrate that each channel has its own latched value, as if you go back and run tests for some of the other channels, it will not change the value displayed in the 'Imm W R+0x10/+IWRAM (or EWRAM)' test for channel 0, it will only change after running some other channel 0 tests,

Confirmed on Gameboy Player.

Error when compiling on Mac OS X High Sierra

Using devkitARM v47, with environment variables defined as described by devkitPro team
Using GNU Make 3.81 for i386-apple-darwin11.3.0 (also happens with GNU Make 4.2.1 for x86_64-apple-darwin17.0.0)

The following console output has been edited to mask my identity.

$ make
grit -ff ${HOME}/gba-test/gfx/degenerateObjTransform.grit -fts -odegenerateObjTransform
degenerateObjTransform.s
arm-none-eabi-gcc -MMD -MP -MF ${HOME}/gba-test/build/degenerateObjTransform.d -x assembler-with-cpp -mthumb -mthumb-interwork -march=armv4t -mcpu=arm7tdmi -mtune=arm7tdmi -I${HOME}/gba-test/include -I${HOME}/devkitPro/libgba/include -I${HOME}/gba-test/build -c degenerateObjTransform.s -o degenerateObjTransform.o 
grit -ff ${HOME}/gba-test/gfx/font.grit -fts -ofont
font.s
arm-none-eabi-gcc -MMD -MP -MF ${HOME}/gba-test/build/font.d -x assembler-with-cpp -mthumb -mthumb-interwork -march=armv4t -mcpu=arm7tdmi -mtune=arm7tdmi -I${HOME}/gba-test/include -I${HOME}/devkitPro/libgba/include -I${HOME}/gba-test/build -c font.s -o font.o 
grit -ff ${HOME}/gba-test/gfx/videotest.grit -fts -ovideotest
videotest.s
arm-none-eabi-gcc -MMD -MP -MF ${HOME}/gba-test/build/videotest.d -x assembler-with-cpp -mthumb -mthumb-interwork -march=armv4t -mcpu=arm7tdmi -mtune=arm7tdmi -I${HOME}/gba-test/include -I${HOME}/devkitPro/libgba/include -I${HOME}/gba-test/build -c videotest.s -o videotest.o 
arm-none-eabi-gcc: error: videotest.s: No such file or directory
arm-none-eabi-gcc: warning: '-x assembler-with-cpp' after last input file has no effect
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.
make[1]: *** [videotest.o] Error 1
rm font.s degenerateObjTransform.s
make: *** [build] Error 2

Memory tests check wrong values for SWI B 32 test

In

doResult("swi B 32", activeTest->testName, currentTest._c16[0], activeTest->expected._c32[0]);

instead of checking the actual result of swi B 32, the test checks the value of swi B 16. This should be an easy fix, but I don't have access to hardware to verify a fix at the moment.

ARM PC-relative Tests

Add tests for PC-relative instructions in ARM mode.

Some examples include:

  • LDRH r12,[pc+0x16] E1DFC1B6, which requires a 2-byte change from B6 to B4 to work on emulator/console.

  • sbc r12,pc,** E2CFC0** %% R12=PC-** **=C5 on emulator, C7 on console, which requires different values to create the same result in r12.

DMA and Misc. Edge Case test results worse after running Layer Toggle test!

mGBA test suite v0-r66 has a weird issue affecting all emulators (and possibly real hardware) where the results of the DMA and Misc. Edge Case tests look slightly worse after running the Layer Toggle test. On mGBA, 1232 of the 1252 DMA tests and 8 of the 10 Misc. Edge Case tests pass before the Layer Toggle test, then 1216 to 1232 of the 1252 DMA tests and 7 of the 10 Misc. Edge Case tests pass after the Layer Toggle test.

Degenerate OBJ Transforms test only showing part of what's expected

This was tested on the 3DS Virtual Console. It has not been tested on actual hardware yet.

Steps to Recreate:

  1. Go to Video Tests
  2. Click on the "Degenerate OBJ transforms" test

Actual Results:
Everything displays properly except for the horizontal black lines on the bottom row

Expected Results:
For the horizontal black lines to show up on the bottom row as shown in the "Expected" frame of the test

Shifter edge cases

https://github.com/mgba-emu/suite/blob/master/src/shifter.c#L107

Why does this end up being 0x80000FFF and not 0?
As per gbatek:

  • Zero Shift Amount (Shift Register by Immediate, with Immediate=0)
    -- ASR#0: Interpreted as ASR#32, ie. Op2 and C are filled by Bit 31 of Rm.
    and arm7tdmi documentation
  • The form of the shift field which might be expected to give ASR #0 is used to encode
    ASR #32.

Maybe test case for lsl , lsr, asr could be implemented?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.