]> Shamusworld >> Repos - stargem2/blobdiff - src/v6809.cpp
Converted to SDL 2, added fullscreen support (F12 to toggle).
[stargem2] / src / v6809.cpp
index 68b9998539b82e783ab9f8a6eb2b6fb50239d6d2..2bb970f2e5045383a02ddaa07d00dbdcc9b83b88 100755 (executable)
@@ -41,9 +41,9 @@ bool disasm = false;//so we can extern this shit
 #define SET_H(a,b,r)           (flagH = (((a) ^ (b) ^ (r)) & 0x10) >> 4)
 
 //Not sure that this code is computing the carry correctly... Investigate! [Seems to be]
-//#define SET_C_ADD(a,b)               (flagC = ((uint8)(b) > (uint8)(~(a)) ? 1 : 0))
-//#define SET_C_SUB(a,b)               (regs.cc = ((uint8)(b) >= (uint8)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))
-//#define SET_C_CMP(a,b)               (flagC = ((uint8)(b) >= (uint8)(a) ? 1 : 0))
+//#define SET_C_ADD(a,b)               (flagC = ((uint8_t)(b) > (uint8_t)(~(a)) ? 1 : 0))
+//#define SET_C_SUB(a,b)               (regs.cc = ((uint8_t)(b) >= (uint8_t)(a) ? regs.cc | FLAG_C : regs.cc & ~FLAG_C))
+//#define SET_C_CMP(a,b)               (flagC = ((uint8_t)(b) >= (uint8_t)(a) ? 1 : 0))
 #define SET_ZN(r)                      SET_N(r); SET_Z(r)
 #define SET_ZN16(r)                    SET_N16(r); SET_Z(r)
 //#define SET_ZNC_ADD(a,b,r)   SET_N(r); SET_Z(r); SET_C_ADD(a,b)
@@ -64,10 +64,10 @@ bool disasm = false;//so we can extern this shit
 #define READ_ABS                       regs.RdMem(EA_ABS)
 #define READ_ABS16                     RdMemW(EA_ABS)
 
-#define READ_IMM_WB(v)         uint16 addr = EA_IMM;      v = regs.RdMem(addr)
-#define READ_DP_WB(v)          uint16 addr = EA_DP;       v = regs.RdMem(addr)
-#define READ_IDX_WB(v)         uint16 addr = EA_IDX;      v = regs.RdMem(addr)
-#define READ_ABS_WB(v)         uint16 addr = EA_ABS;      v = regs.RdMem(addr)
+#define READ_IMM_WB(v)         uint16_t addr = EA_IMM;      v = regs.RdMem(addr)
+#define READ_DP_WB(v)          uint16_t addr = EA_DP;       v = regs.RdMem(addr)
+#define READ_IDX_WB(v)         uint16_t addr = EA_IDX;      v = regs.RdMem(addr)
+#define READ_ABS_WB(v)         uint16_t addr = EA_ABS;      v = regs.RdMem(addr)
 
 #define WRITE_BACK(d)          regs.WrMem(addr, (d))
 
@@ -93,9 +93,9 @@ bool disasm = false;//so we can extern this shit
 // Private global variables
 
 static V6809REGS regs;
-static uint8 flagE, flagF, flagH, flagI, flagN, flagZ, flagV, flagC;
+static uint8_t flagE, flagF, flagH, flagI, flagN, flagZ, flagV, flagC;
 
