X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fv6809.h;h=9511654fb9ceb3647bffa0a4fbbfd2e74cc50e8c;hb=f76a576fe270d4bd78eb4070eb9604115a096c2d;hp=6ad4424c03eec039f758ba9902eca239e70a7872;hpb=fa2e10a964b5f0305656d858a3a8273baad12624;p=thunder diff --git a/src/v6809.h b/src/v6809.h index 6ad4424..9511654 100755 --- a/src/v6809.h +++ b/src/v6809.h @@ -3,7 +3,7 @@ // // by James L. Hammons // -// (c) 1997, 2004 Underground Software +// (C) 1997, 2004 Underground Software // #ifndef __V6809_H__ @@ -35,24 +35,29 @@ struct V6809REGS { - uint16 pc; // 6809 PC register + 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 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 -//uint32 _reserved;// uint8 (* Fetch)(uint16&); // Address of uint8 fetch routine + 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; }; // Function prototypes -void Execute6809(V6809REGS *, uint32); // Function to execute 6809 instructions +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 SetLine(uint32 line); // Set a line of the currently executing CPU +void ClearLine(uint32 line); // Clear a line of the currently executing CPU #endif // __V6809_H__