[TOC]
软件调用框架
graph LR A(Debuge) B(Keyboard&Screen) C(Memory) D(Bytes-tools) E(CPU) F(Computer) B-->E D-->E C-->E F-->A E-->F D-->C B-->F
Bytes-tool
- 功能:提供给其他模块的基本数据类型,以及相关的转换函数
- 数据类型:8-bytes, 16-bytes, list, number
- 工具函数:所有函数
Memory
- 功能:模拟寄存器,以及RAM
- 工具函数:set-register!, register-value, RAM-write, RAM-read
Keyboard&Screen
- 功能:模拟键盘和屏幕
- 工具函数:set-pixel, get-pixel, (send canvas refresh-now), key-board-read, key-pressed?, pressed-key
CPU
- 功能:模拟CPU
- 数据类型:Ins
- 工具函数:CPU
Computer
- 功能:模拟CHIP-8
- 工具函数:CHIP-8, CPU-loop, CHIP-init
Debuge
- 功能:Debuge 工具
- 工具函数:add-stop, delete-stop, clear-stops, stop?, CPU-restart, CPU-next
使用
1 | (define filename pathname) |
NEXT
将控制流和数据流分开
增加scheme解释器,使得模拟器在运行时能修改他的架构
美化GUI