Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor timer #47

Merged
merged 14 commits into from
Jul 28, 2024
Merged

Refactor timer #47

merged 14 commits into from
Jul 28, 2024

Conversation

YushiOMOTE
Copy link
Owner

@YushiOMOTE YushiOMOTE commented Jul 28, 2024

  • Relocate ClockDivider/Timer under apu to clock module in top-level, as it's generic logic convenient for emulation.
  • Introduce PrescaledTimer, which combines ClockDivider and Timer to support adjustable frequency with timer.
  • Separate out DIV logic from CPU Timer
  • Simplify DIV logic using PrescaledTimer
  • Simplify CPU Timer logic using PrescaledTimer
  • Unify FrameSequencer as a single component in APU.
  • Simulate DIV-APU event, which is passed as boolean from DIV to APU. The frame sequencer takes it and computes frames.
  • Refactor extra clock phenomenon logic on trigger in length counter, which is accurate enough to support a new Same Suite rom test.
  • Add Same Suite rom tests.
  • Relocate and clean up rom tests.

@YushiOMOTE YushiOMOTE marked this pull request as ready for review July 28, 2024 13:55
@YushiOMOTE YushiOMOTE merged commit 1927dcf into master Jul 28, 2024
6 checks passed
@YushiOMOTE YushiOMOTE deleted the refactor-timer branch July 28, 2024 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant