From 537b2a1616c902d3c308de54c3c913e2aeca1e8f Mon Sep 17 00:00:00 2001 From: nattthebear Date: Sat, 24 Jun 2017 21:46:11 -0400 Subject: [PATCH] pizza: saverams --- .../BizHawk.Emulation.Cores.csproj | 1 + .../Consoles/Nintendo/Gameboy/LibPizza.cs | 8 +- .../Waterbox/CustomSaverammer.cs | 38 +++++ .../Waterbox/LibWaterboxCore.cs | 18 ++- .../Waterbox/WaterboxCore.cs | 5 + output/dll/pizza.wbx.gz | Bin 59562 -> 59915 bytes waterbox/pizza/lib/cartridge.h | 1 - waterbox/pizza/lib/mmu.c | 149 +++++------------- waterbox/pizza/lib/mmu.h | 9 +- waterbox/pizza/pizza.c | 15 ++ 10 files changed, 124 insertions(+), 120 deletions(-) create mode 100644 BizHawk.Emulation.Cores/Waterbox/CustomSaverammer.cs diff --git a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index d4d84c445c..9a6c529b43 100644 --- a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -1255,6 +1255,7 @@ + diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibPizza.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibPizza.cs index 501ebc962c..dd60e92de3 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibPizza.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibPizza.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy { - public abstract class LibPizza : LibWaterboxCore + public abstract class LibPizza : LibWaterboxCore, ICustomSaveram { [Flags] public enum Buttons : uint @@ -32,5 +32,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy public abstract bool Init(byte[] rom, int romlen, bool sgb, byte[] spc, int spclen); [BizImport(CC)] public abstract bool IsCGB(); + [BizImport(CC)] + public abstract int GetSaveramSize(); + [BizImport(CC)] + public abstract void PutSaveram(byte[] data, int size); + [BizImport(CC)] + public abstract void GetSaveram(byte[] data, int size); } } diff --git a/BizHawk.Emulation.Cores/Waterbox/CustomSaverammer.cs b/BizHawk.Emulation.Cores/Waterbox/CustomSaverammer.cs new file mode 100644 index 0000000000..ae1834f235 --- /dev/null +++ b/BizHawk.Emulation.Cores/Waterbox/CustomSaverammer.cs @@ -0,0 +1,38 @@ +using BizHawk.Emulation.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BizHawk.Emulation.Cores.Waterbox +{ + internal class CustomSaverammer : ISaveRam + { + private readonly ICustomSaveram _s; + private readonly int _size; + + + public CustomSaverammer(ICustomSaveram s) + { + _s = s; + _size = s.GetSaveramSize(); + } + + public bool SaveRamModified => _size > 0; + + public byte[] CloneSaveRam() + { + var ret = new byte[_size]; + _s.GetSaveram(ret, ret.Length); + return ret; + } + + public void StoreSaveRam(byte[] data) + { + if (data.Length != _size) + throw new InvalidOperationException("Wrong size saveram"); + _s.PutSaveram(data, data.Length); + } + } +} diff --git a/BizHawk.Emulation.Cores/Waterbox/LibWaterboxCore.cs b/BizHawk.Emulation.Cores/Waterbox/LibWaterboxCore.cs index 9e1973a8f3..b1fd9ee0d6 100644 --- a/BizHawk.Emulation.Cores/Waterbox/LibWaterboxCore.cs +++ b/BizHawk.Emulation.Cores/Waterbox/LibWaterboxCore.cs @@ -48,7 +48,7 @@ namespace BizHawk.Emulation.Cores.Waterbox } [Flags] - public enum MemoryDomainFlags: int + public enum MemoryDomainFlags : int { None = 0, /// @@ -166,11 +166,11 @@ namespace BizHawk.Emulation.Cores.Waterbox Writable = (m.Flags & MemoryDomainFlags.Writable) != 0; if ((m.Flags & MemoryDomainFlags.WordSize1) != 0) WordSize = 1; - else if((m.Flags & MemoryDomainFlags.WordSize2) != 0) + else if ((m.Flags & MemoryDomainFlags.WordSize2) != 0) WordSize = 2; - else if((m.Flags & MemoryDomainFlags.WordSize4) != 0) + else if ((m.Flags & MemoryDomainFlags.WordSize4) != 0) WordSize = 4; - else if((m.Flags & MemoryDomainFlags.WordSize8) != 0) + else if ((m.Flags & MemoryDomainFlags.WordSize8) != 0) WordSize = 8; else throw new InvalidOperationException("Unknown word size for memory domain"); @@ -195,4 +195,14 @@ namespace BizHawk.Emulation.Cores.Waterbox [BizImport(CC)] public abstract void SetInputCallback(EmptyCallback callback); } + + /// + /// if a core implements this, it will be used for saveramming instead of memory domains + /// + interface ICustomSaveram + { + int GetSaveramSize(); + void PutSaveram(byte[] data, int size); + void GetSaveram(byte[] data, int size); + } } diff --git a/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs b/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs index bf4d53b29c..29181e2530 100644 --- a/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs +++ b/BizHawk.Emulation.Cores/Waterbox/WaterboxCore.cs @@ -79,6 +79,11 @@ namespace BizHawk.Emulation.Cores.Waterbox var mdl = new MemoryDomainList(memoryDomains.Cast().ToList()); mdl.MainMemory = mdl[primaryIndex]; _serviceProvider.Register(mdl); + + var sr = _core as ICustomSaveram; + if (sr != null) + _serviceProvider.Register(new CustomSaverammer(sr)); // override the default implementation + _exe.Seal(); } } diff --git a/output/dll/pizza.wbx.gz b/output/dll/pizza.wbx.gz index dfa7e96b27e0dafdfd37a9590e7d39fd486ff570..66eb3a5fb351d6214cee8c5ce412b9875fc2d325 100644 GIT binary patch literal 59915 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 literal 59562 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 diff --git a/waterbox/pizza/lib/cartridge.h b/waterbox/pizza/lib/cartridge.h index 4c6c372ad6..ebc95de13c 100644 --- a/waterbox/pizza/lib/cartridge.h +++ b/waterbox/pizza/lib/cartridge.h @@ -24,6 +24,5 @@ /* prototypes */ char cartridge_load(const void* data, size_t sz); -void cartridge_term(); #endif diff --git a/waterbox/pizza/lib/mmu.c b/waterbox/pizza/lib/mmu.c index f749ca55b0..4fe931f3f2 100644 --- a/waterbox/pizza/lib/mmu.c +++ b/waterbox/pizza/lib/mmu.c @@ -303,10 +303,9 @@ uint8_t mmu_read_no_cyc(uint16_t a) return mmu.memory[a]; } -void mmu_restore_ram(char *fn) -{ - /* save only if cartridge got a battery */ - if (mmu.carttype == 0x03 || +static int has_saveram(void) +{ + return mmu.carttype == 0x03 || mmu.carttype == 0x06 || mmu.carttype == 0x09 || mmu.carttype == 0x0D || @@ -317,31 +316,46 @@ void mmu_restore_ram(char *fn) mmu.carttype == 0x1B || mmu.carttype == 0x1E || mmu.carttype == 0x22 || - mmu.carttype == 0xFF) - { - FILE *fp = fopen(fn, "r+"); + mmu.carttype == 0xFF; +} - /* it could be not present */ - if (fp == NULL) - return; +int mmu_saveram_size(void) +{ + return has_saveram() ? ram_sz : 0; +} - if (ram_sz <= 0x2000) - { - /* no need to put togheter pieces of ram banks */ - fread(&mmu.memory[0xA000], ram_sz, 1, fp); - } - else - { - /* read entire file into ram buffer */ - fread(mmu.ram_internal, 0x2000, 1, fp); - fread(ram, ram_sz, 1, fp); +void mmu_restore_saveram(const uint8_t* data, int sz) +{ + if (sz == mmu_saveram_size()) + { + if (ram_sz <= 0x2000) + { + memcpy(&mmu.memory[0xa000], data, ram_sz); + } + else + { + memcpy(ram, data, ram_sz); + if (mmu.ram_external_enabled) + memcpy(&mmu.memory[0xa000], &ram[0x2000 * mmu.ram_current_bank], 0x2000); + } + } +} - /* copy internal RAM to 0xA000 address */ - memcpy(&mmu.memory[0xA000], mmu.ram_internal, 0x2000); - } - - fclose(fp); - } +void mmu_save_saveram(uint8_t* dest, int sz) +{ + if (sz == mmu_saveram_size()) + { + if (ram_sz <= 0x2000) + { + memcpy(dest, &mmu.memory[0xa000], ram_sz); + } + else + { + memcpy(dest, ram, ram_sz); + if (mmu.ram_external_enabled) + memcpy(&dest[0x2000 * mmu.ram_current_bank], &mmu.memory[0xa000], 0x2000); + } + } } void mmu_restore_rtc(char *fn) @@ -367,56 +381,6 @@ void mmu_restore_rtc(char *fn) } } -void mmu_save_ram(char *fn) -{ - /* save only if cartridge got a battery */ - if (mmu.carttype == 0x03 || - mmu.carttype == 0x06 || - mmu.carttype == 0x09 || - mmu.carttype == 0x0d || - mmu.carttype == 0x0f || - mmu.carttype == 0x10 || - mmu.carttype == 0x13 || - mmu.carttype == 0x17 || - mmu.carttype == 0x1b || - mmu.carttype == 0x1e || - mmu.carttype == 0x22 || - mmu.carttype == 0xff) - { - FILE *fp = fopen(fn, "w+"); - - if (fp == NULL) - { - printf("Error dumping RAM\n"); - return; - } - - if (ram_sz <= 0x2000) - { - /* no need to put togheter pieces of ram banks */ - fwrite(&mmu.memory[0xA000], ram_sz, 1, fp); - } - else - { - /* yes, i need to put togheter pieces */ - - /* save current used bank */ - if (mmu.ram_external_enabled) - memcpy(&ram[0x2000 * mmu.ram_current_bank], - &mmu.memory[0xA000], 0x2000); - else - memcpy(mmu.ram_internal, - &mmu.memory[0xA000], 0x2000); - - /* dump the entire internal + external RAM */ - fwrite(mmu.ram_internal, 0x2000, 1, fp); - fwrite(ram, ram_sz, 1, fp); - } - - fclose(fp); - } -} - void mmu_save_rtc(char *fn) { /* save only if cartridge got a battery */ @@ -440,15 +404,6 @@ void mmu_set_rumble_cb(mmu_rumble_cb_t cb) mmu_rumble_cb = cb; } -void mmu_term() -{ - if (ram) - { - free(ram); - ram = NULL; - } -} - /* write 16 bit block on a memory address */ void mmu_write(uint16_t a, uint8_t v) { @@ -699,10 +654,6 @@ void mmu_write(uint16_t a, uint8_t v) if (mmu.ram_external_enabled) return; - /* save current bank */ - memcpy(mmu.ram_internal, - &mmu.memory[0xA000], 0x2000); - /* restore external ram bank */ memcpy(&mmu.memory[0xA000], &ram[0x2000 * mmu.ram_current_bank], @@ -724,10 +675,6 @@ void mmu_write(uint16_t a, uint8_t v) memcpy(&ram[0x2000 * mmu.ram_current_bank], &mmu.memory[0xA000], 0x2000); - /* restore external ram bank */ - memcpy(&mmu.memory[0xA000], - mmu.ram_internal, 0x2000); - /* clear external RAM eanbled flag */ mmu.ram_external_enabled = 0; } @@ -807,10 +754,6 @@ void mmu_write(uint16_t a, uint8_t v) if (mmu.ram_external_enabled) return; - /* save current bank */ - memcpy(mmu.ram_internal, - &mmu.memory[0xA000], 0x2000); - /* restore external ram bank */ memcpy(&mmu.memory[0xA000], &ram[0x2000 * mmu.ram_current_bank], @@ -836,10 +779,6 @@ void mmu_write(uint16_t a, uint8_t v) memcpy(&ram[0x2000 * mmu.ram_current_bank], &mmu.memory[0xA000], 0x2000); - /* restore external ram bank */ - memcpy(&mmu.memory[0xA000], - mmu.ram_internal, 0x2000); - /* clear external RAM eanbled flag */ mmu.ram_external_enabled = 0; } @@ -921,9 +860,6 @@ void mmu_write(uint16_t a, uint8_t v) /* save new current bank */ mmu.rom_current_bank = b; - - /* re-apply cheats */ -// mmu_apply_gg(); } return; @@ -1135,8 +1071,3 @@ void mmu_write_no_cyc(uint16_t a, uint8_t v) { mmu.memory[a] = v; } - - - - - diff --git a/waterbox/pizza/lib/mmu.h b/waterbox/pizza/lib/mmu.h index 58fb8285d4..4fda013058 100644 --- a/waterbox/pizza/lib/mmu.h +++ b/waterbox/pizza/lib/mmu.h @@ -37,8 +37,7 @@ typedef struct mmu_s { uint8_t spare; uint16_t spare2; - /* internal RAM */ - uint8_t ram_internal[0x2000]; + // cartridge RAM uint8_t ram_external_enabled; uint8_t ram_current_bank; @@ -101,13 +100,13 @@ void mmu_move(uint16_t d, uint16_t s); uint8_t mmu_read_no_cyc(uint16_t a); uint8_t mmu_read(uint16_t a); unsigned int mmu_read_16(uint16_t a); -void mmu_restore_ram(char *fn); +int mmu_saveram_size(void); +void mmu_restore_saveram(const uint8_t* data, int sz); +void mmu_save_saveram(uint8_t* dest, int sz); void mmu_restore_rtc(char *fn); -void mmu_save_ram(char *fn); void mmu_save_rtc(char *fn); void mmu_set_rumble_cb(mmu_rumble_cb_t cb); void mmu_step(); -void mmu_term(); void mmu_write_no_cyc(uint16_t a, uint8_t v); void mmu_write(uint16_t a, uint8_t v); void mmu_write_16(uint16_t a, uint16_t v); diff --git a/waterbox/pizza/pizza.c b/waterbox/pizza/pizza.c index d4cfe0b62e..0736f7ef89 100644 --- a/waterbox/pizza/pizza.c +++ b/waterbox/pizza/pizza.c @@ -148,6 +148,21 @@ EXPORT void GetMemoryAreas(MemoryArea *m) m[0].Flags = MEMORYAREA_FLAGS_PRIMARY | MEMORYAREA_FLAGS_WRITABLE | MEMORYAREA_FLAGS_WORDSIZE1; } +EXPORT int GetSaveramSize(void) +{ + return mmu_saveram_size(); +} + +EXPORT void PutSaveram(const uint8_t* data, int size) +{ + mmu_restore_saveram(data, size); +} + +EXPORT void GetSaveram(uint8_t* data, int size) +{ + mmu_save_saveram(data, size); +} + void frame_cb() { if (global_sgb)