[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
2
(define filename pathname)
(CHIP-8 filename)

😎图一


图二

NEXT

  • 将控制流和数据流分开

  • 增加scheme解释器,使得模拟器在运行时能修改他的架构

  • 美化GUI