#汇编 #仿真器 #反汇编器 #滴答 #指令 #dcpu-16

bin+lib dcpu

DCPU-16 的汇编器、调试器和仿真器

7 个版本 (4 个重大更改)

使用旧的 Rust 2015

0.5.0 2016 年 12 月 23 日
0.4.0 2016 年 10 月 8 日
0.3.0 2016 年 9 月 27 日
0.2.0 2016 年 9 月 24 日
0.1.2 2016 年 9 月 23 日

#599 in 调试

每月下载 22 次

LGPL-3.0

185KB
5.5K SLoC

DCPU-16 仿真器和 DASM (反)汇编器

Build Status Clippy Linting Result

功能

  • 完整的指令集
  • 滴答准确
  • 设备支持
    • 时钟
    • LEM1802
    • 键盘
    • m35fd
  • 反汇编器
  • 汇编器
  • 类似 gdb 的调试器
  • 图像到 LEM 兼容格式的实用工具

快速使用

Windows 和 Linux 的编译版本可在 https://github.com/Yamakaky/dcpu/releases/ 获取。无需依赖项。

注意:当前仿真器的 Windows 版本因 OpenGL 错误而失败。如果有人知道原因...

所有二进制文件都支持 --help 标志以获取更多信息。

构建

您需要安装 rust 编译器 来构建此软件。

# cargo run --release --bin <bin> -- <bin-args>

可用的二进制文件包括汇编器、反汇编器、仿真器和精灵。

某些功能仅在 Rust 夜间版本上可用。要启用它们,请安装 Rust 夜间版本然后运行;

# cargo run --release --features nightly --bin ...

构建功能

以下构建功能可用 ([x] 表示“默认启用”)

  • bins:仅用于构建二进制文件,对于库应禁用。
  • debugger-cli:调试器的命令行解析,对于库也应禁用。
  • glium:lem1802 + 键盘的 OpenGL 后端,在库中可能很有用。
  • nightly:某些类型的 serde::{Serialize, Deserialize} 的实现。需要 Rust 夜间版本。

构建 C 库

要构建动态库 (.so)

# cargo rustc --lib --no-default-features -- --crate-type=dylib

要构建静态库 (.a)

# cargo rustc --lib --no-default-features -- --crate-type=staticlib

有关可用的函数,请参阅 src/c_api.h

将图像转换为 LEM 格式

sprite实用工具可以

  • 将字体图像(--font-file)和调色板图像(--palette-file)转换为与LEM1802兼容的格式,可以是二进制或十六进制
  • 将图像(--image)转换为VRam + 字体 + 调色板

文档

库接口文档在这里:here.

依赖项

~6–17MB
~229K SLoC