Loading ...
Sorry, an error occurred while loading the content.

Disk Bootloader (DBL): ROM Version vs. Tape Version

Expand Messages
  • deramp5113
    The job of the Altair DBL is to load and then execute a second-stage loader which is present in sectors 0-n on track zero of a bootable floppy. The Altair DBL
    Message 1 of 1 , Apr 6, 2013
    • 0 Attachment
      The job of the Altair DBL is to load and then execute a second-stage loader which is present in sectors 0-n on track zero of a bootable floppy.

      The Altair DBL version 4.1 boots any bootable Altair floppy I have tried. This includes Disk BASIC versions 4.0, 4.1, 5.0, 300-5-x, Altair DOS 1.1, Lifeboat CP/M 1.4, Burcon CP/M 2.2, Rich Cini's Altair32 CP/M, etc.

      If you do not have a PROM card in your Altair, then the Altair DBL version 4.1 is also available on paper tape or cassette. The tape is read in the same manner as loading an Altair BASIC tape: A small bootstrap loader is entered via the front panel. The bootstrap loader reads the checksum loader from the tape. The checksum loader then reads the tape's payload which, in this case, is the disk boot loader code. The disk boot loader code then loads and executes the floppy's own loader which is present in sectors 0-n on track zero -- or does it??

      The DBL ver 4.1 tape will only load Disk BASIC version 4.0, 4.1 and Altair DOS. It will not load newer versions of Disk BASIC and it will not boot any of the CP/M disks. After a bit of digging, it became clear that the DBL code present on the version 4.1 tape is not the same DBL code used in the version 4.1 ROM.

      The tape DBL code ignores the floppy's own boot code at sector 0 and instead, goes directly to sector 8 and attempts to load all of Disk BASIC (or Altair DOS) itself. This operation fails for newer versions of Disk BASIC which are larger and end up overlaying the DBL code. The operation fails for the CP/M disks since their disk layout is totally different than the Disk BASIC layout.

      Why Altair chose to use different code in the tape DBL versus the ROM DBL is not clear. It may be that the tape version is actually 4.0 (not 4.1) and that the update to version 4.1 fixed the problems mentioned above.

      Using Martin Feberhard's excellent "MAKEALT" utility, I have created a new version of the DBL tape which uses the DBL ROM code instead of the original tape DBL code. This new tape, in turn, works exactly the same as the ROM DBL and can load all the bootable floppies listed above.

      I have uploaded both the original DBL tape ("DBLv4.TAP") and the updated version of the tape ("DBLv4-5.TAP") into the "Altair 8800 Paper Tape Images" folder in the files section.

      Mike
    Your message has been successfully submitted and would be delivered to recipients shortly.