disable forced exit on DMA segment wrapping
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3641
This commit is contained in:
parent
4654193d3a
commit
03190a56be
1 changed files with 6 additions and 2 deletions
|
@ -48,7 +48,9 @@ static void DMA_BlockRead(PhysPt spage,PhysPt offset,void * data,Bitu size,Bit8u
|
|||
offset <<= dma16;
|
||||
Bit32u dma_wrap = ((0xffff<<dma16)+dma16) | dma_wrapping;
|
||||
for ( ; size ; size--, offset++) {
|
||||
if (offset>(dma_wrapping<<dma16)) E_Exit("DMA segbound wrapping (read)");
|
||||
if (offset>(dma_wrapping<<dma16)) {
|
||||
LOG_MSG("DMA segbound wrapping (read): %x:%x size %x [%x] wrap %x",spage,offset,size,dma16,dma_wrapping);
|
||||
}
|
||||
offset &= dma_wrap;
|
||||
Bitu page = highpart_addr_page+(offset >> 12);
|
||||
/* care for EMS pageframe etc. */
|
||||
|
@ -67,7 +69,9 @@ static void DMA_BlockWrite(PhysPt spage,PhysPt offset,void * data,Bitu size,Bit8
|
|||
offset <<= dma16;
|
||||
Bit32u dma_wrap = ((0xffff<<dma16)+dma16) | dma_wrapping;
|
||||
for ( ; size ; size--, offset++) {
|
||||
if (offset>(dma_wrapping<<dma16)) E_Exit("DMA segbound wrapping (write)");
|
||||
if (offset>(dma_wrapping<<dma16)) {
|
||||
LOG_MSG("DMA segbound wrapping (write): %x:%x size %x [%x] wrap %x",spage,offset,size,dma16,dma_wrapping);
|
||||
}
|
||||
offset &= dma_wrap;
|
||||
Bitu page = highpart_addr_page+(offset >> 12);
|
||||
/* care for EMS pageframe etc. */
|
||||
|
|
Loading…
Add table
Reference in a new issue