[PATCH 1/2] win16/int21: set remote bit for cdrom

Oleksij Rempel bug-track at fisher-privat.net
Fri May 25 03:58:49 CDT 2012


Some apps check this bit before making int2f (mscdex) request.
If it is not set, cdrom will be not detected.

Fixes Bug: http://bugs.winehq.org/show_bug.cgi?id=30750

Signed-off-by: Oleksij Rempel <bug-track at fisher-privat.net>
---
 dlls/krnl386.exe16/int21.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dlls/krnl386.exe16/int21.c b/dlls/krnl386.exe16/int21.c
index 241ecc1..45b3187 100644
--- a/dlls/krnl386.exe16/int21.c
+++ b/dlls/krnl386.exe16/int21.c
@@ -2491,6 +2491,10 @@ static void INT21_Ioctl_Block( CONTEXT *context )
 
         if (drivetype == DRIVE_REMOTE)
             SET_DX( context, (1<<9) | (1<<12) ); /* remote + no direct IO */
+        else if (drivetype == DRIVE_CDROM)
+            /* CDROM should be set to remote. If it set the app will
+             * call int2f to check if it cdrom or remote drive. */
+            SET_DX( context, (1<<12) );
         else
             SET_DX( context, 0 ); /* FIXME: use driver attr here */
         break;
-- 
1.7.9.5




More information about the wine-patches mailing list