VOGONS


First post, by Rikintosh

User metadata
Rank Member
Rank
Member

Many years ago there were some (few) guys who were able to do a ridiculously compact (and portable) installation of windows 9x, the best known example being Win98 on the Hirens Boot CD, which loads an installation of about 20MB into the ramdrive . I wanted to learn a little more about this, and I spent the last whole week dedicating all my time to it, and I ended up discovering that the overwhelming majority of tutorials and software that existed for this purpose no longer exist, everything was very difficult to find , so as I managed to create one, I will dedicate this post to teach how I did it.

Unfortunately, by the rules of the forum, I can't make my files available, as they are modified windows files, and these files are the intellectual property of microsoft. Instead, you'll have to get ResHacker and Exescope to modify your own files.

A note: The 7MB installation is practically useless, there are no drivers, there is no support for anything in msdos, there is no notepad at all, just windows explorer and what is needed to load the GUI. I did this more as an enthusiastic test, to see how far I could reduce the size.

A "usable" install would have a minimum size of 14MB, but for games (which is what we all want) only an install of around 60MB will satisfy this purpose.

I could spend time here explaining how to extract each necessary file from the cabs, but the names of the cabs vary from version to version, so the most direct step is to install normally Windows 98 on your virtual machine.

Once installed, get rid of all files that are not on this list:

[Windows] explorer.exe himem.sys IFSHLP.SYS rundll.exe rundll32.exe ShellIconCache SYSTEM.DAT system.ini ttfCache USER.DAT win.c […]
Show full quote

[Windows]
explorer.exe
himem.sys
IFSHLP.SYS
rundll.exe
rundll32.exe
ShellIconCache
SYSTEM.DAT
system.ini
ttfCache
USER.DAT
win.com
win.ini
WIN386.SWP

[Windows\fonts] marlett.ttf sserife.fon vgafix.fon vgaoem.fon vgasys.fon […]
Show full quote

[Windows\fonts]
marlett.ttf
sserife.fon
vgafix.fon
vgaoem.fon
vgasys.fon

[System] advapi32.dll comctl32.dll comdlg32.dll comm.drv commctrl.dll commdlg.dll cp_1252.nls cp_437.nls ddeml.dll GDI.EXE gdi32 […]
Show full quote

[System]
advapi32.dll
comctl32.dll
comdlg32.dll
comm.drv
commctrl.dll
commdlg.dll
cp_1252.nls
cp_437.nls
ddeml.dll
GDI.EXE
gdi32.dll
kernel32.dll
keyboard.drv
krnl386.exe
locale.nls
mmsound.drv
mouse.drv
mpr.dll
mprexe.exe
mprserv.dll
msgsrv32.exe
msmouse.vxd
mspwl32.dll
shell.dll
shell32.dll
system.drv
unicode.nls
user.exe
user32.dll
vga.drv
vgafull.3gr
vmm32.vxd

[system\iosubsys]
bigmem.drv
RMM.PDR

[vmm32\iosubsys]
ios.vxd
ifsmgr.vxd

The installation can be reduced even more by removing some com ctrl, rundll and fonts, it can reach 3.4mb but the system would be very ugly and even more useless. And no, unfortunately it's not possible to put on a single 1.44mb floppy, I tried everything, using uharc the best I could was 3 floppies (with some free space on the last one).

After that, you have to get your hands on a Windows 95 installation, and get the explorer.exe files, and some with ctl/dlg (for the latter, compare sizes, and get the smallest ones).

Use the resource editors to delete bitmaps and foreign languages present in some files, if you are using the english united states version of windows, you will notice that 1033 corresponds to the english language ressource, and the others can be excluded.

Shell32 has a built-in midi file, AVI animations can also be deleted. As for the icons, if you delete them everything will go crazy, with icons appearing randomly in place of each other, this is because the shell32 ressources are enumerated, it means that if you delete icon 28, the icon at position 29 will change to be 28. So I recommend creating an empty 16x16 icon to replace unnecessary icons like network, dialup, internet explorer, etc...

use UPX executable packer to pack your system's exe and dll files. win95 explorer can be compressed to 90kb

reshacker is not able to edit 16bit exes and dlls, so you will have to use exescope for that. Editing these 16bit ones is inefficient if you don't intend to compress your entire windows installation later. That's because exescope just hexadecimally replaces some values, (changing ones to zeros), it keeps the file size, but if you use a compressor, it will cut the zeros and compress a little better. It's your decision!

VMM32.vxd, is a file built during windows installation, it is like a zip file that contains other vxds inside itself. Depending on the machine you were working on, it may not be possible to start windows properly, if you have problems, put some additional vxds in the vmm32 folder and use wininit to embed them in vmm32.vxd

make sure your config.sys has the command to install the Himem.sys and IFSHLP.SYS driver. The first is the memory manager, as we all know, and the second is a file system driver. If you don't load ifshlp.sys, you will get a blue screen indicating file system error.

And lastly, your win.ini and system.ini files. Win.ini is not very important, but system.ini should be dry as shown below

[…]
Show full quote
[boot]
oemfonts.fon=vgaoem.fon
system.drv=system.drv
drivers=mmsystem.dll
shell=Explorer.exe
user.exe=user.exe
gdi.exe=gdi.exe

