The first three bytes are required. FileSystems do check it, even if not bootable. It does not need to point to actual code if it can never be booted.
Hey, kids, noone wanting to play with me anymore?
I am almost finished with the spreadsheet , but I just got a doubt.
The three bytes jump code is actually part of the CODE and NOT of the BPB, right?
I mean, if I want to make a non-bootable bootsector those three bytes should be 00 00 00, and ONLY when I decide to apply the bootsector CODE, then they will get (examples):
EB 3C 90 (MS)
EB 3C 90 (FREEdos)
EB 58 90 (some other bootsectors)
Or do you think that by default (if NO code is chosen) I should put a non-bootable bootsector code?
Same question goes for the "Magic Bytes" 55 AA:
are they used only if the bootsector is bootable (thus CODE) or they define the sector as a bootsector (and thus they should also be 00 00 by default)?
Suggestions for a Public Domain or however freely redistributable bootsector code that can print a message (or display an image) welcome.
JFYI, I have also started working on a few batches, and then stopped and then started again....., and again, and again....
....I will do such things, ....
....What they are, yet I know not: but they shall be
The terrors of the bootsectors
It must be:
The Magic Bytes are required regardless of Bootability. The BPB will not be read if the Magic Bytes are missing.
Making a Boot Sector that only Prints a message if Booted is a trivial exercise in Assembly Code, use Interrupt 10H.
Edited by rloew, 11 January 2012 - 01:56 PM.