PPMCK (MML) Questions!

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
PPMCK (MML) Questions!
by on (#79963)
Questions:

Can there be a unofficial version of PPMCK that has support for ASM6, CC65, Masking, Sound Effects and ASM Generation support? (I still do not know any C variant)

Specific hacks for it (for the Final tests, when I test it out):
- Mario 1-3 , (Most likely, Not counting Doki Doki Panic and SMB2J!)
- Some Sunsoft Games

by on (#79982)
Quote:
Can there be a unofficial version of PPMCK that has support for ASM6, CC65, Masking, Sound Effects and ASM Generation support? (I still do not know any C variant)

I guess there "can"... but then you'd have to mostly rewrite all the playback code yourself.
And because the music is encoded in a very crappy and unoptimized way (it takes waaay to much space) you'd rather rewrite the MML compiler itself, in other words do an entiere PPMCK clone which is compatible with the same MML language but better. I've considered doing this but I guess I'm not good enough at coding for such a big project. And now that FamiTone has been made...

To be honnest I still prefer MML to trackers, just something personal.

by on (#79985)
Quote:
I've considered doing this but I guess I'm not good enough at coding for such a big project.

I recently rewote my XPMCK 6502 driver when I ported it to Atari 8-bit computers (XL/XE). I could probably create an NES version based on that code with relatively little effort, as long as I leave out all the expansion chips.

Not that I have the most compact format either. I use 1, 2 or 3 bytes per note depending on its length.
But IIRC PPMCK outputs 2 bytes for every note just for the period value, plus however much it uses for the note length. So at least my format is an improvement over that.

by on (#80012)
mic_ wrote:
Quote:
I've considered doing this but I guess I'm not good enough at coding for such a big project.

I recently rewote my XPMCK 6502 driver when I ported it to Atari 8-bit computers (XL/XE). I could probably create an NES version based on that code with relatively little effort, as long as I leave out all the expansion chips.

Not that I have the most compact format either. I use 1, 2 or 3 bytes per note depending on its length.
But IIRC PPMCK outputs 2 bytes for every note just for the period value, plus however much it uses for the note length. So at least my format is an improvement over that.


As long as the game gets Multiple Music, and Multiple Sound Effects, assuming that you can add Sound Effects support in XPMCK (for some types of consoles)!

Super Mario World hackers have that advantage using Romi's Addmusic/MML converter via the -SE option, but not other people working in such like NESDEV.

And I do not know any C-variant yet, It's way beyond my mind right now!

by on (#80039)
well if you output a multi-track NSF, it only makes one copy of the instruments and driver, so you save space. This is how I got the multi-track NSF of mega man 9.5 to compile at only 32KB (for 14-something minutes of music).