   1            /               MINIMAL PDP-8 BOOTSTRAP PROGRAM (RX)
   2            /
   3            / Taken from a manual for an 8/e disk subsystem built by DSD;
   4            / shorter and easier to toggle in than DECs bootstrap.
   5            
   6            / The following is a minimal length boot program for both
   7            / the RX01 and RX02.  This boot tries only the specified
   8            / drive with the specified density.  Start at location 32 to
   9            / BOOT drive 0.  Start at location 22 to boot drive 1.
  10            / This has been verified to work with an OS/8 diskette.
  11            
  12            / the contents of locations 60 and 61 can be fudged to
  13            / change what disk and what density are used.
  14            
  15            / configuration section
  16            
  17            IOTADR=0750             / default system drive is at IOT 75
  18            
  19            DRIVE0=0000
  20            DRIVE1=0020
  21            DRIVE=DRIVE0            / set to either DRIVE0 or DRIVE1
  22            
  23            SINGLE=0000
  24            DOUBLE=0400
  25            DENSTY=SINGLE           / set to either SINGLE or DOUBLE
  26            
  27            / RX01 and other opcode definitions
  28            
  29            LCD=6001+IOTADR
  30            XDR=6002+IOTADR
  31            STR=6003+IOTADR
  32            SDN=6005+IOTADR
  33            
  34            NL001=CLA CLL IAC
  35            NL002=CLA CLL IAC RAL
  36            NL006=CLA CLL CML IAC RTL
  37            
  38            / THIS SECTION IS NEEDED ONLY WHEN BOOTING FROM DRIVE 1.
  39            / READS IN SECTOR 1 TRACK 1 ON DRIVE O OR 1.
  40            
  41            / DOES NOT USE LOCATIONS 22-31 WHEN STARTED AT 32
  42            
  43            / START HERE TO BOOT DRIVE 0 (ASSUME MASTER CLEAR HAS
  44            / READ DRIVE 0 TRACK 1 SECTOR 1 FOR YOU).
  45            
  46            *32
  47 00032 7305 BOTDV0, NL002           / MAKE EMPTY BUFFER COMMAND
  48 00033 6755 CHKFLG, SDN             / WAIT FOR DONE FLAG UP
  49 00034 5054         JMP     LOAD+1  / NO - CHECK FOR READY TRANSFER
  50 00035 1061         TAD     UNIT    / YES-PUT IN READ UNIT, DENSITY
  51 00036 6751         LCD             / SEND EMPTY BUFFER COMMAND
  52 00037 5047         JMP     BOTLP   / START TO LOAD SECTOR BUFFER
  53            
  54            *47     /////////////////
  55            
  56 00047 4053 BOTLP,  JMS     LOAD    / READ NEXT WORD FROM SILO
  57 00050 3002         DCA     2       / START LOADING AT LOC. 2
  58 00051 2050         ISZ     .-1     / BUMP LOAD ADDRESS
  59 00052 5047         JMP     BOTLP   / CONTINUE EMPTYING BUFFER
  60            /
  61 00053 0000 LOAD,   .-.             / DATA TRANSFER SUBROUTINE
  62 00054 6753         STR             / SKIP IF CONTROLLER WILL SPEAK
  63 00055 5033         JMP     CHKFLG  / NO - CHECK IF FINISHED
  64 00056 6752         XDR             / TRANSFER DATA IN OR OUT
  65 00057 5453         JMP I   LOAD    / RETURN TO CALLER
  66            /
  67 00060 7004         7004+DRIVE      / USED BY SECONDARY BOOT
  68                                    / TO SELECT DRIVE 0 OR DRIVE 1
  69 00061 0000 UNIT,   DENSTY+DRIVE    / WHAT TRANSPORT, WHAT DENSITY?
  70            $
