Views: 925,852,335
7 users online: Bensalot, codfish1002, KevinM, MiracleWater, Misterfan2000, OEO6, SJandCharlieTheCat - Guests: 46 - Bots: 218 Users: 51,758 (2,051 active)
Latest: zonicnacho1
Tip: Fix any errors you see before releasing any demos; "I'll fix it later" isn't a good excuse.
Not logged in.
Posts by RetroSwim
RetroSwim's Profile - Posts by RetroSwim
Pages: « 1 »
I converted an ImpulseTracker file to MML, as part of learning how to port, and the resulting file was >120KB, absolutely massive.

I then found that IT2AMK's output roughly puts IT patterns on individual lines.

I figured I could shrink the file significantly by consolidating re-used patterns into 1x loops with labels.

The result of 10 mins work by sleep-deprived me, is this:

A strictly whole-line-based file-shrinker for IT2AMK output. I regret calling the project Quick n Dirty "Optimiser", because the output is hardly optimised, just smaller. ~75% smaller in my case, but still probably way larger than it needs to be.

Don't use only this if you want to submit your music to this website. I made it because my text file kept causing AddMusicK to say "out of ROM space", and I didn't want to spend hours and hours hand-optimising just to find out I didn't like the outcome.

Download exe here:

Requires .NET Framework 4.7.2

Usage: Drag-n-drop the MML file from the IT2AMK output folder on to QnDoptimiser.exe, or run "qndoptimiser (full path to file)" at the command prompt.

Providing this as-is, such that it might get somebody out of a pinch. I don't plan to improve it or add features. Maybe in the future I'll attempt a more robust dictionary-based algorithm. One day. :P
Originally posted by RPG Hacker
This might actually come in handy for people how don't care about ROM consumption and just want to get some music into their hacks quickly.

That's basically where my mind was at when I wrote it.

Thanks for the kind words! :)
Originally posted by KevinM
I know I've done this basic optimization process multiple times by hand, and while pretty easy, it's also tedious, so having an automated way to do it is pretty cool!

Cheers! :)

I should mention that if people find bugs, I'm happy to go in and fix them. I just don't have the time right now to deep-dive in to what would effectively be a rudimentary dictionary-based compression algorithm! :P
This concept of the game receiving data from outside the cartridge has had me thinking about some cool stuff lately.

Randomizer/CrowdControl type stuff is hella cool already, and I envisioned a cartridge with some kind of Micro attached that can download content from the Internet at runtime. So like every time you power it up, you get a new level or something.

Love this kind of work, keen to see more of it!
I don't know how you keep doing it, man. Must be a billion ideas floating around in that galaxy brain of yours! <3
Pages: « 1 »
RetroSwim's Profile - Posts by RetroSwim

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2021 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks