Revert "some cleanups"

This commit is contained in:
Autechre 2021-06-05 15:05:07 +02:00 committed by GitHub
parent cbc17a077b
commit aa4615c417
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 174 additions and 127 deletions

View File

@ -752,8 +752,8 @@ else
WARNING_DEFINES = -Wno-write-strings
endif
CFLAGS += $(fpic) $(WARNING_DEFINES) $(DEFINES) $(ENDIANNESS_DEFINES) -Werror=implicit-function-declaration
LDFLAGS += $(LIBM) -Werror=implicit-function-declaration
CFLAGS += $(fpic) $(WARNING_DEFINES) $(DEFINES) $(ENDIANNESS_DEFINES)
LDFLAGS += $(LIBM)
ifeq ($(platform), psp1)
INCFLAGS += -I$(shell psp-config --pspsdk-path)/include

View File

@ -104,7 +104,4 @@ void FCEU_OpenGenie(void);
void FCEU_CloseGenie(void);
void FCEU_KillGenie(void);
extern CartInfo iNESCart;
extern CartInfo UNIFCart;
#endif

View File

@ -67,6 +67,8 @@ void linearFree(void* mem);
RETRO_HW_RENDER_INTEFACE_GSKIT_PS2 *ps2 = NULL;
#endif
extern void FCEU_ZapperSetTolerance(int t);
static retro_video_refresh_t video_cb = NULL;
static retro_input_poll_t poll_cb = NULL;
static retro_input_state_t input_cb = NULL;
@ -93,7 +95,7 @@ static int aspect_ratio_par;
#define MAX_BUTTONS 8
#define TURBO_BUTTONS 2
unsigned turbo_button_toggle[MAX_PLAYERS][TURBO_BUTTONS] = { {0} };
unsigned char turbo_button_toggle[MAX_PLAYERS][TURBO_BUTTONS] = { {0} };
typedef struct
{
@ -143,11 +145,27 @@ static bool libretro_supports_bitmasks = false;
const size_t PPU_BIT = 1ULL << 31ULL;
extern uint8 NTARAM[0x800], PALRAM[0x20], SPRAM[0x100], PPU[4];
/* overclock the console by adding dummy scanlines to PPU loop
* disables DMC DMA and WaveHi filling for these dummies
* doesn't work with new PPU */
unsigned overclock_enabled = -1;
unsigned overclocked = 0;
unsigned skip_7bit_overclocking = 1; /* 7-bit samples have priority over overclocking */
unsigned totalscanlines = 0;
unsigned normal_scanlines = 240;
unsigned extrascanlines = 0;
unsigned vblankscanlines = 0;
unsigned dendy = 0;
static unsigned systemRegion = 0;
static unsigned opt_region = 0;
static unsigned opt_showAdvSoundOptions = 0;
static unsigned opt_showAdvSystemOptions = 0;
int FCEUnetplay;
#if defined(PSP) || defined(PS2)
static __attribute__((aligned(16))) uint16_t retro_palette[256];
#else
@ -163,14 +181,28 @@ static uint16_t* fceu_video_out;
static unsigned sndsamplerate;
static unsigned sndquality;
static unsigned sndvolume;
unsigned swapDuty;
static int32_t *sound = 0;
static uint32_t Dummy = 0;
static uint32_t current_palette = 0;
static unsigned serialize_size;
int PPUViewScanline=0;
int PPUViewer=0;
/* extern forward decls.*/
extern FCEUGI *GameInfo;
extern uint8 *XBuf;
extern CartInfo iNESCart;
extern CartInfo UNIFCart;
extern int show_crosshair;
extern int option_ramstate;
/* emulator-specific callback functions */
void UpdatePPUView(int refreshchr) { }
const char * GetKeyboard(void)
{
return "";
@ -273,7 +305,13 @@ FILE *FCEUD_UTF8fopen(const char *n, const char *m)
}
/*palette for FCEU*/
#define PAL_TOTAL 16 /* total no. of palettes in palettes[] */
#define PAL_DEFAULT (PAL_TOTAL + 1)
#define PAL_RAW (PAL_TOTAL + 2)
#define PAL_CUSTOM (PAL_TOTAL + 3)
static int external_palette_exist = 0;
extern int ipalette;
/* table for currently loaded palette */
static uint8_t base_palette[192];
@ -575,11 +613,6 @@ struct st_palettes palettes[] = {
}
};
#define PAL_TOTAL (sizeof(palettes) / sizeof(palettes[0])) /* total palettes in table */
#define PAL_DEFAULT (PAL_TOTAL + 1)
#define PAL_RAW (PAL_TOTAL + 2)
#define PAL_CUSTOM (PAL_TOTAL + 3)
#ifdef HAVE_NTSC_FILTER
/* ntsc */
#include "nes_ntsc.h"
@ -955,7 +988,7 @@ void retro_get_system_av_info(struct retro_system_av_info *info)
info->geometry.max_height = NES_HEIGHT;
info->geometry.aspect_ratio = get_aspect_ratio(width, height);
info->timing.sample_rate = (float)sndsamplerate;
if (FSettings.PAL || FSettings.dendy)
if (FSettings.PAL || dendy)
info->timing.fps = 838977920.0/16777215.0;
else
info->timing.fps = 1008307711.0/16777215.0;
@ -1060,7 +1093,7 @@ static void FCEUD_RegionOverride(unsigned region)
break;
}
FSettings.dendy = d;
dendy = d;
FCEUI_SetVidSystem(pal);
ResetPalette();
}
@ -1116,11 +1149,11 @@ static void check_variables(bool startup)
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (!strcmp(var.value, "random"))
FSettings.ramstate = 2;
option_ramstate = 2;
else if (!strcmp(var.value, "fill $00"))
FSettings.ramstate = 1;
option_ramstate = 1;
else
FSettings.ramstate = 0;
option_ramstate = 0;
}
#ifdef HAVE_NTSC_FILTER
@ -1159,18 +1192,38 @@ static void check_variables(bool startup)
current_palette = PAL_RAW;
else if (!strcmp(var.value, "custom"))
current_palette = PAL_CUSTOM;
else
{
unsigned i;
for (i = 0; i < PAL_TOTAL; i++)
{
if (!strcmp(var.value, palettes[i].name))
{
current_palette = i;
break;
}
}
}
else if (!strcmp(var.value, "asqrealc"))
current_palette = 0;
else if (!strcmp(var.value, "nintendo-vc"))
current_palette = 1;
else if (!strcmp(var.value, "rgb"))
current_palette = 2;
else if (!strcmp(var.value, "yuv-v3"))
current_palette = 3;
else if (!strcmp(var.value, "unsaturated-final"))
current_palette = 4;
else if (!strcmp(var.value, "sony-cxa2025as-us"))
current_palette = 5;
else if (!strcmp(var.value, "pal"))
current_palette = 6;
else if (!strcmp(var.value, "bmf-final2"))
current_palette = 7;
else if (!strcmp(var.value, "bmf-final3"))
current_palette = 8;
else if (!strcmp(var.value, "smooth-fbx"))
current_palette = 9;
else if (!strcmp(var.value, "composite-direct-fbx"))
current_palette = 10;
else if (!strcmp(var.value, "pvm-style-d93-fbx"))
current_palette = 11;
else if (!strcmp(var.value, "ntsc-hardware-fbx"))
current_palette = 12;
else if (!strcmp(var.value, "nes-classic-fbx-fs"))
current_palette = 13;
else if (!strcmp(var.value, "nescap"))
current_palette = 14;
else if (!strcmp(var.value, "wavebeam"))
current_palette = 15;
if (current_palette != orig_value)
{
@ -1201,33 +1254,33 @@ static void check_variables(bool startup)
bool do_reinit = false;
if (!strcmp(var.value, "disabled")
&& ppu.overclock_enabled != 0)
&& overclock_enabled != 0)
{
ppu.skip_7bit_overclocking = 1;
ppu.extrascanlines = 0;
ppu.vblankscanlines = 0;
ppu.overclock_enabled = 0;
skip_7bit_overclocking = 1;
extrascanlines = 0;
vblankscanlines = 0;
overclock_enabled = 0;
do_reinit = true;
}
else if (!strcmp(var.value, "2x-Postrender"))
{
ppu.skip_7bit_overclocking = 1;
ppu.extrascanlines = 266;
ppu.vblankscanlines = 0;
ppu.overclock_enabled = 1;
skip_7bit_overclocking = 1;
extrascanlines = 266;
vblankscanlines = 0;
overclock_enabled = 1;
do_reinit = true;
}
else if (!strcmp(var.value, "2x-VBlank"))
{
ppu.skip_7bit_overclocking = 1;
ppu.extrascanlines = 0;
ppu.vblankscanlines = 266;
ppu.overclock_enabled = 1;
skip_7bit_overclocking = 1;
extrascanlines = 0;
vblankscanlines = 266;
overclock_enabled = 1;
do_reinit = true;
}
ppu.normal_scanlines = FSettings.dendy ? SCANLINES_DENDY : SCANLINES_NORMAL;
ppu.totalscanlines = ppu.normal_scanlines + (ppu.overclock_enabled ? ppu.extrascanlines : 0);
normal_scanlines = dendy ? 290 : 240;
totalscanlines = normal_scanlines + (overclock_enabled ? extrascanlines : 0);
if (do_reinit && startup)
{
@ -1259,10 +1312,8 @@ static void check_variables(bool startup)
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (!strcmp(var.value, "enabled"))
FSettings.show_crosshair = 1;
else if (!strcmp(var.value, "disabled"))
FSettings.show_crosshair = 0;
if (!strcmp(var.value, "enabled")) show_crosshair = 1;
else if (!strcmp(var.value, "disabled")) show_crosshair = 0;
}
#ifdef PSP
@ -1400,8 +1451,8 @@ static void check_variables(bool startup)
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
bool newval = (!strcmp(var.value, "enabled"));
if (newval != FSettings.swapDuty)
FSettings.swapDuty = newval;
if (newval != swapDuty)
swapDuty = newval;
}
var.key = key;
@ -2377,6 +2428,8 @@ bool retro_load_game(const struct retro_game_info *game)
#endif
sndquality = 0;
sndvolume = 150;
swapDuty = 0;
dendy = 0;
opt_region = 0;
/* Wii: initialize this or else last variable is passed through
@ -2436,7 +2489,7 @@ bool retro_load_game(const struct retro_game_info *game)
FCEU_printf(" Loading custom palette: %s%cnes.pal\n", dir, slash);
/* Save region and dendy mode for region-auto detect */
systemRegion = (FSettings.dendy << 1) | (retro_get_region() & 1);
systemRegion = (dendy << 1) | (retro_get_region() & 1);
current_palette = 0;

