From 79a0fe978c6eece18d2e05320d6c86de584dbb48 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Sun, 2 Nov 2014 07:52:33 +0100 Subject: cleanups. --- libretro.c | 35 +++++-------- source/gfx.c | 6 +-- source/gfx.h | 6 +-- source/memmap.c | 12 ++--- source/memmap.h | 4 +- source/ppu.c | 156 ------------------------------------------------------- source/sdd1.c | 6 +-- source/snes9x.h | 1 - source/spc700.c | 22 -------- source/spc7110.c | 4 +- 10 files changed, 33 insertions(+), 219 deletions(-) diff --git a/libretro.c b/libretro.c index b145231..2257bc5 100644 --- a/libretro.c +++ b/libretro.c @@ -156,21 +156,6 @@ void S9xInitDisplay(void) GFX.Delta = (GFX.SubScreen - GFX.Screen) >> 1; } -void S9xExit() -{ - // if(Settings.SPC7110) - // (*CleanUp7110)(); - - // S9xDeinitDisplay (); - // Memory.SaveSRAM (S9xGetFilename (".srm")); - // // S9xSaveCheatFile (S9xGetFilename (".chb")); // cheat binary file - // // Do this when loading a cheat file! - // Memory.Deinit (); - // S9xDeinitAPU (); - - // exit(0); -} - const char* S9xBasename(const char* f) { const char* p; @@ -298,7 +283,7 @@ void init_sfc_setting(void) void S9xAutoSaveSRAM() { - SaveSRAM(S9xGetFilename(".srm")); + SaveSRAM(S9xGetFilename("srm")); } void retro_init(void) @@ -317,10 +302,10 @@ void retro_init(void) "Frontend supports RGB565 - will use that instead of XRGB1555.\n"); init_sfc_setting(); - Init(); + S9xInitMemory(); S9xInitAPU(); S9xInitDisplay(); - S9xGraphicsInit(); + S9xInitGFX(); S9xInitSound(Settings.SoundPlaybackRate, TRUE, Settings.SoundBufferSize); @@ -329,14 +314,22 @@ void retro_init(void) void retro_deinit(void) { - S9xGraphicsDeinit(); + + if(Settings.SPC7110) + (*CleanUp7110)(); + + SaveSRAM (S9xGetFilename ("srm")); + + S9xDeinitGFX(); S9xDeinitDisplay(); S9xDeinitAPU(); - Deinit(); + S9xDeinitMemory(); #ifdef PERF_TEST perf_cb.perf_log(); #endif + + } uint32 S9xReadJoypad(int port) @@ -728,7 +721,7 @@ bool retro_load_game(const struct retro_game_info* game) Settings.FrameTime = (Settings.PAL ? Settings.FrameTimePAL : Settings.FrameTimeNTSC); - LoadSRAM(S9xGetFilename(".srm")); + LoadSRAM(S9xGetFilename("srm")); struct retro_system_av_info av_info; retro_get_system_av_info(&av_info); diff --git a/source/gfx.c b/source/gfx.c index 303d09f..db89ec2 100644 --- a/source/gfx.c +++ b/source/gfx.c @@ -254,7 +254,7 @@ void DrawLargePixel16Sub1_2(uint32 Tile, int32 Offset, uint32 StartPixel, uint32 Pixels, uint32 StartLine, uint32 LineCount); -bool8 S9xGraphicsInit() +bool8 S9xInitGFX() { register uint32 PixelOdd = 1; register uint32 PixelEven = 2; @@ -532,9 +532,9 @@ bool8 S9xGraphicsInit() return (TRUE); } -void S9xGraphicsDeinit(void) +void S9xDeinitGFX(void) { - // Free any memory allocated in S9xGraphicsInit + // Free any memory allocated in S9xInitGFX if (GFX.X2) { free((char*) GFX.X2); diff --git a/source/gfx.h b/source/gfx.h index 0441223..5c55f64 100644 --- a/source/gfx.h +++ b/source/gfx.h @@ -105,8 +105,8 @@ void S9xBuildDirectColourMaps(); // port. extern struct SGFX GFX; -bool8 S9xGraphicsInit(); -void S9xGraphicsDeinit(); +bool8 S9xInitGFX(); +void S9xDeinitGFX(); bool8 S9xInitUpdate(void); #if 0 void S9xSyncSpeed(); @@ -129,7 +129,7 @@ struct SGFX uint8* SubZBuffer; uint32 Pitch; - // Setup in call to S9xGraphicsInit() + // Setup in call to S9xInitGFX() int Delta; uint16* X2; uint16* ZERO_OR_X2; diff --git a/source/memmap.c b/source/memmap.c index c058002..13fcd9c 100644 --- a/source/memmap.c +++ b/source/memmap.c @@ -406,10 +406,10 @@ char* Safe(const char* s) } /**********************************************************************************************/ -/* Init() */ +/* S9xInitMemory() */ /* This function allocates and zeroes all the memory needed by the emulator */ /**********************************************************************************************/ -bool8 Init() +bool8 S9xInitMemory() { // DS2 DMA notes: These would do well to be allocated with 32 extra bytes // so they can be 32-byte aligned. [Neb] @@ -448,7 +448,7 @@ bool8 Init() !IPPU.TileCache [TILE_8BIT] || !IPPU.TileCached [TILE_2BIT] || !IPPU.TileCached [TILE_4BIT] || !IPPU.TileCached [TILE_8BIT]) { - Deinit(); + S9xDeinitMemory(); return (FALSE); } @@ -485,7 +485,7 @@ bool8 Init() return (TRUE); } -void Deinit() +void S9xDeinitMemory() { #ifdef __W32_HEAP if (_HEAPOK != _heapchk()) @@ -910,7 +910,7 @@ again: FreeSDD1Data(); InitROM(Tales); - S9xLoadCheatFile(S9xGetFilename(".cht")); + S9xLoadCheatFile(S9xGetFilename("cht")); S9xInitCheatData(); S9xApplyCheats(); @@ -4146,7 +4146,7 @@ void CheckForIPSPatch(const char* rom_filename, bool8 header, if (!(patch_file = fopen(fname, "rb"))) { - if (!(patch_file = fopen(S9xGetFilename(".ips"), "rb"))) + if (!(patch_file = fopen(S9xGetFilename("ips"), "rb"))) return; } diff --git a/source/memmap.h b/source/memmap.h index 4614e83..c4902f6 100644 --- a/source/memmap.h +++ b/source/memmap.h @@ -146,8 +146,8 @@ uint32 FileLoader(uint8* buffer, const char* filename, int32 maxsize); void InitROM(bool8); bool8 LoadSRAM(const char*); bool8 SaveSRAM(const char*); -bool8 Init(); -void Deinit(); +bool8 S9xInitMemory(); +void S9xDeinitMemory(); void FreeSDD1Data(); void WriteProtectROM(); diff --git a/source/ppu.c b/source/ppu.c index a0e0f55..181fdaf 100644 --- a/source/ppu.c +++ b/source/ppu.c @@ -2775,7 +2775,6 @@ void S9xUpdateJoypads() void S9xSuperFXExec() { -#if 1 if (Settings.SuperFX) { if ((Memory.FillRAM [0x3000 + GSU_SFR] & FLG_G) && @@ -2794,161 +2793,6 @@ void S9xSuperFXExec() } } } -#else - uint32 tmp = (Memory.FillRAM[0x3034] << 16) + *(uint16*) - &Memory.FillRAM [0x301e]; - -#if 0 - if (tmp == 0x018428) - { - *(uint16*) &SRAM [0x0064] = 0xbc00; - *(uint16*) &SRAM [0x002c] = 0x8000; - } -#endif - if (tmp == -1)//0x018428) //0x01bfc3) //0x09edaf) //-1) //0x57edaf) - { - while (Memory.FillRAM [0x3030] & 0x20) - { - int i; - int32 vError; - uint8 avReg[0x40]; - char tmp[128]; - uint8 vPipe; - uint8 vColr; - uint8 vPor; - - FxPipeString(tmp); - /* Make the string 32 chars long */ - if (strlen(tmp) < 32) - { - memset(&tmp[strlen(tmp)], ' ', 32 - strlen(tmp)); - tmp[32] = 0; - } - - /* Copy registers (so we can see if any changed) */ - vColr = FxGetColorRegister(); - vPor = FxGetPlotOptionRegister(); - memcpy(avReg, SuperFX.pvRegisters, 0x40); - - /* Print the pipe string */ - printf(tmp); - - /* Execute the instruction in the pipe */ - vPipe = FxPipe(); - vError = FxEmulate(1); - - /* Check if any registers changed (and print them if they did) */ - for (i = 0; i < 16; i++) - { - uint32 a = 0; - uint32 r1 = ((uint32)avReg[i * 2]) | (((uint32)avReg[(i * 2) + 1]) << 8); - uint32 r2 = (uint32)(SuperFX.pvRegisters[i * 2]) | (((uint32) - SuperFX.pvRegisters[(i * 2) + 1]) << 8); - if (i == 15) - a = OPCODE_BYTES(vPipe); - if (((r1 + a) & 0xffff) != r2) - printf(" r%d=$%04x", i, r2); - } - { - /* Check SFR */ - uint32 r1 = ((uint32)avReg[0x30]) | (((uint32)avReg[0x31]) << 8); - uint32 r2 = (uint32)(SuperFX.pvRegisters[0x30]) | (((uint32) - SuperFX.pvRegisters[0x31]) << 8); - if ((r1 & (1 << 1)) != (r2 & (1 << 1))) - printf(" Z=%d", (uint32)(!!(r2 & (1 << 1)))); - if ((r1 & (1 << 2)) != (r2 & (1 << 2))) - printf(" CY=%d", (uint32)(!!(r2 & (1 << 2)))); - if ((r1 & (1 << 3)) != (r2 & (1 << 3))) - printf(" S=%d", (uint32)(!!(r2 & (1 << 3)))); - if ((r1 & (1 << 4)) != (r2 & (1 << 4))) - printf(" OV=%d", (uint32)(!!(r2 & (1 << 4)))); - if ((r1 & (1 << 5)) != (r2 & (1 << 5))) - printf(" G=%d", (uint32)(!!(r2 & (1 << 5)))); - if ((r1 & (1 << 6)) != (r2 & (1 << 6))) - printf(" R=%d", (uint32)(!!(r2 & (1 << 6)))); - if ((r1 & (1 << 8)) != (r2 & (1 << 8))) - printf(" ALT1=%d", (uint32)(!!(r2 & (1 << 8)))); - if ((r1 & (1 << 9)) != (r2 & (1 << 9))) - printf(" ALT2=%d", (uint32)(!!(r2 & (1 << 9)))); - if ((r1 & (1 << 10)) != (r2 & (1 << 10))) - printf(" IL=%d", (uint32)(!!(r2 & (1 << 10)))); - if ((r1 & (1 << 11)) != (r2 & (1 << 11))) - printf(" IH=%d", (uint32)(!!(r2 & (1 << 11)))); - if ((r1 & (1 << 12)) != (r2 & (1 << 12))) - printf(" B=%d", (uint32)(!!(r2 & (1 << 12)))); - if ((r1 & (1 << 15)) != (r2 & (1 << 15))) - printf(" IRQ=%d", (uint32)(!!(r2 & (1 << 15)))); - } - { - /* Check PBR */ - uint32 r1 = ((uint32)avReg[0x34]); - uint32 r2 = (uint32)(SuperFX.pvRegisters[0x34]); - if (r1 != r2) - printf(" PBR=$%02x", r2); - } - { - /* Check ROMBR */ - uint32 r1 = ((uint32)avReg[0x36]); - uint32 r2 = (uint32)(SuperFX.pvRegisters[0x36]); - if (r1 != r2) - printf(" ROMBR=$%02x", r2); - } - { - /* Check RAMBR */ - uint32 r1 = ((uint32)avReg[0x3c]); - uint32 r2 = (uint32)(SuperFX.pvRegisters[0x3c]); - if (r1 != r2) - printf(" RAMBR=$%02x", r2); - } - { - /* Check CBR */ - uint32 r1 = ((uint32)avReg[0x3e]) | (((uint32)avReg[0x3f]) << 8); - uint32 r2 = (uint32)(SuperFX.pvRegisters[0x3e]) | (((uint32) - SuperFX.pvRegisters[0x3f]) << 8); - if (r1 != r2) - printf(" CBR=$%04x", r2); - } - { - /* Check COLR */ - if (vColr != FxGetColorRegister()) - printf(" COLR=$%02x", FxGetColorRegister()); - } - { - /* Check POR */ - if (vPor != FxGetPlotOptionRegister()) - printf(" POR=$%02x", FxGetPlotOptionRegister()); - } - printf("\n"); - } - S9xExit(); - } - else - { - uint32 t = (Memory.FillRAM [0x3034] << 16) + - (Memory.FillRAM [0x301f] << 8) + - (Memory.FillRAM [0x301e] << 0); - - printf("%06x: %d\n", t, FxEmulate(2000000)); - // FxEmulate (2000000); - } -#if 0 - if (!(CPU.Flags & TRACE_FLAG)) - { - static int z = 1; - if (z == 0) - { - extern FILE* trace; - CPU.Flags |= TRACE_FLAG; - trace = fopen("trace.log", "wb"); - } - else - z--; - } -#endif - Memory.FillRAM [0x3030] &= ~0x20; - if (Memory.FillRAM [0x3031] & 0x80) - S9xSetIRQ(GSU_IRQ_SOURCE); -#endif } // Register reads and writes... diff --git a/source/sdd1.c b/source/sdd1.c index de7fd5e..bf14496 100644 --- a/source/sdd1.c +++ b/source/sdd1.c @@ -149,7 +149,7 @@ void S9xSDD1SaveLoggedData() qsort(Memory.SDD1LoggedData, Memory.SDD1LoggedDataCount, 8, S9xCompareSDD1LoggedDataEntries); - FILE* fs = fopen(S9xGetFilename(".dat"), "wb"); + FILE* fs = fopen(S9xGetFilename("dat"), "wb"); if (fs) { @@ -157,7 +157,7 @@ void S9xSDD1SaveLoggedData() Memory.SDD1LoggedDataCount, fs); fclose(fs); #if defined(__linux) - chown(S9xGetFilename(".dat"), getuid(), getgid()); + chown(S9xGetFilename("dat"), getuid(), getgid()); #endif } Memory.SDD1LoggedDataCountPrev = Memory.SDD1LoggedDataCount; @@ -166,7 +166,7 @@ void S9xSDD1SaveLoggedData() void S9xSDD1LoadLoggedData() { - FILE* fs = fopen(S9xGetFilename(".dat"), "rb"); + FILE* fs = fopen(S9xGetFilename("dat"), "rb"); Memory.SDD1LoggedDataCount = Memory.SDD1LoggedDataCountPrev = 0; diff --git a/source/snes9x.h b/source/snes9x.h index 912f101..c230f17 100644 --- a/source/snes9x.h +++ b/source/snes9x.h @@ -393,7 +393,6 @@ extern SCPUState CPU; extern SSNESGameFixes SNESGameFixes; extern char String [513]; -void S9xExit(); void S9xMessage(int type, int number, const char* message); void S9xLoadSDD1Data(); diff --git a/source/spc700.c b/source/spc700.c index e95ff46..7481c50 100644 --- a/source/spc700.c +++ b/source/spc700.c @@ -137,21 +137,6 @@ void S9xAPUSetByte(uint8, uint32 address); #define APUSetZN16(w)\ IAPU._Zero = ((w) != 0) | ((w) >> 8); -void STOP(char* s) -{ - char buffer[100]; - - buffer[0] = '\0'; - - sprintf(String, "Sound CPU in unknown state executing %s at %04X\n%s\n", s, - IAPU.PC - IAPU.RAM, buffer); - S9xMessage(S9X_ERROR, S9X_APU_STOPPED, String); - APU.TimerEnabled[0] = APU.TimerEnabled[1] = APU.TimerEnabled[2] = FALSE; - IAPU.APUExecuting = FALSE; - - S9xExit(); -} - #define TCALL(n)\ {\ SPC700_PushW (IAPU.PC - IAPU.RAM + 1); \ @@ -906,9 +891,6 @@ void Apu0F() { // BRK -#if 0 - STOP("BRK"); -#else SPC700_PushW(IAPU.PC + 1 - IAPU.RAM); S9xAPUPackStatus(); Push(IAPU.Registers.P); @@ -916,14 +898,12 @@ void Apu0F() APUClearInterrupt(); // XXX:Where is the BRK vector ??? IAPU.PC = IAPU.RAM + APU.ExtraRAM[0x20] + (APU.ExtraRAM[0x21] << 8); -#endif } void ApuEF() { // SLEEP // XXX: sleep - // STOP ("SLEEP"); IAPU.APUExecuting = FALSE; IAPU.PC++; } @@ -931,7 +911,6 @@ void ApuEF() void ApuFF() { // STOP - // STOP ("STOP"); IAPU.APUExecuting = FALSE; IAPU.PC++; } @@ -1964,7 +1943,6 @@ void Apu6F() void Apu7F() { // RETI - // STOP ("RETI"); Pop(IAPU.Registers.P); S9xAPUUnpackStatus(); PopW(IAPU.Registers.PC); diff --git a/source/spc7110.c b/source/spc7110.c index a53198c..4285cb3 100644 --- a/source/spc7110.c +++ b/source/spc7110.c @@ -2240,7 +2240,7 @@ bool8 S9xSaveSPC7110RTC(S7RTC* rtc_f9) { FILE* fp; - if ((fp = fopen(S9xGetFilename(".rtc"), "wb")) == NULL) + if ((fp = fopen(S9xGetFilename("rtc"), "wb")) == NULL) return (FALSE); int i = 0; uint8 temp = 0; @@ -2270,7 +2270,7 @@ bool8 S9xLoadSPC7110RTC(S7RTC* rtc_f9) { FILE* fp; - if ((fp = fopen(S9xGetFilename(".rtc"), "rb")) == NULL) + if ((fp = fopen(S9xGetFilename("rtc"), "rb")) == NULL) return (FALSE); int i; for (i = 0; i < 16; i++) -- cgit v1.2.3