JS ile emülatör yapmak ve çoklu UI ile entegre etmek
(taniarascia.com)-
1970'lerde 8 bitlik makinelerde kullanılan Chip-8 yorumlayıcısını JS ile uygulama
-
Web/CLI/native uygulamalarla entegrasyon
-
Aslında bir yorumlayıcı olsa da emülatöre daha yakın olduğu için, emülatör yapmayı öğrenmek isteyenler için uygun.
-
Memory (4KB), Program Counter, Register, Index Register, Stack, Stack Pointer, Timer vb. değişkenler olarak tanımlanıyor
CPU oluşturuluyor ve 4x4 HEX klavye ile 64x32 ekran uygulanıyor
-
JavaScript koduyla Raylib Node.js binding'i kullanılarak çeşitli native ortamlarda çalıştırılabiliyor
3 yorum
8 bit bir yapı olduğu için kod çok karmaşık değil; bu yüzden okuması oldukça keyifli.
Aşağıdaki kod özellikle etkileyiciydi.
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
}
}
Stack'in 16 baytla çok küçük olduğunu düşünmüştüm ama bellek 4k olduğu için mümkün gibi görünüyor.
Ah~ 16 word, 16 word