mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-26 11:11:48 +01:00
[Core/CD] improved accuracy of CDC data transfer to Main-CPU and Sub-CPU when writing to CDC data register (verified on real hardware, cf. Krikzz's mcd-verificator)
This commit is contained in:
parent
2c1a2d0def
commit
64d3e08e7d
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 3.8 MiB After Width: | Height: | Size: 3.8 MiB |
Binary file not shown.
Before Width: | Height: | Size: 4.0 MiB After Width: | Height: | Size: 4.0 MiB |
@ -1405,6 +1405,13 @@ static void scd_write_word(unsigned int address, unsigned int data)
|
||||
return;
|
||||
}
|
||||
|
||||
case 0x08: /* CDC host data */
|
||||
{
|
||||
/* CDC data is also read (although unused) on write access (verified on real hardware, cf. Krikzz's mcd-verificator) */
|
||||
cdc_host_r(CDC_SUB_CPU_ACCESS);
|
||||
return;
|
||||
}
|
||||
|
||||
case 0x0c: /* Stopwatch (word access only) */
|
||||
{
|
||||
/* synchronize the counter with SUB-CPU */
|
||||
|
@ -1261,6 +1261,13 @@ void ctrl_io_write_word(unsigned int address, unsigned int data)
|
||||
return;
|
||||
}
|
||||
|
||||
case 0x08: /* CDC host data */
|
||||
{
|
||||
/* CDC data is also read (although unused) on write access (verified on real hardware, cf. Krikzz's mcd-verificator) */
|
||||
cdc_host_r(CDC_MAIN_CPU_ACCESS);
|
||||
return;
|
||||
}
|
||||
|
||||
case 0x0e: /* CPU communication flags */
|
||||
{
|
||||
m68k_poll_sync(1<<0x0e);
|
||||
|
Loading…
Reference in New Issue
Block a user