diff options
author | angelosa <salese_corp_ltd@email.it> | 2015-07-28 21:50:11 +0200 |
---|---|---|
committer | angelosa <salese_corp_ltd@email.it> | 2015-07-28 21:50:11 +0200 |
commit | 5d942931ec7610dcc71b3a759f4e422b495ca34b (patch) | |
tree | 0ad7b980b097405413ba105451a88ac07c347dbd | |
parent | 3eafe11658333f0f525a1635910444794620fd2a (diff) |
Temp broke sh-2 dma
-rw-r--r-- | src/mess/drivers/saturn.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mess/drivers/saturn.c b/src/mess/drivers/saturn.c index e7e02e4c482..b5833cea8cf 100644 --- a/src/mess/drivers/saturn.c +++ b/src/mess/drivers/saturn.c @@ -86,6 +86,8 @@ public: DECLARE_DRIVER_INIT(saturneu); DECLARE_DRIVER_INIT(saturnjp); + SH2_DMA_FIFO_DATA_AVAILABLE_CB(cdblock_data_available_callback); + void nvram_init(nvram_device &nvram, void *data, size_t size); required_device<sat_cart_slot_device> m_exp; @@ -94,6 +96,17 @@ public: required_device<segacdblock_device> m_cdblock; }; +SH2_DMA_FIFO_DATA_AVAILABLE_CB(sat_console_state::cdblock_data_available_callback) +{ + if(src == 0x05818000) + { + return 0; + } + else if((src & 0x07f00000) == 0x05800000) + printf("DMA callback %08x\n",src); + + return 1; +} READ8_MEMBER(sat_console_state::saturn_cart_type_r) { @@ -712,11 +725,13 @@ static MACHINE_CONFIG_START( saturn, sat_console_state ) MCFG_CPU_ADD("maincpu", SH2, MASTER_CLOCK_352/2) // 28.6364 MHz MCFG_CPU_PROGRAM_MAP(saturn_mem) MCFG_SH2_IS_SLAVE(0) + MCFG_SH2_FIFO_DATA_AVAIL_CB(sat_console_state, cdblock_data_available_callback) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", sat_console_state, saturn_scanline, "screen", 0, 1) MCFG_CPU_ADD("slave", SH2, MASTER_CLOCK_352/2) // 28.6364 MHz MCFG_CPU_PROGRAM_MAP(saturn_mem) MCFG_SH2_IS_SLAVE(1) + MCFG_SH2_FIFO_DATA_AVAIL_CB(sat_console_state, cdblock_data_available_callback) MCFG_TIMER_DRIVER_ADD_SCANLINE("slave_scantimer", sat_console_state, saturn_slave_scanline, "screen", 0, 1) MCFG_CPU_ADD("audiocpu", M68000, 11289600) //256 x 44100 Hz = 11.2896 MHz |