diff options
author | Vas Crabb <vas@vastheman.com> | 2017-01-15 12:00:10 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2017-01-15 14:56:56 +1100 |
commit | b36d61fbf2c7be123cd5d924b03bb55321a3f3b7 (patch) | |
tree | b4edd6aa9af2c910891c57f727db81465a855b53 /src/mame/drivers/lkage.cpp | |
parent | d57170d5a5c0a34385cd604f9a91da2c2a14aeeb (diff) |
taito68705interface improvements:
* remove non-obvious mcu_status_r and semaphore_r members and move to drivers (varies by system)
* slap fight functionality can be safely folded into base class so do so
* remove leftover crud from driver state classes
qix.cpp, bub68705, changela: use new MC68705P3 core
Diffstat (limited to 'src/mame/drivers/lkage.cpp')
-rw-r--r-- | src/mame/drivers/lkage.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mame/drivers/lkage.cpp b/src/mame/drivers/lkage.cpp index 02086b95297..91c84e8ee92 100644 --- a/src/mame/drivers/lkage.cpp +++ b/src/mame/drivers/lkage.cpp @@ -157,12 +157,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( lkage_map_mcu, AS_PROGRAM, 8, lkage_state ) AM_IMPORT_FROM(lkage_map) AM_RANGE(0xf062, 0xf062) AM_DEVREADWRITE("bmcu", taito68705_mcu_device, data_r, data_w) - AM_RANGE(0xf087, 0xf087) AM_DEVREAD("bmcu", taito68705_mcu_device, mcu_status_r) + AM_RANGE(0xf087, 0xf087) AM_READ(mcu_status_r) ADDRESS_MAP_END static ADDRESS_MAP_START( lkage_map_boot, AS_PROGRAM, 8, lkage_state ) AM_IMPORT_FROM(lkage_map) - AM_RANGE(0xf062, 0xf062) AM_READWRITE(fake_mcu_r,fake_mcu_w) + AM_RANGE(0xf062, 0xf062) AM_READWRITE(fake_mcu_r, fake_mcu_w) AM_RANGE(0xf087, 0xf087) AM_READ(fake_status_r) ADDRESS_MAP_END @@ -864,7 +864,16 @@ ROM_START( bygone ) ROM_END -/*Note: This probably uses another MCU dump,which is undumped.*/ +READ8_MEMBER(lkage_state::mcu_status_r) +{ + // bit 0 = when 1, MCU is ready to receive data from main CPU + // bit 1 = when 1, MCU has sent data to the main CPU + return + ((CLEAR_LINE == m_bmcu->host_semaphore_r()) ? 0x01 : 0x00) | + ((CLEAR_LINE != m_bmcu->mcu_semaphore_r()) ? 0x02 : 0x00); +} + +// Note: This probably uses another MCU program, which is undumped. READ8_MEMBER(lkage_state::fake_mcu_r) { |