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

Add a global variable to provide emulator capabilities #652

Open
mpharoah opened this issue Jul 19, 2023 · 0 comments
Open

Add a global variable to provide emulator capabilities #652

mpharoah opened this issue Jul 19, 2023 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@mpharoah
Copy link
Collaborator

It would be nice to have a global variable bitfield that we can use to check if the current emulator (or console) supports a particular feature. This is much more robust than checking for a specific emulator version, but only some checks will actually be possible since many features will simply crash inaccurate emulators (especially PJ64) instead of just having different behaviour.

But for those features that we can safely check for, we should provide a way to directly feature test for them instead of relying on gEmulator.

Some potential features we could test for:

  • Cache emulation (we already have a check for this)
  • Floating point rounding mode support
  • emulator extensions once they are standardized (will need a PJ64 1.6 check around this to avoid a crash lol)
  • libpl
  • DMA timings
  • RSP pipeline stall timings
  • Certain 64-bit mode behaviors
@gheskett gheskett added this to the 3.0 milestone Jul 25, 2023
@gheskett gheskett added the enhancement New feature or request label Jul 25, 2023
@gheskett gheskett modified the milestones: 3.0, 2.2 Sep 27, 2023
@gheskett gheskett modified the milestones: 2.2, 2.3 Mar 2, 2024
@gheskett gheskett modified the milestones: 2.3, 2.4 Jul 4, 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
Status: To Do
Development

No branches or pull requests

2 participants