From bdd7b715d0486e54ee22618e062827d6117850c9 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Mon, 31 Jan 2005 20:12:59 +0000 Subject: [PATCH] Crappy games fix (int 2 revectoring as would stacks!=0,0) wd Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@2102 --- src/dos/dos_memory.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/dos/dos_memory.cpp b/src/dos/dos_memory.cpp index d292db69..1a099b6a 100644 --- a/src/dos/dos_memory.cpp +++ b/src/dos/dos_memory.cpp @@ -187,10 +187,14 @@ bool DOS_FreeMemory(Bit16u segment) { void DOS_SetupMemory(void) { // Create a dummy device MCB with PSPSeg=0x0008 DOS_MCB mcb_devicedummy((Bit16u)MEM_START); - mcb_devicedummy.SetPSPSeg(0x0008); // Devices + mcb_devicedummy.SetPSPSeg(0x0008); // Devices mcb_devicedummy.SetSize(1); - mcb_devicedummy.SetType(0x4d); // More blocks will follow - + mcb_devicedummy.SetType(0x4d); // More blocks will follow + + // BioMenace (segment of int2<0x8000) + mem_writeb((MEM_START+1)<<4,0xcf);// iret + RealSetVec(0x02,(MEM_START+1)<<16); + DOS_MCB mcb((Bit16u)MEM_START+2); mcb.SetPSPSeg(MCB_FREE); //Free if (machine==MCH_TANDY) {