View File

@ -339,14 +339,6 @@ int FCEUI_Initialize(void) {
FSettings.UsrLastSLine[0] = 231;
FSettings.UsrLastSLine[1] = 239;
FSettings.SoundVolume = 100;
FSettings.dendy = 0;
FSettings.swapDuty = 0;
ppu.overclock_enabled = 0;
ppu.skip_7bit_overclocking = 1;
ppu.totalscanlines = 0;
ppu.normal_scanlines = SCANLINES_NORMAL;
ppu.extrascanlines = 0;
ppu.vblankscanlines = 0;
FCEUPPU_Init();
X6502_Init();
return 1;
@ -387,6 +379,8 @@ void ResetNES(void)
X6502_Reset();
}
int option_ramstate = 0;
void FCEU_MemoryRand(uint8 *ptr, uint32 size)
{
int x = 0;
@ -401,7 +395,7 @@ void FCEU_MemoryRand(uint8 *ptr, uint32 size)
/* 1942 SCORE/HISCORE is screwed... */
#endif
uint8_t v = 0;
switch (FSettings.ramstate)
switch (option_ramstate)
{
case 0: v = 0xff; break;
case 1: v = 0x00; break;
@ -470,7 +464,7 @@ void FCEU_ResetVidSys(void)
else if (GameInfo->vidsys == GIV_PAL)
{
w = 1;
FSettings.dendy = 0;
dendy = 0;
}
else
w = FSettings.PAL;
@ -478,12 +472,12 @@ void FCEU_ResetVidSys(void)
PAL = w ? 1 : 0;
if (PAL)
FSettings.dendy = 0;
dendy = 0;
ppu.normal_scanlines = FSettings.dendy ? SCANLINES_DENDY : SCANLINES_NORMAL;
ppu.totalscanlines = ppu.normal_scanlines + (ppu.overclock_enabled ? ppu.extrascanlines : 0);
normal_scanlines = dendy ? 290 : 240;
totalscanlines = normal_scanlines + (overclock_enabled ? extrascanlines : 0);
FCEUPPU_SetVideoSystem(w || FSettings.dendy);
FCEUPPU_SetVideoSystem(w || dendy);
SetSoundVariables();
}
@ -521,7 +515,7 @@ void FCEUI_SetRenderedLines(int ntscf, int ntscl, int palf, int pall)
FSettings.UsrLastSLine[0] = ntscl;
FSettings.UsrFirstSLine[1] = palf;
FSettings.UsrLastSLine[1] = pall;
if (PAL || FSettings.dendy)
if (PAL || dendy)
{
FSettings.FirstSLine = FSettings.UsrFirstSLine[1];
FSettings.LastSLine = FSettings.UsrLastSLine[1];
@ -565,7 +559,7 @@ void FCEUI_SetSnapName(int a)
int32 FCEUI_GetDesiredFPS(void)
{
if (PAL || FSettings.dendy)
if (PAL || dendy)
return(838977920); /* ~50.007 */
else
return(1008307711); /* ~60.1 */

View File

@ -5,6 +5,24 @@
extern int fceuindbg;
/* Overclocking-related */
extern unsigned overclock_enabled;
extern unsigned overclocked;
extern unsigned skip_7bit_overclocking;
extern unsigned DMC_7bit;
extern unsigned totalscanlines;
extern unsigned normal_scanlines;
extern unsigned extrascanlines;
extern unsigned vblankscanlines;
/* Region selection */
extern unsigned dendy;
/* Audio mods*/
extern unsigned swapDuty; /* Swap bits 6 & 7 of $4000/$4004 to mimic bug
* found on some famiclones/Dendy models.
*/
void ResetGameLoaded(void);
#define DECLFR(x) uint8 FP_FASTAPASS(1) x(uint32 A)
@ -61,9 +79,6 @@ extern uint8 PAL;
#include "driver.h"
#define SCANLINES_NORMAL 240
#define SCANLINES_DENDY 290
typedef struct {
int PAL;
int NetworkPlay;
@ -87,13 +102,6 @@ typedef struct {
uint32 SndRate;
int soundq;
int lowpass;
int show_crosshair;
int ramstate;
int dendy;
int swapDuty; /* Swap bits 6 & 7 of $4000/$4004 to mimic bug
* found on some famiclones/Dendy models.
*/
} FCEUS;
extern FCEUS FSettings;

View File

@ -1067,8 +1067,7 @@ int iNESLoad(const char *name, FCEUFILE *fp) {
* 1: RP2C07 ("Licensed PAL NES")
* 2: Multiple-region
* 3: UMC 6527P ("Dendy") */
if (iNESCart.region == 3)
FSettings.dendy = 1;
if (iNESCart.region == 3) dendy = 1;
FCEUI_SetVidSystem((iNESCart.region == 1) ? 1 : 0);
return 1;

View File

@ -29,6 +29,4 @@ extern void (*InputScanlineHook)(uint8 *bg, uint8 *spr, uint32 linets, int final
void FCEU_DoSimpleCommand(int cmd);
void FCEU_ZapperSetTolerance(int t);
#endif

View File

@ -32,6 +32,7 @@
#include "general.h"
#include "fceu-endian.h"
#include "fceu-memory.h"
#include "ppuview.h"
#include "cart.h"
#include "palette.h"
@ -63,8 +64,6 @@ static uint32 ppulut1[256];
static uint32 ppulut2[256];
static uint32 ppulut3[128];
FCEU_PPU ppu;
static void makeppulut(void) {
int x;
int y;
@ -661,7 +660,7 @@ static void DoLine(void)
uint8 *target = NULL;
uint8 *dtarget = NULL;
if (scanline >= 240 && scanline != ppu.totalscanlines)
if (scanline >= 240 && scanline != totalscanlines)
{
X6502_Run(256 + 69);
scanline++;
@ -1067,7 +1066,7 @@ static void CopySprites(uint8 *target) {
void FCEUPPU_SetVideoSystem(int w) {
if (w) {
scanlines_per_frame = FSettings.dendy ? 262 : 312;
scanlines_per_frame = dendy ? 262 : 312;
FSettings.FirstSLine = FSettings.UsrFirstSLine[1];
FSettings.LastSLine = FSettings.UsrLastSLine[1];
} else {
@ -1167,11 +1166,11 @@ int FCEUPPU_Loop(int skip) {
TriggerNMI();
}
X6502_Run((scanlines_per_frame - 242) * (256 + 85) - 12);
if (ppu.overclock_enabled && ppu.vblankscanlines) {
if (!DMC_7bit || !ppu.skip_7bit_overclocking) {
overclocking = 1;
X6502_Run(ppu.vblankscanlines * (256 + 85) - 12);
overclocking = 0;
if (overclock_enabled && vblankscanlines) {
if (!DMC_7bit || !skip_7bit_overclocking) {
overclocked = 1;
X6502_Run(vblankscanlines * (256 + 85) - 12);
overclocked = 0;
}
}
PPU_status &= 0x1f;
@ -1204,7 +1203,7 @@ int FCEUPPU_Loop(int skip) {
kook ^= 1;
}
if (GameInfo->type == GIT_NSF)
X6502_Run((256 + 85) * ppu.normal_scanlines);
X6502_Run((256 + 85) * normal_scanlines);
#ifdef FRAMESKIP
else if (skip) {
int y;
@ -1235,20 +1234,21 @@ int FCEUPPU_Loop(int skip) {
deemp = PPU[1] >> 5;
/* manual samples can't play correctly with overclocking */
if (DMC_7bit && ppu.skip_7bit_overclocking)
ppu.totalscanlines = ppu.normal_scanlines;
if (DMC_7bit && skip_7bit_overclocking)
totalscanlines = normal_scanlines;
else
ppu.totalscanlines = ppu.normal_scanlines + (ppu.overclock_enabled ? ppu.extrascanlines : 0);
totalscanlines = normal_scanlines + (overclock_enabled ? extrascanlines : 0);
for (scanline = 0; scanline < ppu.totalscanlines; ) { /* scanline is incremented in DoLine. Evil. :/ */
for (scanline = 0; scanline < totalscanlines; ) { /* scanline is incremented in DoLine. Evil. :/ */
deempcnt[deemp]++;
/* if ((PPUViewer) && (scanline == PPUViewScanline)) UpdatePPUView(1); */
DoLine();
if (scanline < ppu.normal_scanlines || scanline == ppu.totalscanlines)
overclocking = 0;
if (scanline < normal_scanlines || scanline == totalscanlines)
overclocked = 0;
else {
if (DMC_7bit && ppu.skip_7bit_overclocking) /* 7bit sample started after 240th line */
if (DMC_7bit && skip_7bit_overclocking) /* 7bit sample started after 240th line */
break;
overclocking = 1;
overclocked = 1;
}
}

View File

@ -1,18 +1,6 @@
#ifndef _FCEU_PPU_H
#define _FCEU_PPU_H
typedef struct {
/* PPU Overclocking */
int overclock_enabled; /* 1 : enable, 0 : disable duh! */
int skip_7bit_overclocking; /* 7-bit samples have priority over overclocking */
int extrascanlines;
int vblankscanlines;
int normal_scanlines; /* 240 : normal, 290 : dendy */
int totalscanlines;
} FCEU_PPU;
extern FCEU_PPU ppu;
void FCEUPPU_Init(void);
void FCEUPPU_Reset(void);
void FCEUPPU_Power(void);
@ -28,8 +16,6 @@ extern void FP_FASTAPASS(1) (*PPU_hook)(uint32 A);
extern uint8 NTARAM[0x800], *vnapage[4];
extern uint8 PPUNTARAM;
extern uint8 PPUCHRRAM;
extern uint8 PALRAM[0x20];
extern uint8 SPRAM[0x100];
void FCEUPPU_SaveState(void);
void FCEUPPU_LoadState(int version);

13
src/ppuview.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef _FCEU_PPUVIEW_H
#define _FCEU_PPUVIEW_H
extern int PPUViewScanline;
extern int PPUViewer;
extern int scanline;
void PPUViewDoBlit();
void DoPPUView();
void UpdatePPUView(int refreshchr);
#endif

View File

@ -61,7 +61,7 @@ typedef struct {
int reloaddec;
} ENVUNIT;
uint32 DMC_7bit = 0; /* used to skip overclocking */
unsigned DMC_7bit = 0; /* used to skip overclocking */
static ENVUNIT EnvUnits[3];
static const int RectDuties[4] = { 1, 2, 4, 6 };
@ -195,7 +195,7 @@ static DECLFW(Write_PSG) {
DoSQ1();
EnvUnits[0].Mode = (V & 0x30) >> 4;
EnvUnits[0].Speed = (V & 0xF);
if (FSettings.swapDuty)
if (swapDuty)
V = (V & 0x3F) | ((V & 0x80) >> 1) | ((V & 0x40) << 1);
break;
case 0x1:
@ -216,7 +216,7 @@ static DECLFW(Write_PSG) {
DoSQ2();
EnvUnits[1].Mode = (V & 0x30) >> 4;
EnvUnits[1].Speed = (V & 0xF);
if (FSettings.swapDuty)
if (swapDuty)
V = (V & 0x3F) | ((V & 0x80) >> 1) | ((V & 0x40) << 1);
break;
case 0x5:

View File

@ -50,7 +50,6 @@ extern int32 Wave[2048 + 512];
extern int32 WaveFinal[2048 + 512];
extern int32 WaveHi[];
extern uint32 soundtsinc;
extern uint32 DMC_7bit;
extern uint32 soundtsoffs;
#define SOUNDTS (sound_timestamp + soundtsoffs)

View File

@ -37,6 +37,7 @@
uint8 *XBuf = NULL;
uint8 *XDBuf = NULL;
int show_crosshair = 0;
void FCEU_KillVirtualVideo(void)
{
@ -52,15 +53,15 @@ int FCEU_InitVirtualVideo(void)
{
/* 256 bytes per scanline, * 240 scanline maximum, +8 for alignment, */
if (!XBuf)
XBuf = (uint8*)(FCEU_malloc(256 * (256 + ppu.extrascanlines + 8)));
XBuf = (uint8*)(FCEU_malloc(256 * (256 + extrascanlines + 8)));
if (!XDBuf)
XDBuf = (uint8*)(FCEU_malloc(256 * (256 + ppu.extrascanlines + 8)));
XDBuf = (uint8*)(FCEU_malloc(256 * (256 + extrascanlines + 8)));
if (!XBuf || !XDBuf)
return 0;
memset(XBuf, 128, 256 * (256 + ppu.extrascanlines + 8));
memset(XDBuf, 128, 256 * (256 + ppu.extrascanlines + 8));
memset(XBuf, 128, 256 * (256 + extrascanlines + 8));
memset(XDBuf, 128, 256 * (256 + extrascanlines + 8));
return 1;
}
@ -81,7 +82,7 @@ void FCEU_PutImage(void)
FCEU_VSUniDraw(XBuf);
}
if (howlong) howlong--;
if (FSettings.show_crosshair)
if (show_crosshair)
FCEU_DrawInput(XBuf);
}

View File

@ -6,6 +6,7 @@ void FCEU_KillVirtualVideo(void);
int SaveSnapshot(void);
extern uint8 *XBuf;
extern uint8 *XDBuf;
extern int show_crosshair;
void FCEU_DrawNumberRow(uint8 *XBuf, int *nstatus, int cur);
#endif

View File

@ -34,7 +34,6 @@ void (*X6502_Run)(int32 cycles);
uint32 timestamp;
uint32 sound_timestamp;
uint32 overclocking = 0;
void FP_FASTAPASS(1) (*MapIRQHook)(int a);
#define _PC X.PC
@ -55,7 +54,7 @@ void FP_FASTAPASS(1) (*MapIRQHook)(int a);
_tcount += __x; \
_count -= __x * 48; \
timestamp += __x; \
if (!overclocking) sound_timestamp += __x; \
if (!overclocked) sound_timestamp += __x; \
}
static INLINE uint8 RdMemNorm(uint32 A) {
@ -517,7 +516,7 @@ static void X6502_RunDebug(int32 cycles) {
_tcount = 0;
if (MapIRQHook) MapIRQHook(temp);
if (!overclocking)
if (!overclocked)
FCEU_SoundCPUHook(temp);
_PC++;
@ -614,7 +613,7 @@ void X6502_Run(int32 cycles)
temp = _tcount;
_tcount = 0;
if (MapIRQHook) MapIRQHook(temp);
if (!overclocking)
if (!overclocked)
FCEU_SoundCPUHook(temp);
X.PC = pbackus;
_PC++;

View File

@ -35,7 +35,6 @@ void X6502_Run(int32 cycles);
extern uint32 timestamp;
extern uint32 sound_timestamp;
extern uint32 overclocking;
extern X6502 X;
#define N_FLAG 0x80
@ -49,7 +48,7 @@ extern X6502 X;
extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
#define NTSC_CPU (FSettings.dendy ? 1773447.467 : 1789772.7272727272727272)
#define NTSC_CPU (dendy ? 1773447.467 : 1789772.7272727272727272)
#define PAL_CPU 1662607.125
#define FCEU_IQEXT 0x001