Jump to content











Photo
- - - - -

How to give bootable MS-DOS 6.22 access to files?


  • Please log in to reply
23 replies to this topic

#1 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 15 July 2017 - 11:35 PM

Hey there,

 

I used WinSetupFromUSB to create a multi-bootable USB that allows me to boot into MS-DOS 6.22, in addition to installers for Windows 7 and Vista. I need DOS 6.22 in order to run some legacy programs on very expensive hardware that I can't run the risk of trying another version of DOS or FreeDOS on.

 

DOS 6.22 and the Windows 7 installers boot well enough, but the problem I'm now having is that I have no way of supplying the legacy programs I need to run to DOS 6.22 once its been booted from the USB. Copying these programs to the root of the USB doesn't seem to work; as soon as DOS is booted, all it sees are the 40 files that it comes packaged with.

 

Where in the bootable USB do I put my programs so that MS-DOS 6.22 can access it? If there is no such place, is there any other way to easily give DOS access to those programs?

 

Thanks in advance, I'd really appreciate some help on this.


Edited by Kaos-Industries, 15 July 2017 - 11:43 PM.


#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 16 July 2017 - 09:08 AM

MS-DOS can only read FAT drives. Is the USB formatted as FAT32?

I am not sure that WinSetupFromUSB makes the USB drive visible as a BIOS drive - if you run FDISK when booted to DOS, can you see the USB drive listed by FDISK? If not then you may have to tweak the grub4dos menu for the DOS ISO.

 

Easy2Boot will do what you want easily (one menu and access to USB drive).

It already contains a FreeDos menu entry which will allow you to boot to FreeDOS and run files on an NTFS or FAT32 USB drive.

However, if you want to run executables from the USB drive using your DOS 6.22 ISO, you will need to use the Make_E2B_USB_Drive.cmd button to make a FAT32 USB drive, then add your Windows and DOS ISOs by copying them over. The DOS iso file should be given the .isodos file extension.

 

Edit - MS-DOS 6.22 does not support FAT32. You would need a DOS 7.1 ISO and a FAT32 USB drive.

 

Another way would be to add you executables, etc. inside the .ISO file using an ISO editor. Then when you boot is as .ISODOS, drive B: will contain your executables under MS-DOS and you can run from a FAT32 or NTFS USB drive.


Edited by steve6375, 16 July 2017 - 09:21 AM.


#3 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 16 July 2017 - 09:41 AM

MS-DOS 6.22, that is. (and DOS 7.0 aka Windows 95)

MS-DOS 7.0 7.1 (aka Windows 95 OSR2) onwards can access FAT32.

 

@Kaos-Industries

If you have to run a specific version of MS-DOS to run legacy programs on very expensive hardware, then surely you can afford to have a DEDICATED DOS ONLY USB stick.

Mind you there is no known reason to assume that the multibooting may EVER lead to any kind of "corruption" of the environment, but if you cannot risk to test the software with a newer DOS version, then you shouldn't risk (even if it is a little/tiny risk) that.

 

Try making a plain, partitioned, FAT16, non-multiboot USB stick with MS-DOS 6.22 and your software (and nothing else).

 

How exactly to do that is another thing, what I would personally ddo would be to make a "normal" install of the DOS into a VM (actually a specific one, the QEMU) on an image of suitable size and then dd the image to the USB stick.

You should make the RAW image larger than around 512 Mb (but not larger than 2 Gb) to make sure that both the BIOS of the VM and the real hardware detect the geometry as 255/63.

See here:
http://reboot.pro/to...isk-boot-image/

 

For a complete set of instructions (they are about FreeDOS and/or Windows 98, i.e. DOS 7.1, but you can use the same with DOS and particularly DOS 6.22 as long as you use FAT16 and a disk size in the given range).

 

Having the DOS on a .iso is not usually a good idea (because the .iso is read only) and surely your software needs to save some info somewhere.

It is possible to use a ramdisk (but then the whole stuff would be "volatile" ) or mount another volume (with a RW filesystem that MSDOS 6.22 can understand, which must then be ether FAT12 or FAT16) but it would be more complex and possibly (it really depends on the software) it may not work as that would be another (non-C:\ ) drive letter (there are possible workarounds/solutions to this issue, but they represent a further complication).

 

:duff:

Wonko



#4 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 16 July 2017 - 09:55 AM

