X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fv6809.h;fp=src%2Fv6809.h;h=ae8a33754efbab92c42927d80e2b6ca511004993;hb=a7c3ff9deab4cefbc76ac52d38b67e7033c63cf6;hp=380318c243bce63d9363873a1221efc19592262c;hpb=6e4a6b1f4aecb0ec7cab2c3dea9553f30f848a4c;p=thunder diff --git a/src/v6809.h b/src/v6809.h old mode 100644 new mode 100755 index 380318c..ae8a337 --- a/src/v6809.h +++ b/src/v6809.h @@ -1,9 +1,9 @@ // // Virtual 6809 Header file // -// by James Hammons +// by James L. Hammons // -// (C) 1997, 2014 Underground Software +// (C) 1997, 2004 Underground Software // #ifndef __V6809_H__ @@ -13,14 +13,14 @@ // 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 @@ -28,6 +28,7 @@ #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 @@ -43,10 +44,9 @@ struct V6809REGS 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 + uint8_t (* RdMem)(uint16_t); // Address of uint8 read routine + void (* WrMem)(uint16_t, uint8_t); // Address of uint8 write routine uint32_t cpuFlags; // v6809 IRQ/RESET flags uint32_t clockOverrun; };