-uint8 page0Cycles[256] = {
+uint8_t page0Cycles[256] = {
        6,  1,  1,  6,  6,  1,  6,  6,  6,  6,  6,  1,  6,  6,  3,  6,          // $0x
        1,  1,  2,  2,  1,  1,  5,  9,  1,  2,  3,  1,  3,  2,  8,  7,          // $1x
        3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,          // $2x
@@ -114,7 +114,7 @@ uint8 page0Cycles[256] = {
        5,  5,  5,  7,  5,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6           // $Fx
 };
 
-uint8 page1Cycles[256] = {
+uint8_t page1Cycles[256] = {
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,          // $0x
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,          // $1x
        1,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,          // $2x
@@ -133,7 +133,7 @@ uint8 page1Cycles[256] = {
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  7,  7           // $Fx
 };
 
-uint8 page2Cycles[256] = {
+uint8_t page2Cycles[256] = {
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,          // $0x
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,          // $1x
        1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,          // $2x
@@ -154,35 +154,35 @@ uint8 page2Cycles[256] = {
 
 // Private function prototypes
 
-static uint16 RdMemW(uint16 addr);
-static uint16 FetchMemW(uint16 addr);
-static void WrMemW(uint16 addr, uint16 w);
-static uint16 ReadEXG(uint8);                                  // Read TFR/EXG post byte
-static void WriteEXG(uint8, uint16);                   // Set TFR/EXG data
-static uint16 DecodeReg(uint8);                                        // Decode register data
-static uint16 DecodeIDX(uint8);                                        // Decode IDX data
+static uint16_t RdMemW(uint16_t addr);
+static uint16_t FetchMemW(uint16_t addr);
+static void WrMemW(uint16_t addr, uint16_t w);
+static uint16_t ReadEXG(uint8_t);                                      // Read TFR/EXG post byte
+static void WriteEXG(uint8_t, uint16_t);                       // Set TFR/EXG data
+static uint16_t DecodeReg(uint8_t);                                    // Decode register data
+static uint16_t DecodeIDX(uint8_t);                                    // Decode IDX data
 
 //
 // Read word from memory function
 //
-static inline uint16 RdMemW(uint16 addr)
+static inline uint16_t RdMemW(uint16_t addr)
 {
-       return (uint16)(regs.RdMem(addr) << 8) | regs.RdMem(addr + 1);
+       return (uint16_t)(regs.RdMem(addr) << 8) | regs.RdMem(addr + 1);
 }
 
 //
 // Fetch a word from memory function. Increments PC
 //
-static inline uint16 FetchMemW(uint16 addr)
+static inline uint16_t FetchMemW(uint16_t addr)
 {
        regs.pc += 2;
-       return (uint16)(regs.RdMem(addr) << 8) | regs.RdMem(addr + 1);
+       return (uint16_t)(regs.RdMem(addr) << 8) | regs.RdMem(addr + 1);
 }
 
 //
 // Write word to memory function
 //
-static inline void WrMemW(uint16 addr, uint16 w)
+static inline void WrMemW(uint16_t addr, uint16_t w)
 {
        regs.WrMem(addr + 0, w >> 8);
        regs.WrMem(addr + 1, w & 0xFF);
@@ -191,9 +191,9 @@ static inline void WrMemW(uint16 addr, uint16 w)
 //
 // Function to read TFR/EXG post byte
 //
-uint16 ReadEXG(uint8 code)
+uint16_t ReadEXG(uint8_t code)
 {
-       uint16 retval;
+       uint16_t retval;
 
        switch (code)
        {
@@ -238,7 +238,7 @@ uint16 ReadEXG(uint8 code)
 //
 // Function to set TFR/EXG data
 //
-void WriteEXG(uint8 code, uint16 data)
+void WriteEXG(uint8_t code, uint16_t data)
 {
        switch (code)
        {
@@ -268,9 +268,9 @@ void WriteEXG(uint8 code, uint16 data)
 //
 // Function to decode register data
 //
-uint16 DecodeReg(uint8 reg)
+uint16_t DecodeReg(uint8_t reg)
 {
-       uint16 retval;
+       uint16_t retval;
 
        switch (reg)
        {
@@ -290,10 +290,10 @@ uint16 DecodeReg(uint8 reg)
 //
 // Function to decode IDX data
 //
-uint16 DecodeIDX(uint8 code)
+uint16_t DecodeIDX(uint8_t code)
 {
-       uint16 addr, woff;
-       uint8 reg = (code & 0x60) >> 5, idxind = (code & 0x10) >> 4, lo_nyb = code & 0x0F;
+       uint16_t addr, woff;
+       uint8_t reg = (code & 0x60) >> 5, idxind = (code & 0x10) >> 4, lo_nyb = code & 0x0F;
 
        if (!(code & 0x80))                                                     // Hi bit unset? Then decode 4 bit offset
                addr = DecodeReg(reg) + (idxind ? lo_nyb - 16 : lo_nyb);
@@ -330,15 +330,15 @@ uint16 DecodeIDX(uint8 code)
                                addr = RdMemW(woff);
                                break;
                        case 5:
-                               woff = DecodeReg(reg) + (int16)(int8)regs.b;
+                               woff = DecodeReg(reg) + (int16_t)(int8_t)regs.b;
                                addr = RdMemW(woff);
                                break;
                        case 6:
-                               woff = DecodeReg(reg) + (int16)(int8)regs.a;
+                               woff = DecodeReg(reg) + (int16_t)(int8_t)regs.a;
                                addr = RdMemW(woff);
                                break;
                        case 8:
-                               woff = DecodeReg(reg) + (int16)(int8)regs.RdMem(regs.pc++);
+                               woff = DecodeReg(reg) + (int16_t)(int8_t)regs.RdMem(regs.pc++);
                                addr = RdMemW(woff);
                                break;
                        case 9:
@@ -350,7 +350,7 @@ uint16 DecodeIDX(uint8 code)
                                addr = RdMemW(woff);
                                break;
                        case 12:
-                               woff = regs.pc + (int16)(int8)regs.RdMem(regs.pc++);
+                               woff = regs.pc + (int16_t)(int8_t)regs.RdMem(regs.pc++);
                                addr = RdMemW(woff);
                                break;
                        case 13:
@@ -404,12 +404,12 @@ uint16 DecodeIDX(uint8 code)
                    }
                    addr = DecodeReg(reg);  break; }
         case 4:  { addr = DecodeReg(reg);  break; }
-        case 5:  { addr = DecodeReg(reg) + (int16)(int8)regs.b;  break; }
-        case 6:  { addr = DecodeReg(reg) + (int16)(int8)regs.a;  break; }
-        case 8:  { addr = DecodeReg(reg) + (int16)(int8)regs.RdMem(regs.pc++);  break; }
+        case 5:  { addr = DecodeReg(reg) + (int16_t)(int8_t)regs.b;  break; }
+        case 6:  { addr = DecodeReg(reg) + (int16_t)(int8_t)regs.a;  break; }
+        case 8:  { addr = DecodeReg(reg) + (int16_t)(int8_t)regs.RdMem(regs.pc++);  break; }
         case 9:  { addr = DecodeReg(reg) + FetchMemW(regs.pc);  break; }
         case 11: { addr = DecodeReg(reg) + ((regs.a << 8) | regs.b);  break; }
-        case 12: { addr = regs.pc + (int16)(int8)regs.RdMem(regs.pc++);  break; }
+        case 12: { addr = regs.pc + (int16_t)(int8_t)regs.RdMem(regs.pc++);  break; }
         case 13: { addr = regs.pc + FetchMemW(regs.pc);  break; }
                        }
                }
@@ -445,7 +445,7 @@ uint16 DecodeIDX(uint8 code)
 // ADC opcodes
 
 #define OP_ADC_HANDLER(m, acc) \
-       uint16 sum = (uint16)acc + (m) + (uint16)flagC; \
+       uint16_t sum = (uint16_t)acc + (m) + (uint16_t)flagC; \
        flagC = (sum >> 8) & 0x01; \
        SET_H(m, acc, sum); \
        SET_V(m, acc, sum); \
@@ -464,49 +464,49 @@ Old flag handling code:
 
 static void Op89(void)                                                 // ADCA #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_ADC_HANDLER(m, regs.a);
 }
 
 static void Op99(void)                                                 // ADCA DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_ADC_HANDLER(m, regs.a);
 }
 
 static void OpA9(void)                                                 // ADCA IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_ADC_HANDLER(m, regs.a);
 }
 
 static void OpB9(void)                                                 // ADCA ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_ADC_HANDLER(m, regs.a);
 }
 
 static void OpC9(void)                                                 // ADCB #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_ADC_HANDLER(m, regs.b);
 }
 
 static void OpD9(void)                                                 // ADCB DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_ADC_HANDLER(m, regs.b);
 }
 
 static void OpE9(void)                                                 // ADCB IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_ADC_HANDLER(m, regs.b);
 }
 
 static void OpF9(void)                                                 // ADCB ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_ADC_HANDLER(m, regs.b);
 }
 
@@ -533,7 +533,7 @@ static void OpF9(void)                                                      // ADCB ABS
 // ADD opcodes
 
 #define OP_ADD_HANDLER(m, acc) \
-       uint16 sum = (uint16)(acc) + (m); \
+       uint16_t sum = (uint16_t)(acc) + (m); \
        flagC = (sum >> 8) & 0x01; \
        SET_H(m, acc, sum); \
        SET_V(m, acc, sum); \
@@ -541,8 +541,8 @@ static void OpF9(void)                                                      // ADCB ABS
        SET_ZN(acc)
 
 #define OP_ADD_HANDLER16(m, hireg, loreg) \
-       uint32 acc = (uint32)((hireg << 8) | loreg); \
-       uint32 sum = acc + (m); \
+       uint32_t acc = (uint32_t)((hireg << 8) | loreg); \
+       uint32_t sum = acc + (m); \
        flagC = (sum >> 16) & 0x01; \
        SET_V16(m, acc, sum); \
        acc = sum & 0xFFFF; \
@@ -571,78 +571,78 @@ Old flags:
 
 static void Op3A(void)                                                 // ABX
 {
-       regs.x += (uint16)regs.b;
+       regs.x += (uint16_t)regs.b;
 }
 
 static void Op8B(void)                                                 // ADDA #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_ADD_HANDLER(m, regs.a);
 }
 
 static void Op9B(void)                                                 // ADDA DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_ADD_HANDLER(m, regs.a);
 }
 
 static void OpAB(void)                                                 // ADDA IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_ADD_HANDLER(m, regs.a);
 }
 
 static void OpBB(void)                                                 // ADDA ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_ADD_HANDLER(m, regs.a);
 }
 
 static void OpC3(void)                                                 // ADDD #
 {
-       uint32 m = READ_IMM16;
+       uint32_t m = READ_IMM16;
        OP_ADD_HANDLER16(m, regs.a, regs.b);
 }
 
 static void OpCB(void)                                                 // ADDB #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_ADD_HANDLER(m, regs.b);
 }
 
 static void OpD3(void)                                                 // ADDD DP
 {
-       uint32 m = READ_DP16;
+       uint32_t m = READ_DP16;
        OP_ADD_HANDLER16(m, regs.a, regs.b);
 }
 
 static void OpDB(void)                                                 // ADDB DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_ADD_HANDLER(m, regs.b);
 }
 
 static void OpE3(void)                                                 // ADDD IDX
 {
-       uint32 m = READ_IDX16;
+       uint32_t m = READ_IDX16;
        OP_ADD_HANDLER16(m, regs.a, regs.b);
 }
 
 static void OpEB(void)                                                 // ADDB IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_ADD_HANDLER(m, regs.b);
 }
 
 static void OpF3(void)                                                 // ADDD ABS
 {
-       uint32 m = READ_ABS16;
+       uint32_t m = READ_ABS16;
        OP_ADD_HANDLER16(m, regs.a, regs.b);
 }
 
 static void OpFB(void)                                                 // ADDB ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_ADD_HANDLER(m, regs.b);
 }
 
@@ -670,49 +670,49 @@ static void OpFB(void)                                                    // ADDB ABS
 
 static void Op84(void)                                                 // ANDA #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_AND_HANDLER(m, regs.a);
 }
 
 static void Op94(void)                                                 // ANDA DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_AND_HANDLER(m, regs.a);
 }
 
 static void OpA4(void)                                                 // ANDA IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_AND_HANDLER(m, regs.a);
 }
 
 static void OpB4(void)                                                 // ANDA ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_AND_HANDLER(m, regs.a);
 }
 
 static void OpC4(void)                                                 // ANDB #
 {
-       uint16 m = READ_IMM;
+       uint16_t m = READ_IMM;
        OP_AND_HANDLER(m, regs.b);
 }
 
 static void OpD4(void)                                                 // ANDB DP
 {
-       uint16 m = READ_DP;
+       uint16_t m = READ_DP;
        OP_AND_HANDLER(m, regs.b);
 }
 
 static void OpE4(void)                                                 // ANDB IDX
 {
-       uint16 m = READ_IDX;
+       uint16_t m = READ_IDX;
        OP_AND_HANDLER(m, regs.b);
 }
 
 static void OpF4(void)                                                 // ANDB ABS
 {
-       uint16 m = READ_ABS;
+       uint16_t m = READ_ABS;
        OP_AND_HANDLER(m, regs.b);
 }
 
@@ -731,7 +731,7 @@ static void OpF4(void)                                                      // ANDB ABS
 // ASL opcodes
 
 #define OP_ASL_HANDLER(m) \
-       uint16 res = m << 1; \
+       uint16_t res = m << 1; \
        SET_V(m, m, res); \
        flagC = (res >> 8) & 0x01; \
        m = res & 0xFF; \
@@ -739,7 +739,7 @@ static void OpF4(void)                                                      // ANDB ABS
 
 static void Op08(void)                                                 // ASL DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_ASL_HANDLER(m);
        WRITE_BACK(m);
@@ -757,7 +757,7 @@ static void Op58(void)                                                      // ASLB
 
 static void Op68(void)                                                 // ASL IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_ASL_HANDLER(m);
        WRITE_BACK(m);
@@ -765,7 +765,7 @@ static void Op68(void)                                                      // ASL IDX
 
 static void Op78(void)                                                 // ASL ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_ASL_HANDLER(m);
        WRITE_BACK(m);
@@ -786,14 +786,14 @@ static void Op78(void)                                                    // ASL ABS
 // ASR opcodes (arithmetic, so preserves the sign)
 
 #define OP_ASR_HANDLER(m) \
-       uint8 res = (m & 0x80) | (m >> 1); \
+       uint8_t res = (m & 0x80) | (m >> 1); \
        SET_ZN(res); \
        flagC = m & 0x01; \
        m = res
 
 static void Op07(void)                                                 // ASR DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_ASR_HANDLER(m);
        WRITE_BACK(m);
@@ -811,7 +811,7 @@ static void Op57(void)                                                      // ASRB
 
 static void Op67(void)                                                 // ASR IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_ASR_HANDLER(m);
        WRITE_BACK(m);
@@ -819,7 +819,7 @@ static void Op67(void)                                                      // ASR IDX
 
 static void Op77(void)                                                 // ASR ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_ASR_HANDLER(m);
        WRITE_BACK(m);
@@ -868,26 +868,26 @@ static void Op77(void)                                                    // ASR ABS
 
 static void Op16(void)                                                 // LBRA
 {
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
        regs.pc += offset;
 }
 
 static void Op20(void)                                                 // BRA
 {
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
        regs.pc += offset;
 }
 
 static void Op21(void)                                                 // BRN
 {
        // This is basically a 2 byte NOP
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 }
 
 static void Op22(void)                                                 // BHI
 {
        // !C && !Z
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
 //Not sure if the ! operator will do what we want, so we use ^ 1 (we need a 1 or a 0 here)...
@@ -901,7 +901,7 @@ static void Op22(void)                                                      // BHI
 static void Op23(void)                                                 // BLS
 {
        // C || Z
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ | flagC);
@@ -914,7 +914,7 @@ static void Op23(void)                                                      // BLS
 static void Op24(void)                                                 // BHS/CC
 {
        // !C
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagC ^ 0x01);
@@ -927,7 +927,7 @@ static void Op24(void)                                                      // BHS/CC
 static void Op25(void)                                                 // BLO/CS
 {
        // C
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 //if (disasm)
 //     WriteLog("[offset=%04X,flagC=%08X]", offset, flagC);
 
@@ -942,7 +942,7 @@ static void Op25(void)                                                      // BLO/CS
 static void Op26(void)                                                 // BNE
 {
        // !Z
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ ^ 0x01);
@@ -955,7 +955,7 @@ static void Op26(void)                                                      // BNE
 static void Op27(void)                                                 // BEQ
 {
        // Z
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagZ;
@@ -968,7 +968,7 @@ static void Op27(void)                                                      // BEQ
 static void Op28(void)                                                 // BVC
 {
        // !V
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagV ^ 0x01);
@@ -981,7 +981,7 @@ static void Op28(void)                                                      // BVC
 static void Op29(void)                                                 // BVS
 {
        // V
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagV;
@@ -994,7 +994,7 @@ static void Op29(void)                                                      // BVS
 static void Op2A(void)                                                 // BPL
 {
        // !N
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagN ^ 0x01);
@@ -1007,7 +1007,7 @@ static void Op2A(void)                                                    // BPL
 static void Op2B(void)                                                 // BMI
 {
        // N
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagN;
@@ -1020,7 +1020,7 @@ static void Op2B(void)                                                    // BMI
 static void Op2C(void)                                                 // BGE
 {
        // (N && V) || (!N && !V)
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & flagV) | ((flagN ^ 0x01) & (flagV ^ 0x01)));
@@ -1033,7 +1033,7 @@ static void Op2C(void)                                                    // BGE
 static void Op2D(void)                                                 // BLT
 {
        // (N && !V) || (!N && V)
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & (flagV ^ 0x01)) | ((flagN ^ 0x01) & flagV));
@@ -1046,7 +1046,7 @@ static void Op2D(void)                                                    // BLT
 static void Op2E(void)                                                 // BGT
 {
        // (N && V && !Z) || (!N && !V && !Z)
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & flagV & (flagZ ^ 0x01)) | ((flagN ^ 0x01) & (flagV ^ 0x01) & (flagZ ^ 0x01)));
@@ -1059,7 +1059,7 @@ static void Op2E(void)                                                    // BGT
 static void Op2F(void)                                                 // BLE
 {
        // Z || (N && !V) || (!N && V)
-       int16 offset = (int16)(int8)READ_IMM;
+       int16_t offset = (int16_t)(int8_t)READ_IMM;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ | (flagN & (flagV ^ 0x01)) | ((flagN ^ 0x01) & flagV));
@@ -1072,13 +1072,13 @@ static void Op2F(void)                                                  // BLE
 static void Op1021(void)                                               // LBRN
 {
        // This is basically a 4 byte NOP
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 }
 
 static void Op1022(void)                                               // LBHI
 {
        // !C && !Z
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
 //Not sure if the ! operator will do what we want, so we use ^ 1 (we need a 1 or a 0 here)...
@@ -1092,7 +1092,7 @@ static void Op1022(void)                                          // LBHI
 static void Op1023(void)                                               // LBLS
 {
        // C || Z
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ | flagC);
@@ -1105,7 +1105,7 @@ static void Op1023(void)                                          // LBLS
 static void Op1024(void)                                               // LBHS/CC
 {
        // !C
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagC ^ 0x01);
@@ -1118,7 +1118,7 @@ static void Op1024(void)                                          // LBHS/CC
 static void Op1025(void)                                               // LBLO/CS
 {
        // C
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagC;
@@ -1131,7 +1131,7 @@ static void Op1025(void)                                          // LBLO/CS
 static void Op1026(void)                                               // LBNE
 {
        // !Z
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ ^ 0x01);
@@ -1144,7 +1144,7 @@ static void Op1026(void)                                          // LBNE
 static void Op1027(void)                                               // LBEQ
 {
        // Z
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagZ;
@@ -1157,7 +1157,7 @@ static void Op1027(void)                                          // LBEQ
 static void Op1028(void)                                               // LBVC
 {
        // !V
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagV ^ 0x01);
@@ -1170,7 +1170,7 @@ static void Op1028(void)                                          // LBVC
 static void Op1029(void)                                               // LBVS
 {
        // V
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagV;
@@ -1183,7 +1183,7 @@ static void Op1029(void)                                          // LBVS
 static void Op102A(void)                                               // LBPL
 {
        // !N
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagN ^ 0x01);
@@ -1196,7 +1196,7 @@ static void Op102A(void)                                          // LBPL
 static void Op102B(void)                                               // LBMI
 {
        // N
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * flagN;
@@ -1209,7 +1209,7 @@ static void Op102B(void)                                          // LBMI
 static void Op102C(void)                                               // LBGE
 {
        // (N && V) || (!N && !V)
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & flagV) | ((flagN ^ 0x01) & (flagV ^ 0x01)));
@@ -1222,7 +1222,7 @@ static void Op102C(void)                                          // LBGE
 static void Op102D(void)                                               // LBLT
 {
        // (N && !V) || (!N && V)
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & (flagV ^ 0x01)) | ((flagN ^ 0x01) & flagV));
@@ -1235,7 +1235,7 @@ static void Op102D(void)                                          // LBLT
 static void Op102E(void)                                               // LBGT
 {
        // (N && V && !Z) || (!N && !V && !Z)
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * ((flagN & flagV & (flagZ ^ 0x01)) | ((flagN ^ 0x01) & (flagV ^ 0x01) & (flagZ ^ 0x01)));
@@ -1248,7 +1248,7 @@ static void Op102E(void)                                          // LBGT
 static void Op102F(void)                                               // LBLE
 {
        // Z || (N && !V) || (!N && V)
-       uint16 offset = READ_IMM16;
+       uint16_t offset = READ_IMM16;
 
 #ifdef TEST_DONT_BRANCH_OPTIMIZATION
        regs.pc += offset * (flagZ | (flagN & (flagV ^ 0x01)) | ((flagN ^ 0x01) & flagV));
@@ -1276,55 +1276,55 @@ static void Op102F(void)                                                // LBLE
 // BIT opcodes
 
 #define OP_BIT_HANDLER(m, acc) \
-       uint8 result = acc & (m); \
+       uint8_t result = acc & (m); \
        SET_ZN(result); \
        CLR_V
 
 static void Op85(void)                                                 // BITA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_BIT_HANDLER(m, regs.a);
 }
 
 static void Op95(void)                                                 // BITA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_BIT_HANDLER(m, regs.a);
 }
 
 static void OpA5(void)                                                 // BITA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_BIT_HANDLER(m, regs.a);
 }
 
 static void OpB5(void)                                                 // BITA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_BIT_HANDLER(m, regs.a);
 }
 
 static void OpC5(void)                                                 // BITB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_BIT_HANDLER(m, regs.b);
 }
 
 static void OpD5(void)                                                 // BITB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_BIT_HANDLER(m, regs.b);
 }
 
 static void OpE5(void)                                                 // BITB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_BIT_HANDLER(m, regs.b);
 }
 
 static void OpF5(void)                                                 // BITB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_BIT_HANDLER(m, regs.b);
 }
 
@@ -1349,7 +1349,7 @@ static void OpF5(void)                                                    // BITB ABS
 
 static void Op0F(void)                                                 // CLR DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_CLR_HANDLER(m);
        WRITE_BACK(m);
@@ -1367,7 +1367,7 @@ static void Op5F(void)                                                    // CLRB
 
 static void Op6F(void)                                                 // CLR IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_CLR_HANDLER(m);
        WRITE_BACK(m);
@@ -1375,7 +1375,7 @@ static void Op6F(void)                                                    // CLR IDX
 
 static void Op7F(void)                                                 // CLR ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_CLR_HANDLER(m);
        WRITE_BACK(m);
@@ -1419,182 +1419,182 @@ static void Op7F(void)                                                        // CLR ABS
 // CMP opcodes
 
 #define OP_CMP_HANDLER(m, acc) \
-       uint16 sum = (uint16)(acc) - (m); \
+       uint16_t sum = (uint16_t)(acc) - (m); \
        flagC = (sum >> 8) & 0x01; \
        SET_V(m, acc, sum); \
        SET_ZN(sum)
 
 #define OP_CMP_HANDLER16(m, acc) \
-       uint32 sum = (uint32)(acc) - (m); \
+       uint32_t sum = (uint32_t)(acc) - (m); \
        flagC = (sum >> 16) & 0x01; \
        SET_V16(m, acc, sum); \
        SET_ZN16(sum)
 
 static void Op81(void)                                                 // CMPA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_CMP_HANDLER(m, regs.a);
 }
 
 static void Op8C(void)                                                 // CMPX #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_CMP_HANDLER16(m, regs.x);
 }
 
 static void Op91(void)                                                 // CMPA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_CMP_HANDLER(m, regs.a);
 }
 
 static void Op9C(void)                                                 // CMPX DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_CMP_HANDLER16(m, regs.x);
 }
 
 static void OpA1(void)                                                 // CMPA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_CMP_HANDLER(m, regs.a);
 }
 
 static void OpAC(void)                                                 // CMPX IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_CMP_HANDLER16(m, regs.x);
 }
 
 static void OpB1(void)                                                 // CMPA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_CMP_HANDLER(m, regs.a);
 }
 
 static void OpBC(void)                                                 // CMPX ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_CMP_HANDLER16(m, regs.x);
 }
 
 static void OpC1(void)                                                 // CMPB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_CMP_HANDLER(m, regs.b);
 }
 
 static void OpD1(void)                                                 // CMPB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_CMP_HANDLER(m, regs.b);
 }
 
 static void OpE1(void)                                                 // CMPB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_CMP_HANDLER(m, regs.b);
 }
 
 static void OpF1(void)                                                 // CMPB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_CMP_HANDLER(m, regs.b);
 }
 
 static void Op1083(void)                                               // CMPD #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_CMP_HANDLER16(m, (regs.a << 8) | regs.b);
 }
 
 static void Op108C(void)                                               // CMPY #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_CMP_HANDLER16(m, regs.y);
 }
 
 static void Op1093(void)                                               // CMPD DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_CMP_HANDLER16(m, (regs.a << 8) | regs.b);
 }
 
 static void Op109C(void)                                               // CMPY DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_CMP_HANDLER16(m, regs.y);
 }
 
 static void Op10A3(void)                                               // CMPD IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_CMP_HANDLER16(m, (regs.a << 8) | regs.b);
 }
 
 static void Op10AC(void)                                               // CMPY IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_CMP_HANDLER16(m, regs.y);
 }
 
 static void Op10B3(void)                                               // CMPD ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_CMP_HANDLER16(m, (regs.a << 8) | regs.b);
 }
 
 static void Op10BC(void)                                               // CMPY ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_CMP_HANDLER16(m, regs.y);
 }
 
 static void Op1183(void)                                               // CMPU #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_CMP_HANDLER16(m, regs.u);
 }
 
 static void Op118C(void)                                               // CMPS #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_CMP_HANDLER16(m, regs.s);
 }
 
 static void Op1193(void)                                               // CMPU DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_CMP_HANDLER16(m, regs.u);
 }
 
 static void Op119C(void)                                               // CMPS DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_CMP_HANDLER16(m, regs.s);
 }
 
 static void Op11A3(void)                                               // CMPU IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_CMP_HANDLER16(m, regs.u);
 }
 
 static void Op11AC(void)                                               // CMPS IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_CMP_HANDLER16(m, regs.s);
 }
 
 static void Op11B3(void)                                               // CMPU ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_CMP_HANDLER16(m, regs.u);
 }
 
 static void Op11BC(void)                                               // CMPS ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_CMP_HANDLER16(m, regs.s);
 }
 
@@ -1620,7 +1620,7 @@ static void Op11BC(void)                                          // CMPS ABS
 
 static void Op03(void)                                                 // COM DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_COM_HANDLER(m);
        WRITE_BACK(m);
@@ -1638,7 +1638,7 @@ static void Op53(void)                                                    // COMB
 
 static void Op63(void)                                                 // COM IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_COM_HANDLER(m);
        WRITE_BACK(m);
@@ -1646,7 +1646,7 @@ static void Op63(void)                                                    // COM IDX
 
 static void Op73(void)                                                 // COM ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_COM_HANDLER(m);
        WRITE_BACK(m);
@@ -1785,7 +1785,7 @@ D3FC: 19          DAA              CC=--H----- A=37 B=00 DP=9C X=3C72 Y=CE5C S=B
 
 static void Op19()                                                             // DAA
 {
-       uint16 result = (uint16)regs.a;
+       uint16_t result = (uint16_t)regs.a;
 
 //     if ((regs.a & 0x0F) > 0x09 || (regs.cc & FLAG_H))
        if ((regs.a & 0x0F) > 0x09 || flagH)
@@ -1795,7 +1795,7 @@ static void Op19()                                                                // DAA
        if ((regs.a & 0xF0) > 0x90 || flagC || ((regs.a & 0xF0) > 0x80 && (regs.a & 0x0F) > 0x09))
                result += 0x60;
 
-       regs.a = (uint8)result;
+       regs.a = (uint8_t)result;
        SET_ZN(result);
        CLR_V;
        flagC |= (result & 0x100) >> 8;                         // Overwrite carry if it was 0, otherwise, ignore
@@ -1843,7 +1843,7 @@ static void Op1D()                                                                // SEX
 
 static void Op0A(void)                                                 // DEC DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_DEC_HANDLER(m);
        WRITE_BACK(m);
@@ -1861,7 +1861,7 @@ static void Op5A(void)                                                    // DECB
 
 static void Op6A(void)                                                 // DEC IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_DEC_HANDLER(m);
        WRITE_BACK(m);
@@ -1869,7 +1869,7 @@ static void Op6A(void)                                                    // DEC IDX
 
 static void Op7A(void)                                                 // DEC ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_DEC_HANDLER(m);
        WRITE_BACK(m);
@@ -1899,49 +1899,49 @@ static void Op7A(void)                                                  // DEC ABS
 
 static void Op88(void)                                                 // EORA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_EOR_HANDLER(m, regs.a);
 }
 
 static void Op98(void)                                                 // EORA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_EOR_HANDLER(m, regs.a);
 }
 
 static void OpA8(void)                                                 // EORA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_EOR_HANDLER(m, regs.a);
 }
 
 static void OpB8(void)                                                 // EORA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_EOR_HANDLER(m, regs.a);
 }
 
 static void OpC8(void)                                                 // EORB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_EOR_HANDLER(m, regs.b);
 }
 
 static void OpD8(void)                                                 // EORB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_EOR_HANDLER(m, regs.b);
 }
 
 static void OpE8(void)                                                 // EORB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_EOR_HANDLER(m, regs.b);
 }
 
 static void OpF8(void)                                                 // EORB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_EOR_HANDLER(m, regs.b);
 }
 
@@ -1966,7 +1966,7 @@ static void OpF8(void)                                                    // EORB ABS
 
 static void Op0C(void)                                                 // INC DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_INC_HANDLER(m);
        WRITE_BACK(m);
@@ -1984,7 +1984,7 @@ static void Op5C(void)                                                    // INCB
 
 static void Op6C(void)                                                 // INC IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_INC_HANDLER(m);
        WRITE_BACK(m);
@@ -1992,7 +1992,7 @@ static void Op6C(void)                                                    // INC IDX
 
 static void Op7C(void)                                                 // INC ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_INC_HANDLER(m);
        WRITE_BACK(m);
@@ -2022,7 +2022,7 @@ static void Op0E(void)                                                    // JMP DP
 
 static void Op17(void)                                                 // LBSR
 {
-       uint16 word = FetchMemW(regs.pc);
+       uint16_t word = FetchMemW(regs.pc);
        PUSHS16(regs.pc);
        regs.pc += word;
 }
@@ -2064,28 +2064,28 @@ static void Op7E(void)                                                  // JMP ABS
 
 static void Op8D(void)                                                 // BSR
 {
-       uint16 word = (int16)(int8)READ_IMM;
+       uint16_t word = (int16_t)(int8_t)READ_IMM;
        PUSHS16(regs.pc);
        regs.pc += word;
 }
 
 static void Op9D(void)                                                 // JSR DP
 {
-       uint16 word = EA_DP;
+       uint16_t word = EA_DP;
        PUSHS16(regs.pc);
        regs.pc = word;
 }
 
 static void OpAD(void)                                                 // JSR IDX
 {
-       uint16 word = EA_IDX;
+       uint16_t word = EA_IDX;
        PUSHS16(regs.pc);
        regs.pc = word;
 }
 
 static void OpBD(void)                                                 // JSR ABS
 {
-       uint16 word = EA_ABS;
+       uint16_t word = EA_ABS;
        PUSHS16(regs.pc);
        regs.pc = word;
 }
@@ -2103,10 +2103,10 @@ static void Op1E(void)                                                  // EXG
 {
        // If bit 3 & 7 are not equal, $FF is the result (undocumented)...
 
-       uint8 m = READ_IMM;
-       uint8 reg1 = m >> 4, reg2 = m & 0x0F;
-       uint16 acc1 = ReadEXG(reg1);
-       uint16 acc2 = ReadEXG(reg2);
+       uint8_t m = READ_IMM;
+       uint8_t reg1 = m >> 4, reg2 = m & 0x0F;
+       uint16_t acc1 = ReadEXG(reg1);
+       uint16_t acc2 = ReadEXG(reg2);
 
        // If bit 3 & 7 are not equal, $FF is the result (undocumented)...
        if (((m >> 4) ^ m) & 0x08)
@@ -2118,8 +2118,8 @@ static void Op1E(void)                                                    // EXG
 
 static void Op1F(void)                                                 // TFR
 {
-       uint8 m = READ_IMM;
-       uint16 acc = ReadEXG(m >> 4);
+       uint8_t m = READ_IMM;
+       uint16_t acc = ReadEXG(m >> 4);
 
        // If bit 3 & 7 are not equal, $FF is the result (undocumented)...
        if (((m >> 4) ^ m) & 0x08)
@@ -2183,169 +2183,169 @@ static void Op1F(void)                                                        // TFR
 
 static void Op86(void)                                                 // LDA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_LDA_HANDLER(m, regs.a);
 }
 
 static void Op8E(void)                                                 // LDX #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_LDA_HANDLER16(m, regs.x);
 }
 
 static void Op96(void)                                                 // LDA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_LDA_HANDLER(m, regs.a);
 }
 
 static void Op9E(void)                                                 // LDX DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_LDA_HANDLER16(m, regs.x);
 }
 
 static void OpA6(void)                                                 // LDA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_LDA_HANDLER(m, regs.a);
 }
 
 static void OpAE(void)                                                 // LDX IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_LDA_HANDLER16(m, regs.x);
 }
 
 static void OpB6(void)                                                 // LDA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_LDA_HANDLER(m, regs.a);
 }
 
 static void OpBE(void)                                                 // LDX ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_LDA_HANDLER16(m, regs.x);
 }
 
 static void OpC6(void)                                                 // LDB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_LDA_HANDLER(m, regs.b);
 }
 
 static void OpCC(void)                                                 // LDD #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_LDA_HANDLER16D(m);
 }
 
 static void OpCE(void)                                                 // LDU #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_LDA_HANDLER16(m, regs.u);
 }
 
 static void OpD6(void)                                                 // LDB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_LDA_HANDLER(m, regs.b);
 }
 
 static void OpDC(void)                                                 // LDD DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_LDA_HANDLER16D(m);
 }
 
 static void OpDE(void)                                                 // LDU DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_LDA_HANDLER16(m, regs.u);
 }
 
 static void OpE6(void)                                                 // LDB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_LDA_HANDLER(m, regs.b);
 }
 
 static void OpEC(void)                                                 // LDD IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_LDA_HANDLER16D(m);
 }
 
 static void OpEE(void)                                                 // LDU IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_LDA_HANDLER16(m, regs.u);
 }
 
 static void OpF6(void)                                                 // LDB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_LDA_HANDLER(m, regs.b);
 }
 
 static void OpFC(void)                                                 // LDD ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_LDA_HANDLER16D(m);
 }
 
 static void OpFE(void)                                                 // LDU ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_LDA_HANDLER16(m, regs.u);
 }
 
 static void Op108E(void)                                               // LDY #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_LDA_HANDLER16(m, regs.y);
 }
 
 static void Op109E(void)                                               // LDY DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_LDA_HANDLER16(m, regs.y);
 }
 
 static void Op10AE(void)                                               // LDY IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_LDA_HANDLER16(m, regs.y);
 }
 
 static void Op10BE(void)                                               // LDY ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_LDA_HANDLER16(m, regs.y);
 }
 
 static void Op10CE(void)                                               // LDS #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_LDA_HANDLER16(m, regs.s);
 }
 
 static void Op10DE(void)                                               // LDS DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_LDA_HANDLER16(m, regs.s);
 }
 
 static void Op10EE(void)                                               // LDS IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_LDA_HANDLER16(m, regs.s);
 }
 
 static void Op10FE(void)                                               // LDS ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_LDA_HANDLER16(m, regs.s);
 }
 
@@ -2403,7 +2403,7 @@ static void Op33(void)                                                    // LEAU
 
 static void Op04(void)                                                 // LSR DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_LSR_HANDLER(m);
        WRITE_BACK(m);
@@ -2421,7 +2421,7 @@ static void Op54(void)                                                    // LSRB
 
 static void Op64(void)                                                 // LSR IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_LSR_HANDLER(m);
        WRITE_BACK(m);
@@ -2429,7 +2429,7 @@ static void Op64(void)                                                    // LSR IDX
 
 static void Op74(void)                                                 // LSR ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_LSR_HANDLER(m);
        WRITE_BACK(m);
@@ -2445,7 +2445,7 @@ static void Op74(void)                                                    // LSR ABS
 
 static void Op3D(void)                                                 // MUL
 {
-       uint16 prod = regs.a * regs.b;
+       uint16_t prod = regs.a * regs.b;
        regs.a = prod >> 8;
        regs.b = prod & 0xFF;
        SET_Z(prod);
@@ -2468,7 +2468,7 @@ static void Op3D(void)                                                    // MUL
 // NEG opcodes
 
 #define OP_NEG_HANDLER(m) \
-       uint8 res = -m; \
+       uint8_t res = -m; \
        SET_ZN(res); \
        SET_V(0, m, res); \
        flagC = (res >= 0x80 ? 1 : 0); \
@@ -2486,7 +2486,7 @@ static void Op3D(void)                                                    // MUL
 */
 static void Op00(void)                                                 // NEG DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_NEG_HANDLER(m);
        WRITE_BACK(m);
@@ -2504,7 +2504,7 @@ static void Op50(void)                                                    // NEGB
 
 static void Op60(void)                                                 // NEG IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_NEG_HANDLER(m);
        WRITE_BACK(m);
@@ -2512,7 +2512,7 @@ static void Op60(void)                                                    // NEG IDX
 
 static void Op70(void)                                                 // NEG ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_NEG_HANDLER(m);
        WRITE_BACK(m);
@@ -2542,49 +2542,49 @@ static void Op70(void)                                                  // NEG ABS
 
 static void Op8A(void)                                                 // ORA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_OR_HANDLER(m, regs.a);
 }
 
 static void Op9A(void)                                                 // ORA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_OR_HANDLER(m, regs.a);
 }
 
 static void OpAA(void)                                                 // ORA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_OR_HANDLER(m, regs.a);
 }
 
 static void OpBA(void)                                                 // ORA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_OR_HANDLER(m, regs.a);
 }
 
 static void OpCA(void)                                                 // ORB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_OR_HANDLER(m, regs.b);
 }
 
 static void OpDA(void)                                                 // ORB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_OR_HANDLER(m, regs.b);
 }
 
 static void OpEA(void)                                                 // ORB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_OR_HANDLER(m, regs.b);
 }
 
 static void OpFA(void)                                                 // ORB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_OR_HANDLER(m, regs.b);
 }
 
@@ -2601,7 +2601,7 @@ static void OpFA(void)                                                    // ORB ABS
 
 static void Op34(void)                                                 // PSHS
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
 
        if (m & 0x80)
                PUSHS16(regs.pc);
@@ -2624,13 +2624,13 @@ static void Op34(void)                                                  // PSHS
        }
 
        // Count bits in each nybble to come up with correct cycle counts...
-       uint8 bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
+       uint8_t bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
        regs.clock += (1 * bitCount[m & 0x0F]) + (2 * bitCount[m >> 4]);
 }
 
 static void Op35(void)                                                 // PULS
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
 
        if (m & 0x01)
        {
@@ -2653,13 +2653,13 @@ static void Op35(void)                                                  // PULS
                PULLS16(regs.pc);
 
        // Count bits in each nybble to come up with correct cycle counts...
-       uint8 bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
+       uint8_t bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
        regs.clock += (1 * bitCount[m & 0x0F]) + (2 * bitCount[m >> 4]);
 }
 
 static void Op36(void)                                                 // PHSU
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
 
        if (m & 0x80)
                PUSHU16(regs.pc);
@@ -2682,13 +2682,13 @@ static void Op36(void)                                                  // PHSU
        }
 
        // Count bits in each nybble to come up with correct cycle counts...
-       uint8 bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
+       uint8_t bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
        regs.clock += (1 * bitCount[m & 0x0F]) + (2 * bitCount[m >> 4]);
 }
 
 static void Op37(void)                                                 // PULU
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
 
        if (m & 0x01)
        {
@@ -2711,7 +2711,7 @@ static void Op37(void)                                                    // PULU
                PULLU16(regs.pc);
 
        // Count bits in each nybble to come up with correct cycle counts...
-       uint8 bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
+       uint8_t bitCount[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
        regs.clock += (1 * bitCount[m & 0x0F]) + (2 * bitCount[m >> 4]);
 }
 
@@ -2730,7 +2730,7 @@ static void Op37(void)                                                    // PULU
 // ROL opcodes
 
 #define OP_ROL_HANDLER(m) \
-       uint8 res = (m << 1) | flagC; \
+       uint8_t res = (m << 1) | flagC; \
        SET_ZN(res); \
        SET_V(m, m, res); \
        flagC = (m >> 7) & 0x01; \
@@ -2746,7 +2746,7 @@ static void Op37(void)                                                    // PULU
 */
 static void Op09(void)                                                 // ROL DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_ROL_HANDLER(m);
        WRITE_BACK(m);
@@ -2764,7 +2764,7 @@ static void Op59(void)                                                    // ROLB
 
 static void Op69(void)                                                 // ROL IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_ROL_HANDLER(m);
        WRITE_BACK(m);
@@ -2772,7 +2772,7 @@ static void Op69(void)                                                    // ROL IDX
 
 static void Op79(void)                                                 // ROL ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_ROL_HANDLER(m);
        WRITE_BACK(m);
@@ -2793,7 +2793,7 @@ static void Op79(void)                                                    // ROL ABS
 // ROR opcodes
 
 #define OP_ROR_HANDLER(m) \
-       uint8 res = (flagC << 7) | (m >> 1); \
+       uint8_t res = (flagC << 7) | (m >> 1); \
        SET_ZN(res); \
        SET_V(m, m, res); \
        flagC = m & 0x01; \
@@ -2801,7 +2801,7 @@ static void Op79(void)                                                    // ROL ABS
 
 static void Op06(void)                                                 // ROR DP
 {
-       uint8 m;
+       uint8_t m;
        READ_DP_WB(m);
        OP_ROR_HANDLER(m);
        WRITE_BACK(m);
@@ -2819,7 +2819,7 @@ static void Op56(void)                                                    // RORB
 
 static void Op66(void)                                                 // ROR IDX
 {
-       uint8 m;
+       uint8_t m;
        READ_IDX_WB(m);
        OP_ROR_HANDLER(m);
        WRITE_BACK(m);
@@ -2827,7 +2827,7 @@ static void Op66(void)                                                    // ROR IDX
 
 static void Op76(void)                                                 // ROR ABS
 {
-       uint8 m;
+       uint8_t m;
        READ_ABS_WB(m);
        OP_ROR_HANDLER(m);
        WRITE_BACK(m);
@@ -2851,57 +2851,57 @@ static void Op76(void)                                                  // ROR ABS
 // SBC opcodes
 
 #define OP_SBC_HANDLER(m, acc) \
-       uint16 sum = (uint16)acc - (m) - (uint16)flagC; \
+       uint16_t sum = (uint16_t)acc - (m) - (uint16_t)flagC; \
        flagC = (sum >> 8) & 0x01; \
        SET_V(m, acc, sum); \
-       acc = (uint8)sum; \
+       acc = (uint8_t)sum; \
        SET_ZN(acc)
 
 static void Op82(void)                                                 // SBCA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_SBC_HANDLER(m, regs.a);
 }
 
 static void Op92(void)                                                 // SBCA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_SBC_HANDLER(m, regs.a);
 }
 
 static void OpA2(void)                                                 // SBCA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_SBC_HANDLER(m, regs.a);
 }
 
 static void OpB2(void)                                                 // SBCA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_SBC_HANDLER(m, regs.a);
 }
 
 static void OpC2(void)                                                 // SBCB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_SBC_HANDLER(m, regs.b);
 }
 
 static void OpD2(void)                                                 // SBCB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_SBC_HANDLER(m, regs.b);
 }
 
 static void OpE2(void)                                                 // SBCB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_SBC_HANDLER(m, regs.b);
 }
 
 static void OpF2(void)                                                 // SBCB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_SBC_HANDLER(m, regs.b);
 }
 
@@ -2947,127 +2947,127 @@ static void OpF2(void)                                                        // SBCB ABS
 
 static void Op97(void)                                                 // STA DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER(addr, regs.a);
 }
 
 static void Op9F(void)                                                 // STX DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER16(addr, regs.x);
 }
 
 static void OpA7(void)                                                 // STA IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER(addr, regs.a);
 }
 
 static void OpAF(void)                                                 // STX IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER16(addr, regs.x);
 }
 
 static void OpB7(void)                                                 // STA ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER(addr, regs.a);
 }
 
 static void OpBF(void)                                                 // STX ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER16(addr, regs.x);
 }
 
 static void OpD7(void)                                                 // STB DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER(addr, regs.b);
 }
 
 static void OpDD(void)                                                 // STD DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER16(addr, (regs.a << 8) | regs.b);
 }
 
 static void OpDF(void)                                                 // STU DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER16(addr, regs.u);
 }
 
 static void OpE7(void)                                                 // STB IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER(addr, regs.b);
 }
 
 static void OpED(void)                                                 // STD IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER16(addr, (regs.a << 8) | regs.b);
 }
 
 static void OpEF(void)                                                 // STU IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER16(addr, regs.u);
 }
 
 static void OpF7(void)                                                 // STB ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER(addr, regs.b);
 }
 
 static void OpFD(void)                                                 // STD ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER16(addr, (regs.a << 8) | regs.b);
 }
 
 static void OpFF(void)                                                 // STU ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER16(addr, regs.u);
 }
 
 static void Op109F(void)                                               // STY DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER16(addr, regs.y);
 }
 
 static void Op10AF(void)                                               // STY IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER16(addr, regs.y);
 }
 
 static void Op10BF(void)                                               // STY ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER16(addr, regs.y);
 }
 
 static void Op10DF(void)                                               // STS DP
 {
-       uint16 addr = EA_DP;
+       uint16_t addr = EA_DP;
        OP_STA_HANDLER16(addr, regs.s);
 }
 
 static void Op10EF(void)                                               // STS IDX
 {
-       uint16 addr = EA_IDX;
+       uint16_t addr = EA_IDX;
        OP_STA_HANDLER16(addr, regs.s);
 }
 
 static void Op10FF(void)                                               // STS ABS
 {
-       uint16 addr = EA_ABS;
+       uint16_t addr = EA_ABS;
        OP_STA_HANDLER16(addr, regs.s);
 }
 
@@ -3093,15 +3093,15 @@ static void Op10FF(void)                                                // STS ABS
 // SUB opcodes
 
 #define OP_SUB_HANDLER(m, acc) \
-       uint16 sum = (uint16)acc - (m); \
+       uint16_t sum = (uint16_t)acc - (m); \
        flagC = (sum >> 8) & 0x01; \
        SET_V(m, acc, sum); \
-       acc = (uint8)sum; \
+       acc = (uint8_t)sum; \
        SET_ZN(acc)
 
 #define OP_SUB_HANDLER16D(m) \
-       uint32 acc = (uint32)((regs.a << 8) | regs.b); \
-       uint32 sum = acc - (m); \
+       uint32_t acc = (uint32_t)((regs.a << 8) | regs.b); \
+       uint32_t sum = acc - (m); \
        flagC = (sum >> 16) & 0x01; \
        SET_V16(m, acc, sum); \
        acc = sum & 0xFFFF; \
@@ -3111,73 +3111,73 @@ static void Op10FF(void)                                                // STS ABS
 
 static void Op80(void)                                                 // SUBA #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_SUB_HANDLER(m, regs.a);
 }
 
 static void Op83(void)                                                 // SUBD #
 {
-       uint16 m = READ_IMM16;
+       uint16_t m = READ_IMM16;
        OP_SUB_HANDLER16D(m);
 }
 
 static void Op90(void)                                                 // SUBA DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_SUB_HANDLER(m, regs.a);
 }
 
 static void Op93(void)                                                 // SUBD DP
 {
-       uint16 m = READ_DP16;
+       uint16_t m = READ_DP16;
        OP_SUB_HANDLER16D(m);
 }
 
 static void OpA0(void)                                                 // SUBA IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_SUB_HANDLER(m, regs.a);
 }
 
 static void OpA3(void)                                                 // SUBD IDX
 {
-       uint16 m = READ_IDX16;
+       uint16_t m = READ_IDX16;
        OP_SUB_HANDLER16D(m);
 }
 
 static void OpB0(void)                                                 // SUBA ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_SUB_HANDLER(m, regs.a);
 }
 
 static void OpB3(void)                                                 // SUBD ABS
 {
-       uint16 m = READ_ABS16;
+       uint16_t m = READ_ABS16;
        OP_SUB_HANDLER16D(m);
 }
 
 static void OpC0(void)                                                 // SUBB #
 {
-       uint8 m = READ_IMM;
+       uint8_t m = READ_IMM;
        OP_SUB_HANDLER(m, regs.b);
 }
 
 static void OpD0(void)                                                 // SUBB DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_SUB_HANDLER(m, regs.b);
 }
 
 static void OpE0(void)                                                 // SUBB IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_SUB_HANDLER(m, regs.b);
 }
 
 static void OpF0(void)                                                 // SUBB ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_SUB_HANDLER(m, regs.b);
 }
 
