Skip to content

Releases: aCube1/Chip8

1.0

28 Dec 04:14
2165d12
Compare
Choose a tag to compare

🎉 The first release of the emulador interpreter 🎉

What's Changed

Added screen rendering.
Added audio management.
Added command-line arguments.
Added CMake for automatic building.
Added roms for testing.
Added timing management.
Added opcodes:

  • 00E0 - CLS: Clear the display.
  • 00EE - RET: Return from a subroutine.
  • 1NNN - JMP: Jump to location NNN.
  • 2NNN - CALL: Call subroutine at NNN.
  • 3xkk - SE: Skip next instruction if Vx == kk.
  • 4xkk - SNE: Skip next instruction if Vx != kk.
  • 5xy0 - SEREG: Skip next instruction if Vx == Vy.
  • 6xkk - LDIMM: Set Vx = kk.
  • 7xkk - ADDIMM: Set Vx = Vx + kk.
  • 8xy0 - LDV: Set Vx = Vy.
  • 8xy1 - OR: Set Vx = Vx OR Vy.
  • 8xy2 - AND: Set Vx = Vx AND Vy.
  • 8xy3 - XOR: Set Vx = Vx XOR Vy.
  • 8xy4 - ADD: Set Vx = Vx + Vy, set VF = carry.
  • 8xy5 - SUB: Set Vx = Vx - Vy, set VF = NOT borrow.
  • 8xy6 - SHR: Set Vx = Vx SHR 1.
  • 8xy7 - SUBN: Set Vx = Vy - Vx, set VF = NOT borrow.
  • 8xyE - SHL: Set Vx = Vx SHL 1.
  • 9xy0 - SNEREG: Skip next instruction if Vx != Vy.
  • ANNN - LDI: Set Index Register to NNN.
  • BNNN - JMPREG: Jump to location NNN + V0.
  • Cxkk - RND: Set Vx = random byte AND kk.
  • DxyN - DRAW: Display N-byte sprite starting at memory location I at (Vx, Vy), set VF = collision.
  • Ex9E - SKEY: Skip next instruction if key with the value of Vx is pressed.
  • ExA1 - SNKEY: Skip next instruction if key with the value of Vx is not pressed.
  • Fx07 - RDELAY: Set Vx = delay timer value.
  • Fx0A - WAITKEY: Wait for a key press, store the value of the key in Vx.
  • Fx15 - WDELAY: Set delay timer = Vx.
  • Fx18 - WSOUND: Set sound timer = Vx.
  • Fx1E - ADDI: Set I = I + Vx.
  • Fx29 - LDSPRITE: Set I = location of sprite for digit Vx.
  • Fx33 - STBCD: Store BCD representation of Vx in memory locations I, I+1, and I+2.
  • Fx55 - STREG: Store registers V0 through Vx in memory starting at location I.
  • Fx65 - LDREG: Read registers V0 through Vx from memory starting at location I.

Issues closed:

#2
#5
#6
#7
#8
#9
#10

Pull requests merged:

#1
#12

Contributors

@aCube1