views:

457

answers:

5

AFAIK there is no DOS in vista and windows 7, but I need to execute system program written on assembler to read and write data (BIOS). I can't do thus from Vista, because I'm in user more (ring-3). That's why I have 2 ideas: - execute form DOS (but I need DOS); - write service that executes before I log in to user mode.

Loading DOS from floppy isn't good idea since I don't have floppy.

A: 

Virtual PC or VMWare

Josh Einstein
That won't work if your program needs to access BIOS code/data in any way (which seems to be the case).
danielkza
It might. DOS programs do disk reads and writes by making "interrupts" to services in the BIOS, so if that is what he meant, any solution that can run DOS programs will work.
steveha
Yes but it will access the "Virtual BIOS" of the "Virtual Machine" rather than the "Real BIOS" of the Host PC.
Adisak
+2  A: 

Use FreeDOS, which claims to be 100% MS-DOS compatible and can be downloaded for free. It is bootable from CD or USB stick.

Bernhard Kausler
A: 

In addition to the virtual machine solution (VirtualBox, VirtualPC, VMWare) you might be able to run your program under DOSBox.

I have used DOSBox with great success to run old DOS programs. The one thing it doesn't really do is emulate a printer port, so if you need to print from your DOS program, you will want a virtual machine solution.

DOSBox is also available for Linux and Mac.

steveha
A: 

What exactly does your program do? A better description is called for.

If you need to flash the BIOS, create a boot CD and use your BIOS-flasher from the promt. A sane boot-CD should load MCDEX drivers for your CD-ROM/DVD-ROM so it works. You will need to burn your BIOS-flasher to a CD as your Windows partition is probably inaccessible in the promt. MS-DOS does not understand NTFS. This can be done with almost any CD burner application out there. If you don't need to make changes to the system, i.e this is not a firmware flasher of sorts, use DOSBox, FreeDOS or any other free DOS emulator to run it safely.

Mads Elvheim
+1  A: 

You can use a flash drive, format it with a tool to boot into dos: tool. Then you need bootfiles (which I'll post in the next answer, since I'm a new user and can't post two links...)

Steps:

1) Install the HP USB disk format tool, run it.

2) Select your USB drive you want to use, select "FAT32" in the file system drop down, use quick format, and "create a dos startup disk" and click the "..." to point the tool to the bootfiles you extracted above.

That flash drive will now boot to dos and you can run whatever you need to interact with the BIOS, like a BIOS flash, a video card firmware flash, etc.

Good luck!

Christopher Poile
Here are the [bootfiles][1] you will need for the above solution. [1]: http://www.4shared.com/file/43544416/39060a9e/HPUSBFW_BOOTFILES.html?s=1
Christopher Poile