http://www.rmprepusb...torials/freedos This may also help as it contains info on making a DOS 6.22 USB drive.

Note that once you have a working USB DOS 6.22 flash drive, you can use RMPrepUSB to make an image of the drive and add it to an E2B USB drive as a .imghd file. You can also use various utilities to edit the .img file and add/delete files at any later time.



#5 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 16 July 2017 - 11:54 PM

MS-DOS can only read FAT drives. Is the USB formatted as FAT32?

I am not sure that WinSetupFromUSB makes the USB drive visible as a BIOS drive - if you run FDISK when booted to DOS, can you see the USB drive listed by FDISK? If not then you may have to tweak the grub4dos menu for the DOS ISO.

 

Easy2Boot will do what you want easily (one menu and access to USB drive).

It already contains a FreeDos menu entry which will allow you to boot to FreeDOS and run files on an NTFS or FAT32 USB drive.

However, if you want to run executables from the USB drive using your DOS 6.22 ISO, you will need to use the Make_E2B_USB_Drive.cmd button to make a FAT32 USB drive, then add your Windows and DOS ISOs by copying them over. The DOS iso file should be given the .isodos file extension.

 

Edit - MS-DOS 6.22 does not support FAT32. You would need a DOS 7.1 ISO and a FAT32 USB drive.

 

Another way would be to add you executables, etc. inside the .ISO file using an ISO editor. Then when you boot is as .ISODOS, drive B: will contain your executables under MS-DOS and you can run from a FAT32 or NTFS USB drive.

 

 

The USB is definitely formatted as FAT32, and as mentioned, boots fine. Does the USB need to formatted as FAT16 just to see the legacy program files on the USB? I always assumed that if it runs on the USB that it should also be read files from it?

 

I tried E2B when initially trying to set this up, but I'm not fond of the E2B boot menu and found that it added way too many nested menus and menu items for me that would take a while to customise to my heart's content. This is why I currently prefer using WinSetupFromUSB, which boots by default into grub4DOS resulting in a simple but good-looking boot menu from the outset.

 

As for the final method, at this point that definitely seems like the more attractive, easiest option. I tried doing it today - I extracted all the files from the original DOS 6.22 ISO, and used ImgBurn to write those files as well as the legacy executables into a new ISO. I even experimented with making it bootable from within ImgBurn, using the original ISO as the boot file, but still couldn't get it working. Is there a specific process involved in creating a bootable DOS image from files? Am I missing something?

 

MS-DOS 6.22, that is.

MS-DOS 7.0 onwards can access FAT32.

 

@Kaos-Industries

If you have to run a specific version of MS-DOS to run legacy programs on very expensive hardware, then surely you can afford to have a DEDICATED DOS ONLY USB stick.

Mind you there is no known reason to assume that the multibooting may EVER lead to any kind of "corruption" of the environment, but if you cannot risk to test the software with a newer DOS version, then you shouldn't risk (even if it is a little/tiny risk) that.

 

Try making a plain, partitioned, FAT16, non-multiboot USB stick with MS-DOS 6.22 and your software (and nothing else).

 

How exactly to do that is another thing, what I would personally ddo would be to make a "normal" install of the DOS into a VM (actually a specific one, the QEMU) on an image of suitable size and then dd the image to the USB stick.

You should make the RAW image larger than around 512 Mb (but not larger than 2 Gb) to make sure that both the BIOS of the VM and the real hardware detect the geometry as 255/63.

See here:
http://reboot.pro/to...isk-boot-image/

 

For a complete set of instructions (they are about FreeDOS and/or Windows 98, i.e. DOS 7.1, but you can use the same with DOS and particularly DOS 6.22 as long as you use FAT16 and a disk size in the given range).

 

Having the DOS on a .iso is not usually a good idea (because the .iso is read only) and surely your software needs to save some info somewhere.

It is possible to use a ramdisk (but then the whole stuff would be "volatile" ) or mount another volume (with a RW filesystem that MSDOS 6.22 can understand, which must then be ether FAT12 or FAT16) but it would be more complex and possibly (it really depends on the software) it may not work as that would be another (non-C:\ ) drive letter (there are possible workarounds/solutions to this issue, but they represent a further complication).

 

:duff:

Wonko

 

I extend the same question to you - what's meant by FAT32 support? My USB is FAT32, and I always assumed that if I get to the point where DOS 6.22 boots successfully from it, then compatibility isn't the issue. Is this not the case?

 

