X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fv65c02.h;h=9b71d46260c9d8119d83b7b5e137cfe9a27b2b0f;hb=f36d026c7b8b398b88765ec5b67a3c767fe5fbad;hp=7a557ab5848ca567a128adbc1a41dae58021f0e8;hpb=5aaf5d5685d6658b9270b695c410d59500ae78e9;p=apple2 diff --git a/src/v65c02.h b/src/v65c02.h old mode 100755 new mode 100644 index 7a557ab..9b71d46 --- a/src/v65c02.h +++ b/src/v65c02.h @@ -1,14 +1,14 @@ // // Virtual 65C02 Header file // -// by James L. Hammons +// by James Hammons // (c) 2005 Underground Software // #ifndef __V65C02_H__ #define __V65C02_H__ -#include "types.h" +#include // Useful defines @@ -31,16 +31,18 @@ struct V65C02REGS { - uint16 pc; // 65C02 PC register - uint8 cc; // 65C02 Condition Code register - uint8 sp; // 65C02 System stack pointer (bound to $01xx) - uint8 a; // 65C02 A register - uint8 x; // 65C02 X index register - uint8 y; // 65C02 Y register - uint32 clock; // 65C02 clock (@ 1 MHz, wraps at 71.5 minutes) - uint8 (* RdMem)(uint16); // Address of BYTE read routine - void (* WrMem)(uint16, uint8); // Address of BYTE write routine - uint16 cpuFlags; // v65C02 IRQ/RESET flags + uint16_t pc; // 65C02 PC register + uint8_t cc; // 65C02 Condition Code register + uint8_t sp; // 65C02 System stack pointer (bound to $01xx) + uint8_t a; // 65C02 A register + uint8_t x; // 65C02 X index register + uint8_t y; // 65C02 Y register +// uint32_t clock; // 65C02 clock (@ 1 MHz, wraps at 71.5 minutes) + uint64_t clock; // 65C02 clock (@ 1 MHz, wraps at 570842 years) + uint8_t (* RdMem)(uint16_t); // Address of BYTE read routine + void (* WrMem)(uint16_t, uint8_t); // Address of BYTE write routine + uint16_t cpuFlags; // v65C02 IRQ/RESET flags + uint64_t overflow; // # of cycles we went over last time through }; // Global variables (exported) @@ -49,7 +51,7 @@ extern bool dumpDis; // Function prototypes -void Execute65C02(V65C02REGS *, uint32); // Function to execute 65C02 instructions -uint32 GetCurrentV65C02Clock(void); // Get the clock of the currently executing CPU +void Execute65C02(V65C02REGS *, uint32_t); // Function to execute 65C02 instructions +uint64_t GetCurrentV65C02Clock(void); // Get the clock of the currently executing CPU #endif // __V65C02_H__