The emulated floppy drive does not use DMA, but make it look like it does when booting. Fixes CGA graphics in the Demon's Forge booter.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3879
This commit is contained in:
parent
0f4c92ca32
commit
92ca5488b9
1 changed files with 6 additions and 1 deletions
|
@ -36,6 +36,8 @@
|
|||
#include "bios_disk.h"
|
||||
#include "setup.h"
|
||||
#include "control.h"
|
||||
#include "inout.h"
|
||||
#include "dma.h"
|
||||
|
||||
|
||||
#if defined(OS2)
|
||||
|
@ -590,7 +592,7 @@ public:
|
|||
FILE *usefile_1=NULL;
|
||||
FILE *usefile_2=NULL;
|
||||
Bitu i=0;
|
||||
Bit32u floppysize;
|
||||
Bit32u floppysize=0;
|
||||
Bit32u rombytesize_1=0;
|
||||
Bit32u rombytesize_2=0;
|
||||
Bit8u drive = 'A';
|
||||
|
@ -825,6 +827,9 @@ public:
|
|||
WriteOut(MSG_Get("PROGRAM_BOOT_BOOT"), drive);
|
||||
for(i=0;i<512;i++) real_writeb(0, 0x7c00 + i, bootarea.rawdata[i]);
|
||||
|
||||
/* create appearance of floppy drive DMA usage (Demon's Forge) */
|
||||
if (!IS_TANDY_ARCH && floppysize!=0) GetDMAChannel(2)->tcount=true;
|
||||
|
||||
/* revector some dos-allocated interrupts */
|
||||
real_writed(0,0x01*4,0xf000ff53);
|
||||
real_writed(0,0x03*4,0xf000ff53);
|
||||
|
|
Loading…
Add table
Reference in a new issue