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 在 命令行工具
64KB
1.5K SLoC
MEGA65 的矩阵模式串行通讯器
matrix65
是一个 CLI 工具,用于通过串行连接与 MEGA65 8 位复古计算机通讯。它结合了 m65
、mega65_ftp
和 M65connect
的功能,并完全使用 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 卡
动机
- 创意乐趣:我想了解更多关于 Rust 和 MEGA65 硬件的知识
- 文件托管具有复古感的文本用户界面(TUI)
- Rust
- 是安全的,没有未定义的行为
- 编译为类似 C 的精简、高效的二进制文件
- 拥有许多有用的crate,例如支持CBM磁盘镜像
- 拥有Cargo,这使得依赖处理变得非常简单
- 在我看来,Rust的高级语言特性在处理HTTP请求、JSON解析和TUI处理等任务方面优于原始的C语言(无意冒犯,MEGA65团队🖖)。
资源
- MEGA65书籍
- 矩阵模式显示器:部分K-13,页面866
- https://github.com/MEGA65/mega65-user-guide/blob/master/appendix-monitor.tex
- mega65-tools:
src/monitor/monitor.a65
依赖
~16–31MB
~523K SLoC