As I said on the other thread, I don't think the multibooting will be a problem, as unlike with the DOS version, there's nothing to really suggest that multibooting will introduce any new problems.

 

Regarding the read-only thing, I looked into it today, and from what I can tell, those in the industry tend to also run the legacy programs using ISOs from bootable USBs, so it doesn't look like that issue will introduce any problem. All the program is doing is writing or removing a few characters from the memory addresses of a vehicle, so it doesn't seem like it would be particularly memory intensive, even for DOS.

 

http://www.rmprepusb...torials/freedos This may also help as it contains info on making a DOS 6.22 USB drive.

Note that once you have a working USB DOS 6.22 flash drive, you can use RMPrepUSB to make an image of the drive and add it to an E2B USB drive as a .imghd file. You can also use various utilities to edit the .img file and add/delete files at any later time.

 

This wouldn't work because RMPrep only allows for the creation of a single-boot USB, and I'm trying to create a multiboot USB. As explained above, I'd rather stick to WinSetup cause it uses grub4DOS, which I prefer the UI and simplicity of, and unlike E2B, it doesn't have a whole host of default sub-menu items to clean up before I'm comfortable using it.

 

-------------

 

Okay, I've decided to take the plunge and try out FreeDOS, in the hope that it'll give me access to executables via the root of the bootable USB.

How would I install a bootable version of it with WinSetupFromUSB? Does it have anything to do with the "floppy.img" it comes with? That particular file can't be used with Winsetup because it only supports ISOs.

 

Thanks to you both for all the help so far.



#6 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 17 July 2017 - 12:08 AM

Okay, I've just tried using the tutorial here: http://www.rmprepusb...table-USB-drivewith RMPrepUSB to install FreeDOS in the expectation that I can then revisit it with WinSetup later to add the Windows Installer ISOs. Unfortunately, it seems the method outlined in the tutorial puts the FreeDOS/.IOSYS on the MBR, loading it before grub4DOS, even after grub4DOS has been installed. How would I make it so that grub4DOS is loaded first, and FreeDOS loaded from that menu? The process you were describing in the other thread, Wonko, where a menu entry on grub4DOS boots directly into the FreeDOS bootable would be welcome here.

 

In addition, although the executables show up when this version of FreeDOS is booted via floppy mode, I get the error "You haven't got enough memory!" It's looking bleak, so far.


Edited by Kaos-Industries, 17 July 2017 - 12:13 AM.


#7 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 July 2017 - 07:51 AM

