7 poin oleh xguru 2020-04-18 | 3 komentar | Bagikan ke WhatsApp
  • 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

 
xguru 2020-04-18

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

}

}

 
barmi 2020-04-18

Awalnya saya pikir stack 16 byte itu terlalu kecil, tapi karena memorinya 4k sepertinya bisa.

 
barmi 2020-04-18

Ah~ 16 word, 16 buah word