Per the standing rule that Obsidian notes belong in the self-hosted vault, not in project folders: - rm pokemon-romhack-vault/ (redundant generated snapshot; the canonical, richer catalog lives in the vault under Pokémon ROM Hacks/) - pokemon-romhacks-wanted.md -> moved into the vault as Pokémon ROM Hacks/Wanted.md - .gitignore: ignore pokemon-romhack-vault/ (build script output) so a poorer regenerated copy can never be committed back - build-romhack-vault.py: marked ARCHIVED; vault is now hand-maintained via MCP - README: rewritten to point at the vault for the catalog
2.0 KiB
Pokémon ROM Hacks — tooling
Acquisition + patching pipeline for the Pokémon ROM-hack collection in the
valhalla homelab library. Spun off from the homelabstack repo on 2026-06-06.
The catalog (the notes) lives in the self-hosted Obsidian vault, not in this repo — under
Pokémon ROM Hacks/: one note per hack, plusIndex,Types,Play Queue,Bases/,Platforms/, aWantedacquisition list, and a_Claude.mdops reference. Access it via the Obsidian MCP (mcp__obsidian__*) or thevaultskill. New hacks are added there manually (see the vault's_Claude.mdchecklist). This repo is just the tooling.
The ROMs live on valhalla under /storage1/Emulation/roms/<platform>/Hacks/,
served by the RomM stack (roms.ginnoir.com) — deployed from homelabstack
(stacks/roms/).
Layout
| Path | What |
|---|---|
scripts/romhack-import.py |
Import a drop folder of mixed ROMs/patches/docs into the valhalla library (validate, clean-name, apply patches, archive). Runs on valhalla. |
scripts/romhack-fetch.py |
Acquire + patch + place worthwhile hacks from direct (non-gated) sources. Manifest-driven. Runs on valhalla. |
scripts/romhack-apply.py |
Apply a single IPS/BPS/UPS patch to a base ROM with checksum verification. |
scripts/build-romhack-vault.py |
Archived. Original generator that bootstrapped the vault notes from an in-script dataset. The vault has since been enriched and is now hand-maintained via the Obsidian MCP — do not re-run it against the live vault (its output is poorer: no play_status/rating/Bases/Play Queue). Kept only for the structured HACKS dataset; its output dir is gitignored. |
drop/ |
gitignored staging area (~1.3 GB) of ROM/patch binaries pending import. |
Acquisition policy
Pre-3DS handhelds (gb/gbc/gba/nds) + pre-Wii consoles. Direct, non-anti-bot
sources only for auto-fetch; gated hacks are tracked in the vault's
Pokémon ROM Hacks/Wanted.md for manual hand-off. No offensive/"shitpost"
content (e.g. Clover excluded).