Membuat emulator dengan JS dan menghubungkannya dengan multi-UI
(taniarascia.com)-
Mengimplementasikan interpreter Chip-8 yang digunakan pada mesin 8-bit era 1970-an dengan JS
-
Terintegrasi dengan web/CLI/aplikasi native
-
Sebenarnya ini adalah interpreter, tetapi karena lebih dekat ke emulator, cocok bagi orang yang ingin belajar cara membuat emulator.
-
Mendeklarasikan Memory (4KB), Program Counter, Register, Index Register, Stack, Stack Pointer, Timer, dan lainnya sebagai variabel
Menyusun CPU, serta mengimplementasikan keyboard HEX 4x4 dan layar 64x32
-
Dapat dijalankan di berbagai lingkungan native menggunakan binding Raylib untuk Node.js melalui kode JavaScript
3 komentar
Karena strukturnya 8-bit, kodenya tidak terlalu rumit sehingga cukup seru untuk dibaca.
Kode di bawah ini sangat berkesan bagi saya.
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
}
}
Awalnya saya pikir stack 16 byte itu terlalu kecil, tapi karena memorinya 4k sepertinya bisa.
Ah~ 16 word, 16 buah word