diff -u spinsim013/interp.h spinsim013-rosco_pc/interp.h --- spinsim013/interp.h 2010-12-21 17:20:18.000000000 +0800 +++ spinsim013-rosco_pc/interp.h 2011-01-05 10:50:26.000000000 +0800 @@ -1,6 +1,6 @@ #define BYTE(addr) (((unsigned char *)hubram)[(addr) & 0xffff]) #define WORD(addr) (((unsigned short *)hubram)[((addr) & 0xffff) >> 1]) -#define LONG(addr) (((long *)hubram)[((addr) & 0xffff) >> 2]) +#define LONG(addr) (((unsigned int *)hubram)[((addr) & 0xffff) >> 2]) typedef struct CogVarsS { long x1e0; // $1e0 diff -u spinsim013/spinsim.c spinsim013-rosco_pc/spinsim.c --- spinsim013/spinsim.c 2010-12-29 13:23:52.000000000 +0800 +++ spinsim013-rosco_pc/spinsim.c 2011-01-05 10:27:03.000000000 +0800 @@ -31,7 +31,7 @@ char hubram[0x10000]; char lockstate[8]; char lockalloc[8]; -long reg[32] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +int reg[32] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; char objname[100][20]; @@ -317,7 +317,7 @@ { if (LONG(0xf00c) && CogVars[i].state == 1) { - long dcurr = CogVars[i].dcurr; + int dcurr = CogVars[i].dcurr; printf("Cog %d: %4.4x %8.8x - ", i, dcurr, LONG(dcurr - 4)); PrintOp(&CogVars[i]); }