44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
namespace BizHawk.Emulation.Cores.Libretro
|
|
{
|
|
unsafe partial class LibretroApi
|
|
{
|
|
bool Handle_SIG(eMessage msg)
|
|
{
|
|
//I know, ive done this two completely different ways
|
|
//both ways are sloppy glue, anyway
|
|
//I havent decided on the final architecture yet
|
|
|
|
switch (msg)
|
|
{
|
|
case eMessage.SIG_InputState:
|
|
comm->value = (uint)core.CB_InputState(comm->port, comm->device, comm->index, comm->id);
|
|
break;
|
|
|
|
case eMessage.SIG_VideoUpdate:
|
|
core.SIG_VideoUpdate();
|
|
break;
|
|
|
|
case eMessage.SIG_Sample:
|
|
{
|
|
short* samples = (short*)comm->buf[(int)BufId.Param0];
|
|
core.retro_audio_sample(samples[0], samples[1]);
|
|
}
|
|
break;
|
|
|
|
case eMessage.SIG_SampleBatch:
|
|
{
|
|
void* samples = (void*)comm->buf[(int)BufId.Param0];
|
|
core.retro_audio_sample_batch(samples, (int)comm->buf_size[(int)BufId.Param0]/4);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
return false;
|
|
|
|
} //switch(msg)
|
|
|
|
Message(eMessage.Resume);
|
|
return true;
|
|
}
|
|
}
|
|
} |