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

High resolution sprite support in the MOUSE driver #126

Open
dansanderson opened this issue Feb 29, 2024 · 0 comments
Open

High resolution sprite support in the MOUSE driver #126

dansanderson opened this issue Feb 29, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@dansanderson
Copy link
Collaborator

dansanderson commented Feb 29, 2024

Add support for the BASIC MOUSE system to use the full visible coordinate plane when sprenv400 and/or sprh640 are set.

Change https://github.com/MEGA65/mega65-rom/commit/69f2bda300f62dcff6a41d8b440ca94930968572 introduces support for hires sprite coordinates in the hires sprite modes (sprenv400 for hires Y per sprite, sprh640 for hires X system-wide). With a bit of refactoring (or duplication), the revised get_sprpos and set_sprpos routines in b65.src can be used as a basis for a similar feature in MOUSE handling in system.src. I believe it is mostly the bounds checking that needs to change. Additional logic may be needed if the sprite modes change while MOUSE is active.

The plan is to add a "set sprite resolution to match screen resolution" mode for the sprite subsystem, controllable by a BASIC command. It is also intended that these features support manually adjusting sprenv400 and sprh640 directly via register POKEs, i.e. anything that depends on this state will read it directly from the registers. Separately, the new sprite resolution mode will adjust these registers when the screen resolution changes. This feature requests that the MOUSE driver read sprenv400 and sprh640 and support border-to-border mouse pointer travel accordingly.

@dansanderson dansanderson added new New report, not classified yet enhancement New feature or request and removed new New report, not classified yet labels Feb 29, 2024
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
None yet
Development

No branches or pull requests

1 participant