Slash Boxes

SoylentNews is people

posted by janrinok on Saturday January 08, @08:10PM   Printer-friendly
from the PC-introns dept.

Anyone trying to disassemble the PC DOS 1.1 boot sector soon notices that at offsets 1A3h through 1BEh there is a byte sequence that just does not belong. It appears to be a fragment of code, but it has no purpose in the boot sector and is never executed. So why is the sequence of junk bytes there, and where did it come from?

The immediate answer is "it came from FORMAT.COM". The junk is copied verbatim from FORMAT.COM to the boot sector. But those junk bytes are not part of FORMAT.COM, either. So the question merely shifts to "why are the junk bytes in FORMAT.COM, and where did they come from?"

It is not known if anyone answered the question in the past, but the answer has been found now, almost 40 years later—twice independently.

Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by DannyB on Monday January 10, @06:26PM

    by DannyB (5839) Subscriber Badge on Monday January 10, @06:26PM (#1211570) Journal

    Don't judge me for reading the article . . .

    Note that in the PC DOS 1.0 boot sector, the strange zero-termination is combined with high-bit-termination, and the strings ‘ibmbio com0’ and ‘ibmdos com0’ are each stored with the last byte as B0h, which is ASCII ‘0’ (30h) + 80h. In PC DOS 1.1, the high bit is no longer set.

    I think this practice of zero terminating strings using an ASCII zero character '0' (30h) with the high bit set (XOR 80h) should be a new standard way of encoding strings.

    While in an airport, never use the word "balm".
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2