MMDP *.mmd File Format notes File Header Offset 0x0000 Track A start pos (unsigned short, motorola byte order) 0x0002 Track B start pos (unsigned short, motorola byte order) 0x0004 Track C start pos (unsigned short, motorola byte order) 0x0006 Track D start pos (unsigned short, motorola byte order) 0x0008 Track E start pos (unsigned short, motorola byte order) 0x000A Track F start pos (unsigned short, motorola byte order) 0x000C Track G start pos (unsigned short, motorola byte order) 0x000E Track H start pos (unsigned short, motorola byte order) 0x0010 Track I start pos (unsigned short, motorola byte order) 0x0012 Track J start pos (unsigned short, motorola byte order) 0x0015 initial Timer B setting (unsigned char) 0x0016 pointer to start of user voices (unsigned short, motorola byte order) 0x0018 Title info (no limit on length, zero-terminated) Music commands 0xFF XX select voice XX from default bank in memory 0xFE end of track (if the 'L' infinite loop has been activated then it goes back there) 0xFD XX select user voice XX 0xFC XX set Timer B to XX 0xFB 00 signifies the beginning of a [] type loop 0xFA XX signifies the end of a [] type loop, XX specifies how many times to loop, 0 is infinite, 1 is no loop 0xF9 XX holds the currently playing note for XX amount of time 0xF8 XX sets stereo panning. XX is 1,2, or 3 multiplied by 64. the mml command 'p3' compiles to F8 C0, for example 0xF7 XX sets volume of channel. it works by adding XX to the base volume which is based on Total Level values. at the bottom is a chart showing which operator's Total Level values to alter based on the currently selected algorithm 0xF6 XX pitchbend up by XX amount of half-steps. begins with next note played 0xF2 XX pitchbend down by XX amount of half-steps 0xF4 00 beginning of infinite loop (the 'L' command in mml) 0xF1 00 exit [] loop when on last time through (the ':' command. Z80 version only. Also only compiles with mmc2.exe) 0x01-61 XX play note 0x01-61 for XX amount of time 0x80 XX rest for XX amount of time Volume control ALG 0 op4 1 op4 2 op4 3 op4 4 op3,op4 5 op2,op3,op4 6 op2,op3,op4 7 op1,op2,op3,op4