- Joined
- Jul 18, 2026
- Messages
- 3
- Reaction score
- 6
- Trophies
- 0
- Age
- 43
- Website
- www.stoner.com
- XP
- 25
- Country

I recently was able to port Keen 4 and most of the Galaxy engine over to the NES. It's a bit poetic to now have Keen (4/5 and potentially 6) on the platform that originally inspired it.
All of the prior discussion was right on why this is a hard game to port to 8-bit NES hardware. To get it working "smoothly":
I saw recently someone else did the Sega port. 2026 is the year of Keen!
All of the prior discussion was right on why this is a hard game to port to 8-bit NES hardware. To get it working "smoothly":
- MMC5 mapper (iNES 5 / ExROM) for the ROM headroom - up to 1 MB PRG + 1 MB CHR plus expansion audio
- ExRAM extended-attribute mode - every 8×8 cell its own CHR bank + palette beating NES's 256-tile and 16×16-palette walls for near-lossless backgrounds
- Cycle-counted vblank seam flush kept under ~1000 cycles so RAM mode never leaks into active render
- Custom 6502 metatile decoder to dodge the C compiler hot path
- u16 metatile map removing the 256-metatiles-per-level cap
- Build time fg-over-bg compositing turns Keen's masked overlays into flat NES metatiles, no runtime masking
- 70 Hz to 60 Hz physics rescale (x7/6 velocities, x6/7 durations) matching DOS jump/pogo/walk arcs within ~1px
- Background animation via CHR bank-swapping, baked TILEINFO phases cycled through one bank register, zero per-frame VRAM writes
- Per-level CHR + PRG banking with cold code trampolined into spare banks to relieve the near-full fixed region
I saw recently someone else did the Sega port. 2026 is the year of Keen!





