cargo-n64 icon indicating copy to clipboard operation
cargo-n64 copied to clipboard

Add commands to interact with 64Drive and EverDrive 64 hardware via USB.

Open parasyte opened this issue 4 years ago • 1 comments

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.

parasyte avatar Dec 28 '20 02:12 parasyte

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 :)

JoNil avatar Apr 20 '22 20:04 JoNil