Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Mapper:
- selectable between these, with initialization and bankswitching adjusting:
- UNROM/UOROM with PRG RAM circuit
- SNROM/SUROM
- TNROM
- mapper 28
- General:
- 12.4 fixed point in coordinates, so that the big byte goes up in increments of metatiles
- horizontal scrolling only (up to 8px/frame)
- sprite HUD instead of needing sprite zero or an interrupt
- NMI has slots for updating metatiles in the nametable and a slot for updating 4 CHR tiles
- Sound:
- same engine as RHDE
- Graphics:
- list of PPU resources containing CHR compressed with pb53 and palette information
- levels specify a list of PPU resources needed and they are uploaded when the level is loaded
- levels choose four .5KB sprite graphics banks; sprites detect which one contains the needed tiles
- CHR RAM $0xxx:
- 0x: |\ Common tiles, always loaded
- 1x: | \
- 2x: | /
- 3x: |/
- 4x: |\ Tiles like ground and platforms that vary by theme
- 5x: | \
- 6x: | /
- 7x: |/
- 8x: |\ Background tiles, VWF, more foreground tiles, etc
- 9x: | \
- ax: | \
- bx: | \
- cx: | /
- dx: | /
- ex: | /
- fx: |/
- CHR RAM $1xxx:
- 0x: |\ Player tiles
- 1x: | \
- 2x: | /
- 3x: |/
- 4x: |\ Common
- 5x: | \
- 6x: | /
- 7x: |/
- 8x: |\ Slot 1
- 9x: |/
- ax: |\ Slot 2
- bx: |/
- cx: |\ Slot 3
- dx: |/
- ex: |\ Slot 4
- fx: |/
- Levels:
- 256x16 map of 8-bit metatile IDs (4096 bytes)
- level is split up into 16x16 screens that can be linked to each other vertically, and scroll stops can be inserted inbetween screen horizontally
- two low-resolution bitmaps of the level for destroyed/collected metatiles
- stored in ROM as a series of rectangles which is then processed to add edges and corners
- backgrounds can be added after the level is decompressed
- data can be stored per-column that specifies destinations for doors, contents of ? blocks, etc
- Sprites:
- only 128 maximum sprites, but sprites have 3 bits for variants when spawning them in the level
- each sprite can opt-in for common sprite behaviors instead of explicitly calling routines in their handlers
- Metatiles:
- 256 maximum metatiles
- palettes can be assigned freely per-metatile
- metatiles can be solid on top, solid on all sides or not solid
- metatiles can specify a "type" out of 32 (water, ladder, etc)
- metatile interaction only uses the type if possible
Add Comment
Please, Sign In to add comment