Skip to content

Commit

Permalink
[playxm] Add "M&K!" as a valid MOD signature. These files are likely …
Browse files Browse the repository at this point in the history
…"His Master's Noise"
  • Loading branch information
mywave82 committed Jun 10, 2024
1 parent 7024704 commit 9ca4b23
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
9 changes: 9 additions & 0 deletions playxm/dumpmod.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,6 +721,15 @@ int preParseMOD31 (unsigned char *mem, int len, int *channels31instruments)
printf ("%sWARNING: Order < 64 not possible in M!K! format - can not be 31 instrument file%s\n", FONT_BRIGHT_YELLOW, FONT_RESET);
return -1;
}
} else if (!memcmp(&mem[20+31*30+2+128], "M&K!", 4))
{
printf ("%sNOTE: got M&K! signature in 31 instrument format (His Master's Noise)%s\n", FONT_BRIGHT_GREEN, FONT_RESET);
canbe31instruments = 4;
if (highestorder >= 64)
{
printf ("%sWARNING: Order > 63 not possible in M&K! format - can not be 31 instrument file%s\n", FONT_BRIGHT_YELLOW, FONT_RESET);
return -1;
}
} else if (!memcmp(&mem[20+31*30+2+128], "FLT4", 4)) { printf ("%sNOTE: got FLT4 - probably StarTrekker 4-channel MOD%s\n", FONT_BRIGHT_GREEN, FONT_RESET); canbe31instruments = (highestorder < 64) ? 4 : 0; *channels31instruments = 4;
} else if (!memcmp(&mem[20+31*30+2+128], "FLT8", 4)) { printf ("%sNOTE: got FLT8 - probably StarTrekker 8-channel MOD%s\n", FONT_BRIGHT_GREEN, FONT_RESET); canbe31instruments = (highestorder < 64) ? 4 : 0; *channels31instruments = 8;
} else if (!memcmp(&mem[20+31*30+2+128], "CD81", 4)) { printf ("%sNOTE: got CD81 - probably Oktalyzer for Atari ST?%s\n", FONT_BRIGHT_GREEN, FONT_RESET); canbe31instruments = (highestorder < 64) ? 4 : 0; *channels31instruments = 8;
Expand Down
1 change: 1 addition & 0 deletions playxm/xmlmod.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ static int loadmod (struct cpifaceSessionAPI_t *cpifaceSession, struct xmodule *
{
case 0x2E4B2E4D: /* M.K. */
case 0x214B214D: /* M!K! */
case 0x214B264D: /* M&K! */
case 0x34544C46: /* FLT4 */
m->nchan=4;
m->ninst=31;
Expand Down
2 changes: 1 addition & 1 deletion playxm/xmtype.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ static uint32_t xmpGetModuleType(const char *buf, int len, const char *filename)
case 0x2E542E4E: /* N.T. */
return MODULETYPE("MODt");

case 0x2E4B2E4D: case 0x214B214D: case 0x34544C46: /* "M.K." "M!K!" "FLT4" */
case 0x2E4B2E4D: case 0x214B214D: case 0x214B264D: case 0x34544C46: /* "M.K." "M!K!" "M&K!" "FLT4" */
case 0x4E484331: case 0x4E484332: case 0x4E484333: case 0x4E484334: /* "1CHN" "2CHN" "3CHN" "4CHN" */
case 0x4E484335: case 0x4E484336: case 0x4E484337: case 0x4E484338: /* "5CHN" "6CHN" "7CHN" "8CHN" */
case 0x4E484339: case 0x48433031: case 0x48433131: case 0x48433231: /* "9CHN" "10CH" "11CH" "12CH" */
Expand Down

0 comments on commit 9ca4b23

Please sign in to comment.