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

Fix (by adding an assert and testing) cases where cores return an undeclared sysID #4215

Open
YoshiRulz opened this issue Feb 8, 2025 · 0 comments
Labels
Meta Relating to code organisation or to things that aren't code Request: Feature/Enhancement For feature requests or possible improvements

Comments

@YoshiRulz
Copy link
Member

prior comment

From #3635 (comment):

How about this:

  • RomLoader never sets SGB on any rom (since any GB rom could be used with SGB, they should all be detected as the same, and GB/GBC is the better choice)
  • There is no core preference for SGB, only GB and maybe GBC
  • Cores are perfectly honest with setting IEmulator.SystemId (not necessarily matching the one passed in, since a sync setting can choose between GB/GBC/SGB)
  • SystemId always matches a [CoreConstructor]—if it doesn't make sense to have that ctor, like with SGB which RomLoader will never use, it can simply be private and call something like this(default)

I think that would give the consistency I'm after while being simpler for regular users.

Later comment from #3960 (comment):
The value returned from IEmulator.SystemId should always match one of the [CoreConstructor]s. There should not be any case where the core "knows better" and swaps sysID based on the rom, for example—it is the frontend's responsibility to identify roms—but for the time being those hacks can remain and the core can simply add another attribute, and possibly a dummy ctor.

@YoshiRulz YoshiRulz added Meta Relating to code organisation or to things that aren't code Request: Feature/Enhancement For feature requests or possible improvements labels Feb 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Meta Relating to code organisation or to things that aren't code Request: Feature/Enhancement For feature requests or possible improvements
Projects
None yet
Development

No branches or pull requests

1 participant