63.5.1.1. RX02 Bootstrap

  1. Press in order the MD and DISP buttons to display memory data in the octal readout.

  2. Press in order 0 and LXA to select memory field 0.

  3. Press in order 20 and LA to start loading instructions at location 20.

  4. Deposit the following octal values, termination each value with D NEXT.

        1             / File db/pdp8.code/rx02boot.pal -*- mode:asm; -*-
        2       7301  AC1=CLL CLA IAC
        3       7326  AC2=CLL CLA CML RTL
        4       7327  AC6=CLL CLA CML IAC RTL         /RX02'S MUST RUN ON AN OMNI-BUS !!
        5       7330  AC4000=CLL CLA CML RAR
        6       7350  AC3777=CLL CLA CMA RAR
        7       7346  AC7775=CLL CLA CMA RTL
        8             /
        9             /  DEVICE IOT SYMBOLIC EQUATES
       10             /
       11       6751  LCD=6751                /LOAD COMMAND
       12       6752  XDR=6752                /TRANSFER DATA
       13       6753  STR=6753                /SKIP IF READY TO TRANSFER
       14       6754  SER=6754                /SKIP ON ERROR
       15       6755  SDN=6755                /SKIP ON DONE
       16             /
       17             /
       18             /
       19       0020          *20
       20             /
       21 00020 1061  READ,   TAD     UNIT    /TRY NEXT COMBINATION OF DENSITY AND UNIT
       22 00021 1046          TAD     CON360  /ADDING IN 360
       23 00022 0060          AND     CON420  /KEEPING ONLY 420 BITS
       24 00023 3061          DCA     UNIT    /CYCLES 400, 420, 0, 20, 400,,,,,,,
       25 00024 7327          AC6             /COMMAND TO READ DISK
       26 00025 1061          TAD     UNIT    /UNIT AND DENSITY
       27 00026 6751          LCD             /COMMAND TO CONTROLLER
       28 00027 7301          AC1             /TO SET SECTOR AND TRACK TO 1
       29 00030 4053          JMS     LOAD    /SECTOR TO CONTROLLER, LEAVES AC ALONE
       30 00031 4053          JMS     LOAD    /AND TRACK
       31 00032 7004  LITRAL, 7004            /LEAVING A 2 IN AC; SERVERS AS LITERAL
       32             /
       33             /  FOLLOWING IS PART OF WAIT LOOP, SAME SECONDARY BOOTS, OLD PRIMARY BOOT
       34             /
       35 00033 6755  START,  SDN             /HAS DONE COME UP; CODE STARTS HERE!
       36 00034 5054          JMP     LOAD+1  /NO, GO CHECK FOR READY TO TRANSFER
       37             /
       38             /  NOW, DONE OR ERROR
       39             /
       40 00035 6754          SER             /SKIP ON AN ERROR, TRY ANOTHER DENSITY ETC.
       41 00036 7450          SNA             /NASTY, AC=2 FOR ABOUT TO DO SILO, 0 ON START-UP
       42 00037 5020          JMP     READ    /START-UP, GO SET UP UNIT, THEN READ TO SILO
       43 00040 1061          TAD     UNIT    /AC ALREADY 2, PUT IN UNIT, DENSITY
       44 00041 6751          LCD             /TO EMPTY THE SILO
       45 00042 1061          TAD     UNIT    /SET UP LOC 60 FOR OLD SECONDARY BOOT
       46 00043 0046          AND     CON360  /KEEPING ONLY DENSITY BIT
       47 00044 1032          TAD     LITRAL  /ADDING IN 7004, BECAUSE THAT'S WHAT SYS WANTS
       48 00045 3060          DCA     RX1SAV  /OLD SECONDATY BOOT MOVES IT TO HANDLER
       49 00046 0360  CON360, 360             /LITERAL; EXECUTES IN LINE AD A NO-OP
       50             /                       /FALLS THRU TO NEXT PAGE OF LISTING
       51             /
       52             /  FOLLOWING CODE SAME AS OLD PRIMARY BOOT
       53 00047 4053          JMS     LOAD    /GRAB NEXT ITEM FROM SILO
       54 00050 3002          DCA     2       /TRADITION; SECONDARY BOOT STARTS LOADING AT 2
       55 00051 2050          ISZ     50      /INCREMENT LOAD ADDRESS
       56 00052 5047          JMP     47      /GO BACK FOR ANOTHER
    
    
    
      /                                                          PALBART  V2.3a      Page 1
    
    
       57             /
       58             /  SECONDARY BOOT LOADS OVER PRIMARY BOOT UNIT LOCATION 47 IS LOADED,
       59             /  THEN CONTROL PASSES TO SECONDARY BOOT
       60             /
       61 00053 0000  LOAD,   0               /SUBROUTINE TO GIVE AND TAKE DATA FROM CONTROLLER
       62 00054 6753          STR             /IS HE READY TO TALK TO US?
       63 00055 5033          JMP     START   /NO, IS HE PERHAPS DONE WITH SILO, OR IN ERROR?
       64 00056 6752          XDR             /YES, DATA IN OR OUT;IF DATA TO CONTROLLER AC UNCHANGED
       65 00057 5453          JMP I   LOAD    /NO MAGIC, JUST EXIT FROM SUBROUTINE
       66             /
       67             /  60 GOES TO OLD SECONDARY BOOT
       68             /  61 HAS DENSITY AND UNIT THAT BOOTED SUCCESSFULLY
       69             /
       70             CON420,                 /USE IT TO HOLD 420 LITERAL TO START OUT
       71 00060 0420  RX1SAV, 420             /UNIT^20+7004 TO GO TO SYS HANDLER
       72 00061 0020  UNIT,   20              /<DENSITY^400>+<UNIT^20> THAT BOOTED OK
       73                     $
          No detected errors
    
  5. After you have deposited all the values, press 0033 and LA to start the program at location 33.

  6. To start the bootstrap program, press INIT and RUN.

Licence Creative Commons
Elektronika a počítače, jejímž autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .