From 10bbf6e9d01f22b049cd9629496192c7a6cfd9cf Mon Sep 17 00:00:00 2001 From: zeromus Date: Mon, 26 Oct 2015 19:16:38 -0500 Subject: [PATCH] implement GB CDL --- BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs | 89 ++++++++++++------ .../Consoles/Nintendo/Gameboy/Gambatte.cs | 23 +++++ .../Consoles/Nintendo/Gameboy/LibGambatte.cs | 25 +++++ libgambatte/include/gambatte.h | 16 ++++ libgambatte/src/cinterface.cpp | 6 ++ libgambatte/src/cpu.cpp | 7 +- libgambatte/src/cpu.h | 4 + libgambatte/src/gambatte.cpp | 4 + libgambatte/src/mem/cartridge.h | 14 +++ libgambatte/src/memory.cpp | 1 + libgambatte/src/memory.h | 82 +++++++++++++++- output/dll/libgambatte.dll | Bin 151040 -> 147968 bytes 12 files changed, 238 insertions(+), 33 deletions(-) diff --git a/BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs b/BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs index 991c6e1950..dc69b2c02a 100644 --- a/BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs +++ b/BizHawk.Client.EmuHawk/tools/PCE/PCECDL.cs @@ -6,6 +6,8 @@ using System.Windows.Forms; using BizHawk.Emulation.Common; using BizHawk.Emulation.Common.IEmulatorExtensions; + +using BizHawk.Emulation.Cores.Nintendo.Gameboy; using BizHawk.Emulation.Cores.Components.H6280; using BizHawk.Emulation.Cores.PCEngine; @@ -17,7 +19,7 @@ namespace BizHawk.Client.EmuHawk public partial class PCECDL : Form, IToolFormAutoConfig { [RequiredService] - private PCEngine _emu { get; set; } + public IEmulator _emu { get; private set; } private CodeDataLog _cdl; private RecentFiles _recent_fld = new RecentFiles(); @@ -59,9 +61,18 @@ namespace BizHawk.Client.EmuHawk public void Restart() { - LoggingActiveCheckbox.Checked = _emu.Cpu.CDLLoggingActive; - _cdl = _emu.Cpu.CDL; - _emu.InitCDLMappings(); + if (_emu.SystemId == "PCE") + { + var pce = _emu as PCEngine; + LoggingActiveCheckbox.Checked = pce.Cpu.CDLLoggingActive; + _cdl = pce.Cpu.CDL; + pce.InitCDLMappings(); + } + else if(_emu.SystemId == "GB") + { + var gambatte = _emu as Gameboy; + _cdl = gambatte.CDL; + } UpdateDisplay(); } @@ -116,17 +127,32 @@ namespace BizHawk.Client.EmuHawk using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read)) { var newCDL = CodeDataLog.Load(fs); - if (!newCDL.CheckConsistency(_emu.Cpu.Mappings)) + + //this check may be inadequate in the future + if(newCDL.SubType != _emu.SystemId) + throw new InvalidDataException("File is a CDL file of the wrong target core (like, a different game console)!"); + + _cdl = newCDL; + if (_emu.SystemId == "PCE") { - MessageBox.Show(this, "CDL file does not match emulator's current memory map!"); + var pce = _emu as PCEngine; + var cdl_pce = newCDL as CodeDataLog_PCE; + if (!cdl_pce.CheckConsistency(pce.Cpu.Mappings)) + { + MessageBox.Show(this, "CDL file does not match emulator's current memory map!"); + return; + } + pce.Cpu.CDL = _cdl; } - else + else if (_emu.SystemId == "GB") { - _cdl = newCDL; - _emu.Cpu.CDL = _cdl; - UpdateDisplay(); + var gambatte = _emu as Gameboy; + var cdl_gb = newCDL as CodeDataLog_GB; + gambatte.CDL = cdl_gb; } } + + UpdateDisplay(); } #region Events @@ -154,8 +180,21 @@ namespace BizHawk.Client.EmuHawk var result = MessageBox.Show(this, "OK to create new CDL?", "Query", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { - _cdl = CodeDataLog.Create(_emu.Cpu.Mappings); - _emu.Cpu.CDL = _cdl; + if (_emu.SystemId == "PCE") + { + var pce = _emu as PCEngine; + _cdl = CodeDataLog_PCE.Create(pce.Cpu.Mappings); + pce.Cpu.CDL = _cdl; + } + else if (_emu.SystemId == "GB") + { + var gambatte = _emu as Gameboy; + var memd = gambatte.AsMemoryDomains(); + var cdl_gb = CodeDataLog_GB.Create(memd); + gambatte.CDL = cdl_gb; + _cdl = cdl_gb; + } + UpdateDisplay(); } } @@ -173,22 +212,7 @@ namespace BizHawk.Client.EmuHawk if (file != null) { - using (var fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read)) - { - var newCDL = CodeDataLog.Load(fs); - if (!newCDL.CheckConsistency(_emu.Cpu.Mappings)) - { - MessageBox.Show(this, "CDL file does not match emulator's current memory map!"); - } - else - { - _cdl = newCDL; - _emu.Cpu.CDL = _cdl; - UpdateDisplay(); - _recent.Add(file.FullName); - _currentFileName = file.FullName; - } - } + LoadFile(file.FullName); } } } @@ -314,7 +338,14 @@ namespace BizHawk.Client.EmuHawk LoggingActiveCheckbox.Checked = false; } - _emu.Cpu.CDLLoggingActive = LoggingActiveCheckbox.Checked; + if (_emu.SystemId == "PCE") + { + //set a special flag on the CPU to indicate CDL is running, maybe it's faster, who knows + var pce = _emu as PCEngine; + pce.Cpu.CDLLoggingActive = LoggingActiveCheckbox.Checked; + } + + _cdl.Active = LoggingActiveCheckbox.Checked; } private void PCECDL_DragEnter(object sender, DragEventArgs e) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs index 5389945b1c..e2993af865 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs @@ -173,6 +173,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy TimeCallback = new LibGambatte.RTCCallback(GetCurrentTime); LibGambatte.gambatte_setrtccallback(GambatteState, TimeCallback); + //seems to have near negligable speed impact. lets always use it, for now. + //someone who cares can make it controllable + CDCallback = new LibGambatte.CDCallback(CDCallbackProc); + LibGambatte.gambatte_setcdcallback(GambatteState, CDCallback); + NewSaveCoreSetBuff(); } catch @@ -182,6 +187,24 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy } } + public CodeDataLog_GB CDL; + LibGambatte.CDCallback CDCallback; + void CDCallbackProc(int addr, LibGambatte.CDLog_AddrType addrtype, LibGambatte.CDLog_Flags flags) + { + if (CDL == null) return; + if (!CDL.Active) return; + string key; + switch (addrtype) + { + case LibGambatte.CDLog_AddrType.ROM: key = "ROM"; break; + case LibGambatte.CDLog_AddrType.HRAM: key = "HRAM"; break; + case LibGambatte.CDLog_AddrType.WRAM: key = "WRAM"; break; + case LibGambatte.CDLog_AddrType.CartRAM: key = "CartRAM"; break; + default: throw new InvalidOperationException("Juniper lightbulb proxy"); + } + CDL[key][addr] |= (byte)flags; + } + public IEmulatorServiceProvider ServiceProvider { get; private set; } #region ALL SAVESTATEABLE STATE GOES HERE diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs index 6d17f87db7..cdd3b43e27 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs @@ -34,6 +34,19 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy MULTICART_COMPAT = 4 } + public enum CDLog_AddrType : int + { + ROM, HRAM, WRAM, CartRAM + } + + [Flags] + public enum CDLog_Flags : int + { + ExecFirst = 1, + ExecOperand = 2, + Data = 4 + } + /// /// Load ROM image. /// @@ -161,6 +174,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void MemoryCallback(uint address); + /// + /// type of the CDLogger callback + /// + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public delegate void CDCallback(int addr, CDLog_AddrType addrtype, CDLog_Flags flags); + /// /// set a callback to occur immediately BEFORE EVERY cpu read, except for opcode first byte fetches /// @@ -185,6 +204,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void gambatte_setexeccallback(IntPtr core, MemoryCallback callback); + /// + /// set a callback whicih enables CD Logger feedback + /// + [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern void gambatte_setcdcallback(IntPtr core, CDCallback callback); + /// /// type of the cpu trace callback /// diff --git a/libgambatte/include/gambatte.h b/libgambatte/include/gambatte.h index 990d3f9a64..f36121ca23 100644 --- a/libgambatte/include/gambatte.h +++ b/libgambatte/include/gambatte.h @@ -28,6 +28,21 @@ namespace gambatte { enum { BG_PALETTE = 0, SP1_PALETTE = 1, SP2_PALETTE = 2 }; +typedef void (*CDCallback)(int32_t addr, int32_t addrtype, int32_t flags); + +enum eCDLog_AddrType +{ + eCDLog_AddrType_ROM, eCDLog_AddrType_HRAM, eCDLog_AddrType_WRAM, eCDLog_AddrType_CartRAM, + eCDLog_AddrType_None +}; + +enum eCDLog_Flags +{ + eCDLog_Flags_ExecFirst = 1, + eCDLog_Flags_ExecOperand = 2, + eCDLog_Flags_Data = 4, +}; + class GB { public: GB(); @@ -88,6 +103,7 @@ public: void setReadCallback(void (*callback)(unsigned)); void setWriteCallback(void (*callback)(unsigned)); void setExecCallback(void (*callback)(unsigned)); + void setCDCallback(CDCallback); void setTraceCallback(void (*callback)(void *)); void setScanlineCallback(void (*callback)(), int sl); void setRTCCallback(std::uint32_t (*callback)()); diff --git a/libgambatte/src/cinterface.cpp b/libgambatte/src/cinterface.cpp index e9c52041bc..77eaf09f01 100644 --- a/libgambatte/src/cinterface.cpp +++ b/libgambatte/src/cinterface.cpp @@ -83,6 +83,12 @@ GBEXPORT void gambatte_setexeccallback(GB *g, void (*callback)(unsigned)) g->setExecCallback(callback); } +GBEXPORT void gambatte_setcdcallback(GB *g, CDCallback cdc) +{ + g->setCDCallback(cdc); +} + + GBEXPORT void gambatte_settracecallback(GB *g, void (*callback)(void *)) { g->setTraceCallback(callback); diff --git a/libgambatte/src/cpu.cpp b/libgambatte/src/cpu.cpp index e1674bebb1..3f6619eb78 100644 --- a/libgambatte/src/cpu.cpp +++ b/libgambatte/src/cpu.cpp @@ -112,7 +112,8 @@ void CPU::loadState(const SaveState &state) { #define READ(dest, addr) do { (dest) = memory.read(addr, cycleCounter); cycleCounter += 4; } while (0) // #define PC_READ(dest, addr) do { (dest) = memory.pc_read(addr, cycleCounter); cycleCounter += 4; } while (0) -#define PC_READ(dest) do { (dest) = memory.read_excb(PC, cycleCounter); PC = (PC + 1) & 0xFFFF; cycleCounter += 4; } while (0) +#define PC_READ(dest) do { (dest) = memory.read_excb(PC, cycleCounter, false); PC = (PC + 1) & 0xFFFF; cycleCounter += 4; } while (0) +#define PC_READ_FIRST(dest) do { (dest) = memory.read_excb(PC, cycleCounter, true); PC = (PC + 1) & 0xFFFF; cycleCounter += 4; } while (0) #define FF_READ(dest, addr) do { (dest) = memory.ff_read(addr, cycleCounter); cycleCounter += 4; } while (0) #define WRITE(addr, data) do { memory.write(addr, data, cycleCounter); cycleCounter += 4; } while (0) @@ -518,13 +519,13 @@ void CPU::process(const unsigned long cycles) { result[9] = H; result[10] = L; result[11] = skip; - PC_READ(opcode); + PC_READ_FIRST(opcode); result[12] = opcode; result[13] = memory.debugGetLY(); tracecallback((void *)result); } else { - PC_READ(opcode); + PC_READ_FIRST(opcode); } if (skip) { diff --git a/libgambatte/src/cpu.h b/libgambatte/src/cpu.h index a55fb07ca6..09c966ccbb 100644 --- a/libgambatte/src/cpu.h +++ b/libgambatte/src/cpu.h @@ -79,6 +79,10 @@ public: memory.setExecCallback(callback); } + void setCDCallback(CDCallback cdc) { + memory.setCDCallback(cdc); + } + void setTraceCallback(void (*callback)(void *)) { tracecallback = callback; } diff --git a/libgambatte/src/gambatte.cpp b/libgambatte/src/gambatte.cpp index 1c7dcc1f62..7f20278da2 100644 --- a/libgambatte/src/gambatte.cpp +++ b/libgambatte/src/gambatte.cpp @@ -114,6 +114,10 @@ void GB::setExecCallback(void (*callback)(unsigned)) { p_->cpu.setExecCallback(callback); } +void GB::setCDCallback(CDCallback cdc) { + p_->cpu.setCDCallback(cdc); +} + void GB::setTraceCallback(void (*callback)(void *)) { p_->cpu.setTraceCallback(callback); } diff --git a/libgambatte/src/mem/cartridge.h b/libgambatte/src/mem/cartridge.h index f6ea99bfa9..4038593d23 100644 --- a/libgambatte/src/mem/cartridge.h +++ b/libgambatte/src/mem/cartridge.h @@ -29,12 +29,26 @@ namespace gambatte { + //DOOM +//enum eAddressMappingType +//{ +// eAddressMappingType_ROM, +// eAddressMappingType_RAM +//}; +// +//struct AddressMapping +//{ +// int32_t address; +// eAddressMappingType type; +//}; + class Mbc { public: virtual ~Mbc() {} virtual void romWrite(unsigned P, unsigned data) = 0; virtual void loadState(const SaveState::Mem &ss) = 0; virtual bool isAddressWithinAreaRombankCanBeMappedTo(unsigned address, unsigned rombank) const = 0; + //virtual void mapAddress(AddressMapping* mapping, unsigned address) const = 0; //DOOM templatevoid SyncState(NewState *ns) { diff --git a/libgambatte/src/memory.cpp b/libgambatte/src/memory.cpp index f1881eccb2..4bae856679 100644 --- a/libgambatte/src/memory.cpp +++ b/libgambatte/src/memory.cpp @@ -28,6 +28,7 @@ Memory::Memory(const Interrupter &interrupter_in) : readCallback(0), writeCallback(0), execCallback(0), + cdCallback(0), getInput(0), divLastUpdate(0), lastOamDmaUpdate(DISABLED_TIME), diff --git a/libgambatte/src/memory.h b/libgambatte/src/memory.h index 8ffd355c31..b6a4bafd24 100644 --- a/libgambatte/src/memory.h +++ b/libgambatte/src/memory.h @@ -25,6 +25,7 @@ #include "interrupter.h" #include "tima.h" #include "newstate.h" +#include "gambatte.h" namespace gambatte { class InputGetter; @@ -37,6 +38,7 @@ class Memory { void (*readCallback)(unsigned); void (*writeCallback)(unsigned); void (*execCallback)(unsigned); + CDCallback cdCallback; unsigned (*getInput)(); unsigned long divLastUpdate; @@ -117,15 +119,78 @@ public: return P < 0xFF80 ? nontrivial_ff_read(P, cycleCounter) : ioamhram[P - 0xFE00]; } + struct CDMapResult + { + eCDLog_AddrType type; + unsigned addr; + }; + + CDMapResult CDMap(const unsigned P) const + { + if(P<0x4000) + { + CDMapResult ret = { eCDLog_AddrType_ROM, P }; + return ret; + } + else if(P<0x8000) + { + unsigned bank = cart.rmem(P>>12) - cart.rmem(0); + unsigned addr = P+bank; + CDMapResult ret = { eCDLog_AddrType_ROM, addr }; + return ret; + } + else if(P<0xA000) {} + else if(P<0xC000) + { + if(cart.wsrambankptr()) + { + //not bankable + unsigned addr = P&0x1FFF; + CDMapResult ret = { eCDLog_AddrType_CartRAM, addr }; + return ret; + } + } + else if(P<0xE000) + { + unsigned bank = cart.wramdata(P >> 12 & 1) - cart.wramdata(0); + unsigned addr = (P&0xFFF)+bank; + CDMapResult ret = { eCDLog_AddrType_WRAM, addr }; + return ret; + } + else if(P<0xFF80) {} + else + { + ////this is just for debugging, really, it's pretty useless + //CDMapResult ret = { eCDLog_AddrType_HRAM, (P-0xFF80) }; + //return ret; + } + + CDMapResult ret = { eCDLog_AddrType_None }; + return ret; + } + + unsigned read(const unsigned P, const unsigned long cycleCounter) { if (readCallback) readCallback(P); + if(cdCallback) + { + CDMapResult map = CDMap(P); + if(map.type != eCDLog_AddrType_None) + cdCallback(map.addr,map.type,eCDLog_Flags_Data); + } return cart.rmem(P >> 12) ? cart.rmem(P >> 12)[P] : nontrivial_read(P, cycleCounter); } - unsigned read_excb(const unsigned P, const unsigned long cycleCounter) { + unsigned read_excb(const unsigned P, const unsigned long cycleCounter, bool first) { if (execCallback) execCallback(P); + if(cdCallback) + { + CDMapResult map = CDMap(P); + if(map.type != eCDLog_AddrType_None) + cdCallback(map.addr,map.type,first?eCDLog_Flags_ExecFirst : eCDLog_Flags_ExecOperand); + } return cart.rmem(P >> 12) ? cart.rmem(P >> 12)[P] : nontrivial_read(P, cycleCounter); } @@ -147,6 +212,12 @@ public: nontrivial_write(P, data, cycleCounter); if (writeCallback) writeCallback(P); + if(cdCallback) + { + CDMapResult map = CDMap(P); + if(map.type != eCDLog_AddrType_None) + cdCallback(map.addr,map.type,eCDLog_Flags_Data); + } } void ff_write(const unsigned P, const unsigned data, const unsigned long cycleCounter) { @@ -154,6 +225,12 @@ public: ioamhram[P - 0xFE00] = data; } else nontrivial_ff_write(P, data, cycleCounter); + if(cdCallback) + { + CDMapResult map = CDMap(P); + if(map.type != eCDLog_AddrType_None) + cdCallback(map.addr,map.type,eCDLog_Flags_Data); + } } unsigned long event(unsigned long cycleCounter); @@ -174,6 +251,9 @@ public: void setExecCallback(void (*callback)(unsigned)) { this->execCallback = callback; } + void setCDCallback(CDCallback cdc) { + this->cdCallback = cdc; + } void setScanlineCallback(void (*callback)(), int sl) { display.setScanlineCallback(callback, sl); diff --git a/output/dll/libgambatte.dll b/output/dll/libgambatte.dll index 381b65d8292a338bf12f3f1f5ebb0c5d4ed4ce65..bb85ac5da6a189b6cc4eea7a7a8793b218ee6a4e 100644 GIT binary patch delta 59924 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 delta 62378 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