Skip to content

Add cartridge banking, DMA, joypad, and ROM tests - #10

Open
DanielCuevas1208 wants to merge 6 commits into
mainfrom
feature/next-roadmap-milestone-5011a4bf
Open

Add cartridge banking, DMA, joypad, and ROM tests#10
DanielCuevas1208 wants to merge 6 commits into
mainfrom
feature/next-roadmap-milestone-5011a4bf

Conversation

@DanielCuevas1208

@DanielCuevas1208 DanielCuevas1208 commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add cartridge bank switching.
  • Add DMA timing.
  • Add joypad input.
  • Add save data support.
  • Add automated test ROM runs.

Review status

Do not merge yet.

The JOYP select bits use active-low logic. The current code uses active-high logic and does not return the stored select bits. Correct the register behavior and update its tests.

Validation

Run the unit tests, test ROMs, build, and headless checks after the correction.

@DanielCuevas1208 DanielCuevas1208 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not merge this revision yet. The Game Boy JOYP selection logic is reversed. Bits 4 and 5 are active-low, but Joypad.read() selects a column when the stored bit is nonzero. The returned register value also drops the stored select bits. Correct the register behavior and update the tests before merge. Keep the joypad interrupt test separate from the selection test.

@DanielCuevas1208 DanielCuevas1208 changed the title Extend Dot Matrix Deck Add cartridge banking, DMA, joypad, and ROM tests Aug 4, 2026
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