#串行 #8位 #磁盘镜像 #mega65

bin+lib matrix65

MEGA65 的矩阵模式串行通讯器

5 个版本

0.2.0 2022年11月23日
0.1.3 2022年9月22日
0.1.2 2022年9月16日
0.1.1 2022年9月15日
0.1.0 2022年9月15日

#1960命令行工具

MIT/Apache

64KB
1.5K SLoC

Crates.io Rust rust-clippy analyze docs.rs

MEGA65 的矩阵模式串行通讯器

matrix65 是一个 CLI 工具,用于通过串行连接与 MEGA65 8 位复古计算机通讯。它结合了 m65mega65_ftpM65connect 的功能,并完全使用 Rust 编写。这里有一个简短的 演示视频

免责声明:此工具仍在开发中;使用风险自负。

入门

安装

开始使用最简单的方法是安装 Rust 编译器,然后

cargo install matrix65

MacOS 和 Windows 上没有其他依赖。在 Linux 上,您可能需要安装 libudev-dev(Ubuntu)或 systemd-devel(Fedora)。为了访问串行端口,Linux 用户可能需要添加到 dialout 组。

使用

# 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

功能和当前状态

截至编写本文时,功能列表不如 m65 全面,但预计未来会有更多功能。如果您对测试或尝试一些 Rust 编程感兴趣,您的参与非常受欢迎。

  • 得益于 Rust,提供一流的内存安全性
  • 跨平台串行设备检测
  • 具有子命令的精美 CLI 界面
  • 通过 TUI(实验性)访问在线文件托管
  • 发送并运行 PRG 文件
    • 根据检测到的加载地址运行 C64/C65
    • 从 CBM 磁盘镜像 (.d81) 提取 PRG
    • 允许常规文件和 URL
  • 发送按键序列
  • 重置 MEGA65
  • 查看内存;十六进制转储,二进制文件转储
  • 向内存中写入;单个值或来自文件
  • 使用例如 export RUST_LOG=info 进行记录
  • REPL 命令接口(实验性)
  • 反汇编(目前仅限于 6502 指令集)
  • 传输并挂载磁盘镜像
  • 在任意地址加载并可选地使用 SYS 启动
  • 以 YAML 格式进行内存转储
  • 流传输
  • 传输到 SD 卡

动机

  1. 创意乐趣:我想了解更多关于 Rust 和 MEGA65 硬件的知识
  2. 文件托管具有复古感的文本用户界面(TUI)
  3. Rust
    • 是安全的,没有未定义的行为
    • 编译为类似 C 的精简、高效的二进制文件
    • 拥有许多有用的crate,例如支持CBM磁盘镜像
    • 拥有Cargo,这使得依赖处理变得非常简单
  4. 在我看来,Rust的高级语言特性在处理HTTP请求、JSON解析和TUI处理等任务方面优于原始的C语言(无意冒犯,MEGA65团队🖖)。

资源

依赖

~16–31MB
~523K SLoC