Fixed a bug that connected the SP1 device twice
Removed AddSP1Device function and fixed the code to automatically connect the Triforce Baseboard when a Triforce game is detected
Updated BootID structure
Changed how the region and maker for Triforce games are loaded
Refactored AMMediaboard.cpp to remove legacy memory patching, introducing cryptographic key handling for Triforce IPL commands
Enhanced DVDInterface.cpp to ensure cover closure during initialization for Triforce IPL
Adjusted VideoInterface.cpp region flags for Triforce IPL compatibility
Added detailed comments to clarify new logic and removed outdated code
Added loading of region for Triforce games from boot.id
Prevent test menu access without SegaBoot present
Changed insert coin button to X
Require ReadArray and WriteArray to be called with a trivially copyable
type.
ReadArray and WriteArray call std::fread and std::fwrite respectively.
These functions trigger undefined behavior when the objects are not
trivially copyable, so this adds that requirement to the callers.
Fix the input string failing to validate when the "Hex Byte
String" input type is selected and either the user adds a 0x prefix or
the "Hex" box is checked (or both).
The latter failure was particularly troublesome because when "Hex Byte
String" is selected the "Hex" checkbox is disabled. Users would have to
switch to a data type that enabled the box, toggle it, then switch back
to "Hex Byte String" to fix it.
Fix these errors by not adding a prefix when the "Hex" box is checked,
and removing the "0x" prefix from the user's input if present.
Fix validation failing when the user has checked the Hex box and also
includes a "0x" or "-0x" prefix in their input.
Previously an extra "0x" would be inserted, causing the user's input of
"0x13" to become "0x0x13" which would then fail to validate.
Separate LibUSB logic into LibUSBBluetoothAdapter class.
Submit transfers on thread with proper timing.
Throttle before ACL input for reduced input latency.
Immediately send IPC replies for outgoing data.
Continuously submit libusb transfers to fill HCI/ACL input queues.
Simplify endpoint handling and state saving.
Other cleanups.
When selecting cars, this game crashes with GFX FIFO: Unknown Opcode. This is solved by disabling Dual Core, as the error message suggests.
There is no information about this on the Wiki, just a link to a gameplay on YouTube.
This is my first PR here and one of the first ones on GitHub. Due to personal issues I don't have much free time to dedicate to this, but I'm doing my best to get everything right.
Cleanup loading code and reduce amount of signals.
On boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.