nes_coding.git
6 years agoDrawing sprites lab_4
Rhett Aultman [Mon, 1 Oct 2018 15:21:24 +0000 (11:21 -0400)]
Drawing sprites

This demo shows how to use the Object Attribute Memory (OAM), a part of
the PPU memory space dedicated to working with sprites.  Additionally,
this demo uses the OAM DMA technique for trasferring a full OAM table
from RAM into the PPU memory space, since this is the most common
technique used by NES game programmers.

6 years agoPattern, name, and attribute tables lab_3
Rhett Aultman [Tue, 18 Sep 2018 04:59:39 +0000 (00:59 -0400)]
Pattern, name, and attribute tables

This commit shows how to load pattern, name, and attribute tables, and
explains their roles in rendering graphics.  A simple pattern table with
text characters as well as some multi-pattern graphics is shown.

6 years agoDraw a background color lab_2
Rhett Aultman [Sat, 15 Sep 2018 15:20:08 +0000 (11:20 -0400)]
Draw a background color

This demo builds on the previous one and focuses on waiting for the NES
PPU to initialize, interacting with VRAM addresses, loading the
background palettes, and getting a background color to draw on the
screen.

6 years agoChange jump target in infinite loop lab_1
Rhett Aultman [Thu, 13 Sep 2018 19:48:52 +0000 (15:48 -0400)]
Change jump target in infinite loop

The jump target should have been to "forever", not "reset"

6 years agoNES Hello World ROM template_project
Rhett Aultman [Thu, 13 Sep 2018 16:30:43 +0000 (12:30 -0400)]
NES Hello World ROM

This is a commit showing all the basic boilerplate needed to compile
and link an rom for NES emulators.  This requires cc65 to compile.  The
ROM will produce a buzzing square wave on the audio synthesizer and then
loop forever, but it's a great "first ROM" and contains the
documentation you really need to understand what's going on.

6 years agoInitial commit
Rhett Aultman [Thu, 13 Sep 2018 01:32:12 +0000 (21:32 -0400)]
Initial commit