https://github.com/getjared/nese
nes rom image extractor
https://github.com/getjared/nese
nes rom romhacking tilesets
Last synced: 5 months ago
JSON representation
nes rom image extractor
- Host: GitHub
- URL: https://github.com/getjared/nese
- Owner: getjared
- Created: 2024-11-02T06:18:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-04T17:44:35.000Z (about 1 year ago)
- Last Synced: 2025-03-11T23:19:17.152Z (10 months ago)
- Topics: nes, rom, romhacking, tilesets
- Language: C
- Homepage:
- Size: 178 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## nese
**[ a NES CHR ROM tile extractor ]**
[](http://unlicense.org/)
[](https://en.wikipedia.org/wiki/C_(programming_language))
## ✧ why
a quick and easy thing i needed for getting stuff out of my legally owned nes roms
## ✧ preview
## ✧ features
- 🎮 extracts CHR ROM data from NES files
- 🖼️ exports to individual PNG tiles or complete tilesheets
- 🎨 customizable palette support
- 📏 adjustable tile dimensions
- 📄 generates JSON/XML metadata
- ⚡ fast and efficient processing
- 🔧 minimal dependencies
## ✧ installation
```bash
git clone https://github.com/getjared/nese.git
cd nese
make
sudo make install
```
## ✧ dependencies
- 📝 c compiler (gcc or clang)
- 🔧 make
- 📚 stb_image_write.h (included)
## ✧ usage
### basic usage
```bash
nese [options]
```
### options
| option | description |
|--------|-------------|
| `-d, --dir` | export tiles to individual files |
| `-p ` | specify custom palette file |
| `-w ` | set tile width (default: 8) |
| `-h ` | set tile height (default: 8) |
| `-m ` | generate metadata file |
| `-f ` | metadata format (json/xml) |
### examples
export as tilesheet:
```bash
nese game.nes tiles.png
```
export individual tiles:
```bash
nese game.nes tiles/ -d
```
custom palette with metadata:
```bash
nese game.nes tiles.png -p palette.txt -m metadata.json
```
## ✧ configuration
### palette format
create a text file with 4 RGB color values (0-255):
```
0 0 0 # Color 0: Black
85 85 85 # Color 1: Dark Gray
170 170 170 # Color 2: Light Gray
255 255 255 # Color 3: White
```
### metadata output
JSON format:
```json
{
"tile_width": 8,
"tile_height": 8,
"tiles_per_row": 16,
"total_tiles": 256,
"tiles": [
{
"index": 1,
"filename": "tile_0001.png",
"position": { "x": 0, "y": 0 }
}
]
}
```
```ascii
╭─────────────────────────╮
│ made with ♥ by jared │
╰─────────────────────────╯
```