dibeng.drv=dibeng.dll
comm.drv=comm.drv
mouse.drv=mouse.drv
keyboard.drv=keyboard.drv
*DisplayFallback=0
fonts.fon=vgasys.fon
fixedfon.fon=vgafix.fon
386Grabber=vgafull.3gr
display.drv=pnpdrvr.drv

[keyboard]
keyboard.dll=
oemansi.bin=
subtype=
type=4

[boot.description]
system.drv=Standard PC
keyboard.typ=Standard 101/102-Key or Microsoft Natural Keyboard

mouse.drv=Standard mouse
aspect=100,96,96
display.drv=S3 Trio32/64 PCI (732/764)

[386Enh]
mouse=*vmouse, msmouse.vxd
MaxPhysPage=20000

[NonWindowsApp]
TTInitialSizes=4 5 6 7 8 9 10 11 12 13 14 15 16 18 20 22

[power.drv]

[drivers]


[iccvid.drv]

[mciseq.drv]

[mci]


[vcache]
MaxFileCache=262144

[MSNP32]

[TTFontDimenCache]
0 4=8 12
0 5=8 12
0 6=8 12
Show last 13 lines
0 7=8 12
0 8=8 12
0 9=8 12
0 10=8 12
0 11=8 12
0 12=8 12
0 13=8 12
0 14=8 12
0 15=8 12
0 16=8 12
0 18=8 12
0 20=8 12
0 22=16 24

About the windows registry, I recommend you to download my file. (editing it is tiring)

Attachments

Take a look at my blog: http://rikintosh.blogspot.com
My Youtube channel: https://www.youtube.com/channel/UCfRUbxkBmEihBEkIK32Hilg

Reply 3 of 12, by Pierre32

User metadata
Rank Oldbie
Rank
Oldbie

Love this madness. I like the thought that you could add just enough components back in to create a single-function OS. Like, as a MIDI jukebox or some sort of industrial control.

If you were feeling sassy you could upload your build to archive.org 😉

Reply 4 of 12, by Shreddoc

User metadata
Rank Oldbie
Rank
Oldbie

Puts into perspective the terrifying bloat of modern systems.

As in the early 90's, I'm still happy to do most of my writing in a text editor. The difference is that I'm now using a machine powered by (Moore's Law x 20-something Years) more transistors to do it.

And I honestly don't know if that's amazing or depressing!

Reply 5 of 12, by chinny22

User metadata
Rank l33t++
Rank
l33t++

Back when 98 was my daily driver I'd go in and delete the help folder, all the txt, cnt, bak, and other "rubbish" files and try and scrape every byte back from a clean install, habits from running Win95 on a 420MB HDD for years.
Wish I knew about this back then!

Reply 6 of 12, by Rikintosh

User metadata
Rank Member
Rank
Member

I'm studying how win9x works, I want to try to create a fusion of dosbox + "minimalistic win9x", which can run in a folder instead of a disk image. So I create a shell replacement that passes the control to %1, that would make it possible for us to just run old games using a context menu in windows 10 itself.

Take a look at my blog: http://rikintosh.blogspot.com
My Youtube channel: https://www.youtube.com/channel/UCfRUbxkBmEihBEkIK32Hilg

Reply 7 of 12, by Rikintosh

User metadata
Rank Member
Rank
Member
Pierre32 wrote on 2021-10-06, 07:15:

Love this madness. I like the thought that you could add just enough components back in to create a single-function OS. Like, as a MIDI jukebox or some sort of industrial control.

If you were feeling sassy you could upload your build to archive.org 😉

I was afraid to say that I would do this, the forum moderators are very cautious about abandonware/piracy, I believe that if I say that I will put it on archive.org, the moderators might end up deleting my topic

Take a look at my blog: http://rikintosh.blogspot.com
My Youtube channel: https://www.youtube.com/channel/UCfRUbxkBmEihBEkIK32Hilg

Reply 8 of 12, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Do you want all the fun and experience of doing it this way, or do you want something that does the same kind of thing? https://fdossena.com/?p=wined3d/index.frag

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 9 of 12, by Rikintosh

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2021-10-06, 13:33:

Do you want all the fun and experience of doing it this way, or do you want something that does the same kind of thing? https://fdossena.com/?p=wined3d/index.frag

I find a win9x system "real running" more reliable. Also, I wish there was a single program to satisfy the needs of win and dos.

Take a look at my blog: http://rikintosh.blogspot.com
My Youtube channel: https://www.youtube.com/channel/UCfRUbxkBmEihBEkIK32Hilg

Reply 10 of 12, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

No more new archive.org discussion but I'm not going to delete any previous posts unless of course people get sneaky.

How To Ask Questions The Smart Way
Make your games work offline

Reply 12 of 12, by Rikintosh

User metadata
Rank Member
Rank
Member

I've done win 3.1 to floppy several times when I was younger, especially because pendrives were still expensive, I had a windows 3.1 with tools for computers that had problems starting

But with win9x I think it's the first time I'm really close to turning it into something you can call "portable". in my deep dreams, i always wanted an emulator that could run old apps directly under windows 10 without needing a lot of configuration, and hacks. If I succeed with this, I will build a tool that extracts the necessary win9x cd files and will do everything automatically, so that even the most untrained user can use it with ease.

Take a look at my blog: http://rikintosh.blogspot.com
My Youtube channel: https://www.youtube.com/channel/UCfRUbxkBmEihBEkIK32Hilg