Compare commits

..

16 Commits

Author SHA1 Message Date
RochesterX
551aa135ec Granular scroll nametable updating, buffering and pointers, etc. 2026-05-15 11:23:10 -04:00
RochesterX
ea31c0836b Tiles are updating 2026-03-18 20:47:38 -04:00
f86bc9b23b Column 2026-03-18 16:56:37 -04:00
RochesterX
930b34dadc Column updating 2026-03-18 14:56:40 -04:00
RochesterX
b44a0c4cb6 Drawing column going right, but lag 2026-03-16 22:01:56 -04:00
RochesterX
0a21517721 Nametable two collision; collision flag 2026-02-21 20:35:58 -05:00
RochesterX
f8c8f37e9e Update README 2026-02-21 19:34:17 -05:00
e1448a7a33 Update README.md 2026-02-21 23:13:06 +00:00
f8a636677a Update README.md 2026-02-21 23:12:41 +00:00
89b2f67e87 Update README.md 2026-02-21 23:10:43 +00:00
RochesterX
f3912b8071 Add README 2026-02-21 16:43:03 -05:00
RochesterX
b4fc2f5c2a Remove move 2026-02-21 16:41:22 -05:00
RochesterX
ba59a23daa Scroll input 2026-02-21 16:40:26 -05:00
RochesterX
8cc2052c99 Drawing player across two nametables complete 2026-02-21 16:01:27 -05:00
RochesterX
7016042cff Stable scrolling and nametable logging 2026-02-21 14:31:21 -05:00
RochesterX
c9e15c5829 What 2026-02-20 19:30:32 -05:00
5 changed files with 724 additions and 158 deletions

4
Makefile Normal file
View File

@@ -0,0 +1,4 @@
build:
ca65 plat.s -o plat.o
ld65 plat.o -C plat.cfg -o plat.nes

27
README.md Normal file
View File

@@ -0,0 +1,27 @@
# 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

2
move
View File

@@ -1,2 +0,0 @@
#!/bin/bash
cp *.nes /Volumes/USB\ DRIVE/

BIN
plat.nes

Binary file not shown.

849
plat.s

File diff suppressed because it is too large Load Diff