Lizard music engine

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
User avatar
Posts: 7642
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada

Lizard music engine

Post by rainwarrior » Mon Jun 03, 2019 3:17 pm

While I was working on the demo for my compression library, I did a little bit of cleanup and organization on the music engine I used for Lizard. Just in case someone feels they need yet another NES music engine, here it is: ... nger/music

  • ca65 (cc65) and python 3 prerequisite
  • Subset of Famitracker
    • Volume column supported
    • No DPCM
    • No Hi-Pitch macros (but regular pitch works)
    • Tempo fixed at 150 (use Speed instead)
    • Bxx for looping
    • D00 for variable pattern length
    • F0x for variable speed
    • No other effects supported
  • Sound effects on square 1 and/or noise channel
  • 22 bytes ZP
  • 105 bytes other RAM
  • 2152 bytes of code and tables
  • ~1800 cycles per frame
I might eventually move it to its own repository but I'd want to make a dedicated demo/test first.

Post Reply