summaryrefslogtreecommitdiff
path: root/src/snes9x.h
diff options
context:
space:
mode:
authoraliaspider2015-11-09 20:42:25 +0100
committeraliaspider2015-11-09 20:42:25 +0100
commite144a0acc4854ad80f9e6945f4d94223ee865d78 (patch)
treeba76f908710407e43ca31ec51eca73a60d525eb2 /src/snes9x.h
parent8d4780b83a112579e729a6f163ccd0ff30fc829f (diff)
downloadsnes9x2002-e144a0acc4854ad80f9e6945f4d94223ee865d78.tar.gz
snes9x2002-e144a0acc4854ad80f9e6945f4d94223ee865d78.tar.bz2
snes9x2002-e144a0acc4854ad80f9e6945f4d94223ee865d78.zip
reindent all files.
Diffstat (limited to 'src/snes9x.h')
-rw-r--r--src/snes9x.h524
1 files changed, 263 insertions, 261 deletions
diff --git a/src/snes9x.h b/src/snes9x.h
index 8a37095..e3f8f1d 100644
--- a/src/snes9x.h
+++ b/src/snes9x.h
@@ -4,7 +4,7 @@
* (c) Copyright 1996 - 2001 Gary Henderson (gary.henderson@ntlworld.com) and
* Jerremy Koot (jkoot@snes9x.com)
*
- * Super FX C emulator code
+ * Super FX C emulator code
* (c) Copyright 1997 - 1999 Ivar (ivar@snes9x.com) and
* Gary Henderson.
* Super FX assembler emulator code (c) Copyright 1998 zsKnight and _Demo_.
@@ -97,27 +97,27 @@
/* SNES screen width and height */
-#define SNES_WIDTH 256
-#define SNES_HEIGHT 224
-#define SNES_HEIGHT_EXTENDED 239
-#define IMAGE_WIDTH (Settings.SupportHiRes ? SNES_WIDTH * 2 : SNES_WIDTH)
-#define IMAGE_HEIGHT (Settings.SupportHiRes ? SNES_HEIGHT_EXTENDED * 2 : SNES_HEIGHT_EXTENDED)
+#define SNES_WIDTH 256
+#define SNES_HEIGHT 224
+#define SNES_HEIGHT_EXTENDED 239
+#define IMAGE_WIDTH (Settings.SupportHiRes ? SNES_WIDTH * 2 : SNES_WIDTH)
+#define IMAGE_HEIGHT (Settings.SupportHiRes ? SNES_HEIGHT_EXTENDED * 2 : SNES_HEIGHT_EXTENDED)
#define SNES_MAX_NTSC_VCOUNTER 262
#define SNES_MAX_PAL_VCOUNTER 312
-#define SNES_HCOUNTER_MAX 342
-#define SPC700_TO_65C816_RATIO 2
-#define AUTO_FRAMERATE 200
-
-#define PPU_IGNORE_FIXEDCOLCHANGES (1<<0)
-#define PPU_IGNORE_WINDOW (1<<1)
-#define PPU_IGNORE_ADDSUB (1<<2)
-#define PPU_IGNORE_PALWRITE (1<<3)
-#define GFX_IGNORE_OBJ (1<<4)
-#define GFX_IGNORE_BG0 (1<<5)
-#define GFX_IGNORE_BG1 (1<<6)
-#define GFX_IGNORE_BG2 (1<<7)
-#define GFX_IGNORE_BG3 (1<<8)
+#define SNES_HCOUNTER_MAX 342
+#define SPC700_TO_65C816_RATIO 2
+#define AUTO_FRAMERATE 200
+
+#define PPU_IGNORE_FIXEDCOLCHANGES (1<<0)
+#define PPU_IGNORE_WINDOW (1<<1)
+#define PPU_IGNORE_ADDSUB (1<<2)
+#define PPU_IGNORE_PALWRITE (1<<3)
+#define GFX_IGNORE_OBJ (1<<4)
+#define GFX_IGNORE_BG0 (1<<5)
+#define GFX_IGNORE_BG1 (1<<6)
+#define GFX_IGNORE_BG2 (1<<7)
+#define GFX_IGNORE_BG3 (1<<8)
// NTSC master clock signal 21.47727MHz
// PPU: master clock / 4
@@ -146,38 +146,39 @@
#define SNES_CYCLES_PER_SCANLINE ((uint32)(228))
#endif
-#define SNES_TR_MASK (1 << 4)
-#define SNES_TL_MASK (1 << 5)
-#define SNES_X_MASK (1 << 6)
-#define SNES_A_MASK (1 << 7)
-#define SNES_RIGHT_MASK (1 << 8)
-#define SNES_LEFT_MASK (1 << 9)
-#define SNES_DOWN_MASK (1 << 10)
-#define SNES_UP_MASK (1 << 11)
-#define SNES_START_MASK (1 << 12)
+#define SNES_TR_MASK (1 << 4)
+#define SNES_TL_MASK (1 << 5)
+#define SNES_X_MASK (1 << 6)
+#define SNES_A_MASK (1 << 7)
+#define SNES_RIGHT_MASK (1 << 8)
+#define SNES_LEFT_MASK (1 << 9)
+#define SNES_DOWN_MASK (1 << 10)
+#define SNES_UP_MASK (1 << 11)
+#define SNES_START_MASK (1 << 12)
#define SNES_SELECT_MASK (1 << 13)
-#define SNES_Y_MASK (1 << 14)
-#define SNES_B_MASK (1 << 15)
-
-enum {
- SNES_MULTIPLAYER5,
- SNES_JOYPAD,
- SNES_MOUSE_SWAPPED,
- SNES_MOUSE,
- SNES_SUPERSCOPE,
- SNES_JUSTIFIER,
- SNES_JUSTIFIER_2,
- SNES_MAX_CONTROLLER_OPTIONS
+#define SNES_Y_MASK (1 << 14)
+#define SNES_B_MASK (1 << 15)
+
+enum
+{
+ SNES_MULTIPLAYER5,
+ SNES_JOYPAD,
+ SNES_MOUSE_SWAPPED,
+ SNES_MOUSE,
+ SNES_SUPERSCOPE,
+ SNES_JUSTIFIER,
+ SNES_JUSTIFIER_2,
+ SNES_MAX_CONTROLLER_OPTIONS
};
-#define DEBUG_MODE_FLAG (1 << 0)
-#define TRACE_FLAG (1 << 1)
+#define DEBUG_MODE_FLAG (1 << 0)
+#define TRACE_FLAG (1 << 1)
#define SINGLE_STEP_FLAG (1 << 2)
-#define BREAK_FLAG (1 << 3)
-#define SCAN_KEYS_FLAG (1 << 4)
+#define BREAK_FLAG (1 << 3)
+#define SCAN_KEYS_FLAG (1 << 4)
#define SAVE_SNAPSHOT_FLAG (1 << 5)
#define DELAYED_NMI_FLAG (1 << 6)
-#define NMI_FLAG (1 << 7)
+#define NMI_FLAG (1 << 7)
#define PROCESS_SOUND_FLAG (1 << 8)
#define FRAME_ADVANCE_FLAG (1 << 9)
#define DELAYED_NMI_FLAG2 (1 << 10)
@@ -201,61 +202,61 @@ enum {
typedef struct
{
- uint32 Flags; //0
- bool8 BranchSkip; //4
- bool8 NMIActive; //5
- bool8 IRQActive; //6
- bool8 WaitingForInterrupt; //7
- SRegisters Regs; //8
- //uint8 PB; //8 --> status
- //uint8 DB; //9
- //pair P; //10
- //pair A; //12
- //pair D; //14
- //pair X; //16
- //pair S; //18
- //pair Y; //20
- //uint16 PC; //22
- uint8 *PC; //24
- int32 Cycles; //28
- uint8 *PCBase; //32
- uint8 *PCAtOpcodeStart; //36
- uint8 *WaitAddress; //40
- uint32 WaitCounter; //44
- volatile int32 NextEvent; //48
- int32 V_Counter; //52
- int32 MemSpeed; //56
- int32 MemSpeedx2; //60
- int32 FastROMSpeed; //64
- uint32 AutoSaveTimer; //68
- uint32 NMITriggerPoint; //72
- uint32 NMICycleCount; //76
- uint32 IRQCycleCount; //80
-
- bool8 InDMA; //84
- uint8 WhichEvent; //85
- bool8 SRAMModified; //86
- bool8 BRKTriggered; //87
- uint32 _ARM_asm_reserved_1; //88 to stock current jmp table
- bool8 TriedInterleavedMode2; //92
- bool8 _ARM_asm_padding1[3]; //93
-
- uint8* Memory_Map; //96
- uint8* Memory_WriteMap; //100
- uint32* Memory_MemorySpeed; //104
- uint8* Memory_BlockIsRAM; //108
- uint8* Memory_SRAM; //112
- uint8* Memory_BWRAM; //116
- uint32 Memory_SRAMMask; //120
- bool32 APU_APUExecuting; //124
- bool32 _ARM_asm_padding2; //128
- uint32 _PALMSOS_R9; //132
- uint32 _PALMSOS_R10; //136
- volatile int32 APU_Cycles; //140 notaz
- void *DSPGet;
- void *DSPSet;
- int32 rstatus;
-}SCPUState;
+ uint32 Flags; //0
+ bool8 BranchSkip; //4
+ bool8 NMIActive; //5
+ bool8 IRQActive; //6
+ bool8 WaitingForInterrupt; //7
+ SRegisters Regs; //8
+ //uint8 PB; //8 --> status
+ //uint8 DB; //9
+ //pair P; //10
+ //pair A; //12
+ //pair D; //14
+ //pair X; //16
+ //pair S; //18
+ //pair Y; //20
+ //uint16 PC; //22
+ uint8* PC; //24
+ int32 Cycles; //28
+ uint8* PCBase; //32
+ uint8* PCAtOpcodeStart; //36
+ uint8* WaitAddress; //40
+ uint32 WaitCounter; //44
+ volatile int32 NextEvent; //48
+ int32 V_Counter; //52
+ int32 MemSpeed; //56
+ int32 MemSpeedx2; //60
+ int32 FastROMSpeed; //64
+ uint32 AutoSaveTimer; //68
+ uint32 NMITriggerPoint; //72
+ uint32 NMICycleCount; //76
+ uint32 IRQCycleCount; //80
+
+ bool8 InDMA; //84
+ uint8 WhichEvent; //85
+ bool8 SRAMModified; //86
+ bool8 BRKTriggered; //87
+ uint32 _ARM_asm_reserved_1; //88 to stock current jmp table
+ bool8 TriedInterleavedMode2; //92
+ bool8 _ARM_asm_padding1[3]; //93
+
+ uint8* Memory_Map; //96
+ uint8* Memory_WriteMap; //100
+ uint32* Memory_MemorySpeed; //104
+ uint8* Memory_BlockIsRAM; //108
+ uint8* Memory_SRAM; //112
+ uint8* Memory_BWRAM; //116
+ uint32 Memory_SRAMMask; //120
+ bool32 APU_APUExecuting; //124
+ bool32 _ARM_asm_padding2; //128
+ uint32 _PALMSOS_R9; //132
+ uint32 _PALMSOS_R10; //136
+ volatile int32 APU_Cycles; //140 notaz
+ void* DSPGet;
+ void* DSPSet;
+ int32 rstatus;
+} SCPUState;
#define HBLANK_START_EVENT 0
@@ -266,157 +267,157 @@ typedef struct
typedef struct
{
- // CPU options
- bool8 APUEnabled;
- bool8 Shutdown;
-
- uint8 SoundSkipMethod;
- long H_Max;
- long HBlankStart;
- long CyclesPercentage;
- bool8 DisableIRQ;
- bool8 Paused;
- bool8 ForcedPause;
- bool8 StopEmulation;
-
- // Tracing options
- bool8 TraceDMA;
- bool8 TraceHDMA;
- bool8 TraceVRAM;
- bool8 TraceUnknownRegisters;
- bool8 TraceDSP;
-
- // Joystick options
- bool8 SwapJoypads;
- bool8 JoystickEnabled;
-
- // ROM timing options (see also H_Max above)
- bool8 ForcePAL;
- bool8 ForceNTSC;
- bool8 PAL;
- uint32 FrameTimePAL;
- uint32 FrameTimeNTSC;
- uint32 FrameTime;
- uint32 SkipFrames;
-
- // ROM image options
- bool8 ForceLoROM;
- bool8 ForceHiROM;
- bool8 ForceHeader;
- bool8 ForceNoHeader;
- bool8 ForceInterleaved;
- bool8 ForceInterleaved2;
- bool8 ForceNotInterleaved;
-
- // Peripherial options
- bool8 ForceSuperFX;
- bool8 ForceNoSuperFX;
- bool8 ForceDSP1;
- bool8 ForceNoDSP1;
- bool8 ForceSA1;
- bool8 ForceNoSA1;
- bool8 ForceC4;
- bool8 ForceNoC4;
- bool8 ForceSDD1;
- bool8 ForceNoSDD1;
- bool8 MultiPlayer5;
- bool8 Mouse;
- bool8 SuperScope;
- bool8 SRTC;
- uint32 ControllerOption;
-
- bool8 ShutdownMaster;
- bool8 MultiPlayer5Master;
- bool8 SuperScopeMaster;
- bool8 MouseMaster;
- bool8 SuperFX;
- bool8 DSP1Master;
- bool8 SA1;
- bool8 C4;
- bool8 SDD1;
-
- // Sound options
- uint32 SoundPlaybackRate;
- bool8 TraceSoundDSP;
- bool8 Stereo;
- bool8 ReverseStereo;
- bool8 SixteenBitSound;
- int SoundBufferSize;
- int SoundMixInterval;
- bool8 SoundEnvelopeHeightReading;
- bool8 DisableSoundEcho;
- bool8 DisableSampleCaching;
- bool8 DisableMasterVolume;
- bool8 SoundSync;
- bool8 InterpolatedSound;
- bool8 ThreadSound;
- bool8 Mute;
-// bool8 NextAPUEnabled;
- uint8 AltSampleDecode;
- bool8 FixFrequency;
-
- // Graphics options
- bool8 SixteenBit;
- bool8 Transparency;
- bool8 SupportHiRes;
- bool8 Mode7Interpolate;
-
- // SNES graphics options
- bool8 BGLayering;
- bool8 DisableGraphicWindows;
- bool8 ForceTransparency;
- bool8 ForceNoTransparency;
- bool8 DisableHDMA;
- bool8 DisplayFrameRate;
-
- // Others
- bool8 NetPlay;
- bool8 NetPlayServer;
- char ServerName [128];
- int Port;
- bool8 GlideEnable;
- bool8 OpenGLEnable;
- int32 AutoSaveDelay; // Time in seconds before S-RAM auto-saved if modified.
- bool8 ApplyCheats;
- bool8 TurboMode;
- uint32 TurboSkipFrames;
- uint32 AutoMaxSkipFrames;
- uint32 os9x_hack;
-
-// Fixes for individual games
- uint32 StrikeGunnerOffsetHack;
- bool8 ChuckRock;
- bool8 StarfoxHack;
- bool8 WinterGold;
- bool8 Dezaemon;
- bool8 WrestlemaniaArcade;
- bool8 BS; // Japanese Satellite System games.
- bool8 DaffyDuck;
- uint8 APURAMInitialValue;
- bool8 SDD1Pack;
-
- bool8 asmspc700;
- bool8 SpeedHacks;
+ // CPU options
+ bool8 APUEnabled;
+ bool8 Shutdown;
+
+ uint8 SoundSkipMethod;
+ long H_Max;
+ long HBlankStart;
+ long CyclesPercentage;
+ bool8 DisableIRQ;
+ bool8 Paused;
+ bool8 ForcedPause;
+ bool8 StopEmulation;
+
+ // Tracing options
+ bool8 TraceDMA;
+ bool8 TraceHDMA;
+ bool8 TraceVRAM;
+ bool8 TraceUnknownRegisters;
+ bool8 TraceDSP;
+
+ // Joystick options
+ bool8 SwapJoypads;
+ bool8 JoystickEnabled;
+
+ // ROM timing options (see also H_Max above)
+ bool8 ForcePAL;
+ bool8 ForceNTSC;
+ bool8 PAL;
+ uint32 FrameTimePAL;
+ uint32 FrameTimeNTSC;
+ uint32 FrameTime;
+ uint32 SkipFrames;
+
+ // ROM image options
+ bool8 ForceLoROM;
+ bool8 ForceHiROM;
+ bool8 ForceHeader;
+ bool8 ForceNoHeader;
+ bool8 ForceInterleaved;
+ bool8 ForceInterleaved2;
+ bool8 ForceNotInterleaved;
+
+ // Peripherial options
+ bool8 ForceSuperFX;
+ bool8 ForceNoSuperFX;
+ bool8 ForceDSP1;
+ bool8 ForceNoDSP1;
+ bool8 ForceSA1;
+ bool8 ForceNoSA1;
+ bool8 ForceC4;
+ bool8 ForceNoC4;
+ bool8 ForceSDD1;
+ bool8 ForceNoSDD1;
+ bool8 MultiPlayer5;
+ bool8 Mouse;
+ bool8 SuperScope;
+ bool8 SRTC;
+ uint32 ControllerOption;
+
+ bool8 ShutdownMaster;
+ bool8 MultiPlayer5Master;
+ bool8 SuperScopeMaster;
+ bool8 MouseMaster;
+ bool8 SuperFX;
+ bool8 DSP1Master;
+ bool8 SA1;
+ bool8 C4;
+ bool8 SDD1;
+
+ // Sound options
+ uint32 SoundPlaybackRate;
+ bool8 TraceSoundDSP;
+ bool8 Stereo;
+ bool8 ReverseStereo;
+ bool8 SixteenBitSound;
+ int SoundBufferSize;
+ int SoundMixInterval;
+ bool8 SoundEnvelopeHeightReading;
+ bool8 DisableSoundEcho;
+ bool8 DisableSampleCaching;
+ bool8 DisableMasterVolume;
+ bool8 SoundSync;
+ bool8 InterpolatedSound;
+ bool8 ThreadSound;
+ bool8 Mute;
+ // bool8 NextAPUEnabled;
+ uint8 AltSampleDecode;
+ bool8 FixFrequency;
+
+ // Graphics options
+ bool8 SixteenBit;
+ bool8 Transparency;
+ bool8 SupportHiRes;
+ bool8 Mode7Interpolate;
+
+ // SNES graphics options
+ bool8 BGLayering;
+ bool8 DisableGraphicWindows;
+ bool8 ForceTransparency;
+ bool8 ForceNoTransparency;
+ bool8 DisableHDMA;
+ bool8 DisplayFrameRate;
+
+ // Others
+ bool8 NetPlay;
+ bool8 NetPlayServer;
+ char ServerName [128];
+ int Port;
+ bool8 GlideEnable;
+ bool8 OpenGLEnable;
+ int32 AutoSaveDelay; // Time in seconds before S-RAM auto-saved if modified.
+ bool8 ApplyCheats;
+ bool8 TurboMode;
+ uint32 TurboSkipFrames;
+ uint32 AutoMaxSkipFrames;
+ uint32 os9x_hack;
+
+ // Fixes for individual games
+ uint32 StrikeGunnerOffsetHack;
+ bool8 ChuckRock;
+ bool8 StarfoxHack;
+ bool8 WinterGold;
+ bool8 Dezaemon;
+ bool8 WrestlemaniaArcade;
+ bool8 BS; // Japanese Satellite System games.
+ bool8 DaffyDuck;
+ uint8 APURAMInitialValue;
+ bool8 SDD1Pack;
+
+ bool8 asmspc700;
+ bool8 SpeedHacks;
#ifdef __WIN32__
- int SoundDriver;
+ int SoundDriver;
#endif
-}SSettings;
+} SSettings;
typedef struct
{
- uint8 NeedInit0x2137;
- uint8 umiharakawaseFix;
- uint8 alienVSpredetorFix;
- uint8 APU_OutPorts_ReturnValueFix;
- uint8 Old_Read0x4200;
- uint8 _0x213E_ReturnValue;
- uint8 TouhaidenControllerFix;
- uint8 SoundEnvelopeHeightReading2;
- uint8 SRAMInitialValue;
- uint8 Uniracers;
- uint8 Flintstones;
- uint8 Mode7Hack;
-}SSNESGameFixes;
+ uint8 NeedInit0x2137;
+ uint8 umiharakawaseFix;
+ uint8 alienVSpredetorFix;
+ uint8 APU_OutPorts_ReturnValueFix;
+ uint8 Old_Read0x4200;
+ uint8 _0x213E_ReturnValue;
+ uint8 TouhaidenControllerFix;
+ uint8 SoundEnvelopeHeightReading2;
+ uint8 SRAMInitialValue;
+ uint8 Uniracers;
+ uint8 Flintstones;
+ uint8 Mode7Hack;
+} SSNESGameFixes;
START_EXTERN_C
extern SSettings Settings;
@@ -424,26 +425,27 @@ extern SCPUState CPU;
extern SSNESGameFixes SNESGameFixes;
extern char String [513];
-void S9xExit ();
-void S9xMessage (int type, int number, const char *message);
-void S9xLoadSDD1Data ();
+void S9xExit();
+void S9xMessage(int type, int number, const char* message);
+void S9xLoadSDD1Data();
END_EXTERN_C
-enum {
- PAUSE_NETPLAY_CONNECT = (1 << 0),
- PAUSE_TOGGLE_FULL_SCREEN = (1 << 1),
- PAUSE_EXIT = (1 << 2),
- PAUSE_MENU = (1 << 3),
- PAUSE_INACTIVE_WINDOW = (1 << 4),
- PAUSE_WINDOW_ICONISED = (1 << 5),
- PAUSE_RESTORE_GUI = (1 << 6),
- PAUSE_FREEZE_FILE = (1 << 7)
+enum
+{
+ PAUSE_NETPLAY_CONNECT = (1 << 0),
+ PAUSE_TOGGLE_FULL_SCREEN = (1 << 1),
+ PAUSE_EXIT = (1 << 2),
+ PAUSE_MENU = (1 << 3),
+ PAUSE_INACTIVE_WINDOW = (1 << 4),
+ PAUSE_WINDOW_ICONISED = (1 << 5),
+ PAUSE_RESTORE_GUI = (1 << 6),
+ PAUSE_FREEZE_FILE = (1 << 7)
};
-void S9xSetPause (uint32 mask);
-void S9xClearPause (uint32 mask);
+void S9xSetPause(uint32 mask);
+void S9xClearPause(uint32 mask);
#ifndef MAX_PATH
-#define MAX_PATH 255
+#define MAX_PATH 255
#endif
#endif