summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit5d942931ec7610dcc71b3a759f4e422b495ca34b (patch)
tree0ad7b980b097405413ba105451a88ac07c347dbd
parent3eafe11658333f0f525a1635910444794620fd2a (diff)
Temp broke sh-2 dma
-rw-r--r--src/mess/drivers/saturn.c15
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