NovaYoshi

princess engine specs

Oct 8th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. Mapper:
  2. selectable between these, with initialization and bankswitching adjusting:
  3. UNROM/UOROM with PRG RAM circuit
  4. SNROM/SUROM
  5. TNROM
  6. mapper 28
  7.  
  8. General:
  9. 12.4 fixed point in coordinates, so that the big byte goes up in increments of metatiles
  10. horizontal scrolling only (up to 8px/frame)
  11. sprite HUD instead of needing sprite zero or an interrupt
  12. NMI has slots for updating metatiles in the nametable and a slot for updating 4 CHR tiles
  13.  
  14. Sound:
  15. same engine as RHDE
  16.  
  17. Graphics:
  18. list of PPU resources containing CHR compressed with pb53 and palette information
  19. levels specify a list of PPU resources needed and they are uploaded when the level is loaded
  20. levels choose four .5KB sprite graphics banks; sprites detect which one contains the needed tiles
  21.  
  22. CHR RAM $0xxx:
  23. 0x: |\ Common tiles, always loaded
  24. 1x: | \
  25. 2x: | /
  26. 3x: |/
  27. 4x: |\ Tiles like ground and platforms that vary by theme
  28. 5x: | \
  29. 6x: | /
  30. 7x: |/
  31. 8x: |\ Background tiles, VWF, more foreground tiles, etc
  32. 9x: | \
  33. ax: | \
  34. bx: | \
  35. cx: | /
  36. dx: | /
  37. ex: | /
  38. fx: |/
  39.  
  40. CHR RAM $1xxx:
  41. 0x: |\ Player tiles
  42. 1x: | \
  43. 2x: | /
  44. 3x: |/
  45. 4x: |\ Common
  46. 5x: | \
  47. 6x: | /
  48. 7x: |/
  49. 8x: |\ Slot 1
  50. 9x: |/
  51. ax: |\ Slot 2
  52. bx: |/
  53. cx: |\ Slot 3
  54. dx: |/
  55. ex: |\ Slot 4
  56. fx: |/
  57.  
  58. Levels:
  59. 256x16 map of 8-bit metatile IDs (4096 bytes)
  60. level is split up into 16x16 screens that can be linked to each other vertically, and scroll stops can be inserted inbetween screen horizontally
  61. two low-resolution bitmaps of the level for destroyed/collected metatiles
  62. stored in ROM as a series of rectangles which is then processed to add edges and corners
  63. backgrounds can be added after the level is decompressed
  64. data can be stored per-column that specifies destinations for doors, contents of ? blocks, etc
  65.  
  66. Sprites:
  67. only 128 maximum sprites, but sprites have 3 bits for variants when spawning them in the level
  68. each sprite can opt-in for common sprite behaviors instead of explicitly calling routines in their handlers
  69.  
  70. Metatiles:
  71. 256 maximum metatiles
  72. palettes can be assigned freely per-metatile
  73. metatiles can be solid on top, solid on all sides or not solid
  74. metatiles can specify a "type" out of 32 (water, ladder, etc)
  75. metatile interaction only uses the type if possible
Add Comment
Please, Sign In to add comment