Please add a command-line option to skip VMware detection in JEMM386.EXE and JEMMEX.EXE.
The former VMware-specific I/O port 5658h is currently a cross-emulator interface, provided at least by QEMU, DOSBox Staging, and DOSBox-X. I see in the source code that JEMM tries to detect the VMware via this port, and, if succeeded, marks certain memory areas as unusable.
And least in DOSBox Staging it was discovered to be problematic, as using JEMM memory manager is a common workaround for few games which does not work correctly with DOSBox EMS implementation, and the commands to start the games now fail on DOSBox Staging with a default configuration - see issue https://github.com/dosbox-staging/dosbox-staging/issues/3920.
I intend to modify our VMware interface to skip detection if JEMM is starting, but it won't work if someone boots the real MS-DOS inside the emulator - in such cases he might need to disable the VMware mouse support, which is sub-optimal; it will became even more painful if we implement VMware shared directories in the future.
JEMM code snippet I am refering to:
;--- VMware detection
;--- questionable, because Qemu "responds" similar to VMware
VMwareDetect proc c
(...)
VMwareDetect endp
(...)
invoke VMwareDetect
.if ax
mov dword ptr SystemMemory+0E8h, 'VVVV'
mov dword ptr SystemMemory+0ECh, 'XXXX'
invoke cprintf, CStr("VMware detected", LF)
.endif
Please add a command-line option to skip VMware detection in
JEMM386.EXE
andJEMMEX.EXE
.The former VMware-specific I/O port 5658h is currently a cross-emulator interface, provided at least by QEMU, DOSBox Staging, and DOSBox-X. I see in the source code that JEMM tries to detect the VMware via this port, and, if succeeded, marks certain memory areas as unusable.
And least in DOSBox Staging it was discovered to be problematic, as using JEMM memory manager is a common workaround for few games which does not work correctly with DOSBox EMS implementation, and the commands to start the games now fail on DOSBox Staging with a default configuration - see issue https://github.com/dosbox-staging/dosbox-staging/issues/3920.
I intend to modify our VMware interface to skip detection if JEMM is starting, but it won't work if someone boots the real MS-DOS inside the emulator - in such cases he might need to disable the VMware mouse support, which is sub-optimal; it will became even more painful if we implement VMware shared directories in the future.
JEMM code snippet I am refering to: