AppleWin/source/CPU.h
tomch 25dbca891b Fix for step in debugger from reset (1st step would just do the CPU reset):
. Removed CPU reset processing from InternalCpuExecute(). This is now done in CpuReset(). Removed the now redundant regs.bRESET member.
. CpuReset() now also clears regs.bJammed.
2006-07-02 17:52:23 +00:00

40 lines
1.0 KiB
C

#pragma once
#define CPU_COMPILING 0
#define CPU_INTERPRETIVE 1
#define CPU_FASTPAGING 2
typedef struct _regsrec {
BYTE a; // accumulator
BYTE x; // index X
BYTE y; // index Y
BYTE ps; // processor status
WORD pc; // program counter
WORD sp; // stack pointer
BYTE bJammed; // CPU has crashed (NMOS 6502 only)
} regsrec, *regsptr;
extern DWORD cpuemtype;
extern regsrec regs;
extern unsigned __int64 g_nCumulativeCycles;
void CpuDestroy ();
void CpuCalcCycles(ULONG nCyclesLeft);
DWORD CpuExecute (DWORD);
void CpuGetCode (WORD,LPBYTE *,DWORD *);
ULONG CpuGetCyclesThisFrame();
void CpuInitialize ();
void CpuReinitialize ();
void CpuResetCompilerData ();
void CpuSetupBenchmark ();
BOOL CpuSupportsFastPaging ();
void CpuIrqReset();
void CpuIrqAssert(eIRQSRC Device);
void CpuIrqDeassert(eIRQSRC Device);
void CpuNmiReset();
void CpuNmiAssert(eIRQSRC Device);
void CpuNmiDeassert(eIRQSRC Device);
void CpuReset ();
DWORD CpuGetSnapshot(SS_CPU6502* pSS);
DWORD CpuSetSnapshot(SS_CPU6502* pSS);