From a8633eff6acaff4ff8377a359f19b26e843d0fc2 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 9 May 2018 18:41:47 +0000 Subject: [PATCH] Slight corrections to r4091, CX and DX should not be changed for floppies. Changing reported floppy type to one without changeline as we don't support that call. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4101 --- src/ints/bios_disk.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ints/bios_disk.cpp b/src/ints/bios_disk.cpp index 87e1abfc..363c02ed 100644 --- a/src/ints/bios_disk.cpp +++ b/src/ints/bios_disk.cpp @@ -512,17 +512,19 @@ static Bitu INT13_DiskHandler(void) { Bit64u largesize = tmpheads*tmpcyl*tmpsect*tmpsize; largesize/=512; Bit32u ts = static_cast(largesize); - reg_ah = (drivenum <2)?2:3; - reg_cx = static_cast(ts >>16); - reg_dx = static_cast(ts & 0xffff); + reg_ah = (drivenum <2)?1:3; //With 2 for floppy MSDOS starts calling int 13 ah 16 + if(reg_ah == 3) { + reg_cx = static_cast(ts >>16); + reg_dx = static_cast(ts & 0xffff); + } CALLBACK_SCF(false); } else { if (drivenum