Run MS-DOS command

X

xyz

Guest
#1
Hello.

I would like to have a boot entry which would allow me to run a VERY SIMPLE "pure" 16bit MS-DOS executable program.

For example, I would like the boot menu to have the following options:
Option 1: Windows 7
Option 2: My-Program.exe

When I select option 2, the pure 16 bit MS-DOS executable program would run.

Is that possible? Do I need COMMAND.COM, IO.SYS, MSDOS.SYS?

System description where I would like to apply this:
-Single HDD with a single partition.
-OS: Windows 7 (NTFS filesystem)

Thank you kindly
xyz
 

mqudsi

Mostly Harmless
Staff member
#2
You'd basically need a working MSDOS install on a new partition, and configure it to run your exe on boot. You could use EasyBCD to set up the dual boot.
 
X

xyz

Guest
#3
Hello.

Thank you for your answer.

I've seen this work before in the following manner (but can't quite remeber how):
-EasyBCD installed in Win7
-HDD with single NTFS partition (no MS-DOS partiton whatsoever since there was no MS-DOS install media)

So... is there any other manner?
Maybe using an iso image with the 16 bit program inside.

You think that could work? Is that supported?

Thank you
 

mqudsi

Mostly Harmless
Staff member
#4
See, it might be possible to get that to work - but not in the manner you describe. If it's a 16-bit DOS application, it'll be linking against the DOS kernel - and that doesn't have any NTFS support.

Unless it's *not* a 16-bit DOS application and just a "16-bit application". That's a whole different story.

An ISO might work depending on the version of DOS you're using. The original (16-bit) DOS didn't support UDF/Joliet/etc so it wouldn't see the FS on the ISO, but a Windows 98 DOS, etc. might.
 
X

xyz

Guest
#5
Hello,

Let me try to explain better...

Imagine option 2 has the hability to load the text editor "EDIT.COM" (present in a windows 98 boot disk like this one: http://www.allbootdisks.com/downloads/Disks/Windows_98_Boot_Disk_Download49/Diskette%20Images/Windows98_SE_No_Ramdrive.img).
How can I do that?

If it's a 16-bit DOS application, it'll be linking against the DOS kernel - and that doesn't have any NTFS support
I don't need to have NTFS support in option 2.

Thank you kindly
xyz
 
Last edited by a moderator:

mqudsi

Mostly Harmless
Staff member
#6
OK, that's easy enough. I thought you meant you had written a 16-bit application and you want to run it at boot time.

The boot disks you are linking to come on images. You just need to add an entry to that image in EasyBCD, and you'll be booted into the DOS environment.

If that works, all you need to do is edit the .sys file that runs startup commands (I forgot its name) on the image, and then it'll run automatically.
 
X

xyz

Guest
#7
Hello.

I tried to boot the win98.img file (from the previous link I sent), using the ISO boot tab in EasyBCD.
It didn't work directly.

But using an iso file (with memdisk kernel, menu.lst and win98.img files inside) I was able to do just what I wanted.

Maybe there was a simpler method :smile:

But hey... it's OK now!
Thank you
 

mqudsi

Mostly Harmless
Staff member
#8
Great!

I'll need to double check the code - I'm 99% sure I handle both ISO and disk images, but I could be very much mistaken.