Files
nes/README.md

28 lines
1.4 KiB
Markdown
Raw Normal View History

2026-02-21 23:10:43 +00:00
# NES Development Test
2026-02-21 16:43:03 -05:00
2026-02-21 23:10:43 +00:00
## Overview
2026-02-21 23:12:41 +00:00
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/).
2026-02-21 16:43:03 -05:00
2026-02-21 23:13:06 +00:00
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).
2026-02-21 16:43:03 -05:00
2026-02-21 19:34:17 -05:00
## 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.
2026-02-21 23:10:43 +00:00
## Features
2026-02-21 16:43:03 -05:00
> [!NOTE]
2026-02-21 23:10:43 +00:00
> 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).
2026-02-21 16:43:03 -05:00
2026-02-21 23:10:43 +00:00
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