Apparently .it isn’t the easiest format to make a player for

Hey guys, guess what? I have music!

Unfortunately it doesn’t work very well. It uses patterns from the .it format, which is easier to load than I thought (yay for the BIT opcode \o/) but quite a pain to play. To be quite honest, I’d probably fare better just using LZSS-compressed VGM streams.

http://pubacc.wilcox-tech.com/~greaser/stuff/butt-02.sms

Enjoy the slightly glitchy music. Also, when you die or win, the game resets!

No source code, sorry – and here’s why:

-rw-r–r– 1 ben ben     443 2010-12-17 15:45 bears.inc
-rw-r–r– 1 ben ben      14 2010-12-17 15:45 bears.ord
-rw-r–r– 1 ben ben     580 2010-12-17 15:45 bears.pat0
-rw-r–r– 1 ben ben     758 2010-12-17 15:45 bears.pat1
-rw-r–r– 1 ben ben     705 2010-12-17 15:45 bears.pat2
-rw-r–r– 1 ben ben     720 2010-12-17 15:45 bears.pat3
-rw-r–r– 1 ben ben     762 2010-12-17 15:45 bears.pat4
-rw-r–r– 1 ben ben     707 2010-12-17 15:45 bears.pat5

…yep, all those files (using a tool I made, of course). Anyways:

wlalink -v link.wla butt.sms
Free space at $0037.
Free space at $005c-$0065.
Free space at $09ec-$09ff.
Free space at $0a0e-$3fff.
Free space at $53a4-$7fdf.
Free space at $7ff8-$7ff9.
Free space at $7ffc-$7ffe.
Bank 00 has 13841 bytes (84.48%) free.
Bank 01 has 11329 bytes (69.15%) free.
25170 unused bytes of total 32768.

But I might just sacrifice compactness for simplicity in the compo.

Comments

Billy Wenge-Murphy
17. Dec 2010 · 05:22 UTC
Are any of the module formats easy to play? To my understanding, it’s notoriously hard to get timing and effects right. .xm looks like one of the most logical to process but they all have specific, exacting playback rules.
17. Dec 2010 · 12:33 UTC
Seems you’re using linux. Which distro are you using?
Bock
18. Dec 2010 · 06:08 UTC
Hello,

If your target is Sega 8-bit your best bet is to look the .psdmod format exported by MOD2PSG2 (which as its name NOT imply is a full featured tracker for the SN chip in SMS/GG). Mod2Psg2 also allows importing VGM and MID to some extent, although your output .psgmod file won’t be as optimized as something made under proper constraints. There is a runtime playback library with Mod2Psg2 and its trivial to use.