Additional fix for YM chips.
Using unsigned int make calculations in INTERPOLATE macros overflow, which happened to work on 32-bit, but foo[0xffffffff] != foo[-1] on 64-bit.
Program received signal SIGSEGV, Segmentation fault.
0x00007fffe957ff9c in YM2610UpdateResample (pSoundBuf=0x7fffeac5fea0,
nSegmentEnd=534) at ../../burn/sound/burn_ym2610.cpp:135
135 nSample = INTERPOLATE4PS_16BIT((nFractionalPosition >> 4) & 0x0FFF,
diff --git a/src-0.2.97.13/burn/sound/burn_ym2610.cpp b/src-0.2.97.13/burn/sound/burn_ym2610.cpp
index 4a93ca7..6bd97da 100644
--- a/src-0.2.97.13/burn/sound/burn_ym2610.cpp
+++ b/src-0.2.97.13/burn/sound/burn_ym2610.cpp
@@ -17,7 +17,7 @@ static int nYM2610Position;
static int nAY8910Position;
static unsigned int nSampleSize;
-static unsigned int nFractionalPosition;
+static int nFractionalPosition;
static int bYM2610AddSignal;
static int bYM2610MixSound;
diff --git a/src-0.2.97.13/burn/sound/burn_ym2203.cpp b/src-0.2.97.13/burn/sound/burn_ym2203.cpp
index fe05824..f4aa6be 100644
--- a/src-0.2.97.13/burn/sound/burn_ym2203.cpp
+++ b/src-0.2.97.13/burn/sound/burn_ym2203.cpp
@@ -17,7 +17,7 @@ static int nYM2203Position;
static int nAY8910Position;
static unsigned int nSampleSize;
-static unsigned int nFractionalPosition;
+static int nFractionalPosition;
static int nNumChips = 0;
Alternative is to subtract the indices with -1L to force int in the evaluation.