Skip to content

0.6.0 - Register preservation, simplified VBlanks, improved metatiles

Latest

Choose a tag to compare

@lajohnston lajohnston released this 22 Aug 15:55

Full Changelog: 0.5.0...0.6.0

  • Added a dynamic register preservation system (see docs) to preserve only the registers you specify, and only if those particular ones get clobbered
    • Default mode works as before, clobbering registers freely - brings gotchas but is most efficient
    • Wrapping calls with utils.preserve and utils.restore lets you specify which registers you don't want clobbering. Those will be preserved (push/popped from the stack) only if the library routine actually clobbers them
    • Automatic mode will preserve everything - simplest but least efficient
  • Reworked metatiles to improve efficiency and allow more sizes (such as 3x3)
  • Simplified VBlank setup and handling
    • Reworked VBlank to using vdp status polling rather than interrupts, so need for a interrupts.onVBlank section. Use interrupts.waitForVBlank to wait/poll for the next VBlank before your render code
    • interrupts.onVBlank has been removed
    • No need for ei, di unless you need HBlanks
  • Various breaking changes and renames
    • vdp module renamed to vdpSettings, to reflect its actual scope