Jump to content

How to disable the built-in XMS driver in Windows ME's IO.SYS


PDU

Recommended Posts

6 hours ago, roytam1 said:

I tried with Windows 3.1 Chinese Edition, and it backs to DOS prompt after showing slash screen, tried to patch win386.exe but still getting same result.

loading IFSHLP.SYS makes it stalls in slash screen.

Not quit sure. If I remembered right, it works with pwin3.2, that special simplified chinese version. I will give it another try when I have some more time.

Link to comment
Share on other sites


22 hours ago, PDU said:

Not quit sure. If I remembered right, it works with pwin3.2, that special simplified chinese version. I will give it another try when I have some more time.

I tried to create a 1.44MB version of my mini Win3.1 CHT version with MSDOS8 (i.e. decompressed, rlpar-w3x-patched, trimmed, apack-recompressed Q311561 EBD IO.SYS)

If I replace MSDOS8 IO.SYS with LZ-DOS 7.1 and replace IO8EMMOK.SYS with XMGR.SYS (for providing XMS), it works.

a test FD image is here: https://rthost.win/tmp/msd8-cwin31.7z

Edited by roytam1
Link to comment
Share on other sites

Posted (edited)
16 hours ago, roytam1 said:

I tried to create a 1.44MB version of my mini Win3.1 CHT version with MSDOS8 (i.e. decompressed, rlpar-w3x-patched, trimmed, apack-recompressed Q311561 EBD IO.SYS)

If I replace MSDOS8 IO.SYS with LZ-DOS 7.1 and replace IO8EMMOK.SYS with XMGR.SYS (for providing XMS), it works.

a test FD image is here: https://rthost.win/tmp/msd8-cwin31.7z

Thanks for the message. I do not play LZ-DOS. Sorry.

Besides, the key to load WFWG in msdos8 is to allow GEMMIS in EMM386.EXE to do its work when WFWG inits. If only IO8EMMOK.SYS is loaded, WFWG wont work. Although WFWG should work with only XMS, it is not the case in MSDOS8. 

BTW2, the EMM386.EXE from PC-DOS 2000 is the best in my test.

Edited by PDU
Link to comment
Share on other sites

On 4/9/2024 at 2:57 PM, PDU said:

Thanks for the message. I do not play LZ-DOS. Sorry.

Besides, the key to load WFWG in msdos8 is to allow GEMMIS in EMM386.EXE to do its work when WFWG inits. If only IO8EMMOK.SYS is loaded, WFWG wont work. Although WFWG should work with only XMS, it is not the case in MSDOS8. 

BTW2, the EMM386.EXE from PC-DOS 2000 is the best in my test.

if you have a larger disk image, you can use standard IO.SYS from Win98 or ME. LZ-DOS is actually just a apack-compressed MS-DOS 7.1 IO.SYS.

and yeah, Win3.1 works when EMM386.EXE is loaded. but since there is no space left in the disk, I just can't use EMM386.EXE as it is too large for it.

EDIT: tried other EMM managers within size in QEMU 0.15.1, but no positive result:

- RM386.EXE: freezes
- QEMM 5.11: kills XMS Manager and no XMS available after loading QEMM386.SYS, even with NOXMS specified
- EMM386.SYS from Win3.0a: It can't find a place for EMS frame, and there is no NOEMS
- EMM386.EXE 4.10-4.40: once loaded kills DPMI providers

EDIT2: also tried to trim MS/IBM EMM386.EXE to remove loadhi.vxd at the end of file, and fix EXE header to make EXE Packers working, but packed EMM386.EXE just doesn't work. (trimmed only EMM386.EXE works, but still bigger than the free space on disk)

EDIT3: tried using diet 1.45f to compress EMM386.EXE and it works.

Edited by roytam1
Link to comment
Share on other sites

  • 2 weeks later...
Posted (edited)
On 4/9/2024 at 5:03 PM, roytam1 said:

if you have a larger disk image, you can use standard IO.SYS from Win98 or ME. LZ-DOS is actually just a apack-compressed MS-DOS 7.1 IO.SYS.

and yeah, Win3.1 works when EMM386.EXE is loaded. but since there is no space left in the disk, I just can't use EMM386.EXE as it is too large for it.

EDIT: tried other EMM managers within size in QEMU 0.15.1, but no positive result:

- RM386.EXE: freezes
- QEMM 5.11: kills XMS Manager and no XMS available after loading QEMM386.SYS, even with NOXMS specified
- EMM386.SYS from Win3.0a: It can't find a place for EMS frame, and there is no NOEMS
- EMM386.EXE 4.10-4.40: once loaded kills DPMI providers

EDIT2: also tried to trim MS/IBM EMM386.EXE to remove loadhi.vxd at the end of file, and fix EXE header to make EXE Packers working, but packed EMM386.EXE just doesn't work. (trimmed only EMM386.EXE works, but still bigger than the free space on disk)

EDIT3: tried using diet 1.45f to compress EMM386.EXE and it works.

I think what you are trying to do is to load Win3.1CHT using a DOS that can boot within a very limited disk space. Have you tried to use FreeDOS? According to my test, It is capabble of loading WFWG now. See my github record: https://github.com/pufengdu/RetroFuns/blob/main/WFWG/FDWFWG.md

It is still not in a perfect status, but can be expected to be better.

EDIT: Very interesting to see that RM386 does not work. I remebered that M$ bought RM386 from Helix and its OPTIMIZE program. The memmaker is essentially the same as the OPTIMIZE and EMM386 suppose to be very similar to RM386. QEMM386 / 386MAX do not work as expected. I remembered that I have tried these.

 

Edited by PDU
Link to comment
Share on other sites

On 4/17/2024 at 11:41 PM, PDU said:

I think what you are trying to do is to load Win3.1CHT using a DOS that can boot within a very limited disk space. Have you tried to use FreeDOS? According to my test, It is capabble of loading WFWG now. See my github record: https://github.com/pufengdu/RetroFuns/blob/main/WFWG/FDWFWG.md

It is still not in a perfect status, but can be expected to be better.

actually a compressed DOS7.1/Win98SE IO.SYS works better than using ME's, trying to save 4KB XMGR.SYS ended up have to replace XMS driver with (V)EMM driver with 10x size is not worth. have to replace stock COMMAND.COM with SvarCOM and re-stub 7zdecwat-9.12 for smaller size.

(disk image is updated with working one)

Edited by roytam1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...