SCSP: hooked up DGATE functionality for DMA [Angelo Salese]

This commit is contained in:
Angelo Salese 2013-08-28 16:10:14 +00:00
parent f114e1d978
commit 0e50452d8a

View File

@ -1348,6 +1348,17 @@ static void dma_scsp(address_space &space, scsp_state *scsp)
/* TODO: don't know if params auto-updates, I guess not ... */ /* TODO: don't know if params auto-updates, I guess not ... */
if(scsp_ddir) if(scsp_ddir)
{
if(scsp_dgate)
{
popmessage("Check: SCSP DMA DGATE enabled, contact MAME/MESSdev");
for(i=0;i < scsp->scsp_dtlg;i+=2)
{
space.write_word(scsp->scsp_dmea, 0);
scsp->scsp_dmea+=2;
}
}
else
{ {
for(i=0;i < scsp->scsp_dtlg;i+=2) for(i=0;i < scsp->scsp_dtlg;i+=2)
{ {
@ -1356,6 +1367,18 @@ static void dma_scsp(address_space &space, scsp_state *scsp)
scsp->scsp_drga+=2; scsp->scsp_drga+=2;
} }
} }
}
else
{
if(scsp_dgate)
{
popmessage("Check: SCSP DMA DGATE enabled, contact MAME/MESSdev");
for(i=0;i < scsp->scsp_dtlg;i+=2)
{
space.write_word(0x100000|scsp->scsp_drga,0);
scsp->scsp_drga+=2;
}
}
else else
{ {
for(i=0;i < scsp->scsp_dtlg;i+=2) for(i=0;i < scsp->scsp_dtlg;i+=2)
@ -1365,6 +1388,7 @@ static void dma_scsp(address_space &space, scsp_state *scsp)
scsp->scsp_drga+=2; scsp->scsp_drga+=2;
} }
} }
}
/*Resume the values*/ /*Resume the values*/
if(!(scsp_ddir)) if(!(scsp_ddir))