summaryrefslogtreecommitdiff
path: root/src/cpu.cpp
diff options
context:
space:
mode:
authoraliaspider2015-11-09 19:55:28 +0100
committeraliaspider2015-11-09 19:55:28 +0100
commit7a7857f47b33f1b63fb585d2dc6c60d87c3e928f (patch)
treea4c271ae26c4b5ec9566f37062168e6d2c8c1bbc /src/cpu.cpp
parent5339c79ebd36afa759541d0c2fbdadac6dd26ed2 (diff)
downloadsnes9x2002-7a7857f47b33f1b63fb585d2dc6c60d87c3e928f.tar.gz
snes9x2002-7a7857f47b33f1b63fb585d2dc6c60d87c3e928f.tar.bz2
snes9x2002-7a7857f47b33f1b63fb585d2dc6c60d87c3e928f.zip
C++ --> C99
Diffstat (limited to 'src/cpu.cpp')
-rw-r--r--src/cpu.cpp169
1 files changed, 0 insertions, 169 deletions
diff --git a/src/cpu.cpp b/src/cpu.cpp
deleted file mode 100644
index 1c998d6..0000000
--- a/src/cpu.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
- *
- * (c) Copyright 1996 - 2001 Gary Henderson (gary.henderson@ntlworld.com) and
- * Jerremy Koot (jkoot@snes9x.com)
- *
- * 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_.
- *
- * DSP1 emulator code (c) Copyright 1998 Ivar, _Demo_ and Gary Henderson.
- * C4 asm and some C emulation code (c) Copyright 2000 zsKnight and _Demo_.
- * C4 C code (c) Copyright 2001 Gary Henderson (gary.henderson@ntlworld.com).
- *
- * DOS port code contains the works of other authors. See headers in
- * individual files.
- *
- * Snes9x homepage: http://www.snes9x.com
- *
- * Permission to use, copy, modify and distribute Snes9x in both binary and
- * source form, for non-commercial purposes, is hereby granted without fee,
- * providing that this license information and copyright notice appear with
- * all copies and any derived work.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event shall the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Snes9x is freeware for PERSONAL USE only. Commercial users should
- * seek permission of the copyright holders first. Commercial use includes
- * charging money for Snes9x or software derived from Snes9x.
- *
- * The copyright holders request that bug fixes and improvements to the code
- * should be forwarded to them so everyone can benefit from the modifications
- * in future versions.
- *
- * Super NES and Super Nintendo Entertainment System are trademarks of
- * Nintendo Co., Limited and its subsidiary companies.
- */
-#include "snes9x.h"
-#include "memmap.h"
-#include "ppu.h"
-#include "dsp1.h"
-#include "cpuexec.h"
-#include "apu.h"
-#include "dma.h"
-#ifdef USE_SA1
-#include "sa1.h"
-#endif
-//#include "cheats.h"
-#include "srtc.h"
-#include "sdd1.h"
-//#include "spc7110.h"
-
-#include "soundux.h"
-
-#ifdef SUPER_FX
-#include "fxemu.h"
-
-extern struct FxInit_s SuperFX;
-
-void S9xResetSuperFX ()
-{
- SuperFX.vFlags = 0; //FX_FLAG_ROM_BUFFER;// | FX_FLAG_ADDRESS_CHECKING;
- FxReset (&SuperFX);
-}
-#endif
-
-void S9xResetCPU ()
-{
- Registers.PB = 0;
- Registers.PC = S9xGetWord (0xFFFC);
- Registers.D.W = 0;
- Registers.DB = 0;
- Registers.SH = 1;
- Registers.SL = 0xFF;
- Registers.XH = 0;
- Registers.YH = 0;
- Registers.P.W = 0;
-
- ICPU.ShiftedPB = 0;
- ICPU.ShiftedDB = 0;
- SetFlags (MemoryFlag | IndexFlag | IRQ | Emulation);
- ClearFlags (Decimal);
-
- CPU.Flags = CPU.Flags & (DEBUG_MODE_FLAG | TRACE_FLAG);
- CPU.BranchSkip = FALSE;
- CPU.NMIActive = FALSE;
- CPU.IRQActive = FALSE;
- CPU.WaitingForInterrupt = FALSE;
- CPU.InDMA = FALSE;
- CPU.WhichEvent = HBLANK_START_EVENT;
-
- CPU.PC = NULL;
- CPU.PCBase = NULL;
- CPU.PCAtOpcodeStart = NULL;
- CPU.WaitAddress = NULL;
- CPU.WaitCounter = 0;
- CPU.Cycles = 0;
- CPU.NextEvent = Settings.HBlankStart;
- CPU.V_Counter = 0;
- CPU.MemSpeed = SLOW_ONE_CYCLE;
- CPU.MemSpeedx2 = SLOW_ONE_CYCLE * 2;
- CPU.FastROMSpeed = SLOW_ONE_CYCLE;
- CPU.AutoSaveTimer = 0;
- CPU.SRAMModified = FALSE;
- // CPU.NMITriggerPoint = 4; // Set when ROM image loaded
- CPU.BRKTriggered = FALSE;
- //CPU.TriedInterleavedMode2 = FALSE; // Reset when ROM image loaded
- CPU.NMICycleCount = 0;
- CPU.IRQCycleCount = 0;
- S9xSetPCBase (Registers.PC);
-
-#ifndef ASMCPU
-#ifndef VAR_CYCLES
- ICPU.Speed = S9xE1M1X1;
-#endif
- ICPU.S9xOpcodes = S9xOpcodesM1X1;
- S9xUnpackStatus();
-#endif
-
- ICPU.CPUExecuting = TRUE;
-}
-
-
-void S9xReset (void)
-{
-#ifdef SUPER_FX
- if (Settings.SuperFX)
- S9xResetSuperFX ();
-#endif
-
- ZeroMemory (Memory.FillRAM, 0x8000);
- memset (Memory.VRAM, 0x00, 0x10000);
- memset (Memory.RAM, 0x55, 0x20000);
-
-/* if(Settings.SPC7110)
- S9xSpc7110Reset();*/
- S9xResetCPU ();
- S9xResetPPU ();
- S9xResetSRTC ();
- if (Settings.SDD1)
- S9xResetSDD1 ();
-
- S9xResetDMA ();
- S9xResetAPU ();
- S9xResetDSP1 ();
-#ifdef USE_SA1
- S9xSA1Init ();
-#endif
-
- if (Settings.C4)
- S9xInitC4 ();
-
- S9xResetSound(1);
-
- Settings.Paused = FALSE;
-
- //Init CPU Map & co
- CPU.Memory_Map=(uint8*)&(Memory.Map);
- CPU.Memory_WriteMap=(uint8*)&(Memory.WriteMap);
- CPU.Memory_MemorySpeed=Memory.MemorySpeed;
- CPU.Memory_BlockIsRAM=(uint8*)&(Memory.BlockIsRAM);
- CPU.Memory_SRAM=Memory.SRAM;
- CPU.Memory_BWRAM=Memory.BWRAM;
-// CPU.Memory_SRAMMask=Memory.SRAMMask;
-
-}