cargo-n64
cargo-n64 copied to clipboard
Add commands to interact with 64Drive and EverDrive 64 hardware via USB.
The obvious commands to add are: Upload ROM
and Set CIC Type
. Some nice to haves would be Set Save Type
, Cart Info
, and some commands to arbitrarily send and receive data (e.g. for emulating stdin
, stdout
, stderr
, GDB stub, etc.)
- The 64Drive hardware documentation includes all the necessary info for communicating over USB.
- For EverDrive64, there is the official source code: https://github.com/krikzz/ED64/tree/master/usb64 and an unofficial tool: https://github.com/anacierdem/ed64
There is a crate available for communication with 64Drive: https://github.com/awygle/r64drive It depends on libftdi
which is not ideal.
There is another project that uses the serial tty
interface instead of libftdi
: https://github.com/tj90241/64drive This interface should be available on every major OS. E.g. something like /dev/ttyUSB0
or /dev/ttyS4
on Linux and macOS, and COM4
in Windows. The serialport
crate looks handy.
I have implemented upload to the Everdrive 64 x7 here: https://github.com/JoNil/loka-n64/blob/master/deploy/src/main.rs
When set as a runner i can just do cargo run the the game runs on the console :)