-
Notifications
You must be signed in to change notification settings - Fork 369
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
launching windows 98 with win.com [from DOSBox-X shell, without booting into guest OS] not working #1217
Comments
If you type |
Windows 98 uses version 7.10 not 7.0 Windows 95 and Windows 98 support has only been tested so far in the form of BOOTing a disk image with it installed. I do not yet expect Windows 9x to run directly from the DOSBox-X DOS environment. |
now it is a little bit more interesting: i set VER to 7.10 now starting win.com do the following: inside the log - we have the following: and this one: Support of running win9x from the DOSBox-X DOS environment is in the roadmap? |
That doesn't surprise me, according to RBIL there's an undocumented INT 2Fh call to ask the DOS kernel where the registry is starting with MS-DOS 7.0 (Windows 95). http://www.ctyme.com/intr/rb-4527.htm I vaguely recall from other sources I don't recall at this time, that Windows 95 changed the HMA area to one with it's own allocation chain instead of just counting downward from the top in an inflexible manner like it used to do. But I'm not entirely sure what the "Memory cache" would be. Even if Windows 95 did boot, I don't think it calls down to DOS for file access, though it will call down to INT 13h if it can't identify the block device with it's own drivers. Mounting a folder as a drive wouldn't work with that. To my knowledge Windows 95 will not easily run from the DOSBox-X shell, unless I'm wrong. |
Proof of concept DOSLIB code that queries that information: https://github.com/joncampbell123/doslib2/blob/master/dos/asmexam/w95sysrg.asm |
What I mean is that Windows 95 uses it's own 32-bit FAT driver, even if calling down to the BIOS for disk access, so running Windows 95 from C: when C: is mounted as a folder will likely not work. It might work if you mount C: from an image file that you installed Windows 95 onto. |
I have Windows 98 in mounted disk image form. |
Merge/Win4Lin 9x work this way. While Windows 9x has its own driver support, it can fall back to using drives that would otherwise only be available in DOS, even for booting. You do need a way to boot the DOS included with WIndows from a folder to enable this. (Similar to DOSEMU.) That is related to: https://msfn.org/board/topic/109018-windows-98-in-dr-dos/?do=findComment&comment=721209 |
The current code already supports the INT 2F call to ask the location of the registry (default: C:\WINDOWS\SYSTEM.DAT), along with support to write Windows 9x bootlogs (in DOSBox-X's log file) etc. In such case if you try to start Windows 98 WIN.COM from the built-in DOSBox-X shell, after a while you will eventually see the message:
After you press some key, the following will eventually show up:
The system will then quit. If you look at the Windows 9x boot log (as written in DOSBox-X's log file), it will read: BOOTLOG: Loading Vxd = VMM On the other hand, Windows 98 will boot just fine in DOSBox-X when booting a disk image with it of course. |
I have checked that the reason for the VCACHE loading failure is that it tries to open the device named "IFS$HLP$" as provided by Windows 98's IFSHLP.SYS, but that device cannot be found. Trying to load IFSHLP.SYS with DOSBox-X's built-in DEVICE command before starting WIN.COM will not help in this case, because even though "DEVICE IFSHLP.SYS" seems to succeed, it does not actually create the IFS$HLP$ device within DOSBox-X. Adding a config.sys section to dosbox.conf consisting of DEVICE= commands for the DOSBox-X kernel to load SYS files from as mentioned in Issue #289 should help in such case (IFSHLP.SYS is apparently required during Windows 98's boot process). |
@joncampbell123 I believe this issue is related to the DOS IOCTL function (which has been recently improved) too, because it reveals the fact that DOSBox-X does not support external device drivers that are accessed by their name, such as the device named "IFS$HLP$" as provided by Windows 98's IFSHLP.SYS. Loading IFSHLP.SYS with the built-in DEVICE command will succeed, but trying to open, read from, or write to it via the IOCTL functions will all fail. The IFSHLP.SYS device driver is useful for the WFW 3.11 too for network support, so without this feature it is impossible to enable network support in WFW 3.11 as well if it is run from the DOSBox-X shell. |
I have now opened a separate issue (#1545) for this. |
In dosbox.conf ver set to 7.00
But when trying to start windows using win.com - it gives:
MSDOS 7.00 or higher is required
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Windows expected to boot from execution of win.com executable
Environment (please complete the following information):
Additional context
In dosbox log files i found the following :
1407276395 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=122E
1407276401 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=122E
1407276408 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=122E
1407276415 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=122E
1407277142 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=122E
1407277185 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=1611
1407277202 ERROR DOSMISC:DOS:INT 2F Unhandled call AX=160A
1407277224 DOSMISC:Call is made for list of lists - let's hope for the best
The text was updated successfully, but these errors were encountered: