massung / CHIP-8

Assembler and Emulator in Go
http://massung.github.io/CHIP-8
zlib License
254 stars 18 forks source link

1nnn and 2nnn are swapped in the README.md #1

Closed mengstr closed 7 years ago

mengstr commented 7 years ago
1NNN    CALL NNN    Call CHIP-8 subroutine at NNN
2NNN    JP NNN          Jump to address NNN

Should be the other way round I think.....

massung commented 7 years ago

Thanks for catching that! I've fixed it in a branch that I'll be merging soon, which also adds support for CHIP-8E instructions.

mengstr commented 7 years ago

I have most of the ocodes in fresh memory since I'm currently hacking away at a Chip-8 emulator in assembly on a small PIC16F1705 bitbanging composite PAL TV-out. Did another a couple of years back on a PIC24 in C outputting on a small LCD display - but during the intervening years I apparently have forgot most of the Chip-8 design, I had to read thru Gowgod's and a few others to get up to speed again.

I had even forgot that the Chi8-8 code needs to be in RAM - I just assumed the Vx registers would be enough for data :-) So now I'm stuck with a chip having only 1K ram whereof 256 bytes are used for the video buffer memory. So I need to make some kind of dynamic translation table in ram that maps specific Chip-8 code memory locations into the ram area. Hopefully the classic games are not using more R/W data cells then I can map into my puny ram area..

Your Chip-assembler will come in handy for writing test apps. So will your emulator - perfect for verifying my code. :+1:

massung commented 7 years ago

You probably already know about this, but in case you don't, https://github.com/trapexit/chip-8_documentation is a great resource. Not only for simple things like opcodes (which I'm hoping my repo is a good mirror for), but also old magazine scans: articles, programs, the original COSMAC ELF interpreter, etc.