Move overclock-related variables to ppu instead
Just makes more sense since overclocking is ppu-based.
This commit is contained in:
24
src/ppu.c
24
src/ppu.c
@@ -64,6 +64,8 @@ static uint32 ppulut1[256];
|
||||
static uint32 ppulut2[256];
|
||||
static uint32 ppulut3[128];
|
||||
|
||||
FCEU_PPU ppu;
|
||||
|
||||
static void makeppulut(void) {
|
||||
int x;
|
||||
int y;
|
||||
@@ -660,7 +662,7 @@ static void DoLine(void)
|
||||
uint8 *target = NULL;
|
||||
uint8 *dtarget = NULL;
|
||||
|
||||
if (scanline >= 240 && scanline != FSettings.totalscanlines)
|
||||
if (scanline >= 240 && scanline != ppu.totalscanlines)
|
||||
{
|
||||
X6502_Run(256 + 69);
|
||||
scanline++;
|
||||
@@ -1166,10 +1168,10 @@ int FCEUPPU_Loop(int skip) {
|
||||
TriggerNMI();
|
||||
}
|
||||
X6502_Run((scanlines_per_frame - 242) * (256 + 85) - 12);
|
||||
if (FSettings.overclock_enabled && FSettings.vblankscanlines) {
|
||||
if (!DMC_7bit || !FSettings.skip_7bit_overclocking) {
|
||||
if (ppu.overclock_enabled && ppu.vblankscanlines) {
|
||||
if (!DMC_7bit || !ppu.skip_7bit_overclocking) {
|
||||
overclocking = 1;
|
||||
X6502_Run(FSettings.vblankscanlines * (256 + 85) - 12);
|
||||
X6502_Run(ppu.vblankscanlines * (256 + 85) - 12);
|
||||
overclocking = 0;
|
||||
}
|
||||
}
|
||||
@@ -1203,7 +1205,7 @@ int FCEUPPU_Loop(int skip) {
|
||||
kook ^= 1;
|
||||
}
|
||||
if (GameInfo->type == GIT_NSF)
|
||||
X6502_Run((256 + 85) * FSettings.normal_scanlines);
|
||||
X6502_Run((256 + 85) * ppu.normal_scanlines);
|
||||
#ifdef FRAMESKIP
|
||||
else if (skip) {
|
||||
int y;
|
||||
@@ -1234,19 +1236,19 @@ int FCEUPPU_Loop(int skip) {
|
||||
deemp = PPU[1] >> 5;
|
||||
|
||||
/* manual samples can't play correctly with overclocking */
|
||||
if (DMC_7bit && FSettings.skip_7bit_overclocking)
|
||||
FSettings.totalscanlines = FSettings.normal_scanlines;
|
||||
if (DMC_7bit && ppu.skip_7bit_overclocking)
|
||||
ppu.totalscanlines = ppu.normal_scanlines;
|
||||
else
|
||||
FSettings.totalscanlines = FSettings.normal_scanlines + (FSettings.overclock_enabled ? FSettings.extrascanlines : 0);
|
||||
ppu.totalscanlines = ppu.normal_scanlines + (ppu.overclock_enabled ? ppu.extrascanlines : 0);
|
||||
|
||||
for (scanline = 0; scanline < FSettings.totalscanlines; ) { /* scanline is incremented in DoLine. Evil. :/ */
|
||||
for (scanline = 0; scanline < ppu.totalscanlines; ) { /* scanline is incremented in DoLine. Evil. :/ */
|
||||
deempcnt[deemp]++;
|
||||
/* if ((PPUViewer) && (scanline == PPUViewScanline)) UpdatePPUView(1); */
|
||||
DoLine();
|
||||
if (scanline < FSettings.normal_scanlines || scanline == FSettings.totalscanlines)
|
||||
if (scanline < ppu.normal_scanlines || scanline == ppu.totalscanlines)
|
||||
overclocking = 0;
|
||||
else {
|
||||
if (DMC_7bit && FSettings.skip_7bit_overclocking) /* 7bit sample started after 240th line */
|
||||
if (DMC_7bit && ppu.skip_7bit_overclocking) /* 7bit sample started after 240th line */
|
||||
break;
|
||||
overclocking = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user