From 1a6921ddb6833089c0927e5fa862d05855bf69e1 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Sun, 30 Dec 2007 08:21:35 +0000 Subject: [PATCH] MSCDEX sets word on stack to ADAD if it DADA on entry. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3071 --- src/dos/dos_mscdex.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dos/dos_mscdex.cpp b/src/dos/dos_mscdex.cpp index dde2aba6..2fa767d3 100644 --- a/src/dos/dos_mscdex.cpp +++ b/src/dos/dos_mscdex.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dos_mscdex.cpp,v 1.50 2007-07-20 18:22:28 qbix79 Exp $ */ +/* $Id: dos_mscdex.cpp,v 1.51 2007-12-30 08:21:35 qbix79 Exp $ */ #include #include @@ -1077,6 +1077,11 @@ static Bitu MSCDEX_Interrupt_Handler(void) { static bool MSCDEX_Handler(void) { if(reg_ah == 0x11) { if(reg_al == 0x00) { + PhysPt check = PhysMake(SegValue(ss),reg_sp); + if(mem_readw(check+6) == 0xDADA) { + //MSCDEX sets word on stack to ADAD if it DADA on entry. + mem_writew(check+6,0xADAD); + } reg_al = 0xff; return true; } else {