From ab74f31d41ae6d78ede4c7ee35c77c28bd1f4337 Mon Sep 17 00:00:00 2001 From: goyuken Date: Mon, 26 May 2014 19:49:45 +0000 Subject: [PATCH] quicknes: support getcpuflagsandregisters --- .../Consoles/Nintendo/QuickNES/LibQuickNES.cs | 23 +++++---------- .../Consoles/Nintendo/QuickNES/QuickNES.cs | 27 ++++++++---------- output/dll/libquicknes.dll | Bin 431527 -> 432117 bytes quicknes/bizinterface.cpp | 18 ++++-------- quicknes/nes_emu/Nes_Emu.cpp | 9 ++++++ quicknes/nes_emu/Nes_Emu.h | 2 +- 6 files changed, 34 insertions(+), 45 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/LibQuickNES.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/LibQuickNES.cs index b73a41009e..8a24442114 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/LibQuickNES.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/LibQuickNES.cs @@ -45,22 +45,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES [DllImport(dllname, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr qn_set_sample_rate(IntPtr e, int rate); /// - /// get required min dimensions of output video buffer (8bpp) - /// - /// context - /// width - /// height - //[DllImport(dllname, CallingConvention = CallingConvention.Cdecl)] - //public static extern void qn_get_image_dimensions(IntPtr e, ref int width, ref int height); - /// - /// set output video buffer that will be used for all subsequent renders until replaced - /// - /// context - /// 8bpp, at least as big as qn_get_image_dimensions() - /// byte pitch - //[DllImport(dllname, CallingConvention = CallingConvention.Cdecl)] - //public static extern void qn_set_pixels(IntPtr e, IntPtr dest, int pitch); - /// /// emulate a single frame /// /// context @@ -216,6 +200,13 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES [DllImport(dllname, CallingConvention = CallingConvention.Cdecl)] public static extern void qn_poke_prgbus(IntPtr e, int addr, byte val); /// + /// get internal registers + /// + /// Context + /// a, x, y, sp, pc, p + [DllImport(dllname, CallingConvention = CallingConvention.Cdecl)] + public static extern void qn_get_cpuregs(IntPtr e, [Out] int[] dest); + /// /// get the mapper that's loaded /// /// Context diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs index cf9dcf793e..69701f0ebc 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/QuickNES/QuickNES.cs @@ -361,7 +361,16 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES public Dictionary GetCpuFlagsAndRegisters() { - throw new NotImplementedException(); + int[] regs = new int[6]; + var ret = new Dictionary(); + LibQuickNES.qn_get_cpuregs(Context, regs); + ret["A"] = regs[0]; + ret["X"] = regs[1]; + ret["Y"] = regs[2]; + ret["SP"] = regs[3]; + ret["PC"] = regs[4]; + ret["P"] = regs[5]; + return ret; } #endregion @@ -494,11 +503,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES LibQuickNES.qn_delete(Context); Context = IntPtr.Zero; } - //if (VideoInput != null) - //{ - // VideoInputH.Free(); - // VideoInput = null; - //} if (VideoOutput != null) { VideoOutputH.Free(); @@ -509,8 +513,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES #region VideoProvider int[] VideoOutput; - //byte[] VideoInput; - //GCHandle VideoInputH; GCHandle VideoOutputH; int cropleft = 0; @@ -528,11 +530,6 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES void InitVideo() { - //int w = 0, h = 0; - //LibQuickNES.qn_get_image_dimensions(Context, ref w, ref h); - //VideoInput = new byte[w * h]; - //VideoInputH = GCHandle.Alloc(VideoInput, GCHandleType.Pinned); - //LibQuickNES.qn_set_pixels(Context, VideoInputH.AddrOfPinnedObject(), w); VideoOutput = new int[256 * 240]; VideoOutputH = GCHandle.Alloc(VideoOutput, GCHandleType.Pinned); } @@ -569,7 +566,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES NumSamples = LibQuickNES.qn_read_audio(Context, MonoBuff, MonoBuff.Length); unsafe { - fixed (short *_src = &MonoBuff[0], _dst = &StereoBuff[0]) + fixed (short* _src = &MonoBuff[0], _dst = &StereoBuff[0]) { short* src = _src; short* dst = _dst; @@ -579,7 +576,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES *dst++ = *src++; } } - } + } } short[] MonoBuff = new short[1024]; diff --git a/output/dll/libquicknes.dll b/output/dll/libquicknes.dll index 3c7a9a64a8d88f5bdd21b9f1e390afb68b868adb..cb306a69f33f2e7e472e9e7b83be99fafce3ac14 100644 GIT binary patch delta 72436 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≈3Q@Yxt=C!ytYBE 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 Xx#h&w<+%Ya^1lf!|3vR{ck2HEL9lOw delta 72025 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
9_qker@&VsEDy66_{!Bwfde8tJ4&nM3Zmi2*%2 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 diff --git a/quicknes/bizinterface.cpp b/quicknes/bizinterface.cpp index fd8018d939..764c0a033b 100644 --- a/quicknes/bizinterface.cpp +++ b/quicknes/bizinterface.cpp @@ -49,19 +49,6 @@ EXPORT const char *qn_set_sample_rate(Nes_Emu *e, int rate) return ret; } -//EXPORT void qn_get_image_dimensions(Nes_Emu *e, int *width, int *height) -//{ -// if (width) -// *width = e->buffer_width; -// if (height) -// *height = e->buffer_height(); -//} - -//EXPORT void qn_set_pixels(Nes_Emu *e, void *dest, int pitch) -//{ -// e->set_pixels(dest, pitch); -//} - EXPORT const char *qn_emulate_frame(Nes_Emu *e, int pad1, int pad2) { return e->emulate_frame(pad1, pad2); @@ -260,6 +247,11 @@ EXPORT void qn_poke_prgbus(Nes_Emu *e, int addr, unsigned char val) e->poke_prg(addr & 0xffff, val); } +EXPORT void qn_get_cpuregs(Nes_Emu *e, unsigned int *dest) +{ + e->get_regs(dest); +} + EXPORT const char *qn_get_mapper(Nes_Emu *e, int *number) { int m = e->cart()->mapper_code(); diff --git a/quicknes/nes_emu/Nes_Emu.cpp b/quicknes/nes_emu/Nes_Emu.cpp index a14cae5306..98edee5baa 100644 --- a/quicknes/nes_emu/Nes_Emu.cpp +++ b/quicknes/nes_emu/Nes_Emu.cpp @@ -495,3 +495,12 @@ Nes_Emu::rgb_t const Nes_Emu::nes_colors [color_table_size] = {136,190,197},{184,184,184},{ 0, 0, 0},{ 0, 0, 0} }; +void Nes_Emu::get_regs(unsigned int *dest) const +{ + dest[0] = emu.r.a; + dest[1] = emu.r.x; + dest[2] = emu.r.y; + dest[3] = emu.r.sp; + dest[4] = emu.r.pc; + dest[5] = emu.r.status; +} diff --git a/quicknes/nes_emu/Nes_Emu.h b/quicknes/nes_emu/Nes_Emu.h index cbd53be84f..e0fee4298f 100644 --- a/quicknes/nes_emu/Nes_Emu.h +++ b/quicknes/nes_emu/Nes_Emu.h @@ -204,6 +204,7 @@ public: byte peek_prg(nes_addr_t addr) const { return *static_cast(emu).get_code(addr); } void poke_prg(nes_addr_t addr, byte value) { *static_cast(emu).get_code(addr) = value; } + void get_regs(unsigned int *dest) const; // End of public interface public: @@ -271,4 +272,3 @@ inline long Nes_Emu::chr_size() const } #endif -