It's possible windows 95/98 won't run on freedos due to some undocumented dos call.  I recall there was some problems with both amd processors, and with another dos, although I don't recall if it was drdos or the opendos equivalent, where windows wouldn't run, but you would get a message saying that the processor wasn't supported.  AMD had to take microsoft to court over that one, but the drdos problem was easily solved with a rather small TSR that gave windows the information it wanted, and then it ran just fine.  I cannot recall the specifics on that particular issue, though I'd wager some judicial googling of the internet archive may turn up the information on that particular problem.

I've never tried running windows from opendos, drdos, novell dos (all essentially the same thing), PTS dos, or freedos before, but it wouldn't surprise me if there isn't some sort of a hidden gotcha buried in there to prevent exactly that kind of thing from working.


For what it's worth, I don't think you need to mess around with the command.com and the environment variables, simply place the shell= line in the config.sys, and that should solve the problem for you.

Other than that, if windows doesn't run, perhaps you'll need to find someone who knows enough to run a debugger on it, and see hwo it acts on a msdos vs a freedos installation to track down the specific problem.

I no longer have a setup I can use for this kind of thing, and I was never all that great with assembly language debugging anyway.


Perhaps others on the list will have more suggestions.


On 9/25/2023 10:42 PM, Michał Dec via Freedos-user wrote:

Hi Jürgen,

I'm not entirely sure what you're saying is correct.

>You start with a Freedos command.com

That's not true. FreeDOS started without SHELL or SHELLHIGH will demand you enter a path to the shell program. Both FreeDOS and Windows versions seem to work, although the Windows shell appears to have a limited mileage.

>Therefor first you should change those DOS file locations to the correct Freedos ones. (that's that Display, country, *.cpi and keyboard lines). Also that c:\windows\command path should probably point to the Freedos directory.

How will that get me any closer to running Windows 98 out of FreeDOS? Your instructions make sense if I would like to run FreeDOS with FreeDOS.

I've sat down at the computer again, and I've noticed that at least in the help messages for both command.com files, /P does not specify which autoexec.bat file will be used. Could it be some undocumented FreeDOS quirk?

On my way up to this point, Microsoft parts started complaining that HIMEM.SYS isn't loaded, so I added it to the DEVICE lines.

Knowing that my only real hope is to force COMMAND.COM to execute the autoexec.bat somehow, I made this:
8?SHELL=C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:1024 /P /K C:\AUTOEXEC.BAT

and then I've added WIN.COM at the end of autoexec.bat.

This keeps getting me a substantial attempt reliably:
1. First, I get "unsupported dos call INT2F/1231". This gets called 3 times.
2. Next, I get this mouthful...:
Registry File was not found. Registry services may be
inoperative for this reason.
XMS cache problem. Registry services may be
inoperative this session.
Invalid Opcode at 02AC 2116 0206 2116 000A 0000 190D 0000 00C4 0000 3A65 2A38 00
05

Press any key to continue...

And after that, either I press, or wait 15 seconds, and it shuts down the computer.

Did I forget to load something? I've also found this post, which describes basically the same issue: https://freedos-devel.narkive.com/pF6dlqXN/loading-other-o-ses-from-freedos

Best regards,

Michał Dec

W dniu 25.09.2023 o 11:27, Jürgen Wondzinski via Freedos-user pisze:
Hi Michał,
Maybe it get's confused from different DOS versions, like that Command.com 
files. You start with a Freedos command.com, but then load a Microsoft 
command.com subsequently. Therefor first you should change those DOS file 
locations to the correct Freedos ones. (that's that Display, country, *.cpi and 
keyboard lines). Also that c:\windows\command path should probably point to the 
Freedos directory.

Greetings from Bavaria, Germany
Jürgen Wondzinski


-----Ursprüngliche Nachricht-----
Von: Michał Dec via Freedos-user<freedos-user@lists.sourceforge.net> Gesendet: Sonntag, 24. September 2023 22:50
An: Discussion and general questions about 
FreeDOS.<freedos-user@lists.sourceforge.net>
Cc: Michał Dec<moog...@gmail.com>
Betreff: [Freedos-user] Booting Windows 98 from FreeDOS

Hello everyone,

I wanted to boot Windows 98 from FreeDOS 1.3, because I would like to keep all 
things together without worrying about partitioning.

So I actually have a block device backup of when Windows 98 was working on this 
computer. I've extracted the contents and focused on what does Windows 98 have 
in its autoexec.bat and config.sys files.

So let's see autoexec.bat from Windows 98:

SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET BLASTER=A220 I7 D1 H7 P330 E620 T6
mode con codepage prepare=((852) C:\WINDOWS\COMMAND\ega.cpi) mode con codepage 
select=852 keyb pl,,C:\WINDOWS\COMMAND\keybdr4.sys

Now, the config.sys from Windows 98:

DEVICE=C:\WINDOWS\setver.exe
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) 
Country=048,852,C:\WINDOWS\COMMAND\country.sys

Combining this knowledge, I conceived this, but I'm not sure if this is 
correct. That's 7th entry from my FreeDOS fdconfig.sys:

7?DOS=HIGH
7?DOSDATA=HIGH
7?DEVICEHIGH=C:\WINDOWS\SETVER.EXE
7?DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS con=(ega,,1) 
7?Country=048,852,C:\WINDOWS\COMMAND\COUNTRY.SYS
7?SHELLHIGH=C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:1024 /P=C:\AUTOEXEC.BAT 
/K=WIN.COM

Apparently this doesn't work... kinda. It complains about UMBs, then I'm 
dropped into an interactive terminal.

If I try to now run "C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:1024 /P=C:\AUTOEXEC.BAT 
/K=WIN.COM", I get a barebones Windows 98 terminal.
Still not there though.

If instead I would have tried "C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:1024 /P 
C:\AUTOEXEC.BAT /K=WIN.COM", I get stuck at "mode con codepage
prepare=((852) C:\WINDOWS\COMMAND\ega.cpi)".

Any ideas how this can be done and how to progress further?

Best regards,

Michał Dec



_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to