7 điểm bởi xguru 2020-04-18 | 3 bình luận | Chia sẻ qua WhatsApp
  • 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

 
xguru 2020-04-18

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

}

}

 
barmi 2020-04-18

Tôi đã nghĩ stack 16 byte là quá nhỏ, nhưng với bộ nhớ 4k thì có vẻ là khả thi.

 
barmi 2020-04-18

À~ 16 từ, 16 từ