The batch file,  SAVEMBR.BAT,  is hard coded to create a file called
"MYMBR" in the directory that you run the BAT file in.

It's a 'quick & dirty' so will show you a lot of gibberish on the screen
and even two error messages.  Ignore all that and look for the file MYMBR
to have been created at completion.

You should run this from a BOOTABLE diskette from your A: drive, as some
viruses (& Windows NT) prevent you from reading the real MBR from your
system.   The BOOTABLE diskette *must* have a compatible copy of DEBUG.EXE
as the BAT file will need it.


IF YOU HAVE 2 HARD DRIVES -- READ THIS SECTION!
    Run SAVEMBRC.BAT *AND* SAVEMBRD.BAT

    These will capture the MBR from BOTH Hard Drives.

    SAVEMBRC.BAT is identical to SAVEMBR.BAT,  but the output file
    will be named "MYMBR_C"
    SAVEMBRD.BAT is nearly the same as SAVEMBRC.BAT, but the output file
    will be named "MYMBR_D"

    Both could have been done together, but the complexity of
    testing if there really is a second drive is avoided by the
    simpler expediency of two separate scripts.
    -------------------------------------------------------------------

For the Technically curious:

   What you will see & what it does:

   (you should see "Writing 0200 bytes" as one of the final messages in
   the gibberish)..


If you prefer to step through the process, here are the
instructions to get the MBR by 'hand'


 C:>debug		       | We'll be using DEBUG
-a 300			       | assemble (write the program) at 300
0XXX:0300   mov ax,201	       | debug shows you the addr, you enter the mov..
0XXX:0303   mov bx,100	       | etc.
0XXX:0306   mov cx,1	       | 201 = READ 1 sector, 100 = I/O buffer,
0XXX:0309   mov dx,80	       | 1 = 1st sect. 80=1st HD (81=2nd HD, 82=3d etc)
0XXX:030C   int 13	       | int 13 = BIOS I/O
0XXX:030E   int 20	       | int 20 = STOP PGM to DOS
0XXX:0310		       | enter.. (no input) to stop assembling
			       |
-rip			       | change starting addr of pgm
IP 0100 		       | debug shows you the existing start..
:300			       | will start at 300 (as entered above)
-g 310			       | let it run until INT 20 is done
			       |
Program terminated normally (0)| expected response
-rbx			       | assure BX is 0
BX 0000 		       | most likely is already..
:0			       | assure CX
-rcx			       | is set to 200
CX 0000 		       |
:200			       | =size of output file(200hex = 512 bytes)
-n  mymbr		       | n(ame) the file 'mymbr'
-w			       | write from default location 100
Writing 0200 bytes	       | expected response
-q			       | done, end DEBUG
			       |
A:>dir mymbr		       | should have this file now

 Volume in drive A is	      Serial number is ECE4:FDFA
 Directory of  A:\mymbr

 2/01/99  11:35 	    512  MYMBR
	    512 bytes in 1 file and 0 dirs    512 bytes allocated

