]> Shamusworld >> Repos - thunder/blobdiff - src/v6809.h
Code cleanup.
[thunder] / src / v6809.h
index 39fc3f84638e86545644c4a2319f5f2d1af7c96e..380318c243bce63d9363873a1221efc19592262c 100644 (file)
@@ -1,26 +1,26 @@
 //
 // Virtual 6809 Header file
 //
-// by James L. Hammons
+// by James Hammons
 //
-// (C) 1997, 2004 Underground Software
+// (C) 1997, 2014 Underground Software
 //
 
 #ifndef __V6809_H__
 #define __V6809_H__
 
-#include "types.h"
+#include <stdint.h>
 
 // Useful defines
 
-#define FLAG_E         0x80            // Entire
-#define FLAG_F         0x40            // Fast IRQ
-#define FLAG_H         0x20            // Half carry
-#define FLAG_I         0x10            // IRQ
-#define FLAG_N         0x08            // Negative
-#define FLAG_Z         0x04            // Zero
-#define FLAG_V         0x02            // oVerflow
-#define FLAG_C         0x01            // Carry
+#define FLAG_E 0x80            // Entire
+#define FLAG_F 0x40            // Fast IRQ
+#define FLAG_H 0x20            // Half carry
+#define FLAG_I 0x10            // IRQ
+#define FLAG_N 0x08            // Negative
+#define FLAG_Z 0x04            // Zero
+#define FLAG_V 0x02            // oVerflow
+#define FLAG_C 0x01            // Carry
 
 #define V6809_ASSERT_LINE_RESET                0x0001          // v6809 RESET line
 #define V6809_ASSERT_LINE_IRQ          0x0002          // v6809 IRQ line
 #define V6809_ASSERT_LINE_NMI          0x0008          // v6809 NMI line
 #define V6809_STATE_SYNC                       0x0010          // v6809 SYNC line
 #define V6809_STATE_ILLEGAL_INST       0x0020          // Illegal instruction executed flag
-
 //#define V6809_START_DEBUG_LOG        EQU     0020h           // Debug log go (temporary!)
 
 // Useful structs
 
 struct V6809REGS
 {
-       uint16 pc;                                              // 6809 PC register
-       uint16 x;                                               // 6809 X index register
-       uint16 y;                                               // 6809 Y index register
-       uint16 s;                                               // 6809 System stack pointer
-       uint16 u;                                               // 6809 User stack pointer
-       uint8 cc;                                               // 6809 Condition Code register
-       uint8 a;                                                // 6809 A register
-       uint8 b;                                                // 6809 B register
-       uint8 dp;                                               // 6809 Direct Page register
-//     uint32 clock;                                   // 6809 clock (@ 1 MHz, wraps at 71.5 minutes)
-       uint64 clock;                                   // 6809 clock (@ 1 MHz, wraps at 570842 years)
-       uint8 (* RdMem)(uint16);                // Address of uint8 read routine
-       void (* WrMem)(uint16, uint8);  // Address of uint8 write routine
-       uint32 cpuFlags;                                // v6809 IRQ/RESET flags
-       uint32 clockOverrun;
+       uint16_t pc;                                    // 6809 PC register
+       uint16_t x;                                             // 6809 X index register
+       uint16_t y;                                             // 6809 Y index register
+       uint16_t s;                                             // 6809 System stack pointer
+       uint16_t u;                                             // 6809 User stack pointer
+       uint8_t cc;                                             // 6809 Condition Code register
+       uint8_t a;                                              // 6809 A register
+       uint8_t b;                                              // 6809 B register
+       uint8_t dp;                                             // 6809 Direct Page register
+//     uint32_t clock;                                 // 6809 clock (@ 1 MHz, wraps at 71.5 minutes)
+       uint64_t clock;                                 // 6809 clock (@ 1 MHz, wraps at 570842 years)
+       uint8_t (* RdMem)(uint16_t);            // Address of uint8_t read routine
+       void (* WrMem)(uint16_t, uint8_t);      // Address of uint8_t write routine
+       uint32_t cpuFlags;                              // v6809 IRQ/RESET flags
+       uint32_t clockOverrun;
 };
 
 // Function prototypes
 
-void Execute6809(V6809REGS *, uint32);                 // Function to execute 6809 instructions
-uint64 GetCurrentV6809Clock(void);                             // Get the clock of the currently executing CPU
-uint16 GetCurrentV6809PC(void);                                        // Get the PC of the currently executing CPU
-void SetLineOfCurrentV6809(uint32 line);               // Set a line of the currently executing CPU
-void ClearLineOfCurrentV6809(uint32 line);             // Clear a line of the currently executing CPU
+void Execute6809(V6809REGS *, uint32_t);               // Function to execute 6809 instructions
+uint64_t GetCurrentV6809Clock(void);                   // Get the clock of the currently executing CPU
+uint16_t GetCurrentV6809PC(void);                              // Get the PC of the currently executing CPU
+void SetLineOfCurrentV6809(uint32_t line);             // Set a line of the currently executing CPU
+void ClearLineOfCurrentV6809(uint32_t line);   // Clear a line of the currently executing CPU
 
 #endif // __V6809_H__
+