Skip to content

[FC] AccuracyCoin fails 25 out of 131 tests. #2275

@randomsomeone69-real

Description

@randomsomeone69-real

Describe the issue
AccuracyCoin is a NES accuracy test cartridge that tests if an emulator is accurate or not.
ares passes 106 tests out of 131.

Image

Here are the tests that have failed:

Open bus (error code 4): Moving the program counter to open bus should read instructions from the floating data bus values. Write cycles should update the data bus.
Unofficial instructions (error code B): Does "SHX Absolute, Y" do vaguely what's expected of it?
Unofficial Instructions: SHA, SHX, SHY, SHS (error code 1) : The target address of the instruction was not the correct value after the test.
APU Register activation (error code 3): The OAM DMA should not be able to read from the APU registers if $40 is written to $4016, and the CPU Address Bus is not in the range of $4000 to $401F.
DMA + $4015 read (error code 2): The DMC DMA was either on the wrong cycle, or the halt/alignment cycles did not read from $4015, which should have cleared the APU Frame Timer Interrupt Flag.
DMC DMA bus conflicts (error code 2) : The DMC DMA did not correctly emulate the bus conflict with the APU registers.
DMC DMA + OAM DMA (error code 2): The overlapping DMAs did not spend the correct number of CPU cycles.
Explicit and Implicit DMA abort (error code 2): The aborted DMAs did not spend the correct number of CPU cycles.
Frame Counter IRQ (error code 7): The IRQ flag should not be cleared yet the APU transitions from a "get" cycle to a "put" cycle.
Delta Modulation Channel (error code L): Writing to $4015 when the DMC timer has 2 cycles until clocked should not trigger a DMC DMA until after the 3 or 4 CPU cycle delay of writing to $4015.
Controller strobing (error code 4): Controllers should not be strobed when the CPU transitions from a "put" cycle to a "get" cycle.
Palette RAM quirks (error code 5): The values read from Palette RAM should only be 6-bit, with the upper 2 bits being PPU open bus
Arbitrary Sprite Zero (error code 2): The first processed sprite of a scanline should be treated as "sprite zero".
Misaligned OAM behaviour (error code 1): Misaligned OAM should be able to trigger a sprite zero hit.
Adress $2004 behaviour (error code 9): Reads from $2004 during PPU cycles 256 to 320 of a visible scanline (with rendering enabled) should always read $FF.
OAM Corruption (error code 1): This emulator failed to sync the CPU to VBlank during a test that ran when the ROM boots.
Stale BG shifts register (error code 3): The background shift registers should not be clocked during H-Blank or F-Blank. After re-enabling rendering, a sprite zero hit should be able to occur entirely on stale background shift register data.
Sprites on scanline 0 (error code 2): A sprite should be able to be drawn at Y=0 via the pre-render scanline's sprite evaluation with stale secondary OAM data.
Implied dummy reads (error code 3): Your emulator did not update the data bus when the DMC DMA occured, or your DMA timing is off.
JSR edge cases (error code 3): JSR should leave the value of the second operand on the data bus.

All the tests that have fails passes on a real NTSC-U NES (with the RP2A03G CPU and the RP2C02G PPU).

Rom Information

game
  sha256: 0a0d8d436cc242cc7790998227e456ea927fc4c8a80922cc53cdcba98e0f5da5
  name:   AccuracyCoin(1)
  title:  AccuracyCoin(1)
  region: NTSC-J, NTSC-U, PAL
  system: Regular
  board:  HVC-NROM-256
    mirror mode=horizontal
    memory
      type: ROM
      size: 0x10
      content: iNES
      data: 4e 45 53 1a 02 01 00 00 00 00 00 00 00 00 00 00
    memory
      type: ROM
      size: 0x8000
      content: Program
    memory
      type: ROM
      size: 0x2000
      content: Character

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcore-fcFamicom / NES / FDS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions