Skip to content

Improve emulation accuracy #22

Description

@Amjad50

Currently, the emulation is done like this:

  • clock APU (audio)
  • clock CPU:
    • if its time to execute instruction, execute it and store how many cycles we should wait
    • if we are still waiting, don't do anything and decrement the wait counter (this is the issue here, as we are grouping several cycles into one and faking accurate cycle emulation
  • clock PPU (picture) 3 times (since its running 3 times cpu speed, it should not run like that and should be executed while cpu is executing

There are some tests to cover accurate emulation.

I have already done that in mizu, it has much more accurate emulation than this and the methods there could be applied here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions