VOGONS

Common searches


First post, by dodleh

User metadata
Rank Newbie
Rank
Newbie

I have been looking for a while on a solution to remove logo.sys to reduce the file size of IO.SYS from a Windows 95B (OSR2) installation, as it serves very well for multiple boot requirements.

My main reason to follow this path is due to a loaded bootdisk where every wasted kb does matter.

As far as I can tell, the IO.SYS file has the start-up and loading screen logo.sys included but I am not able to use hints on the binary file to determine the location of this compressed data, to remove it. I also assume that the solution is more complex, as it would require not just removing parts of the file but also update the pointer to allow any data after the logo.sys location to be accessible. I may be wrong in my assumptions since I am not familiar with IO.SYS format.

I consider that some documented data is reliable but I highly doubt it to be entirely accurate due to my following findings. When using the sys command to transfer system files, a drivespace.bin file is generated with no initial file being present, which would suggest that there is much more packed in IO.SYS than is assumed.

My general understanding points to this format, but I have no experience to test it further (although I can use a HEX editor if needed).

IO.SYS assumed format (file size is above 200kb):
File header (including the MZ signature)
Packed initialization data (unknown content)
Drivespace.Bin (probably packed, used for compressed drives handling, useless in most modern use scenarios, can be dispensed with)
Logo.sys (probably packed)
Some other data (unknown content)

The goal is to find a way to remove the useless drivespace.bin and logo.sys from io.sys and reduce the file size, as mentioned.

An additional goal may be to find a way of inhibiting loading the default IFSHLP.SYS (the file access driver of Windows 95/98) without resorting to wrong paths in msdos.sys or dummy files. It would be great if ifshlp.sys could be loaded in a config.sys file.

Thank you!

Reply 1 of 35, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
dodleh wrote on 2022-12-12, 12:28:

An additional goal may be to find a way of inhibiting loading the default IFSHLP.SYS (the file access driver of Windows 95/98) without resorting to wrong paths in msdos.sys or dummy files. It would be great if ifshlp.sys could be loaded in a config.sys file.

Try DOS=NOAUTO in CONFIG.SYS

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 2 of 35, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Okay, this isn't exactly on-topic, but PTS-DOS and Paragon DOS were written in assembly language.
They're by design very very small. Even better than FreeDOS, maybe.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 35, by henk717

User metadata
Rank Newbie
Rank
Newbie

It is definately possible to trim it down bigtime, the io.sys I use on my boot floppy is only 74kb. I did cheat a bit with that since my starting point was a io.sys which already had the logo removed.

How do you get it that small? I can't share the full details since I was trusted with a tool called IOPAK by its author on the promise I would not share it (He did not want people to spread things like LZDOS where people distribute this as some kind of free dos clone as the LZDOS author made it seem, while in reality its just a compressed io.sys file).

So you do not have to compromise on features, infact there are patchers that can add windows 3.1 suppprt. And then with the right compression techniques you can then really trim the size down.

I am very happy with the one I have, and if you look hard enough I am sure you can find the articles back as well as io.sys files like this that are premade.

I didn't document the process over the years and have that promised secrecy so I can't give exact details. But my own bootdisk project I am very happy with.

Reply 4 of 35, by dodleh

User metadata
Rank Newbie
Rank
Newbie
henk717 wrote on 2022-12-12, 21:29:

It is definately possible to trim it down bigtime, the io.sys I use on my boot floppy is only 74kb. I did cheat a bit with that since my starting point was a io.sys which already had the logo removed.

I remember seeing an example for DOS 7 or 7.1 in the early 2000s, but I could not find information to replicate the same result today. I appreciate the insight and would like to find information about such a case. I have noticed some discussions on the MSFN board but they were centered on winboot.sys from DOS 8 (Windows ME).

henk717 wrote on 2022-12-12, 21:29:

How do you get it that small? I can't share the full details since I was trusted with a tool called IOPAK by its author on the promise I would not share it (He did not want people to spread things like LZDOS where people distribute this as some kind of free dos clone as the LZDOS author made it seem, while in reality its just a compressed io.sys file).

I understand, although I remember a case where I attempted to promote and collaborate successfully with a DOS app developer, a long time ago, for the UHARC archiver. As a result of discussions and being provided with a special beta version I ended up developing a jerry-rigged solution to integrate the archiver into Windows 9x in the early 2000s. I was not bound by any agreement about sharing my work and results, provided I gave proper credit to whom I should. I think that such a model approach of good cooperation for IOPAK would have been much more successful, but respect is mandatory at each stage.

I am not well aware about the LZDOS claims, but I think that any unrightful claim can be easily contested today and this is the natural approach.

henk717 wrote on 2022-12-12, 21:29:

So you do not have to compromise on features, infact there are patchers that can add windows 3.1 suppprt.

I am well aware of the wonderful W3XSTART patch and it works perfectly, after being tested for a couple of years. One of the reasons of slowly migrating to DOS 7 and FAT32 as the foundation for running dual-boot Win 3X and Windows 9x systems is precisely this flexibility. With a hex patch on KRNL386.EXE for FAT32, well documented on Vogons, I was able to have no inconvenience after running Windows and returning to dos. Using FAKESHAR is also a very good solution to avoid the compatibility problem of VSHARE VXD or the hassle of using SHARE as a TSR on single-user machine, so all these patches and solutions go on to make the Win 3X GUI mostly a success. Moreover, there is also the possibility of using WQGHLT VXD to achieve very good power saving capabilities so the Windows 3X installation is quite potent. There are other tools that address various limitations of DOS including batch-initiated reboot and shutdown.

What I could not achieve was aimed at the IFSHLP switchable functionality that could potentially make Windows 3X play nicely in a FAT16 DOS7 system. For this aim, having an IO.SYS that would avoid loading IFSHLP but still keep the paths for Windows 9x intact was my goal. Of course, SMARTDRV could be used with Windows 3X but it is slower in Windows and still uses up conventional memory all the time, whether you like it or not.

henk717 wrote on 2022-12-12, 21:29:

I am very happy with the one I have, and if you look hard enough I am sure you can find the articles back as well as io.sys files like this that are premade.

I didn't document the process over the years and have that promised secrecy so I can't give exact details. But my own bootdisk project I am very happy with.

I am glad that you achieved such results. Unfortunately, my attempts are not as successful today. Some 20 years ago the internet and search results were less clogged by different pointless aspects. I just hope that some approaches and tools would not get unused or, even worse, lost due to the fact that no-one passes the legacy. I think that this risk is much higher today.

henk717 wrote on 2022-12-12, 21:29:

And then with the right compression techniques you can then really trim the size down.

I once used hard approaches such as cutting down files by literally stripping data off the file or using resource editors to extract and modify PE 32 bit executables and some NE 16 bit ones as a hobby so I am partly aware of what could be done. Overall, I would prefer not to use compression techniques since it detracts too much from a reasonable approach. If I was going down that path, I could also revisit and reliably backtrack on the EBD.CAB concept abused by others, to reach an optimum bootdisk, but this would be lazy in a way. I could also force a MAX disk approach to get from an unformatted size of 1.44 to 1.62 MB, but then again, this would also be lazy as you would not contend with the serious limitations of 1,38 MB usable space. Another path would be to resort to FREEDOS but this is another problem in and of itself that does not solve all issues while bringing new ones on the table.

On a side note, I think that PE 32-bit EXE packers detract a lot from the real challenge of unbloated code created by compilers or masterful programming and it is quite unpleasant to be unable to understand where a particular developer spend a lot of time in improving its product and what kind of solution he devised to a particular challenge. This is why I avoid such an approach on other issues, whenever possible.

Ultimately my choice of MSDOS 7 is for simplicity, lack of surprises in creating or diagnosing a bootable real or virtual hard disk media and configuring the DOS or Windows environment from DOS.

Reply 5 of 35, by henk717

User metadata
Rank Newbie
Rank
Newbie
dodleh wrote on 2022-12-12, 22:28:

I understand, although I remember a case where I attempted to promote and collaborate successfully with a DOS app developer, a long time ago, for the UHARC archiver. As a result of discussions and being provided with a special beta version I ended up developing a jerry-rigged solution to integrate the archiver into Windows 9x in the early 2000s. I was not bound by any agreement about sharing my work and results, provided I gave proper credit to whom I should. I think that such a model approach of good cooperation for IOPAK would have been much more successful, but respect is mandatory at each stage.

In this case he built the tool himself and it was published openly on the internet, but promptly removed. He trusted me with a copy, if you search for IOPAK online you can find the post from the original author and if you ask he might give it to you. But that is a form of compression which you mentioned you don't want to get in to for your project.

We took fundamentally different approaches then since for me the sport was trying to compress everything down enough so it would fit. Technically you could of course just use my io.sys but I understand this is out of scope for your project and you want the actual knowledge of how its done rather than the end result for your floppy.

It does look like most of this has gone with time, so I grabbed the original io.sys that I used as a basis to see what is different. And the differences are very big, so I think the io.sys that was used was one that already contained patches that the Windows 98 SE retail one does (Such as hotfixes, I know WIndows 3.1 support was also patched in, etc). So finding the exact modifications for the logo.sys will be tricky in that approach if you also go for the CDU IO.SYS comparison route. What I did immediately notice was the absence of the logo, since thats a very large block of data gone. This appears to be the region that your seeking. Pointing out the right section to you will be a little tricky on a forum, but the most easy thing to search is the word "PIP€R" which is a few lines below it. From what I can tell the beginning is "mŠ".

The problem is that when I remove this section it also no longer boots, so I do not know what modifications need to be made to preserve that. And the topics on how to patch it properly I can't find back either. I hope it still helps you uncover the next step, as I also would be curious how they did it.

Reply 6 of 35, by dodleh

User metadata
Rank Newbie
Rank
Newbie

I think that your answer was very well documented. It means that there are more modifications involved and this requires a rethinking of options.

As far as I could determine by examining and then brute force editing DOS7 IO.SYS at different offsets, you could remove parts of the code and shorten the file but you end up with something that does not properly initialize Windows 95 (not loading the hardware profile properly, for instance, and no, SYSTEMREG=0 in MSDOS.SYS [Options] does not solve the issue), which is an unacceptable side effect. My bootdisk should make a fixed disk properly bootable, not just conserve space on the floppy.

Then, the question stands: using a smaller IO.SYS, including the one you examined and used successfully for a while, ends up with less functionality while loading Windows 95 or 98?

henk717 wrote on 2022-12-13, 08:36:

In this case he built the tool himself and it was published openly on the internet, but promptly removed. He trusted me with a copy, if you search for IOPAK online you can find the post from the original author and if you ask he might give it to you

If the author you are talking about is Rudolp R. Loew, then I am sorry, he died in 2019. This is one of the reasons I hinted at something in one of my previous posts and why preservation, distribution, and documentation do matter. With little connection, I remember heated debacles about PearPC and CherryOS (Knockoff) emulators some two decades ago. What was left out of the whole conflict is two tools that work. I think that reconciliations and a new attempt matters after some time passes and both the good and the bad have to be remembered.

If the author is identified as MERCURY127 on a Russian bulleting board, then a potential discussion is possible, if there are no other alternatives. I do not speak Russian.

henk717 wrote on 2022-12-13, 08:36:

We took fundamentally different approaches then since for me the sport was trying to compress everything down enough so it would fit. Technically you could of course just use my io.sys but I understand this is out of scope for your project and you want the actual knowledge of how its done rather than the end result for your floppy.

In the end, I think I may also have to consider this possibility if there is no other breakthrough. I also remember another poor practice of Microsoft back then was to bundle multiple VXDs in VMM32.VXD, which would make attempts at guessing what changed between Windows 95 and Windows 98 or between Windows 98 editions very difficult. Also, an issue such as a bad sector or a wrong write on a VMM32.VXD file would kill Windows 98 much faster than a Windows 95 installation.

henk717 wrote on 2022-12-13, 08:36:

It does look like most of this has gone with time, so I grabbed the original io.sys that I used as a basis to see what is different. And the differences are very big, so I think the io.sys that was used was one that already contained patches that the Windows 98 SE retail one does (Such as hotfixes, I know WIndows 3.1 support was also patched in, etc). So finding the exact modifications for the logo.sys will be tricky in that approach if you also go for the CDU IO.SYS comparison route. What I did immediately notice was the absence of the logo, since thats a very large block of data gone. This appears to be the region that your seeking. Pointing out the right section to you will be a little tricky on a forum, but the most easy thing to search is the word "PIP€R" which is a few lines below it. From what I can tell the beginning is "mŠ".

I have considered your suggestion and looked upon a Windows 98SE IO.SYS. I found the string at offset 17C1C but there are a couple of issues. Since the image is packed, the length can vary and an extracted logo.sys cannot be used as reference. Microsoft previously used RLE encoding but this does not matter, I am not as proficient to decode and understand the code and method used for compression. Moreover, simply removing a chunk of code potentially attributable to logo.sys would end up with a non-functional IO.SYS file as binary ones expect the data to be at specific locations.

Reply 7 of 35, by henk717

User metadata
Rank Newbie
Rank
Newbie

The author or IOPAK is indeed mercury, I also don't speak russian but he speaks english well enough. He is very much alive.

Not all IO.SYS files worked well for me on both harddrives and floppy drives. That part remains a mystery to me, somehow I modified the CDU version to be able to do that. But when I retraced my steps a while later I could not reproduce that part ot it. I assume it was the HP Storage Format Tool that did that.

I normally do not use my own modified io.sys on Windows 98 because I have no need to and prefer to be able to install updates. I just let Windows 98 use its own one, reserving my io.sys for a seperate fat16 dos partition where I have Windows 3.1 and of course the floppy itself.

I haven't seen blatent incompatibilities though so I assume its fully compatible with Windows 98 SE.

Reply 8 of 35, by BolenB

User metadata
Rank Newbie
Rank
Newbie

The MERCURY127 collection is a miscellaneous good that he sometimes refers to. password for archives 1 (one), unless otherwise specified explicitly.
https://disk.yandex.ru/d/8XVJOSoOLOFheA

io.sys Win98SE (Q311561)
default option state is stored in a word (2 bytes):
00009523: 80h (bits 7 to 0)
00009524: 00h (bits 9 to 😎
If the bit is clear then this is equivalent to = 1 in msdos.sys
If the bit is set then this is equivalent to = 0 in msdos.sys
--------------------------------------
seg000:8B315 aLogo db 'LOGO'
seg000:8B319db2
seg000:8B31A dw 1 (bit 0) 00000001
seg000:8B31C aDblspace db 'DBLSPACE'
seg000:8B324db2
seg000:8B325 dw 2 (bit 1) 00000010
seg000:8B327 aDrvspace db 'DRVSPACE'
seg000:8B32F db 2
seg000:8B330 dw 4 (bit 2) 00000100
seg000:8B332 aBootkeys db 'BOOTKEYS'
seg000:8B33A db 2
seg000:8B33B dw 8 (bit 3) 00001000
-----------------------------------------
seg000:8B349 aBootwin db 'BOOTWIN'
seg000:8B350db2
seg000:8B351 dw 10h (bit 4) 00010000
seg000:8B353 aBootgui db 'BOOTGUI'
seg000:8B35Adb2
seg000:8B35B dw 20h (bit 5) 00100000
seg000:8B35D aBootwarn db 'BOOTWARN'
seg000:8B365db2
seg000:8B366 dw 100h (bit 😎 0000000 00000001
seg000:8B368 aBootmulti db 'BOOTMULTI'
seg000:8B371db2
seg000:8B372 dw 80h (bit 7) 10000000
-------------------------------------------------
seg000:8B3C5 aLoadtop db 'LOADTOP'
seg000:8B3CC db 2
seg000:8B3CD dw 40h (bit 6) 01000000
-------------------------------------------------
seg000:8B3E9 aSystemreg db 'SYSTEMREG'
seg000:8B3F2 db 2
seg000:8B3F3 dw 200h (bit 9) 00000000 00000010
seg000:8B40A ; -------------------------------------------------- ------------------------

With an "empty" msdos.sys we have
00009523: 8000 (bit 7 in 1st byte set), which is equivalent to BOOTMULTI=0, all others
options respectively =1 (because the bits are reset).

We wanted, for example, to have Logo=0 by default in io.sys. You need to set bit 0 at the address
00009523:
80h + 01h = 81h
------------------------------------
00009523: 81h is now Logo=0 by default
------------------------------------
Would you like to disable automatic loading of DBLSPACE and DRVSPACE?
Need to set bit 1 and bit 2
80h + 02h(set bit 1) + 04h(set bit 2) = 86h
-------------------------------------------------- ----
00009523: 86h is now DBLSPACE=0 and DRVSPACE=0 by default
-------------------------------------------------- ----
Add Logo=0
80h + 01h(set bit 0)+ 02h(set bit 1) + 04h(set bit 2) = 87h
-------------------------------------------------- -------------
00009523: 87h now by default Logo=0 DBLSPACE=0 and DRVSPACE=0
-------------------------------------------------- -------------
And let's also cut off io.sys (cut off the logo and the configuration manager.)
It is necessary to make the default SYSTEMREG=0
87h + 200h (set bit 9) = 287h (remember that words are stored in reverse order, low byte first, then high byte).

We get:
-------------------------------------------------- -------------
00009523: 87h now by default Logo=0 DBLSPACE=0 and DRVSPACE=0
00009524: 02h is now SYSTEMREG=0 by default
-------------------------------------------------- -------------
I hope the meaning is clear.

translated from Russian (my native language)
http://forum.ru-board.com/topic.cgi?forum=62& … 453&start=300#9

Reply 9 of 35, by dodleh

User metadata
Rank Newbie
Rank
Newbie

Thank you very much BolenB, you have made a tremendous effort to translate then document everything and I highly appreciate that.

Thank you very much henk717 and others, I will take into account your findings and compare them with my own.

I will look upon the files suggested by BolenB and hopefully will be able to understand what I am seeing.

A small tidbit. I was expecting the SYSTEMREG variable to hint at the MSDCM (device configurator) loader. When I cut the MS-DOS 7 io.sys file after offset HEX 2e940 I ended up with a strangely bootable Windows 95 that would never have a proper working hardware profile. Surprisingly, there was no workaround for this and SYSTEMREG was of no use. Interestingly enough, despite the documentation that says MSDCM helps you to pick a hardware profile https://retrocomputing.stackexchange.com/ques … -windows-io-sys, even if you had a previously working hardware profile, when you load Windows 95 everything remains uninitialized and you are running as in Safe Mode when you attempt my brutal cut on IO.SYS.

I am curios of the reason Microsoft did such a convoluted way of implementing the Windows Loader and not simply rely on the plug and play subsystem to be initialized independently at runtime. Could it be due to the attempt at sidelining DR-DOS and others as useless platforms, since there is some history about hidden pointers to fail loading Windows 3.1 some time ago?

Reply 10 of 35, by BolenB

User metadata
Rank Newbie
Rank
Newbie

You are truncating IO.SYS incorrectly (win95osr2).
For a file size of 214836 bytes, you need to truncate with 1DAB0. By analogy with IOPAK8 (For win98se).
For a file size of 214918 bytes (from the update), you need to truncate with 1DAB0.
1DAB0 E9 88 00 20 44 53 00. You can delete everything from here to the end of the file. Don't forget to correct the size in the MZ header, and make systemreg=0.

Reply 11 of 35, by MERCURY127

User metadata
Rank Member
Rank
Member

Hello! 😀

I have been registered here for a long time, but had forgotten about this site. I happened to see this thread and decided to look it up.

The main goal of IOPAK was not just to compress IO.SYS, but to allow the execution of any user code BEFORE running IO.SYS. Since the project was originally born while working on Windows 98IF, one of the primary purposes (and at the same time example of use) was to load the right font of the boot menu. Hence the excessive number of patches applied relative to the original IO.SYS - most of them are not needed for IOPAK.

But this is only one possible use case. Other options include: loading a DDO-type (shadow) driver, fixing BIOS bugs or hardware tuning, if the default settings not allow DOS load at all, patching the original IO.SYS before it starts (to meet the stupid legal requirements), or, as an example of exotic and, alas, only half successful application - launching MSDOS 6 from a FAT32 partition...

And yes, this thing can be used to create rather hard to detect trojans... And I still think it's better not to multiply obscure IO.SYS derivatives publicly. But, on the other hand, I don't want this rather interesting toolkit to disappear into oblivion. So I decided to put it publicly in my personal collection, albeit with the simplest password protection.

If you believe that the using of IOPAK and its discussion does not violate any laws of your country, and you have any questions about IOPAK - ask me, I will try to answer.

I read technical English quite well and can write short answers without a dictionary, but I write large texts using machine translation, so don't be surprised at the difference in the style of my short and long answers. 😀

Reply 12 of 35, by zyzzle

User metadata
Rank Member
Rank
Member

I'm assuming that the MS-DOS 7.1 (both Win95b OSR2 and Widows 98 version) can *not* be packed.

The IOPAK tool above by MERCURY127 seems only able to "pack" (ie, compress with the LZ77 algorithm) an IO.SYS from Windows Millennium (that is, the IO.SYS included with "MS-DOS" v. 8 which has himem.sys and logo.sys concatenated / appended to it.

I've been able to successully remove LOGO.SYS from both Win95b and Win 98 IO.SYS, and am left with an ~125kb file, after truncating at location noted above. How do you "modify" the .exe header as directed? The file seemed to load OK when I booted this "truncated" 128,396-byte file. But, I could not use ASPACK to compress it, nor UPX. They both aborted with errors.

Please clarify, if possible. Is "LZDOS" merely a pre-packed and distributed version of the "MS-DOS 8" compressed .exe which is already included in the IOPAK8 archive given in the link above?

My goal is to get a "packed" version of the Windows 98B IO.SYS, which would lower its diskspace requirement from about 125 kb to ~70-72 Kb. Is there a way to do this, or is it impossible? I'd always heard thay ".SYS" files could not be compressed.

Reply 13 of 35, by henk717

User metadata
Rank Newbie
Rank
Newbie

No this is false, you can absolutely use IOPAK to pack MS-Dos 7.1 I have done so myself using his tool. After you remove the logo with his packer you can get it down to 74KB.
I have also released my pre-packaged one as part of my DOS floppy that I showcased in DOScember this year, so if you want to find my end result its out there.

Reply 14 of 35, by MERCURY127

User metadata
Rank Member
Rank
Member

you can place any 7+ io.sys (even w/o logo/confmgr cutting) beside p.bat, and run bat. ofcourse, if you dont cut logo/confmgr, you get bigger result file.
you even can make compressed ms/dr dos (6+/7+) "io.sys" (manually concatenated dos7 header+dos6 io+ dos6 msdos, before compression!), and get 46-51 KB result file... ofcourse, it dont boot on fat32, but otherwise work as ususal.

Reply 15 of 35, by MERCURY127

User metadata
Rank Member
Rank
Member
zyzzle wrote on 2023-01-01, 00:51:

Please clarify, if possible. Is "LZDOS" merely a pre-packed and distributed version of the "MS-DOS 8" compressed .exe which is already included in the IOPAK8 archive given in the link above?

LZ-DOS *IS* cutted ordinal MS-DOS 7.10 io.sys, with replaced text strings, and alien command.com (from pc-dos? not sure...). files was compressed with apack.

lzdos is too dirty thing at my think, and IS NOT included in IOPAK8

Reply 16 of 35, by zyzzle

User metadata
Rank Member
Rank
Member
MERCURY127 wrote on 2023-01-01, 16:49:

you can place any 7+ io.sys (even w/o logo/confmgr cutting) beside p.bat, and run bat. ofcourse, if you dont cut logo/confmgr, you get bigger result file.
you even can make compressed ms/dr dos (6+/7+) "io.sys" (manually concatenated dos7 header+dos6 io+ dos6 msdos, before compression!), and get 46-51 KB result file... ofcourse, it dont boot on fat32, but otherwise work as ususal.

Thank you very much for clarification! I got it done using your simple batch file p.bat

I had missed this earlier. And I got my IO.SYS down to 74kb as you said! Perfect.

I also don't bother with LZDOS. It seemed to be a very strange hybrid, and I stick with just regular old MSDOS 7.1 from 12-1-04, without bootlogo.

Reply 17 of 35, by zyzzle

User metadata
Rank Member
Rank
Member
henk717 wrote on 2023-01-01, 01:50:

No this is false, you can absolutely use IOPAK to pack MS-Dos 7.1 I have done so myself using his tool. After you remove the logo with his packer you can get it down to 74KB.
I have also released my pre-packaged one as part of my DOS floppy that I showcased in DOScember this year, so if you want to find my end result its out there.

Also thank you for this advice, and for your excellent video and floppy image. It is one of the best of its type that I've ever seen, very succinct and chosen very well, as well as a turnkey system to copy this modified (packed) MSDOS 7.1 to a new harddrive if one so chooses. It's like a small, super-optimized version of the old Hiren's Boot CD, only better.