Renaming files

This commit is contained in:
dborth 2008-08-07 05:20:24 +00:00
parent 023b0e4f3b
commit 994d3c8944

View File

@ -119,8 +119,8 @@
Snes9x homepage: http://www.snes9x.com
Permission to use, copy, modify and/or 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
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
@ -178,7 +178,7 @@
#include "controls.h"
#include "memfile.h"
#include "gccore.h"
#include "ftfont.h"
#include "menudraw.h"
extern uint8 *SRAM;
@ -194,7 +194,7 @@ void S9xResetSaveTimer(bool8 dontsave){
static time_t t=-1;
if(!dontsave && t!=-1 && time(NULL)-t>300){{
#ifndef NGC
#ifndef NGC
char def [PATH_MAX];
char filename [PATH_MAX];
char drive [_MAX_DRIVE];
@ -206,7 +206,7 @@ void S9xResetSaveTimer(bool8 dontsave){
SLASH_STR, def, _MAX_EXT-1, "oops");
S9xMessage(S9X_INFO, S9X_FREEZE_FILE_INFO, "Auto-saving 'oops' savestate");
Snapshot(filename);
#endif
#endif
}}
t=time(NULL);
}
@ -305,28 +305,28 @@ static FreezeData SnapPPU [] = {
{OFFSET (BG[0].BGSize), 1, INT_V, 1, 9999},
{OFFSET (BG[0].NameBase), 2, INT_V, 1, 9999},
{OFFSET (BG[0].SCSize), 2, INT_V, 1, 9999},
{OFFSET (BG[1].SCBase), 2, INT_V, 1, 9999},
{OFFSET (BG[1].VOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[1].HOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[1].BGSize), 1, INT_V, 1, 9999},
{OFFSET (BG[1].NameBase), 2, INT_V, 1, 9999},
{OFFSET (BG[1].SCSize), 2, INT_V, 1, 9999},
{OFFSET (BG[2].SCBase), 2, INT_V, 1, 9999},
{OFFSET (BG[2].VOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[2].HOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[2].BGSize), 1, INT_V, 1, 9999},
{OFFSET (BG[2].NameBase), 2, INT_V, 1, 9999},
{OFFSET (BG[2].SCSize), 2, INT_V, 1, 9999},
{OFFSET (BG[3].SCBase), 2, INT_V, 1, 9999},
{OFFSET (BG[3].VOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[3].HOffset), 2, INT_V, 1, 9999},
{OFFSET (BG[3].BGSize), 1, INT_V, 1, 9999},
{OFFSET (BG[3].NameBase), 2, INT_V, 1, 9999},
{OFFSET (BG[3].SCSize), 2, INT_V, 1, 9999},
{OFFSET (CGFLIP), 1, INT_V, 1, 9999},
{OFFSET (CGDATA), 256, uint16_ARRAY_V, 1, 9999},
{OFFSET (FirstSprite), 1, INT_V, 1, 9999},
@ -339,7 +339,7 @@ static FreezeData SnapPPU [] = {
{OFFSET (OBJ[N].Priority), 1, INT_V, 1, 9999}, \
{OFFSET (OBJ[N].Palette), 1, INT_V, 1, 9999}, \
{OFFSET (OBJ[N].Size), 1, INT_V, 1, 9999}
O( 0), O( 1), O( 2), O( 3), O( 4), O( 5), O( 6), O( 7),
O( 8), O( 9), O( 10), O( 11), O( 12), O( 13), O( 14), O( 15),
O( 16), O( 17), O( 18), O( 19), O( 20), O( 21), O( 22), O( 23),
@ -408,11 +408,11 @@ static FreezeData SnapPPU [] = {
{OFFSET (ClipWindow2Enable[N]), 1, INT_V, 1, 9999}, \
{OFFSET (ClipWindow1Inside[N]), 1, INT_V, 1, 9999}, \
{OFFSET (ClipWindow2Inside[N]), 1, INT_V, 1, 9999}
O(0), O(1), O(2), O(3), O(4), O(5),
#undef O
{OFFSET (CGFLIPRead), 1, INT_V, 1, 9999},
{OFFSET (Need16x8Mulitply), 1, INT_V, 1, 9999},
{OFFSET (BGMosaic), 4, uint8_ARRAY_V, 1, 9999},
@ -449,7 +449,7 @@ static FreezeData SnapDMA [] = {
{OFFSET (DoTransfer) + N * sizeof (struct SDMA), 1, INT_V, 1, 9999}, \
{OFFSET (UnknownByte) + N * sizeof (struct SDMA), 1, INT_V, 2, 9999}, \
{OFFSET (UnusedBit43x0) + N * sizeof (struct SDMA), 1, INT_V, 2, 9999}
O(0), O(1), O(2), O(3), O(4), O(5), O(6), O(7)
#undef O
};
@ -528,7 +528,7 @@ static FreezeData SnapSoundData [] = {
{OFFSET (channels [N].block_pointer), 4, INT_V, 1, 9999}, \
{OFFSET (channels [N].sample_pointer), 4, INT_V, 1, 9999}, \
{OFFSET (channels [N].mode), 4, INT_V, 1, 9999}
O(0), O(1), O(2), O(3), O(4), O(5), O(6), O(7),
#undef O
{OFFSET (noise_rate), 4, INT_V, 2, 9999},
@ -736,26 +736,26 @@ bool8 S9xFreezeGame (const char *filename)
{
STREAM stream = NULL;
#ifndef NGC
#ifndef NGC
if (S9xOpenSnapshotFile (filename, FALSE, &stream))
#endif
{
S9xPrepareSoundForSnapshotSave (FALSE);
S9xFreezeToStream (stream);
S9xCloseSnapshotFile (stream);
S9xPrepareSoundForSnapshotSave (TRUE);
S9xResetSaveTimer (TRUE);
#ifndef NGC
#ifndef NGC
if(S9xMovieActive())
{
sprintf(String, "Movie snapshot %s", S9xBasename (filename));
S9xMessage (S9X_INFO, S9X_FREEZE_FILE_INFO, String);
}
else
else
{
sprintf(String, "Saved %s", S9xBasename (filename));
S9xMessage (S9X_INFO, S9X_FREEZE_FILE_INFO, String);
@ -780,7 +780,7 @@ bool8 S9xUnfreezeGame (const char *filename)
_splitpath (filename, drive, dir, def, ext);
S9xResetSaveTimer (!strcmp(ext, "oops") || !strcmp(ext, "oop"));
ZeroMemory (&Obsolete, sizeof(Obsolete));
#ifndef NGC
@ -789,14 +789,14 @@ bool8 S9xUnfreezeGame (const char *filename)
if (S9xLoadOrigSnapshot (filename))
return (TRUE);
if (S9xUnfreezeZSNES (filename))
return (TRUE);
#endif
STREAM snapshot = NULL;
#ifndef NGC
if (S9xOpenSnapshotFile (filename, TRUE, &snapshot))
#endif
@ -807,7 +807,7 @@ bool8 S9xUnfreezeGame (const char *filename)
switch (result)
{
case WRONG_FORMAT:
S9xMessage (S9X_ERROR, S9X_WRONG_FORMAT,
S9xMessage (S9X_ERROR, S9X_WRONG_FORMAT,
"File not in Snes9x freeze format");
WaitPrompt("File not in Snes9x freeze format");
break;
@ -842,7 +842,7 @@ bool8 S9xUnfreezeGame (const char *filename)
}
S9xCloseSnapshotFile (snapshot);
#endif
return (TRUE);
}
@ -898,7 +898,7 @@ void S9xFreezeToStream (STREAM stream)
struct SControlSnapshot ctl_snap;
S9xControlPreSave(&ctl_snap);
FreezeStruct (stream, "CTL", &ctl_snap, SnapControls, COUNT (SnapControls));
// Timings
FreezeStruct (stream, "TIM", &Timings, SnapTimings, COUNT (SnapTimings));
@ -907,7 +907,7 @@ void S9xFreezeToStream (STREAM stream)
{
S9xSA1PackStatus ();
FreezeStruct (stream, "SA1", &SA1, SnapSA1, COUNT (SnapSA1));
FreezeStruct (stream, "SAR", &SA1Registers, SnapSA1Registers,
FreezeStruct (stream, "SAR", &SA1Registers, SnapSA1Registers,
COUNT (SnapSA1Registers));
}
@ -944,7 +944,7 @@ void S9xFreezeToStream (STREAM stream)
}
}
#endif
S9xSetSoundMute (FALSE);
#ifdef ZSNES_FX
if (Settings.SuperFX)
@ -957,25 +957,25 @@ int S9xUnfreezeFromStream (STREAM stream)
char buffer [_MAX_PATH + 1];
char rom_filename [_MAX_PATH + 1];
int result;
int version;
int len = strlen (SNAPSHOT_MAGIC) + 1 + 4 + 1;
#ifdef NGC
#ifdef NGC
GetMem(buffer, len);
#else
if (READ_STREAM (buffer, len, stream) != len)
return (WRONG_FORMAT);
#endif
#endif
if (strncmp (buffer, SNAPSHOT_MAGIC, strlen (SNAPSHOT_MAGIC)) != 0)
return (WRONG_FORMAT);
if ((version = atoi (&buffer [strlen (SNAPSHOT_MAGIC) + 1])) > SNAPSHOT_VERSION)
return (WRONG_VERSION);
if ((result = UnfreezeBlock (stream, "NAM", (uint8 *) rom_filename, _MAX_PATH)) != SUCCESS)
return (result);
#ifndef NGC
#ifndef NGC
if (strcasecmp (rom_filename, Memory.ROMFilename) != 0 &&
strcasecmp (S9xBasename (rom_filename), S9xBasename (Memory.ROMFilename)) != 0)
{
@ -983,7 +983,7 @@ int S9xUnfreezeFromStream (STREAM stream)
"Current loaded ROM image doesn't match that required by freeze-game file.");
}
#endif
// ## begin load ##
uint8* local_cpu = NULL;
uint8* local_registers = NULL;
@ -1005,7 +1005,7 @@ int S9xUnfreezeFromStream (STREAM stream)
uint8* local_control_data = NULL;
uint8* local_timing_data = NULL;
uint8* local_bsx_data = NULL;
do
{
if ((result = UnfreezeStructCopy (stream, "CPU", &local_cpu, SnapCPU, COUNT (SnapCPU), version)) != SUCCESS)
@ -1044,7 +1044,7 @@ int S9xUnfreezeFromStream (STREAM stream)
if ((result = UnfreezeStructCopy (stream, "SAR", &local_sa1_registers, SnapSA1Registers, COUNT (SnapSA1Registers), version)) != SUCCESS)
break;
}
if ((result = UnfreezeStructCopy (stream, "SP7", &local_spc, SnapSPC7110, COUNT(SnapSPC7110), version)) != SUCCESS)
{
if(Settings.SPC7110)
@ -1089,7 +1089,7 @@ int S9xUnfreezeFromStream (STREAM stream)
} while(false);
// ## end load ##
if (result == SUCCESS)
{
uint32 old_flags = CPU.Flags;
@ -1125,7 +1125,7 @@ int S9xUnfreezeFromStream (STREAM stream)
{
UnfreezeStructFromCopy (&rtc_f9, SnapS7RTC, COUNT (SnapS7RTC), local_spc_rtc, version);
}
struct SControlSnapshot ctl_snap;
if(local_control_data) {
UnfreezeStructFromCopy (&ctl_snap, SnapControls, COUNT (SnapControls), local_control_data, version);
@ -1141,7 +1141,7 @@ int S9xUnfreezeFromStream (STREAM stream)
ctl_snap.justifier_select=0;
}
S9xControlPostLoad(&ctl_snap);
if (local_timing_data)
UnfreezeStructFromCopy (&Timings, SnapTimings, COUNT (SnapTimings), local_timing_data, version);
else // Must be an old snes9x savestate
@ -1191,7 +1191,7 @@ int S9xUnfreezeFromStream (STREAM stream)
{
S9xUpdateRTC();
}
if (local_bsx_data)
S9xFixBSXAfterSnapshotLoad();
@ -1214,7 +1214,7 @@ int S9xUnfreezeFromStream (STREAM stream)
Memory.FillRAM[0x4213]=Memory.FillRAM[0x4201]=0xFF;
}
if(local_apu) APU.Flags = Obsolete.SAPU_Flags;
// FIXME: assuming the old savesate was made outside S9xMainLoop().
// In this case, V=0 and HDMA was already initialized.
CPU.WhichEvent = HC_HDMA_INIT_EVENT;
@ -1233,13 +1233,13 @@ int S9xUnfreezeFromStream (STREAM stream)
if (Settings.SuperFX)
S9xSuperFXPostLoadState ();
#endif
S9xSRTCPostLoadState ();
if (Settings.SDD1)
S9xSDD1PostLoadState ();
IAPU.NextAPUTimerPos = CPU.Cycles << SNES_APUTIMER_ACCURACY;
IAPU.APUTimerCounter = 0;
IAPU.APUTimerCounter = 0;
}
if (local_cpu) delete [] local_cpu;
@ -1371,7 +1371,7 @@ void FreezeStruct (STREAM stream, char *name, void *base, FreezeData *fields,
#else
NGCFreezeBlock(name, block, len);
#endif
delete[] block;
}
@ -1381,25 +1381,25 @@ void FreezeBlock (STREAM stream, char *name, uint8 *block, int size)
sprintf (buffer, "%s:%06d:", name, size);
WRITE_STREAM (buffer, strlen (buffer), stream);
WRITE_STREAM (block, size, stream);
}
#ifdef NGC
void NGCFreezeStruct()
{
STREAM s = NULL;
FreezeStruct (s,"CPU", &CPU, SnapCPU, COUNT (SnapCPU));
FreezeStruct (s,"REG", &Registers, SnapRegisters, COUNT (SnapRegisters));
FreezeStruct (s,"PPU", &PPU, SnapPPU, COUNT (SnapPPU));
FreezeStruct (s,"DMA", DMA, SnapDMA, COUNT (SnapDMA));
// RAM and VRAM
NGCFreezeBlock ("VRA", Memory.VRAM, 0x10000);
NGCFreezeBlock ("RAM", Memory.RAM, 0x20000);
NGCFreezeBlock ("SRA", ::SRAM, 0x20000);
NGCFreezeBlock ("FIL", Memory.FillRAM, 0x8000);
if (Settings.APUEnabled)
{
// APU
@ -1415,7 +1415,7 @@ void NGCFreezeStruct()
struct SControlSnapshot ctl_snap;
S9xControlPreSave(&ctl_snap);
FreezeStruct (s,"CTL", &ctl_snap, SnapControls, COUNT (SnapControls));
// Timings
FreezeStruct (s,"TIM", &Timings, SnapTimings, COUNT (SnapTimings));
@ -1424,7 +1424,7 @@ void NGCFreezeStruct()
{
S9xSA1PackStatus ();
FreezeStruct (s,"SA1", &SA1, SnapSA1, COUNT (SnapSA1));
FreezeStruct (s,"SAR", &SA1Registers, SnapSA1Registers,
FreezeStruct (s,"SAR", &SA1Registers, SnapSA1Registers,
COUNT (SnapSA1Registers));
}
@ -1442,7 +1442,7 @@ void NGCFreezeStruct()
if (Settings.BS)
{
FreezeStruct (s,"BSX", &BSX, SnapBSX, COUNT (SnapBSX));
}
}
}
#endif
@ -1493,7 +1493,7 @@ int UnfreezeBlock (STREAM stream, char *name, uint8 *block, int size)
#else
return NGCUnFreezeBlock(name, block, size);
#endif
}
int UnfreezeBlockCopy (STREAM stream, char *name, uint8** block, int size)
@ -1641,14 +1641,14 @@ bool8 S9xSPCDump (const char *filename)
static uint8 version = {
0x1e
};
FILE *fs;
S9xSetSoundMute (TRUE);
if (!(fs = fopen (filename, "wb")))
return (FALSE);
// The SPC file format:
// 0000: header: 'SNES-SPC700 Sound File Data v0.30',26,26,26
// 0036: version: $1e
@ -1671,7 +1671,7 @@ bool8 S9xSPCDump (const char *filename)
// 0000: Reserved: 36 bytes
// 0256: SPC700 RAM: 64K
// ----: DSP Registers: 256 bytes
if (fwrite (header, sizeof (header), 1, fs) != 1 ||
fputc (version, fs) == EOF ||
fseek (fs, 37, SEEK_SET) == EOF ||
@ -1699,24 +1699,24 @@ bool8 S9xUnfreezeZSNES (const char *filename)
{
FILE *fs;
uint8 t [4000];
if (!(fs = fopen (filename, "rb")))
return (FALSE);
if (fread (t, 64, 1, fs) == 1 &&
strncmp ((char *) t, "ZSNES Save State File V0.6", 26) == 0)
{
S9xReset ();
S9xSetSoundMute (TRUE);
// 28 Curr cycle
CPU.V_Counter = READ_WORD (&t [29]);
// 33 instrset
Settings.APUEnabled = t [36];
// 34 bcycpl cycles per scanline
// 35 cycphb cyclers per hblank
Registers.A.W = READ_WORD (&t [41]);
Registers.DB = t [43];
Registers.PB = t [44];
@ -1726,7 +1726,7 @@ bool8 S9xUnfreezeZSNES (const char *filename)
Registers.Y.W = READ_WORD (&t [51]);
Registers.P.W = READ_WORD (&t [53]);
Registers.PCw = READ_WORD (&t [55]);
fread (t, 1, 8, fs);
fread (t, 1, 3019, fs);
S9xSetCPU (t [2], 0x4200);
@ -1735,11 +1735,11 @@ bool8 S9xUnfreezeZSNES (const char *filename)
PPU.IRQHBeamPos = READ_WORD (&t [2527]);
PPU.Brightness = t [6];
PPU.ForcedBlanking = t [8] >> 7;
int i;
for (i = 0; i < 544; i++)
S9xSetPPU (t [0464 + i], 0x2104);
PPU.OBJNameBase = READ_WORD (&t [9]);
PPU.OBJNameSelect = READ_WORD (&t [13]) - PPU.OBJNameBase;
switch (t [18])
@ -1810,7 +1810,7 @@ bool8 S9xUnfreezeZSNES (const char *filename)
PPU.VMA.Address = READ_DWORD (&t [101]);
for (i = 0; i < 512; i++)
S9xSetPPU (t [1488 + i], 0x2122);
PPU.CGADD = (uint8) READ_WORD (&t [105]);
Memory.FillRAM [0x212c] = t [108];
Memory.FillRAM [0x212d] = t [109];
@ -1851,13 +1851,13 @@ bool8 S9xUnfreezeZSNES (const char *filename)
Memory.FillRAM [0x2135] = t [157]; // Matrix mult
Memory.FillRAM [0x2136] = t [158]; // Matrix mult
PPU.WRAM = READ_DWORD (&t [161]);
for (i = 0; i < 128; i++)
S9xSetCPU (t [165 + i], 0x4300 + i);
if (t [294])
CPU.IRQActive |= PPU_V_BEAM_IRQ_SOURCE | PPU_H_BEAM_IRQ_SOURCE;
S9xSetCPU (t [296], 0x420c);
// hdmadata t[297] + 8 * 19
PPU.FixedColourRed = t [450];
@ -1866,35 +1866,35 @@ bool8 S9xUnfreezeZSNES (const char *filename)
S9xSetPPU (t [454], 0x2130);
S9xSetPPU (t [455], 0x2131);
// vraminctype ...
fread (Memory.RAM, 1, 128 * 1024, fs);
fread (Memory.VRAM, 1, 64 * 1024, fs);
if (Settings.APUEnabled)
{
// SNES SPC700 RAM (64K)
fread (IAPU.RAM, 1, 64 * 1024, fs);
// Junk 16 bytes
fread (t, 1, 16, fs);
// SNES SPC700 state and internal ZSNES SPC700 emulation state
fread (t, 1, 304, fs);
APURegisters.PC = READ_DWORD (&t [0]);
APURegisters.YA.B.A = t [4];
APURegisters.X = t [8];
APURegisters.YA.B.Y = t [12];
APURegisters.P = t [16];
APURegisters.S = t [24];
APU.Cycles = READ_DWORD (&t [32]);
APU.ShowROM = (IAPU.RAM [0xf1] & 0x80) != 0;
APU.OutPorts [0] = t [36];
APU.OutPorts [1] = t [37];
APU.OutPorts [2] = t [38];
APU.OutPorts [3] = t [39];
APU.TimerEnabled [0] = (t [40] & 1) != 0;
APU.TimerEnabled [1] = (t [40] & 2) != 0;
APU.TimerEnabled [2] = (t [40] & 4) != 0;
@ -1904,17 +1904,17 @@ bool8 S9xUnfreezeZSNES (const char *filename)
APU.Timer [0] = t [44];
APU.Timer [1] = t [45];
APU.Timer [2] = t [46];
memmove (APU.ExtraRAM, &t [48], 64);
// Internal ZSNES sound DSP state
fread (t, 1, 1068, fs);
// SNES sound DSP register values
fread (t, 1, 256, fs);
uint8 saved = IAPU.RAM [0xf2];
for (i = 0; i < 128; i++)
{
switch (i)
@ -1933,7 +1933,7 @@ bool8 S9xUnfreezeZSNES (const char *filename)
IAPU.RAM [0xf2] = APU_KON;
S9xSetAPUDSP (t [APU_KON]);
IAPU.RAM [0xf2] = saved;
S9xSetSoundMute (FALSE);
IAPU.PC = IAPU.RAM + APURegisters.PC;
S9xAPUUnpackStatus ();
@ -1950,7 +1950,7 @@ bool8 S9xUnfreezeZSNES (const char *filename)
IAPU.APUExecuting = FALSE;
S9xSetSoundMute (TRUE);
}
if (Settings.SuperFX)
{
fread (::SRAM, 1, 64 * 1024, fs);
@ -1970,7 +1970,7 @@ bool8 S9xUnfreezeZSNES (const char *filename)
S9xSetSA1 (((READ_DWORD (&t [28]) - (4096*1024-0x6000))) >> 13, 0x2224);
S9xSetSA1 (t [36], 0x2201);
S9xSetSA1 (t [41], 0x2209);
SA1Registers.A.W = READ_DWORD (&t [592]);
SA1Registers.X.W = READ_DWORD (&t [596]);
SA1Registers.Y.W = READ_DWORD (&t [600]);
@ -1980,9 +1980,9 @@ bool8 S9xUnfreezeZSNES (const char *filename)
SA1Registers.S.W = READ_DWORD (&t [616]);
SA1Registers.PCw = READ_DWORD (&t [636]);
SA1Registers.P.W = t [620] | (t [624] << 8);
memmove (&Memory.FillRAM [0x3000], t + 692, 2 * 1024);
fread (::SRAM, 1, 64 * 1024, fs);
fseek (fs, 64 * 1024, SEEK_CUR);
S9xFixSA1AfterSnapshotLoad ();
@ -1991,10 +1991,10 @@ bool8 S9xUnfreezeZSNES (const char *filename)
{
uint32 temp;
fread(&s7r.bank50, 1,0x10000, fs);
//NEWSYM SPCMultA, dd 0 4820-23
fread(&temp, 1, 4, fs);
s7r.reg4820=temp&(0x0FF);
s7r.reg4821=(temp>>8)&(0x0FF);
s7r.reg4822=(temp>>16)&(0x0FF);
@ -2013,12 +2013,12 @@ bool8 S9xUnfreezeZSNES (const char *filename)
//NEWSYM SPCMulRes, dd 0 4828-B
fread(&temp, 1, 4, fs);
s7r.reg4828=temp&(0x0FF);
s7r.reg4829=(temp>>8)&(0x0FF);
s7r.reg482A=(temp>>16)&(0x0FF);
s7r.reg482B=(temp>>24)&(0x0FF);
//NEWSYM SPCDivRes, dd 0 482C-D
fread(&temp, 1,4,fs);
s7r.reg482C=temp&(0x0FF);
@ -2026,14 +2026,14 @@ bool8 S9xUnfreezeZSNES (const char *filename)
//NEWSYM SPC7110BankA, dd 020100h 4831-3
fread(&temp, 1, 4, fs);
s7r.reg4831=temp&(0x0FF);
s7r.reg4832=(temp>>8)&(0x0FF);
s7r.reg4833=(temp>>16)&(0x0FF);
//NEWSYM SPC7110RTCStat, dd 0 4840,init,command, index
fread(&temp, 1, 4, fs);
s7r.reg4840=temp&(0x0FF);
//NEWSYM SPC7110RTC, db 00,00,00,00,00,00,01,00,01,00,00,00,00,00,0Fh,00
@ -2077,7 +2077,7 @@ fread(&temp, 1, 4, fs);
//NEWSYM SPCROMPtr, dd 0 4811-4813
fread(&temp, 1, 4, fs);
s7r.reg4811=temp&(0x0FF);
s7r.reg4812=(temp>>8)&(0x0FF);
s7r.reg4813=(temp>>16)&(0x0FF);
@ -2093,13 +2093,13 @@ fread(&temp, 1, 4, fs);
s7r.reg4817=(temp>>8)&(0x0FF);
//NEWSYM SPCROMCom, dd 0 4818
fread(&temp, 1, 4, fs);
s7r.reg4818=temp&(0x0FF);
//NEWSYM SPCCompPtr, dd 0 4801-4804 (+b50i) if"manual"
fread(&temp, 1, 4, fs);
//do table check
s7r.reg4801=temp&(0x0FF);
s7r.reg4802=(temp>>8)&(0x0FF);
s7r.reg4803=(temp>>16)&(0x0FF);
@ -2114,26 +2114,26 @@ fread(&temp, 1, 4, fs);
s7r.reg480A=(temp>>8)&(0x0FF);
//NEWSYM SPCCompCommand, dd 0 480B
fread(&temp, 1, 4, fs);
s7r.reg480B=temp&(0x0FF);
//NEWSYM SPCCheckFix, dd 0 written(if 1, then set writtne to max value!)
fread(&temp, 1, 4, fs);
(temp&(0x0FF))?s7r.written=0x1F:s7r.written=0x00;
//NEWSYM SPCSignedVal, dd 0 482E
fread(&temp, 1, 4, fs);
s7r.reg482E=temp&(0x0FF);
}
fclose (fs);
Memory.FixROMSpeed ();
IPPU.ColorsChanged = TRUE;
IPPU.OBJChanged = TRUE;
CPU.InDMA = CPU.InWRAM_DMA = FALSE;
S9xFixColourBrightness ();
IPPU.RenderThisFrame = FALSE;
S9xFixSoundAfterSnapshotLoad (1);
ICPU.ShiftedPB = Registers.PB << 16;
ICPU.ShiftedDB = Registers.DB << 16;