https://github.com/qalle2/nes-homebrew
miscellaneous NES programs
https://github.com/qalle2/nes-homebrew
6502 asm6 assembly homebrew nes
Last synced: 2 months ago
JSON representation
miscellaneous NES programs
- Host: GitHub
- URL: https://github.com/qalle2/nes-homebrew
- Owner: qalle2
- License: gpl-3.0
- Created: 2019-12-14T23:19:36.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-07-15T12:42:21.000Z (almost 2 years ago)
- Last Synced: 2024-07-15T14:58:59.906Z (almost 2 years ago)
- Topics: 6502, asm6, assembly, homebrew, nes
- Language: Assembly
- Homepage:
- Size: 542 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nes-homebrew
Programs for the [NES](https://en.wikipedia.org/wiki/Nintendo_Entertainment_System).
Thanks to [PDRoms](https://pdroms.de) for archiving some of these programs.
Table of contents:
* [Files for each program](#files-for-each-program)
* [The programs](#the-programs)
* [Video](#video)
* [Hello World](#hello-world)
* [Transgender flag](#transgender-flag)
## Files for each program
* `example.asm`: source code (assembles with [ASM6](https://www.romhacking.net/utilities/674/))
* `example-assemble.sh`: Linux script that assembles the program (warning: deletes files)
* `example-chr.bin.gz`: raw CHR ROM data (gzip compressed)
* `example-chr.png`: CHR ROM data as an image (can be encoded with `nes_chr_encode.py` in my [NES utilities](https://github.com/qalle2/nes-util))
* `example.nes.gz`: assembled program (iNES format, gzip compressed)
* `example.png`: screenshot
## The programs
### Video
Plays a short video of Doom gameplay (64×48 pixels, 4 colors, 10 fps, no audio).

### Hello World
Prints *Hello, World!*.

### Transgender flag
Shows the transgender flag.
Note: this program is heavily optimized for size; it does not represent good programming practice.
The actual size is 95 bytes (including interrupt vectors and CHR data).

The program in hexadecimal:
```
a2038e00202c022010fbcad0f88a20f1
ffa002a2188d0720cad0faa9ff88d0f3
a93f20f1ffa003b9f8ff8d07208810f7
a92020f1ffa005b9ebffa2c08d0720ca
d0fa8810f2a90a8d0120000102000201
8d06208e06206025210030a1ffebff
```