--- src/sound/iremga20.c.orig 2004-12-12 02:09:57.905605648 -0800 +++ src/sound/iremga20.c 2004-12-12 02:35:50.591561504 -0800 @@ -74,7 +74,8 @@ void IremGA20_update( int param, INT16 **buffer, int length ) { unsigned long rate[4], pos[4], end[4], vol[4], play[4]; - int edi, ebp, esi, eax, ebx, ecx, edx; + unsigned long edi, ebp, esi; + int eax, ebx, ecx, edx; if (!Machine->sample_rate) return; @@ -89,9 +90,9 @@ } ecx = length << 1; - esi = (int)IremGA20_chip.rom; - edi = (int)buffer[0]; - ebp = (int)buffer[1]; + esi = (unsigned long)IremGA20_chip.rom; + edi = (unsigned long)buffer[0]; + ebp = (unsigned long)buffer[1]; edi += ecx; ebp += ecx; ecx = -ecx;