56 lines
1.2 KiB
C#
56 lines
1.2 KiB
C#
using System;
|
|
|
|
using BizHawk.Common;
|
|
|
|
namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
|
{
|
|
unsafe partial class LibsnesApi
|
|
{
|
|
bool Handle_BRK(eMessage msg)
|
|
{
|
|
using (_exe.EnterExit())
|
|
{
|
|
switch (msg)
|
|
{
|
|
default:
|
|
return false;
|
|
|
|
case eMessage.eMessage_BRK_hook_exec:
|
|
ExecHook(_comm->addr);
|
|
break;
|
|
case eMessage.eMessage_BRK_hook_read:
|
|
ReadHook(_comm->addr);
|
|
break;
|
|
case eMessage.eMessage_BRK_hook_write:
|
|
WriteHook(_comm->addr, (byte)_comm->value);
|
|
break;
|
|
|
|
case eMessage.eMessage_BRK_hook_exec_smp:
|
|
ExecHook_SMP(_comm->addr);
|
|
break;
|
|
case eMessage.eMessage_BRK_hook_read_smp:
|
|
ReadHook_SMP(_comm->addr);
|
|
break;
|
|
case eMessage.eMessage_BRK_hook_write_smp:
|
|
WriteHook_SMP(_comm->addr, (byte)_comm->value);
|
|
break;
|
|
|
|
//not supported yet
|
|
case eMessage.eMessage_BRK_hook_nmi:
|
|
break;
|
|
case eMessage.eMessage_BRK_hook_irq:
|
|
break;
|
|
|
|
case eMessage.eMessage_BRK_scanlineStart:
|
|
scanlineStart?.Invoke(_comm->scanline);
|
|
break;
|
|
|
|
} //switch(msg)
|
|
|
|
_core.Message(eMessage.eMessage_Resume);
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
}
|