We have been hacking roms using YY-CHR and hex editor in the past few weeks. We alternated the pattern tables, color palettes, and nametables of existing NES games. The goal of these exercises is to help students feel comfortable working in a lower programming environment.
Week 1 was easy. I started out with a brief introduction of Nintendo’s history, and then went into how software design and hardware engineering compliments each other in the early days. For hands-on, I brought in a Famicom, a Famicom Disk system, a NES, and a few NES cartridges with different kinds of PCBs inside. It is important to throw in a few slides of how early computer was designed, especially the design of a MPU computer, because the idea of using CHR and PRG chips was derived from a static MPU system (ROM, RAM, and I/Os). At the end of the class, I showed them the YY-CHR editor and we hacked a few games. The link is a collection of hacked rom by students using the YY-CHR editor.