Tạo trình giả lập bằng JS và tích hợp với nhiều UI
(taniarascia.com)-
Hiện thực trình thông dịch Chip-8 từng được dùng trên các máy 8-bit thập niên 1970 bằng JS
-
Tích hợp với web/CLI/ứng dụng native
-
Thực tế đây là một trình thông dịch, nhưng vì khá gần với trình giả lập nên phù hợp với những ai muốn học cách tạo trình giả lập.
-
Khai báo các thành phần như Memory (4KB), Program Counter, Register, Index Register, Stack, Stack Pointer, Timer dưới dạng biến
Xây dựng CPU, đồng thời hiện thực bàn phím HEX 4x4 và màn hình 64x32
-
Có thể chạy trên nhiều môi trường native khác nhau bằng cách dùng binding Raylib cho Node.js trong mã JavaScript
3 bình luận
Vì có cấu trúc 8-bit nên mã không quá phức tạp, đọc khá thú vị.
Đoạn mã dưới đây làm tôi ấn tượng.
class CPU {
constructor() {
this.memory = new Uint8Array(4096)
this.registers = new Uint8Array(16)
this.stack = new Uint16Array(16)
this.ST = 0
this.DT = 0
this.I = 0
this.SP = -1
this.PC = 0x200
}
}
Tôi đã nghĩ stack 16 byte là quá nhỏ, nhưng với bộ nhớ 4k thì có vẻ là khả thi.
À~ 16 từ, 16 từ