@@ -3201,7 +3201,7 @@ static void OpF0(void)                                                    // SUBB ABS
 
 static void Op0D(void)                                                 // TST DP
 {
-       uint8 m = READ_DP;
+       uint8_t m = READ_DP;
        OP_TST_HANDLER(m);
 }
 
@@ -3217,13 +3217,13 @@ static void Op5D(void)                                                  // TSTB
 
 static void Op6D(void)                                                 // TST IDX
 {
-       uint8 m = READ_IDX;
+       uint8_t m = READ_IDX;
        OP_TST_HANDLER(m);
 }
 
 static void Op7D(void)                                                 // TST ABS
 {
-       uint8 m = READ_ABS;
+       uint8_t m = READ_ABS;
        OP_TST_HANDLER(m);
 }
 
@@ -3237,8 +3237,8 @@ static void Op01(void)
 
 //temp, for testing...
 #ifdef __DEBUG__
-static uint8 backTrace[256];
-static uint16 btPC[256];
+static uint8_t backTrace[256];
+static uint16_t btPC[256];
 static int btPtr = 0;//*/
 #endif
 static void Op__(void)                                                                 // Illegal opcode
@@ -3331,7 +3331,7 @@ static void (* exec_op2[256])() = {
 static void Op10(void)
 {
 //     exec_op1[regs.RdMem(regs.pc++)]();
-       uint8 opcode = regs.RdMem(regs.pc++);
+       uint8_t opcode = regs.RdMem(regs.pc++);
        exec_op1[opcode]();
        regs.clock += page1Cycles[opcode];
 }
@@ -3340,7 +3340,7 @@ static void Op10(void)
 static void Op11(void)
 {
 //     exec_op2[regs.RdMem(regs.pc++)]();
-       uint8 opcode = regs.RdMem(regs.pc++);
+       uint8_t opcode = regs.RdMem(regs.pc++);
        exec_op2[opcode]();
        regs.clock += page2Cycles[opcode];
 }
@@ -3349,11 +3349,11 @@ static void Op11(void)
 //
 // Internal "memcpy" (so we don't have to link with any external libraries!)
 //
-static void myMemcpy(void * dst, void * src, uint32 size)
+static void myMemcpy(void * dst, void * src, uint32_t size)
 {
-       uint8 * d = (uint8 *)dst, * s = (uint8 *)src;
+       uint8_t * d = (uint8_t *)dst, * s = (uint8_t *)src;
 
-       for(uint32 i=0; i<size; i++)
+       for(uint32_t i=0; i<size; i++)
                d[i] = s[i];
 }
 
@@ -3364,12 +3364,12 @@ static void myMemcpy(void * dst, void * src, uint32 size)
 #ifdef DEBUG_ILLEGAL
 #include "log.h"
 #include "dis6809.h"
-uint8 btPtr = 0;
-uint8 backTrace[256];
+uint8_t btPtr = 0;
+uint8_t backTrace[256];
 V6809REGS btRegs[256];
 bool tripped = false;
 #endif
-void Execute6809(V6809REGS * context, uint32 cycles)
+void Execute6809(V6809REGS * context, uint32_t cycles)
 {
        // If this is not in place, the clockOverrun calculations can cause the V6809 to get
        // stuck in an infinite loop.
@@ -3377,7 +3377,7 @@ void Execute6809(V6809REGS * context, uint32 cycles)
                return;
 
        myMemcpy(&regs, context, sizeof(V6809REGS));
-       UNPACK_FLAGS;                                                           // Explode flags register into individual uint8s
+       UNPACK_FLAGS;                                                           // Explode flags register into individual uint8_ts
 
        // Execute here...
 
@@ -3387,7 +3387,7 @@ void Execute6809(V6809REGS * context, uint32 cycles)
        // through we remove them from the cycles passed in in order to come out
        // approximately even. Over the long run, this unevenness in execution times
        // evens out.
-       uint64 endCycles = regs.clock + (uint64)(cycles - regs.clockOverrun);
+       uint64_t endCycles = regs.clock + (uint64_t)(cycles - regs.clockOverrun);
 
        while (regs.clock < endCycles)
        {
@@ -3403,7 +3403,7 @@ if (!tripped)
                WriteLog("V6809: Executed illegal instruction!!!!\n\nBacktrace:\n\n");
                regs.cpuFlags &= ~V6809_STATE_ILLEGAL_INST;
 
-               for(uint16 i=btPtr; i<btPtr+256; i++)
+               for(uint16_t i=btPtr; i<btPtr+256; i++)
                {
                        Decode6809(btRegs[i & 0xFF].pc);
 // Note that these values are *before* execution, so stale...
@@ -3438,15 +3438,15 @@ btPC[btPtr] = regs.pc;
 btPtr = (btPtr + 1) & 0xFF;//*/
 #endif
 //             exec_op0[regs.RdMem(regs.pc++)]();
-               uint8 opcode = regs.RdMem(regs.pc++);
+               uint8_t opcode = regs.RdMem(regs.pc++);
                exec_op0[opcode]();
                regs.clock += page0Cycles[opcode];
 
                // Handle any pending interrupts
 
 // Hmm, this is bad and only works when flags are changed OUTSIDE of the running context...
-//             uint32 flags = context->cpuFlags;
-               uint32 flags = regs.cpuFlags;
+//             uint32_t flags = context->cpuFlags;
+               uint32_t flags = regs.cpuFlags;
 
                if (flags & V6809_ASSERT_LINE_RESET)                    // *** RESET handler ***
                {
@@ -3546,7 +3546,7 @@ if (disasm) WriteLog("CC=%s%s%s%s%s%s%s%s A=%02X B=%02X DP=%02X X=%04X Y=%04X S=
        }
 
        // Keep track of how much we overran so we can adjust on the next run...
-       regs.clockOverrun = (uint32)(regs.clock - endCycles);
+       regs.clockOverrun = (uint32_t)(regs.clock - endCycles);
 
        regs.cc = PACK_FLAGS;                                           // Mash flags back into the CC register
        myMemcpy(context, &regs, sizeof(V6809REGS));
@@ -3555,7 +3555,7 @@ if (disasm) WriteLog("CC=%s%s%s%s%s%s%s%s A=%02X B=%02X DP=%02X X=%04X Y=%04X S=
 //
 // Get the clock of the currently executing CPU
 //
-uint64 GetCurrentV6809Clock(void)
+uint64_t GetCurrentV6809Clock(void)
 {
        return regs.clock;
 }
@@ -3563,19 +3563,19 @@ uint64 GetCurrentV6809Clock(void)
 //
 // Get the PC of the currently executing CPU
 //
-uint16 GetCurrentV6809PC(void)
+uint16_t GetCurrentV6809PC(void)
 {
        return regs.pc;
 }
 
 // Set a line of the currently executing CPU
-void SetLineOfCurrentV6809(uint32 line)
+void SetLineOfCurrentV6809(uint32_t line)
 {
        regs.cpuFlags |= line;
 }
 
 // Clear a line of the currently executing CPU
-void ClearLineOfCurrentV6809(uint32 line)
+void ClearLineOfCurrentV6809(uint32_t line)
 {
 #ifdef __DEBUG__
 if (disasm)