mirror of
https://github.com/AppleWin/AppleWin.git
synced 2026-04-26 11:30:11 +00:00
First pass of NTSC integration
This commit is contained in:
@@ -44,6 +44,11 @@ static DWORD Cpu6502 (DWORD uTotalCycles)
|
||||
UINT uExtraCycles = 0;
|
||||
BYTE iOpcode;
|
||||
|
||||
// NTSC_BEGIN
|
||||
ULONG uElapsedCycles;
|
||||
ULONG uPreviousCycles = uExecutedCycles;
|
||||
// NTSC_END
|
||||
|
||||
if (g_ActiveCPU == CPU_Z80)
|
||||
{
|
||||
const UINT uZ80Cycles = z80_mainloop(uTotalCycles, uExecutedCycles); CYC(uZ80Cycles)
|
||||
@@ -315,6 +320,14 @@ static DWORD Cpu6502 (DWORD uTotalCycles)
|
||||
}
|
||||
}
|
||||
|
||||
// NTSC_BEGIN
|
||||
uElapsedCycles = uExecutedCycles - uPreviousCycles;
|
||||
if( g_bFullSpeed )
|
||||
NTSC_VideoUpdateCycles( uElapsedCycles );
|
||||
else
|
||||
g_pNTSC_FuncVideoUpdate( uElapsedCycles );
|
||||
// NTSC_END
|
||||
|
||||
CheckInterruptSources(uExecutedCycles);
|
||||
NMI(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
IRQ(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
|
||||
@@ -47,6 +47,11 @@ static DWORD Cpu65C02 (DWORD uTotalCycles)
|
||||
UINT uExtraCycles = 0;
|
||||
BYTE iOpcode;
|
||||
|
||||
// NTSC_BEGIN
|
||||
ULONG uElapsedCycles;
|
||||
ULONG uPreviousCycles = uExecutedCycles;
|
||||
// NTSC_END
|
||||
|
||||
if (g_ActiveCPU == CPU_Z80)
|
||||
{
|
||||
const UINT uZ80Cycles = z80_mainloop(uTotalCycles, uExecutedCycles); CYC(uZ80Cycles)
|
||||
@@ -319,6 +324,14 @@ static DWORD Cpu65C02 (DWORD uTotalCycles)
|
||||
#undef $
|
||||
}
|
||||
|
||||
// NTSC_BEGIN
|
||||
uElapsedCycles = uExecutedCycles - uPreviousCycles;
|
||||
if( g_bFullSpeed )
|
||||
NTSC_VideoUpdateCycles( uElapsedCycles );
|
||||
else
|
||||
g_pNTSC_FuncVideoUpdate( uElapsedCycles );
|
||||
// NTSC_END
|
||||
|
||||
CheckInterruptSources(uExecutedCycles);
|
||||
NMI(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
IRQ(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
|
||||
@@ -106,6 +106,11 @@ static DWORD Cpu65D02 (DWORD uTotalCycles)
|
||||
UINT uExtraCycles = 0;
|
||||
BYTE iOpcode;
|
||||
|
||||
// NTSC_BEGIN
|
||||
ULONG uElapsedCycles;
|
||||
ULONG uPreviousCycles = uExecutedCycles;
|
||||
// NTSC_END
|
||||
|
||||
if (g_ActiveCPU == CPU_Z80)
|
||||
{
|
||||
const UINT uZ80Cycles = z80_mainloop(uTotalCycles, uExecutedCycles); CYC(uZ80Cycles)
|
||||
@@ -648,6 +653,14 @@ static DWORD Cpu65D02 (DWORD uTotalCycles)
|
||||
}
|
||||
#undef $
|
||||
|
||||
// NTSC_BEGIN
|
||||
uElapsedCycles = uExecutedCycles - uPreviousCycles;
|
||||
if( g_bFullSpeed )
|
||||
NTSC_VideoUpdateCycles( uElapsedCycles );
|
||||
else
|
||||
g_pNTSC_FuncVideoUpdate( uElapsedCycles );
|
||||
// NTSC_END
|
||||
|
||||
CheckInterruptSources(uExecutedCycles);
|
||||
NMI(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
IRQ(uExecutedCycles, uExtraCycles, flagc, flagn, flagv, flagz);
|
||||
|
||||
Reference in New Issue
Block a user