[HN Gopher] Cowgod's Chip-8 Technical Reference
       ___________________________________________________________________
        
       Cowgod's Chip-8 Technical Reference
        
       Author : tosh
       Score  : 42 points
       Date   : 2022-09-04 11:01 UTC (1 days ago)
        
 (HTM) web link (devernay.free.fr)
 (TXT) w3m dump (devernay.free.fr)
        
       | mnurzia wrote:
       | I used this reference to write a CHIP-8 emulator in Z80 assembly
       | a couple years back: https://github.com/mnurzia/chip8-ce
        
         | stevekemp wrote:
         | I enjoyed your commentry on the registers (HL, BC, DE), but you
         | mention a lack of index-registers? Isn't that what IX and IY
         | are for?
         | 
         | (You can do things like "ld a, (ix+3)", etc. I used those a lot
         | when I recently wrote a text-based adventure game in Z80.)
        
       | wlindley wrote:
       | The VIPER newsletter for RCA VIP owners has quite a bit of the
       | early CHIP-8 lore: https://github.com/mattmikolay/viper/ -- I
       | wrote the "CHIP-8 Editor" in v4#1 and the "CHIP-8 Assember in
       | BASIC" in Volume 6 issue 1.
        
       | pushfoo wrote:
       | For anyone looking to write a CHIP-8 emulator, Matt Mikolay's
       | writeup is less ambiguous:
       | 
       | https://github.com/mattmikolay/chip-8/wiki/CHIP%E2%80%908-Te...
       | 
       | If you want to target the original Cosmac VIP behavior, corax89's
       | test ROM is good:
       | 
       | https://github.com/corax89/chip8-test-rom
        
         | nlkl wrote:
         | I can recommend Timendus test suite (which includes the one
         | mentioned as well), as a more thorough set of tests and
         | verification utilities: https://github.com/Timendus/chip8-test-
         | suite
         | 
         | There are a lot of other useful references and tools worth
         | mentioning, depending on how much hand-holding you want when
         | implementing the emulator:                 -
         | http://johnearnest.github.io/Octo/       -
         | https://laurencescotford.com/chip-8-on-the-cosmac-vip-index/
         | - https://tobiasvl.github.io/blog/write-a-chip-8-emulator/
         | 
         | Additionally, note that there are lot of variants of the
         | instruction set / system-specific quirks, which you probably
         | don't want to entirely ignore in an implementation. In
         | particular, the Cowgod's reference doesn't cover this fully
         | (Matt Mikolay's is more thorough, but doesn't cover everything
         | either).
        
         | riverg wrote:
         | Wow, wish I had seen Matt's writeup! I found Cowgod's guide to
         | be ambiguous in several places (BCD and sprite loading
         | especially) when I documented my emulator
         | https://riv.dev/emulating-a-computer-part-1/
        
       | 63 wrote:
       | I just used this reference to make my chip-8 python interpreter a
       | few months back. As others have said, there are some ambiguities
       | that caused a few headaches for me. Add to that some broken roms,
       | and the process ended up a lot harder than it needed to be.
       | 
       | https://github.com/dreary-dugong/emu8
        
       | agentultra wrote:
       | I've been using this as my reference for building a Chip-8
       | emulator in Zig, in order to learn Zig. Very useful.
        
       | RodgerTheGreat wrote:
       | It might be worth noting that there's still an active community
       | writing new software for CHIP-8 (and its descendants) today. This
       | October will be the ninth annual CHIP-8 game jam. It's a fun way
       | to celebrate computing history and scratch that low-level
       | programming itch: http://octojam.com
       | 
       | There's a gallery of previous submissions available here:
       | https://johnearnest.github.io/chip8Archive/
        
       ___________________________________________________________________
       (page generated 2022-09-05 23:02 UTC)