Somehow you are "mixing" a few concepts (don't worry, it is normal, but when doing this kind of things there is a necessity to be rigorous/exact).

MS-DOS 6.22 does not "understand" FAT32, it (the DOS 6.22) was released two years before the FAT32 was "invented" and the first OS to be able to access it was Windows 95 OSR2 (or DOS 7.0 7.1 if you prefer). Even NT 4.00 does not understand FAT32.

FAT32 was devised to be - while very similar overall to FAT 16 in structure - a "new" filesystem with a "wider" range of possibilities.

The physical limit in size of a FAT16 volume  is - in practice - 1 Gb (it is possible to go as large as 2 Gb, but it is normally NOT advised).

 

There is NO IO.SYS "in the MBR" in your stick, actually there is no "IO.SYS", FreeDOS has kernel.sys as "main OS file".

The normal booting sequence in a MBR "style" device is the following:

BIOS->MBR->PBR of the active partition in MBR's partition table->Kernel.sys

 

Multibooting is not a problem per se, but it does imply (in the case of MS-DOS 6.22) some limitations (the FAT 16 format of the volume is one of them) or - in order to avoid these limitations - the introduction of more complex "overlays".

Some (smaller) limitations/inconveniences may be due to the desire to multiboot with 7, to boot via BOOTMGR, etc.

 

And now you have to understand how each and every "automated" tool, such as WinsetupFromUSB or RMPREPUSB are designed to do something along a given "path".

Particularly WinSetupFromUSB is designed to solve the issue of installing several versions of Windows from USB, and in order to do this may (or may not) need some specific setting that may (or may not) be contrasting with your declared goal of running the DOS from the stick ti run the "specific software" for the "expensive hardware".

There is no way to know without knowing the specifics of the given software.

RMPREPUSB, though more "flexible" in some senses, suffers in part of the same issues, it defaults to some settings/ways that may (or may not) be compatible with your intended use.

 

Anyway, as always, FORGET (temporarily) about menu.lst.

Grub4dos provides a command line interface, in it you can test the commands before writing them in a menu.lst entry.

The commands needed to boot a FreeDOS (provided that the FreeDOS is installed "normally" in a partition of the stick are usually:



find --set-root /kernel.sys
chainloader /kernel.sys
boot

Those commands, once tested and successful will translate in a menu.lst entry such as:



title Freedos 
find --set-root /kernel.sys
chainloader /kernel.sys

But on a "static" USB stick, it would make more sense to hardcode the device *like*:

root (hd0,0)

chainloader /kernel.sys

 

Anyway, if the FreeDOS right now doesn't boot directly in a way suitable to run your programs, that must (should) be fixed BEFORE adding grub4dos (or anything else) to the mix.

 

Now, be nice, forget (temporarily) about multibooting and grub4dos and anything else and just follow the given tutorial:

http://reboot.pro/to...isk-boot-image/

if your QEMU install on the image works, and works correctly with your software, AND it continues working once transferred to the USB stick, THEN (and only THEN) we will add more complications, multibooting, grub4dos, etc.

IF there are issues of any kind, believe me, it is better to find and solve them BEFORE adding complications to the build.

 

:duff:

Wonko


  • Kaos-Industries likes this

#8 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 July 2017 - 07:52 AM

That RMPrepUSb tutorial installs grub4dos to the MBR (Step 5).

Once you have a working USb drive, you can convert it to an ISO using RMPrepUSB - File - Make grub4dos ISO file from drive



#9 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 July 2017 - 07:57 AM

Once you have a working USb drive, you can convert it to an ISO using RMPrepUSB - File - Make grub4dos ISO file from drive

Perfect.  :good: 

 

 

Having the DOS on a .iso is not usually a good idea (because the .iso is read only) and surely your software needs to save some info somewhere.

 

:dubbio:

 

 

:duff:

Wonko



#10 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 July 2017 - 08:17 AM

So make a FAT16 USB drive using your original msdos 6.22 files and add your executables.

Test it.

 

Note that DOS executables don't just work. You often need to load drivers in a config.sys file and autoexec.bat file.

Many executables require special DOS versions or environments.

One DOS program might work and another might not.

 

So the 'not enough memory' error is a symptom of this.

 

Do you actually have a working example (in any form) of these mysterious DOS executables + DOS OS files?

Or are you trying to cobble together DOS plus these special executables and get them to work for the first time?



#11 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 July 2017 - 09:44 AM

Freedos tip: Instead of himem.exe in the FDCONFIG.SYS file, try jemmex.exe

This may solve the 'not enough memory' issue.

 

e.g.

shell=\COMFREE.COM /E:512 /P=fdauto.bat
DOS=HIGH
device=\FREEDOS\jemmex.exe

You can obtain jemmex.exe from the freedos project site www.freedos.org

and copy it to the FREEDOS folder on the USB drive.



#12 wendy

wendy

    Frequent Member

  • Lady
  • 290 posts
  • Location:one mile from the QR main line
  • Interests:Operating systems, Weights and Measures, Geometry
  •  
    Australia

Posted 17 July 2017 - 12:13 PM

It's actually DOS 7.10, from Windows OS/R2 and later that support it.  The more compatible DOS is one mastered from Windows 98 or 98SE.  They're pretty much the same.

 

Where DOS is accessing a non FAT partition, you need some sort of installable FS driver.  This is usually a real-mode thing that greatly limits the available space.  You are better off inking something like BartPE or some modern version of PE. 



#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 July 2017 - 12:18 PM

It's actually DOS 7.10, from Windows OS/R2 and later that support it.  

You are right, my bad :blush: , I kinda forgot the first release of Windows 95.

 

:duff:

Wonko



#14 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 17 July 2017 - 09:58 PM

Somehow you are "mixing" a few concepts (don't worry, it is normal, but when doing this kind of things there is a necessity to be rigorous/exact).

MS-DOS 6.22 does not "understand" FAT32, it (the DOS 6.22) was released two years before the FAT32 was "invented" and the first OS to be able to access it was Windows 95 OSR2 (or DOS 7.0 7.1 if you prefer). Even NT 4.00 does not understand FAT32.

FAT32 was devised to be - while very similar overall to FAT 16 in structure - a "new" filesystem with a "wider" range of possibilities.

The physical limit in size of a FAT16 volume  is - in practice - 1 Gb (it is possible to go as large as 2 Gb, but it is normally NOT advised).

 

Multibooting is not a problem per se, but it does imply (in the case of MS-DOS 6.22) some limitations (the FAT 16 format of the volume is one of them) or - in order to avoid these limitations - the introduction of more complex "overlays".

Some (smaller) limitations/inconveniences may be due to the desire to multiboot with 7, to boot via BOOTMGR, etc.

 

This is what I'm having trouble understanding, and what I'm yet to get an explanation of. If DOS 6.22 requires a FAT16 USB, how is it that I'm able to run it fine on a FAT32 one, with the only problem being an inability to see other executables?

 

 

So make a FAT16 USB drive using your original msdos 6.22 files and add your executables.

Test it.

 

Note that DOS executables don't just work. You often need to load drivers in a config.sys file and autoexec.bat file.

Many executables require special DOS versions or environments.

One DOS program might work and another might not.

 

So the 'not enough memory' error is a symptom of this.

 

Do you actually have a working example (in any form) of these mysterious DOS executables + DOS OS files?

Or are you trying to cobble together DOS plus these special executables and get them to work for the first time?

 

Yes, when starting out on this project I used the version of DOS packaged within Rufus, which is a modified (to make bootable) version of DOS 8.0, which originally came integrated with Windows ME. Rufus pulls it from the diskcopy.dll file found on all pre-Windows 10 computers. The executables worked fine on this version, but I continued searching out 6.22 for the reasons of compatibility once actually using the software to communicate to the vehicle, and because Rufus doesn't support multibooting.



#15 ady

ady

    Frequent Member

  • Advanced user
  • 165 posts

Posted 17 July 2017 - 11:22 PM

This is what I'm having trouble understanding, and what I'm yet to get an explanation of. If DOS 6.22 requires a FAT16 USB, how is it that I'm able to run it fine on a FAT32 one, with the only problem being an inability to see other executables?


Let's use some hypothetical example, just to try to clarify the different concepts (hopefully).

Let's assume we use grub4dos, and then use the "mapping" options / capabilities of grub4dos on an "MS-DOS 6.22" image file (e.g. a bootable floppy image). The image file itself can be located on a FAT32 volume, while the image file could contain a FAT12 or FAT16 volume, which is what MS-DOS 6.22 sees.

In this hypothetical example, the DOS image _file_ is located on a FAT32 volume, and the "internal" file system within the DOS image is FAT12 or FAT16. Using the "mapping" features of grub4dos, you are not booting the DOS kernel directly from grub4dos, but rather you are "chainloading".

The existence of 2 different volumes, one within the image file and another one in which the image file itself resides, is one possible explanation as to why the additional DOS programs "cannot be found" by MS-DOS (booted within the image).

In contrast, when you use RUFUS, it formats your USB device with one FAT16 partition (when the partition in the USB device is relatively "small") and the DOS kernel is located directly on this FAT16 volume. In this case, there is no need to "map" an additional (FAT12 or FAT16) image file.

Please note that FreeDOS can also be installed on a FAT32 volume (when the partition is recognized by RUFUS as relatively "big enough"), but MS-DOS 6.22 does not support such file system.

I hope this hypothetical example clarifies the matter of the FAT32 vs. FAT16 volumes (I hope it won't make things more difficult to understand).


  • Kaos-Industries likes this

#16 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 July 2017 - 11:33 PM

If the executables worked fine on the DOS 8 flash drives - why don't you use them?

You can follow the RMPrepUSB tutorial to add a \menu.lst file and install grub4dos onto the flash drive.

Then use RMPrepUSB to make a bootable ISO.

Then add the bootable ISO to your WinSetupFromUSB drive.



#17 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 18 July 2017 - 12:06 AM

So make a FAT16 USB drive using your original msdos 6.22 files and add your executables.

Test it.

 

Trying this, but I'm getting really frustrated with RMPrepUSB's settings for step 5. What do the two actions actually mean, and which should I select? The only way to link directly to the ISO file for my DOS 6.22 boot file is to click No (i.e. make it extract the contents of the ISO to the drive). Is this what I want?

 

Let's use some hypothetical example, just to try to clarify the different concepts (hopefully).

Let's assume we use grub4dos, and then use the "mapping" options / capabilities of grub4dos on an "MS-DOS 6.22" image file (e.g. a bootable floppy image). The image file itself can be located on a FAT32 volume, while the image file could contain a FAT12 or FAT16 volume, which is what MS-DOS 6.22 sees.

In this hypothetical example, the DOS image _file_ is located on a FAT32 volume, and the "internal" file system within the DOS image is FAT12 or FAT16. Using the "mapping" features of grub4dos, you are not booting the DOS kernel directly from grub4dos, but rather you are "chainloading".

The existence of 2 different volumes, one within the image file and another one in which the image file itself resides, is one possible explanation as to why the additional DOS programs "cannot be found" by MS-DOS (booted within the image).

In contrast, when you use RUFUS, it formats your USB device with one FAT16 partition (when the partition in the USB device is relatively "small") and the DOS kernel is located directly on this FAT16 volume. In this case, there is no need to "map" an additional (FAT12 or FAT16) image file.

Please note that FreeDOS can also be installed on a FAT32 volume (when the partition is recognized by RUFUS as relatively "big enough"), but MS-DOS 6.22 does not support such file system.

I hope this hypothetical example clarifies the matter of the FAT32 vs. FAT16 volumes (I hope it won't make things more difficult to understand).

 

So for MS-DOS 6.22, the filesystem of the USB itself can be FAT32, which is why DOS runs on top of it with grub4DOS, but the internal filesystem of the MS-DOS ISO is FAT16?

 

If the executables worked fine on the DOS 8 flash drives - why don't you use them?

You can follow the RMPrepUSB tutorial to add a \menu.lst file and install grub4dos onto the flash drive.

Then use RMPrepUSB to make a bootable ISO.

Then add the bootable ISO to your WinSetupFromUSB drive.

 

At the time I decided it wasn't worth the risk, but I suppose my fears about compatibility have been somewhat assuaged since. If you can guarantee me that DOS 8.0 is closer to MS-DOS 6.22, and therefore less likely to FUBAR things than FreeDOS is, then I don't see why that's not a route I can try. However, who's to say the bootable ISO I generate with RMPrepUSB won't function the same way as the MS-DOS 6.22 one did when I tried to use it in WinSetupFromUSB?

 

 

Now, be nice, forget (temporarily) about multibooting and grub4dos and anything else and just follow the given tutorial:

http://reboot.pro/to...isk-boot-image/

if your QEMU install on the image works, and works correctly with your software, AND it continues working once transferred to the USB stick, THEN (and only THEN) we will add more complications, multibooting, grub4dos, etc.

IF there are issues of any kind, believe me, it is better to find and solve them BEFORE adding complications to the build.

 

:duff:

Wonko

 

Attempting this now.

 

EDIT: I've had a look at that tutorial and it's way above my head. You were talking about adding layers of complexity, and I can't see how following a tutorial with whole new tools that I've never used before - least of all, command line tools - is going to do anything but that when I'm already having trouble with the basics that others have suggested like creating a FAT16 USB. If it means getting DOS 6.22, which has become a sort of challenge now, then I'd consider it IF it made sense to me, but the link to QEMU from it is dead. I searched it, downloaded it, and don't even know how to boot it. Tried the QtEMU GUI, but that seems vastly outdated and doesn't have an option for DOS. More than that, the tutorial looks like it was written for someone who knows what they're doing with QEMU, and that's definitely not me. Right now, I feel like it's only going to make me rip my hair out.

 

Is there an alternative method to go the DOS 6.22 route other than that tutorial?


Edited by Kaos-Industries, 18 July 2017 - 01:02 AM.


#18 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 18 July 2017 - 07:59 AM

WHICH command line tools? :dubbio:

Qemu Manager is GUI.

RMPREPUSB is GUI.

IMDISK (optional) is GUI.

 

Of course FDISK, FORMAT and SYS are command line, since they are run into the DOS environment.

And of course you need some (floppy or CD) image(s) with the actual DOS.

 

The original site is down, but you can get QEMU Manager via Wayback Machine:

https://web.archive....etupqemuk70.exe

 

There is a detailed help file in the form of a .pdf (that should be already in the installer) but that you can get here:

https://web.archive....emumanager7.pdf

 

I suggested the VM way because it is the one that gives the more possibilities to experiment, since you were willing to make a complex multiboot setup, and it is also (as I see it) the most practical and easy path, particularly for someone that is familiar with the "normal" way to install DOS on a "real" machine.

 

A Virtual Machine is nothing but a "replica" of a "real machine" with the (distinct) advantage that it runs on your OS, and allows to experiment without the need of rebooting the host machine numberless times (as you would need to do if you go "physical").

 

Personally (but of course your mileage may vary) if really your software is (was) designed for MS-DOS 6.22 and it is a specialized software to drive "expensive" machines, I would try keeping it running on MS-DOS 6.22, we don't know how it would behave on a more recent version of MS-DOS (more likely that it will work flawlessly) or on FreeDOS (less likely to b capable of runnign it flawlessly).

 

In good ol' DOS 5.0 and 6.0/6.22 times programmers had to take all sorts of "shortcuts" to manage to run complex software in the (limited) DOS environment, including the use of undocumented DOS functions.

 

It is a kind of a bet, maybe a newly installed FreeDOS (with a procedure that you are not at all familiar with) will work just fine, maybe it won't, but in the case it won't it will be extremely difficult to find out WHAT is the reason why it doesn't work (is it the FreeDos, is it the USB stick, is it the BIOS, is it something else?).

 

:duff:

Wonko


  • Kaos-Industries likes this

#19 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 18 July 2017 - 08:26 AM

Trying this, but I'm getting really frustrated with RMPrepUSB's settings for step 5. What do the two actions actually mean, and which should I select? The only way to link directly to the ISO file for my DOS 6.22 boot file is to click No (i.e. make it extract the contents of the ISO to the drive). Is this what I want?

 

RMPrepUSB has a context-sensitive help box. Also when you click on the 'Choose Source' button it says to select NO to extract files from an ISO (it uses 7zip).

 

You need to extract the files from the ISO and copy them onto the USB drive. You can either use option 5 and choose 'No' for extraction, or don't use option 5 at all and then after the USB drive is made, simply extract the files from whatever bootable ISO you want to use and copy the files onto the USB drive.

Attached Thumbnails

  • CaptureRMPRepCOPY.JPG

  • Kaos-Industries likes this

#20 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 18 July 2017 - 04:16 PM

So for MS-DOS 6.22, the filesystem of the USB itself can be FAT32, which is why DOS runs on top of it with grub4DOS, but the internal filesystem of the MS-DOS ISO is FAT16?

Yes, there is a FAT16. Actually a ElTorito floppy emulation, there is a floppy image inside this boot ISO.
 
 

Is there an alternative method to go the DOS 6.22 route other than that tutorial?

Use a existing vhd image.
http://www.trappers....l-pc-image-vhd/

Mount the vhd image at Windows 7 and up disk management, copy your custom files. Dismount the vhd image.
Copy the vhd image to the USB drive, defragment the file.
Boot the vhd image at grub4dos,
 
title /dos/msdos622.vhd
map /dos/msdos622.vhd (hd0)
map --rehook
root (hd0,0)
chainloader +1


#21 Kaos-Industries

Kaos-Industries
  • Members
  • 9 posts
  • Location:Sheffield
  •  
    United Kingdom

Posted 18 July 2017 - 11:06 PM

WHICH command line tools? :dubbio:

Qemu Manager is GUI.

RMPREPUSB is GUI.

IMDISK (optional) is GUI.

 

Of course FDISK, FORMAT and SYS are command line, since they are run into the DOS environment.

And of course you need some (floppy or CD) image(s) with the actual DOS.

 

The original site is down, but you can get QEMU Manager via Wayback Machine:

https://web.archive....etupqemuk70.exe

 

There is a detailed help file in the form of a .pdf (that should be already in the installer) but that you can get here:

https://web.archive....emumanager7.pdf

 

I suggested the VM way because it is the one that gives the more possibilities to experiment, since you were willing to make a complex multiboot setup, and it is also (as I see it) the most practical and easy path, particularly for someone that is familiar with the "normal" way to install DOS on a "real" machine.

 

A Virtual Machine is nothing but a "replica" of a "real machine" with the (distinct) advantage that it runs on your OS, and allows to experiment without the need of rebooting the host machine numberless times (as you would need to do if you go "physical").

 

Personally (but of course your mileage may vary) if really your software is (was) designed for MS-DOS 6.22 and it is a specialized software to drive "expensive" machines, I would try keeping it running on MS-DOS 6.22, we don't know how it would behave on a more recent version of MS-DOS (more likely that it will work flawlessly) or on FreeDOS (less likely to b capable of runnign it flawlessly).

 

In good ol' DOS 5.0 and 6.0/6.22 times programmers had to take all sorts of "shortcuts" to manage to run complex software in the (limited) DOS environment, including the use of undocumented DOS functions.

 

It is a kind of a bet, maybe a newly installed FreeDOS (with a procedure that you are not at all familiar with) will work just fine, maybe it won't, but in the case it won't it will be extremely difficult to find out WHAT is the reason why it doesn't work (is it the FreeDos, is it the USB stick, is it the BIOS, is it something else?).

 

:duff:

Wonko

 

I agree on trying everything possible to use DOS 6.22, the less risk factors there are the better in this case.

 

I need some help, I'm stuck on this part of the "tutorial".

 

Add to the VM, change boot order to and boot the boot image you are using, for this example it would be the Windows 98 boot disk image (added as a FDD).

 

For a tutorial/guide, it's ridiculously ambiguous and I'm having trouble understanding what it's saying, and the manual's not making things much clearer. After spending the last few minutes trying to figure out what it was saying and how that corresponded to the program, I installed Qemu Manager and created a VM with the following settings:

 

http://imgur.com/a/ckTi9

 

I then went to Boot Order and moved "Hard Drive" to the top, but I'm still completely clueless on how to install my DOS 6.22 ISO onto that virtual harddrive.

 

Also, once that's done, should I be doing this part?

 

You can also add a 2nd hdd to your VM that points to a folder or your whole hdd (I would tick the read-only option to prevent data loss). This can come in handy when wanting to populate your disk image with the data you want later on. As you can simply copy from one drive to the other within the VM.


#22 Blackcrack

Blackcrack

    Frequent Member

  • Advanced user
  • 458 posts
  •  
    Germany

Posted 19 July 2017 - 03:55 AM

go to A:  (a and b be the floppy disk's)

A:[enter]

 

"dir" [enter]

 

fdisk, create a partition =>

 

reboot with the iso ...

for getting a C: with a clean partition without format, then

go again on the bootpartition (virtual RamDrive a where be in the Workspace)

a: , like i remember me ..

 

format /autotest C:

sys C: (from the bootdisk to getting the io.sys and command.com into c and marking the C: marking as boot)

 

look which the drive it is who be the whole folders and a couple bat files on it :

c: [enter], dir [enter]

d: [enter], dir [enter]

e: [enter], dir [enter]

 

then, edit the bat files, they are all something like scriptfiles and one install the dos, one install the 3.11

 

edit or more (more "file" [enter] )

 

(command ' how (parameters/switches) ' what (the file , partition or other) ) 

 

the switch /p = page it should work on the "dir" command and /w also so, check out /?

 

or try "more xxxxxxx.bat " [enter]

 

with memmaker be you in able for automatical configuring the memory using, behind edit the

autoexec.bat and the config.sys check it out..

 

in dos have you also an help function also with cursor-keys (up-righ-left-down)

all other it is self explained in the help-"program"  have fun by dos-learning .. :)

 

type "help" [enter]

 

best regards

Blacky



#23 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 19 July 2017 - 04:25 AM

I then went to Boot Order and moved "Hard Drive" to the top, but I'm still completely clueless on how to install my DOS 6.22 ISO onto that virtual harddrive.

Attach the DOS 6.22 ISO at Qemu Manager to a CD drive.
Move the Boot Order to the CD drive.
Boot from the CD at the virtual machine.
Make the hard disk bootable: fdisk, format /b and/or sys

#24 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 July 2017 - 10:11 AM

Attach the DOS 6.22 ISO at Qemu Manager to a CD drive.
Move the Boot Order to the CD drive.
Boot from the CD at the virtual machine.
Make the hard disk bootable: fdisk, format /b and/or sys

This. :thumbsup:

Additionally:

In the "main" Qemu Manager Windows click on the "Drives" button.

You should have the new "RAW" disk image that you just created as Hard Disk 0 and the DOS 6.22 .iso as "CD-ROM".

You will have also a line "Boot order" where you must have "CD/DVD Drive,Hard Drive, Floppy".

This is the same setting you would normally set in BIOS on a real machine, as "Boot priority" or similar. 

 

:duff:

Wonko






2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users