diff -urN 08-STYMulator-0.21a_unintended_behaviour/src/stsoundlib/Ymload.cpp 09-STYMulator-0.21a-avoid_multichar_endian_issues/src/stsoundlib/Ymload.cpp --- 08-STYMulator-0.21a_unintended_behaviour/src/stsoundlib/Ymload.cpp 2010-04-21 19:00:26.917503380 +0200 +++ 09-STYMulator-0.21a-avoid_multichar_endian_issues/src/stsoundlib/Ymload.cpp 2010-04-21 19:01:01.646085383 +0200 @@ -239,7 +239,7 @@ id = ReadBigEndian32((unsigned char*)pBigMalloc); switch (id) { - case 'YM2!': // MADMAX specific. + case 0x594d3221 /*'YM2!'*/: // MADMAX specific. songType = YM_V2; nbFrame = (fileSize-4)/14; loopFrame = 0; @@ -256,7 +256,7 @@ pSongPlayer = mstrdup("YM-Chip driver."); break; - case 'YM3!': // Standart YM-Atari format. + case 0x594d3321 /*'YM3!'*/: // Standart YM-Atari format. songType = YM_V3; nbFrame = (fileSize-4)/14; loopFrame = 0; @@ -273,7 +273,7 @@ pSongPlayer = mstrdup("YM-Chip driver."); break; - case 'YM3b': // Standart YM-Atari format + Loop info. + case 0x594d3362 /*'YM3b'*/: // Standart YM-Atari format + Loop info. pUD = (ymu8*)(pBigMalloc+fileSize-4); songType = YM_V3; nbFrame = (fileSize-4)/14; @@ -291,13 +291,13 @@ pSongPlayer = mstrdup("YM-Chip driver."); break; - case 'YM4!': // Extended ATARI format. + case 0x594d3421 /*'YM4!'*/: // Extended ATARI format. setLastError("No more YM4! support. Use YM5! format."); return YMFALSE; break; - case 'YM5!': // Extended YM2149 format, all machines. - case 'YM6!': // Extended YM2149 format, all machines. + case 0x594d3521 /*'YM5!'*/: // Extended YM2149 format, all machines. + case 0x594d3621 /*'YM6!'*/: // Extended YM2149 format, all machines. if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) { setLastError("Not a valid YM format !"); @@ -345,7 +345,7 @@ pSongAuthor = readNtString((char**)&ptr); pSongComment = readNtString((char**)&ptr); songType = YM_V5; - if (id=='YM6!') + if (id==0x594d3621/*'YM6!'*/) { songType = YM_V6; pSongType = mstrdup("YM 6"); @@ -360,7 +360,7 @@ pSongPlayer = mstrdup("YM-Chip driver."); break; - case 'MIX1': // ATARI Remix digit format. + case 0x4d495831 /*'MIX1'*/: // ATARI Remix digit format. if (strncmp((const char*)(pBigMalloc+4),"LeOnArD!",8)) { @@ -401,8 +401,8 @@ break; - case 'YMT1': // YM-Tracker - case 'YMT2': // YM-Tracker + case 0x594d5431 /*'YMT1'*/: // YM-Tracker + case 0x594d5432 /*'YMT2'*/: // YM-Tracker /*; ; Format du YM-Tracker-1 ; @@ -442,7 +442,7 @@ { pDrumTab[i].size = readMotorolaWord(&ptr); pDrumTab[i].repLen = pDrumTab[i].size; - if ('YMT2' == id) + if (0x594d5432/*'YMT2'*/ == id) { pDrumTab[i].repLen = readMotorolaWord(&ptr); // repLen readMotorolaWord(&ptr); // flag @@ -466,7 +466,7 @@ } ymTrackerFreqShift = 0; - if ('YMT2' == id) + if (0x594d5432/*'YMT2'*/ == id) { ymTrackerFreqShift = (attrib>>28)&15; attrib &= 0x0fffffff;