7 puntos por xguru 2020-04-18 | 3 comentarios | Compartir por WhatsApp
  • Implementa en JS el intérprete Chip-8 que se usaba en máquinas de 8 bits de la década de 1970

  • Integración con web/CLI/apps nativas

  • En realidad es un intérprete, pero como se parece más a un emulador, es ideal para quienes quieren aprender a crear un emulador.

  • Declarar variables como Memory (4 KB), Program Counter, Register, Index Register, Stack, Stack Pointer, Timer, etc.

    Construir la CPU e implementar un teclado HEX 4x4 y una pantalla de 64x32

  • Puede ejecutarse en diversos entornos nativos usando bindings de Raylib para Node.js con código JavaScript

3 comentarios

 
xguru 2020-04-18

Como tiene una arquitectura de 8 bits, el código no es tan complejo, así que resulta bastante entretenido de leer.

El siguiente código me pareció impresionante.

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

Pensé que la pila de 16 bytes era demasiado pequeña, pero como la memoria es de 4k, parece que sí es posible.

 
barmi 2020-04-18

Ah~ 16 palabras, 16 palabras