GBlink: fix some 4x bugs and route CGBGBA to cores

This commit is contained in:
alyosha-tas 2020-01-13 16:55:07 -05:00
parent a51be3efbe
commit 8fed99456a
5 changed files with 18 additions and 4 deletions

View File

@ -703,7 +703,7 @@ namespace BizHawk.Client.Common
nextEmulator = new GBHawkLink4x(
nextComm,
A_4x,
B_Bytes4x,
A_Bytes4x,
B_4x,
B_Bytes4x,
C_4x,

View File

@ -52,6 +52,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
temp_sync_L.ConsoleMode = linkSyncSettings.ConsoleMode_L;
temp_sync_R.ConsoleMode = linkSyncSettings.ConsoleMode_R;
temp_sync_L.GBACGB = linkSyncSettings.GBACGB;
temp_sync_R.GBACGB = linkSyncSettings.GBACGB;
temp_sync_L.RTCInitialTime = linkSyncSettings.RTCInitialTime_L;
temp_sync_R.RTCInitialTime = linkSyncSettings.RTCInitialTime_R;
temp_sync_L.RTCOffset = linkSyncSettings.RTCOffset_L;

View File

@ -55,6 +55,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
temp_sync_C.ConsoleMode = Link3xSyncSettings.ConsoleMode_C;
temp_sync_R.ConsoleMode = Link3xSyncSettings.ConsoleMode_R;
temp_sync_L.GBACGB = Link3xSyncSettings.GBACGB;
temp_sync_C.GBACGB = Link3xSyncSettings.GBACGB;
temp_sync_R.GBACGB = Link3xSyncSettings.GBACGB;
temp_sync_L.RTCInitialTime = Link3xSyncSettings.RTCInitialTime_L;
temp_sync_C.RTCInitialTime = Link3xSyncSettings.RTCInitialTime_C;
temp_sync_R.RTCInitialTime = Link3xSyncSettings.RTCInitialTime_R;

View File

@ -584,7 +584,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
for (int j = 0; j < 160; j++)
{
_vidbuffer[i * 320 + j] = A.frame_buffer[i * 160 + j];
_vidbuffer[(i + 144) * 320 + j] = C.frame_buffer[i * 160 + j];
_vidbuffer[(i + 144) * 320 + j] = B.frame_buffer[i * 160 + j];
_vidbuffer[(i + 144) * 320 + j + 160] = C.frame_buffer[i * 160 + j];
_vidbuffer[i * 320 + j + 160] = D.frame_buffer[i * 160 + j];
}
@ -644,8 +644,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
}
else if (Link4xSettings.AudioSet == GBLink4xSettings.AudioSrc.B)
{
samples = temp_samp_C;
nsamp = nsamp_C;
samples = temp_samp_B;
nsamp = nsamp_B;
}
else if (Link4xSettings.AudioSet == GBLink4xSettings.AudioSrc.C)
{
@ -672,6 +672,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
public void DiscardSamples()
{
A.audio.DiscardSamples();
B.audio.DiscardSamples();
C.audio.DiscardSamples();
D.audio.DiscardSamples();
}
@ -684,6 +685,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
public void DisposeSound()
{
A.audio.DisposeSound();
B.audio.DisposeSound();
C.audio.DisposeSound();
D.audio.DisposeSound();
}

View File

@ -60,6 +60,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
temp_sync_C.ConsoleMode = Link4xSyncSettings.ConsoleMode_C;
temp_sync_D.ConsoleMode = Link4xSyncSettings.ConsoleMode_D;
temp_sync_A.GBACGB = Link4xSyncSettings.GBACGB;
temp_sync_B.GBACGB = Link4xSyncSettings.GBACGB;
temp_sync_C.GBACGB = Link4xSyncSettings.GBACGB;
temp_sync_D.GBACGB = Link4xSyncSettings.GBACGB;
temp_sync_A.RTCInitialTime = Link4xSyncSettings.RTCInitialTime_A;
temp_sync_B.RTCInitialTime = Link4xSyncSettings.RTCInitialTime_B;
temp_sync_C.RTCInitialTime = Link4xSyncSettings.RTCInitialTime_C;