Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pleas add option to skip VMware detection #28

Open
FeralChild64 opened this issue Sep 12, 2024 · 0 comments
Open

Pleas add option to skip VMware detection #28

FeralChild64 opened this issue Sep 12, 2024 · 0 comments

Comments

@FeralChild64
Copy link

FeralChild64 commented Sep 12, 2024

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 dosbox-staging/dosbox-staging#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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant