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

Move IO ports-mapped registers handling to their respective modules #69

Closed
mzal opened this issue Sep 15, 2020 · 0 comments
Closed

Move IO ports-mapped registers handling to their respective modules #69

mzal opened this issue Sep 15, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request
Projects

Comments

@mzal
Copy link
Collaborator

mzal commented Sep 15, 2020

After further consideration, I think it is cleaner to let the particular modules handle IO ports registers related to them.

Previously, I thought about creating whole memory blocks to be handled by outside modules, but after further examination it appears that in many cases the IO ports addresses are not consecutive and assigning a handler function on per-address basis seems to make more sense.

@mzal mzal added the enhancement New feature or request label Sep 15, 2020
@mzal mzal self-assigned this Sep 15, 2020
@mzal mzal added this to Project Backlog in GBC Emu via automation Sep 15, 2020
mzal pushed a commit that referenced this issue Sep 15, 2020
Add a mechanism for registration of memory read/write handlers for particulat
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own
logic instead of calling mem APIs.
mzal pushed a commit that referenced this issue Sep 18, 2020
Add a mechanism for registration of memory read/write handlers for particulat
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own
logic instead of calling mem APIs.
mzal pushed a commit that referenced this issue Sep 18, 2020
Add a mechanism for registration of memory read/write handlers for particulat
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own
logic instead of calling mem APIs.
mzal pushed a commit that referenced this issue Sep 18, 2020
Add a mechanism for registration of memory read/write handlers for particular
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own logic instead of calling mem APIs.
mzal pushed a commit that referenced this issue Sep 19, 2020
Add a mechanism for registration of memory read/write handlers for particular
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own logic instead of calling mem APIs.
mzal pushed a commit that referenced this issue Sep 21, 2020
Add a mechanism for registration of memory read/write handlers for particular
addresses within IO ports range and for IE register.

Refactor joypad, gpu and ints modules to use the new mechanism and use internal
memory for their own logic instead of calling mem APIs. Dynamically calculate
joypad register value on read.

Change bgp -> obp in sprite-related gpu functions.
@mzal mzal closed this as completed in 09e93b9 Sep 21, 2020
GBC Emu automation moved this from Project Backlog to Done Sep 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
GBC Emu
  
Done
Development

No branches or pull requests

1 participant