Merge branch 'master' of https://github.com/TASVideos/BizHawk
This commit is contained in:
commit
13e274cba5
|
@ -25,6 +25,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
SaveTASMenuItem.Enabled =
|
||||
!string.IsNullOrWhiteSpace(CurrentTasMovie.Filename) &&
|
||||
(CurrentTasMovie.Filename != DefaultTasProjName());
|
||||
|
||||
SaveTASMenuItem.Enabled =
|
||||
SaveAsTASMenuItem.Enabled =
|
||||
!_saveBackgroundWorker.IsBusy;
|
||||
|
||||
}
|
||||
|
||||
private void RecentSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
|
|
|
@ -667,6 +667,36 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
|||
mm.Add(MemoryDomain.FromIntPtrSwap16(name, size, MemoryDomain.Endian.Big, area, writable: true, byteSize: byteSize));
|
||||
}
|
||||
}
|
||||
mm.Add(new MemoryDomain("M68K BUS", 0x1000000, MemoryDomain.Endian.Big,
|
||||
delegate(long addr)
|
||||
{
|
||||
var a = (uint)addr;
|
||||
if (a >= 0x1000000)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
return LibGPGX.gpgx_peek_m68k_bus(a);
|
||||
},
|
||||
delegate(long addr, byte val)
|
||||
{
|
||||
var a = (uint)addr;
|
||||
if (a >= 0x1000000)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
LibGPGX.gpgx_write_m68k_bus(a, val);
|
||||
}, 2));
|
||||
mm.Add(new MemoryDomain("S68K BUS", 0x1000000, MemoryDomain.Endian.Big,
|
||||
delegate(long addr)
|
||||
{
|
||||
var a = (uint)addr;
|
||||
if (a >= 0x1000000)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
return LibGPGX.gpgx_peek_s68k_bus(a);
|
||||
},
|
||||
delegate(long addr, byte val)
|
||||
{
|
||||
var a = (uint)addr;
|
||||
if (a >= 0x1000000)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
LibGPGX.gpgx_write_s68k_bus(a, val);
|
||||
}, 2));
|
||||
MemoryDomains = new MemoryDomainList(mm);
|
||||
(ServiceProvider as BasicServiceProvider).Register<IMemoryDomains>(MemoryDomains);
|
||||
}
|
||||
|
|
|
@ -320,5 +320,15 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
|||
|
||||
[DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void gpgx_set_draw_mask(DrawMask mask);
|
||||
|
||||
[DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void gpgx_write_m68k_bus(uint addr, byte data);
|
||||
[DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern void gpgx_write_s68k_bus(uint addr, byte data);
|
||||
[DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern byte gpgx_peek_m68k_bus(uint addr);
|
||||
[DllImport("libgenplusgx.dll", CallingConvention = CallingConvention.Cdecl)]
|
||||
public static extern byte gpgx_peek_s68k_bus(uint addr);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -423,6 +423,36 @@ GPGX_EX const char* gpgx_get_memdom(int which, void **area, int *size)
|
|||
}
|
||||
}
|
||||
|
||||
GPGX_EX void gpgx_write_m68k_bus(unsigned addr, unsigned data)
|
||||
{
|
||||
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base;
|
||||
if (base)
|
||||
base[addr & 0xffff ^ 1] = data;
|
||||
}
|
||||
|
||||
GPGX_EX void gpgx_write_s68k_bus(unsigned addr, unsigned data)
|
||||
{
|
||||
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base;
|
||||
if (base)
|
||||
base[addr & 0xffff ^ 1] = data;
|
||||
}
|
||||
GPGX_EX unsigned gpgx_peek_m68k_bus(unsigned addr)
|
||||
{
|
||||
unsigned char *base = m68k.memory_map[addr >> 16 & 0xff].base;
|
||||
if (base)
|
||||
return base[addr & 0xffff ^ 1];
|
||||
else
|
||||
return 0xff;
|
||||
}
|
||||
GPGX_EX unsigned gpgx_peek_s68k_bus(unsigned addr)
|
||||
{
|
||||
unsigned char *base = s68k.memory_map[addr >> 16 & 0xff].base;
|
||||
if (base)
|
||||
return base[addr & 0xffff ^ 1];
|
||||
else
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
GPGX_EX void gpgx_get_sram(void **area, int *size)
|
||||
{
|
||||
if (!area || !size)
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue