Because I'm running multiple OS's on my computer, I became interested
in what actually happens during the boot process.
Over the past year or so, I've disassembled and documented several
boot sectors, wrote lots of utilties, and helped a few of you
along the way.
Boot Sector Info
Read this stuff to learn about boot sectors.
Boot Sector Code
Past versions of boot sector code that I had disassembled were reassembled
with various versions of TASM and MASM
(whatever I had handy and worked the best)
and had some erroneous comments,
but always compiled and verified cleanly (with the right assembler).
When my site was
'off the air'
for a month or so, I went through the code and cleaned it up a bit.
Now, all boot code is compiled with either MASM 5.10 or MASM 6.11d,
and linked with LINK 5.31 (an ancient version, unfortunately).
Boot code is extracted from EXE files instead of COM files,
eliminataing the need for EXE2BIN in some cases.
MASM 5.10 is used mainly on the older boot sectors (MBR, DOS).
MASM 6.11d is used on the newer boot sectors (Win95 and up).
MASM 5.10 throws in a NOP after some instructions, where MASM 6.11d
MASM 6.11d also calculates expressions differently in the JMPFAR macro.
If you need to switch assemblers, be sure to do a binary compare
of your rebuilt boot sector with the original and verify any differences
before installing it.
Boot Sector Utilities
In the past, each boot sector archive was a complete package and included
the required boot sector utilties.
That quickly became a maintenance headache,
so the utilities have been removed from the individual archives and
are available separately (as they always were), and some new
utilities have been added.