http://bugs.winehq.org/show_bug.cgi?id=30750
Bug #: 30750 Summary: [patch] krnl386.exe16/int21.c: set (1<<12) for cdrom Product: Wine Version: 1.5.4 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dos AssignedTo: wine-bugs@winehq.org ReportedBy: bug-track@fisher-privat.net Classification: Unclassified
Created attachment 40271 --> http://bugs.winehq.org/attachment.cgi?id=40271 patch v1
The 16 bit app coled EG (Evangelisches Gesangbuch), can't recognize cdrom to install database. The reason is a bug in krnl386.exe16/int21.c code. Suddenly i didn't found any documentation what correct flags should be set for cdrom on 4409 (is drive remote) request. But this app has fallowing logic, an this logic works on windows including XP, so i assume it is correct: - first it ask interrupt 21h if the drive is remote. - if it get response and 1000h (12bit) flag is set, then - it ask interrupt 2Fh to check if it is really cdrom.
if 1000h is not set, then deice is not cdrom. Attached patch fixes this bug for me.