# NES Development Test ## Overview This is a place where I mess around with developing for the Nintendo Entertainment System. It is written completely in 6502 assembly, compiled to the iNES ROM format with [CA65](https://cc65.github.io/). My main source of documentation is the [NESDev wiki](https://www.nesdev.org/wiki/Nesdev_Wiki), and the project structure is a heavily modified version of [this NES project template](https://github.com/bbbradsmith/NES-ca65-example/tree/master). ## Build Instructions Building is supported on macOS and Linux. It requires the CC65 toolchain to be installed via your package manager of choice. For macOS: ```macOS brew install cc65 ``` Once installed, run ``make build`` to generate the ``plat.nes`` file, which can then be run in any emulator or on original NES hardware with an Everdrive or similar. ## Features > [!NOTE] > This project is under active development, and the implemented features are rapidly changing. It has no real goal yet, but may end up being a port of my game [Reboot](https://rochesterx.itch.io/reboot). Here is a list of the features I've implemented so far: * 8x16 sprite character * Character animation * NES controller input * Two nametable level structure * Two nametable player positioning * Background tile/attribute placement based on level structure * Collision detection based on level structure * PPU scrolling