MTOOLs for Bochs and Win32 and/or DOS

I use Bochs 2.3.x with a few modifications of my own to test my OS and thought that I needed a few tools to help me out.
You can get the latest Bochs binarys in a Win32 Installer at http://www.vruppert.de/bochs/

Yes, there is a set of MTOOLs for Bochs already made. However, as far as I can tell, you have to download and install a *nix emulator just to run the tools.

So, here are some tools I made. I figured that if I benefitted from them, why shouldn't others that use Bochs and Win32 be able to use them also. :)

The contents of MTOOLS.ZIP (286k) are:

BOCHSRC.EXE  "Bochs Resource"  v00.50.00
A utility to create/modify a bochs resource file.
- ** Please see bochsrc.txt for information about using this utility **.
- Compiled with VC++ 6.0 as a Win32 API app
- get the source here.

MKDOSFS.EXE  "Make DOS FS"  v00.12.65
A utility to create a FAT disk image of specified size.
- Floppy  or  Harddrive up to 1024meg of FAT12, FAT16, or FAT32[1].
- I have done some work with the FAT32 stuff, but it is not completed.

MCOPYF.EXE  "Copy From"  v00.10.00
A utility to copy an existing file from a FAT disk image to the current
directory.  I hope to soon make it copy more than one file using wildcards.
For now, it only copies one at a time.

MCOPYT.EXE  "Copy To"  *** NOT INCLUDED YET ****
A utility to copy an existing file to a FAT disk image.
NOT INCLUDED YET:  I haven't finished it yet.  Haven't had the need to use it :)

MDEL.EXE  "Delete file"  v00.10.00
A utility to delete an existing file from a FAT disk image.

MDIREX.EXE  "Directory Extended"  v00.10.00
A utility to view a FAT disk images directory and FAT contents.
- Displays the BPB, ROOT, and each occupied ROOT entries FAT chain.

MGETIMG.EXE  "Get Disk Image"  v00.15.00
A utility to create a disk image from logical drives. (multiple formats).
- Logical Drives include Floppy's, and partitions on hard drives.
- DOS or WinNT only.  Not coded for DJGPP.
- .EXE included is a WIN executable.

MBOOTCD.EXE  "Create a CDROM Image with boot options"  v00.10.03
Create a CDROM image capable of booting with only a ROOT and a single file.

MGETCD.EXE  "Get Disk Image of Physical CD"  v00.10.10
A utility to create a disk image from a CD.
- Compiled with VC++ 6.0 as a Win32 console app
- 27May2004: Now checks for multi-session disks.  I still think it isn't reading
   quite enough sectors, but I am working on it.
- **** Now Requires a WinXP machine ****

MCDINFO.EXE  "Get CD Info"  v00.10.00 
A utility to the info from a CD.  Not much yet, but a little.
- Compiled with VC++ 6.0 as a Win32 console app
- *** Requires a WinNT machine ****

MFDISK.EXE  "FDISK and image"  *** NOT INCLUDED YET ****
Similar to FDISK but for a Disk Image using Bochs.
NOT INCLUDED YET:  I haven't finished it yet. :)

MPART.EXE  "Partitions"  *** NOT INCLUDED YET ****
A utility to combine disk images and create a single image with
a MBR and partition tables for each image included.
NOT INCLUDED YET:  I haven't finished it yet. :)

The above two utilities may be combined into one utility.  I haven't
finished either yet, so who knows.

DUMP.EXE  "Dump a files contents"  v01.10.00
A utility to dump a files contents in multiple formats:
 - DOS Debug
 - C/C++
 - Basic
 - you can request a format
Currently does not include source.

MAKE_VMDK.EXE  "Make a .VMDK file"  v00.10.00
Okay, this isn't a tool for bochs, but this will allow you to take your
hard disk images from bochs and use them in VMware's Workstation v6.0.  It
creates a .vmdk config file to tell VMware what type of image you are
using.  It is an MFC MS WinXP Dialog App but should work on Win95+.
No source is included yet.  I need to test it some more.  With a few
modifications, it should be portable to non MFC and maybe Linux.

Most utilities come with source code.  I compiled them with (except were noted): 
 DJGPP      (creates a DOS .EXE that requires a DPMI)
 VC++ 6.x   (creates a Windows .EXE that requires Win32)
 QC2.5      (creates a DOS .EXE that will run on TRUE DOS)

All utilities come with a pre-compiled version using 
DJGPP with the above requirements for DJGPP .EXE's, except were noted above.


[1]Please note that I currently only use FAT12 with these
tools.  I have coded the FAT16 and FAT32 into these utilities, but
it is unknown if they work correctly.  If you use FAT16 or FAT32 and these 
utilities, please let me know if you had to make some modifications to 
get them to work.  Thanks.

*** Contact info can be found here. 

Here is the executable and source to a small utility to delete the second FAT from a freshly
formatted DOS 1.44m floppy disk.  I use it to test my FAT code for use of only one fat
on the disk.  However, I don't know of any DOS format util that will format a disk with
only one FAT, so... :-)  Please read the comments in the onefat.asm source file.

Go to http://chitchat.at.infoseek.co.jp/vmware/vfd.html for a tool to allow your
WinXP machine to use disk images as if they were the actual floppy drive.  Good tool.


I have spent little time on these utilities. Just enough time to make them work and document them a little. My goal is not to make them wonderful utilities. My goal is to use them for testing my OS. If I need one of the utilities to do something more, I will add to it then and not until then :).

However, if you want to modify them for your own use, send me the modified file and I may post it here for all to use. I give credit where credit is due...

You may use these utilities as you see fit. You may do what you would like with the source code. However, please note that I release them for others for the use with Bochs and nothing else. So if you use them for something else, please don't complain to me if they do not work for your interest. :) Sorry, but they are released for use with Bochs. In other words,
*** USE AT YOUR OWN RISK ***


Enjoy,

Ben


All rights reserved
Legal Notice
Copyright © 1984-2008 Forever Young Software
Return to My Home Page