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

Combined Disk Boot Loader PROM

Expand Messages
  • mfeberhard
    I just uploaded a new Disk Boot Loader program called CDBL (Combined Disk Boot Loader). I also uploaded a fairly thorough user s manual for CDBL. If you are
    Message 1 of 1 , May 17, 2014
    • 0 Attachment
      I just uploaded a new Disk Boot Loader program called CDBL (Combined Disk Boot Loader). I also uploaded a fairly thorough user's manual for CDBL. If you are using either Altair 8" disks or Altair Minidisks, this should be interesting for you. (Am I the only one booting Altair Minidisk Basic?)

      CDBL works just like DBL (for Altair 8" disks) and MDBL (for Altair Minidisks), with the following improvements:

      1. Automatic Disk Drive Type Detection
      Before booting, CDBL determines whether the disk is an 8-inch disk or a Minidisk by identifying the sector that follows sector 15. Sector 16 means it is an 8î disk (which has 32 sectors per track), while sector 0 means it a Minidisk (which has only 16 sectors per track).

      2. Boot Disk Selection
      CDBL looks at Sense Switches <A11:A8> to determine from which disk to boot. This allows you to boot from any of the 16 possible disk drives on an Altair 88-DCDD disk controller or the 4 possible disk drives on an Altair 88-MDS controller, not just disk 0.

      3. RAM Usage
      Like DBL and MDBL, CDBL requires some zero wait-state RAM for fast code, a buffer, and the stack. DBL uses about 400 bytes starting at address 026000 octal (which limits the loaded program to no more than 11K bytes). MDBL uses about 400 bytes starting at 046000 octal (which limits the loaded program to no more than 19K bytes). CDBL uses exactly 256 bytes starting at address 046000 octal, which limits the loaded program to 19K bytes.

      4. Code Copy Verification
      Unlike DBL and MDBL, CDBL verifies that its code was copied successfully from PROM to RAM, and aborts with a memory error if not.

      5. Memory Overlay Detection
      CDBL checks to see if the disk data will overwrite CDBL's own RAM (at 046000 octal), and will abort with an overlay error if so.

      6. Track 0 Overshoot Correction
      CDBL steps in once, before seeking track 0. This will allow booting even when the track 0 end-stop is maladjusted. (On a maladjusted drive, it is possible to seek outward past track 0.)

      7. Restart Shutoff Timer on Retries
      The Altair Minidisk controller has a timer that gets restarted whenever a Step command is issued, or when an explicit Timer Reset command is issued. 6.4 seconds later, this timer shuts off the disk controller, unless it gets restarted first.

      MDBL never explicitly restarts this timer, relying on the Step commands to restart the timer at the beginning of each track. However, each sector-read retry will add 200 mS to the load time of the current track. This means that 32 retries on one track will cause the MDBL load to fail because the controller will shut off.

      Unlike MDBL, CDBL restarts this timer whenever it retries a sector read, so that it can complete booting even from a disk that requires many retries.
       
      8. Correct 88-2SIO Initialization
      The 88-2SIO initialization bug in the Altair DBL PROM has been corrected. This means that error codes will be printed correctly on an 88-2SIO Terminal. (This bug does not exist in the MDBL PROM.)

      9. 88-2SIO Initialization Reset Delay
      CDBL delays before resetting the 88-2SIO long enough that the transmission of any character in its output buffer (e.g. the "B" command from UBMON) will complete.


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