|0.2.0||Nov 23, 2022|
|0.1.3||Sep 22, 2022|
|0.1.2||Sep 16, 2022|
|0.1.1||Sep 15, 2022|
|0.1.0||Sep 15, 2022|
#1459 in Command line utilities
Matrix Mode Serial Communicator for MEGA65
matrix65 is a CLI tool, for communicating with the MEGA65
8-bit retro computer using a serial connection.
It has a mix of features from
M65connect and is written entirely in Rust.
Here is a short demonstration video.
Disclaimer: This tool is still under development; use it at your own risk.
The easiest way to get started is to install the Rust compiler, followed by:
cargo install matrix65
There are no other dependencies on MacOS and Windows.
On Linux, you may have to install
libudev-dev (Ubuntu) or
To access the serial port, the Linux user may need to be added to the
# transfer prg file and run it (url allowed) matrix65 --port /dev/myserial prg plasma.prg --run # text-user-interface (TUI) for the FileHost matrix65 --port /dev/myserial filehost # look for and select PRG file inside disk image (url allowed) matrix65 --port /dev/myserial prg commando.d81 --run --reset # type something on the mega65 matrix65 --port /dev/myserial type "dir\n" # hexdump 16 bytes, starting at $C000 matrix65 --port /dev/myserial peek -@ 0xc000 -n 16
Features and current status
As of writing, the list of functionality is inferior to
expect more features over time.
Should you be interested in testing or try some Rust programming,
your involvement is very welcome.
- World-class memory safety thanks to Rust
- Cross platform serial device detection
- Fancy CLI interface with subcommands
- Online Filehost access with TUI (experimental)
- Send and run PRG files
- Go C64/C65 dependent on detected load address
- Extract PRG from CBM disk images (.d81)
- Regular files and URL's are allowed
- Send sequence of key-presses
- Reset MEGA65
- Peek into memory; hexdump, binary file dump
- Poke into memory; single value or from file
- Logging with e.g.
- REPL command interface (experimental)
- Disassembly (currently only 6502 opcodes)
- Transfer and mount disk images
- Load at arbitrary address and optionally start with
- Memory dumps in YAML format
- Bitstream transfer
- Transfer to SD card
- Creative fun: I wanted to learn more about Rust and the MEGA65 hardware
- A Text User Interface (TUI) for the FileHost has an inherent retro-feel
- is safe and free of undefined behavior
- compiles to lean, efficient binaries, similar to C
- has lot's of useful crates, e.g. for supporting CBM disk images
- has Cargo which makes dependency handling easy-peasy
- In my opinion, higher level language features in Rust are superior to raw C for tasks like HTTP requests, JSON parsing, and TUI handling (No offence meant, MEGA65 Team🖖).
- MEGA65 Book:
- Matrix Mode Monitor: section K-13, page 866