TASEmulators / TASEmulators/BizHawk
Representing screen layout of virtual systems
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 2.8k
- Forks
- 468
- PR merge metrics
- No merged PRs in 30d
Description
At the very least, we need a new service which accommodates multi-screen systems (perhaps as simple as a list of IVideoProviders).
- This includes DS/i, 3DS, Virtual Boy, and I think 1 other edge case we should be emulating atm that I've forgotten. Plus all our linked handhelds and maybe some of MAME's systems.
- In the future it could include DOOM, linked GBA, and the Dreamcast's VMU.
The service would need to facilitate at least the relative positioning of the screens.
- What about separate windows? #4018
- And hey, what about XR? If you have binocular displays, you could do cool things like drawing an OSD or ApiHawk layer as a separate plane, or only in one eye.
melonDS and Encore (and VirtualBoyee) currently combine 2 framebuffers into 1 within the core, which I've complained about at length, including in #3772.
- The framebuffers included in savestates will have the settings baked in, mentioned in https://github.com/TASEmulators/BizHawk/pull/4333#issuecomment-3251338067.
It would be nice if the solution we come up with also covered screen rotation, as is currently handled in melonDS/Encore with non-sync settings.
- This would presumably be useful for most handhelds.
- Titles like GBA WarioWare: Twisted! and WonderSwan Rhyme Rider Kerorican could benefit from arbitrary rotations, not just quarter-turns.
- And for GBC Kirby Tilt 'n' Tumble or NDS Tony Hawk's Motion I guess it would have to be 3D?
see also my notes #124
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing multi-screen and framebuffer handling in melonDS and Encore, along with issue #3772 and the linked discussion. The proposed design should account for relative screen positioning and screen rotation across the listed systems; the issue does not identify specific BizHawk files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- computer-graphics, desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100