public IDictionary <string, RegisterValue> GetCpuFlagsAndRegisters() { LibGPGX.RegisterInfo[] regs = new LibGPGX.RegisterInfo[LibGPGX.gpgx_getmaxnumregs()]; int n = LibGPGX.gpgx_getregs(regs); if (n > regs.Length) { throw new InvalidOperationException("A buffer overrun has occured!"); } var ret = new Dictionary <string, RegisterValue>(); for (int i = 0; i < n; i++) { // el hacko string name = Marshal.PtrToStringAnsi(regs[i].Name); byte size = 32; if (name.Contains("68K SR") || name.StartsWith("Z80")) { size = 16; } ret[name] = new RegisterValue((ulong)regs[i].Value, size); } return(ret); }
public Dictionary <string, int> GetCpuFlagsAndRegisters() { LibGPGX.RegisterInfo[] regs = new LibGPGX.RegisterInfo[LibGPGX.gpgx_getmaxnumregs()]; int n = LibGPGX.gpgx_getregs(regs); if (n > regs.Length) { throw new InvalidOperationException("A buffer overrun has occured!"); } var ret = new Dictionary <string, int>(); for (int i = 0; i < n; i++) { ret[Marshal.PtrToStringAnsi(regs[i].Name)] = regs[i].Value; } return(ret); }
public IDictionary<string, RegisterValue> GetCpuFlagsAndRegisters() { LibGPGX.RegisterInfo[] regs = new LibGPGX.RegisterInfo[Core.gpgx_getmaxnumregs()]; int n = Core.gpgx_getregs(regs); if (n > regs.Length) throw new InvalidOperationException("A buffer overrun has occured!"); var ret = new Dictionary<string, RegisterValue>(); for (int i = 0; i < n; i++) { // el hacko string name = Marshal.PtrToStringAnsi(regs[i].Name); byte size = 32; if (name.Contains("68K SR") || name.StartsWith("Z80")) size = 16; ret[name] = new RegisterValue((ulong)regs[i].Value, size); } return ret; }
public Dictionary<string, int> GetCpuFlagsAndRegisters() { LibGPGX.RegisterInfo[] regs = new LibGPGX.RegisterInfo[LibGPGX.gpgx_getmaxnumregs()]; int n = LibGPGX.gpgx_getregs(regs); if (n > regs.Length) throw new InvalidOperationException("A buffer overrun has occured!"); var ret = new Dictionary<string, int>(); for (int i = 0; i < n; i++) ret[Marshal.PtrToStringAnsi(regs[i].Name)] = regs[i].Value; return ret; }