Open fenhl opened 1 year ago
Thanks to fenhl/OoT-Randomizer#14, reading and writing data works now. The next steps are to finish designing the USB communication protocol (I've written a first draft) and implement it as a PR for the randomizer.
I've posted my current draft of the USB communication protocol at https://github.com/OoTRandomizer/OoT-Randomizer/issues/2042.
This is now in progress on the everdrive
branch. Current progress:
The everdrive
branch has now been merged into main
. EverDrive support can be enabled by setting the runtime environment variable MHMW_EVERDRIVE
to a non-empty value. Connecting to the EverDrive via USB is not yet implemented.
This is now available as of version 15.2.0. See the release notes for caveats. Leaving this open until it lands on the main Dev branch of the randomizer, as there is still more work to do before a pull request can be opened.
Some models of the EverDrive-64, such as the EverDrive-64 X7, have a USB port that can be used for communication between the game running on the EverDrive and a connected PC. This could in theory be used to add multiworld support for EverDrive by having the randomizer implement a protocol similar to the one the Mido's House Multiworld app uses to communicate with the BizHawk and Project64 plugins, with some adjustments required to accomodate the idiosyncracies of the USB interface and since the EverDrive loses its state when resetting the console (e.g. savewarping).
I've tried prototyping this and detecting whether an EverDrive is present works. However, reading data does not. The latest attempt can be found at https://github.com/fenhl/OoT-Randomizer/compare/dev-fenhl...everdrive. Resources used for this implementation: