      BRS                              1100110000010000 
      ARS           1100100100100111
      BLR                              0001100000100000 
      ALS           1001001001001110
      BLF                              1000001000000001 
      RAR           0100100100100111
      BLS                              1000010000000010 
      ARS           0010010010010011
      RBR                              0100001000000001 
      ALR           0100100100100110
      BLS                              0000010000000010 
      RAL           1001001001001100
      BLF                              0100000000100000 
      ARS           1100100100100110
      RBL                              1000000001000000 
      ALR           0001001001001100
      BRS                              1100000000100000 
      ALF           0010010011000001
      RBL                              1000000001000001 
      RAL           0100100110000010
      BRS                              1100000000100000 
      ALS           0001001100000100
      RBR                              0110000000010000 
      RAR           0000100110000010
      BLR                              0100000000100000 
      ALF           1001100000100000
      BLS                              0000000001000000 
      CPA SRGP2 
      RSS 
      HLT ERH       SRG INST A-REG. 
      CPB SRGP3 
      RSS 
      HLT ERH       SRG INST B-REG. 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
      LDB SRGP1     1000100100100111
      LDA SRGP2                        1001100000100000 
      BLS           1001001001001110
      ARS                              1100110000010000 
      BRS           1100100100100111
      ALR                              0001100000100000 
      BLS           1001001001001110
      ALF                              1000001000000001 
      RBR           0100100100100111
      ALS                              1000010000000010 
      BRS           0010010010010011
      RAR                              0100001000000001 
      BLR           0100100100100110
      ALS                              0000010000000010 
      RBL           1001001001001100
      ALF                              0100000000100000 
      BRS           1100100100100110
      RAL                              1000000001000000 
      BLR           0001001001001100
      ARS                              1100000000100000 
      BLF           0010010011000001
      RAL                              1000000001000001 
      RBL           0100100110000010
      ARS                              1100000000100000 
      BLS           0001001100000100
      RAR                              0110000000010000 
      RBR           0000100110000010
      ALR                              0100000000100000 
      BLF           1001100000100000
      ALS                              0000000001000000 
      CPB SRGP2 
      RSS 
      HLT ERH       SRG INST B-REG. 
      CPA SRGP3 
      RSS 
      HLT ERH       SRG INST A-REG. 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
      LDA SRGP1     1000100100100111
      LDB SRGP2                        1001100000100000 
      OCT 0020 ALS  1001001001001110
      OCT 4021 BRS                     1100110000010000 
      OCT 0021 ARS  1100100100100111
      OCT 4024 BLR                     0001100000100000 
      OCT 0020 ALS  1001001001001110
      OCT 4027 BLF                     1000001000000001 
      OCT 0023 RAR  0100100100100111
      OCT 4020 BLS                     1000010000000010 
      OCT 0021 ARS  0010010010010011
      OCT 4023 RBR                     0100001000000001 
      OCT 0024 ALR  0100100100100110
      OCT 4020 BLS                     0000010000000010 
      OCT 0022 RAL  1001001001001100
      OCT 4027 BLF                     0100000000100000 
      OCT 0021 ARS  1100100100100110
      OCT 4022 RBL                     1000000001000000 
      OCT 0024 ALR  0001001001001100
      OCT 4021 BRS                     1100000000100000 
      OCT 0027 ALF  0010010011000001
      OCT 4022 RBL                     1000000001000001 
      OCT 0022 RAL  0100100110000010
      OCT 4021 BRS                     1100000000100000 
      OCT 0020 ALS  0001001100000100
      OCT 4023 RBR                     0110000000010000 
      OCT 0023 RAR  0000100110000010
      OCT 4024 BLR                     0100000000100000 
      OCT 0027 ALF  1001100000100000
      OCT 4020 BLS                     0000000001000000 
      CPA SRGP2 
      RSS 
      HLT ERH       SRG INST A-REG. 
      CPB SRGP3 
      RSS 
      HLT ERH       SRG INST B-REG. 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
      LDB SRGP1     1000100100100111
      LDA SRGP2                        1001100000100000 
      OCT 4020 BLS  1001001001001110
      OCT 0021 ARS                     1100110000010000 
      OCT 4021 BRS  1100100100100111
      OCT 0024 ALR                     0001100000100000 
      OCT 4020 BLS  1001001001001110
      OCT 0027 ALF                     1000001000000001 
      OCT 4023 RBR  0100100100100111
      OCT 0020 ALS                     1000010000000010 
      OCT 4021 BRS  0010010010010011
      OCT 0023 RAR                     0100001000000001 
      OCT 4024 BLR  0100100100100110
      OCT 0020 ALS                     0000010000000010 
      OCT 4022 RBL  1001001001001100
      OCT 0027 ALF                     0100000000100000 
      OCT 4021 BRS  1100100100100110
      OCT 0022 RAL                     1000000001000000 
      OCT 4024 BLR  0001001001001100
      OCT 0021 ARS                     1100000000100000 
      OCT 4027 BLF  0010010011000001
      OCT 0022 RAL                     1000000001000001 
      OCT 4022 RBL  0100100110000010
      OCT 0021 ARS                     1100000000100000 
      OCT 4020 BLS  0001001100000100
      OCT 0023 RAR                     0110000000010000 
      OCT 4023 RBR  0000100110000010
      OCT 0024 ALR                     0100000000100000 
      OCT 4027 BLF  1001100000100000
      OCT 0020 ALS                     0000000001000000 
      CPB SRGP2 
      RSS 
      HLT ERH       SRG INST B-REG. 
      CPA SRGP3 
      RSS 
      HLT ERH       SRG INST A-REG. 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
      LDA SRGEP     0111010001110010
      LDB SRGEP                        0111010001110010 
      ERA           0011101000111001 0
      ELB                            0 1110100011100100 
      ERA           0001110100011100 1
      ELB                            1 1101000111001001 
      ERA           1000111010001110 0
      ELB                            1 1010001110010010 
      ERA           1100011101000111 0
      ELB                            1 0100011100100100 
      ERA           1110001110100011 1
      ELB                            0 1000111001001001 
      ERA           0111000111010001 1
      ELB                            1 0001110010010011 
      ERA           1011100011101000 1
      ELB                            0 0011100100100111 
      ERA           0101110001110100 0
      ELB                            0 0111001001001110 
      ERB                            0 0011100100100111 
      ELA           1011100011101000 0
      ERB                            1 0001110010010011 
      ELA           0111000111010001 1
      ERB                            1 1000111001001001 
      ELA           1110001110100011 0
      ERB                            1 0100011100100100 
      ELA           1100011101000111 1
      ERB                            0 1010001110010010 
      ELA           1000111010001110 1
      ERB                            0 1101000111001001 
      ELA           0001110100011100 1
      ERB                            1 1110100011100100 
      ELA           0011101000111001 0
      ERB                            0 0111010001110010 
      ELA           0111010001110010 0
      CPA SRGEP 
      RSS 
      HLT ERH       SRG E-REG ERROR 
      CPB SRGEP 
      RSS 
      HLT ERH       SRG E-REG ERROR 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
      LDA SRGEP     0111010001110010
      LDB SRGEP                        0111010001110010 
      OCT 0025 ERA  0011101000111001 0
      OCT 4026 ELB                   0 1110100011100100 
      OCT 0025 ERA  0001110100011100 1
      OCT 4026 ELB                   1 1101000111001001 
      OCT 0025 ERA  1000111010001110 0
      OCT 4026 ELB                   1 1010001110010010 
      OCT 0025 ERA  1100011101000111 0
      OCT 4026 ELB                   1 0100011100100100 
      OCT 0025 ERA  1110001110100011 1
      OCT 4026 ELB                   0 1000111001001001 
      OCT 0025 ERA  0111000111010001 1
      OCT 4026 ELB                   1 0001110010010011 
      OCT 0025 ERA  1011100011101000 1
      OCT 4026 ELB                   0 0011100100100111 
      OCT 0025 ERA  0101110001110100 0
      OCT 4026 ELB                   0 0111001001001110 
      OCT 4025 ERB                   0 0011100100100111 
      OCT 0026 ELA  1011100011101000 0
      OCT 4025 ERB                   1 0001110010010011 
      OCT 0026 ELA  0111000111010001 1
      OCT 4025 ERB                   1 1000111001001001 
      OCT 0026 ELA  1110001110100011 0
      OCT 4025 ERB                   1 0100011100100100 
      OCT 0026 ELA  1100011101000111 1
      OCT 4025 ERB                   0 1010001110010010 
      OCT 0026 ELA  1000111010001110 1
      OCT 4025 ERB                   0 1101000111001001 
      OCT 0026 ELA  0001110100011100 1
      OCT 4025 ERB                   1 1110100011100100 
      OCT 0026 ELA  0011101000111001 0
      OCT 4025 ERB                   0 0111010001110010 
      OCT 0026 ELA  0111010001110010 0
      CPA SRGEP 
      RSS 
      HLT ERH       SRG E-REG ERROR 
      CPB SRGEP 
      RSS 
      HLT ERH       SRG E-REG ERROR 
      SOS 
      SEZ 
      HLT ERH       E / O SET 
      SKP 
*                   PRE-TEST PART B (CP)
* 
*                   BASIC I/O TEST
* 
BIOT  EQU * 
      LDA SWRX
      AND B77 
      STA BIOSC     SAVE IT 
      SZA,RSS       IS THERE ONE? 
      JMP BIOEX     NO SKIP BASIC I/O 
      AND B70       CHECK OVER 7B 
      SZA,RSS 
      HLT ERH 
BIO0  LDB BIOSD     UPDATE I/O INSTRUCTIONS 
      LDA B,I 
      CPA M1        END OF LIST 
      JMP BIO1      YES - START EXECUTION 
      AND M77       MASK OLD SC OFF 
      IOR BIOSC      ADD NEW SC 
      STA B,I       PUT IT BACK IN PLACE
      INB           MOVE TO NEXT INSTRUCTION
      JMP BIO0+1
BIO1  LDB B3        SET TRAP CELLS
      LDA IHLT      TO INTERRUPT HALT 
      STA B,I 
      CPB B77       END 
      JMP *+3       YES 
      INB 
      JMP *-4 
      CLC INTP,C    GENERATE CRS TO ALL I/O 
      SKP 
*                   PRE-TEST PART B (CP)
* 
*                   BASIC I/O TEST
* 
      STF INTP      TOGGLE INTERRUPT
      CLF INTP        FLAG TO CLEAR 
      SFC INTP      IS IT CLEARED?
      HLT ERH       NO - ERROR
      SFS INTP      IS IT NOT SET 
      RSS 
      HLT ERH       NO - ERROR
      STF INTP      SET INTERRUPT FLAG
      SFS INTP      IS IT SET?
      HLT ERH       NO - ERROR
      SFC INTP      IS IT NOT CLEARED?
      RSS 
      HLT ERH       NO - ERROR
      CLF INTP      TURN FLAG OFF 
BS01  STF SC        TOGGLE INTERFACE
BS02  CLF SC          CARD FLAG TO CLEAR
BS03  SFC SC        IS IT CLEARED?
      HLT ERH       NO - ERROR
BS04  SFS SC        IS IT NOT SET?
      RSS 
      HLT ERH       NO - ERROR
BS05  STF SC        SET CARD FLAG 
BS06  SFS SC        IS IT SET 
      HLT ERH       NO - ERROR
BS07  SFC SC        IS IT NOT CLEAR?
      RSS 
      HLT ERH       NO - ERROR
      JSB BIOI      SET INTERRUPT RETURN
      DEF BIOR1     INTERRUPT TO ERROR
BS08  STF SC        SET THE FLAG
BS09  STC SC          AND CONTROL 
      STF INTP      TURN I/O SYSTEM ON THEN 
      CLF INTP      TURN I/O SYSTEM OFF 
      NOP           GIVE IT A CHANCE TO INTERRUPT 
      NOP 
      JMP *+3 
BIOR1 NOP 
      HLT ERH       INTERRUPT CANT BE TURNED OFF
      CLC INTP,C    GENERATE CRS
      SKP 
*                   PRE-TEST PART B (CP)
* 
*                   BSIC I/O TEST 
* 
BS10  CLC SC,C      RESET SC FLAG AND CONTROL 
      LDB B10       START WITH LOWEST ADDRESS 
BIO2  CPB BIOSC      IS IT THIS SELECT CODE 
      JMP BIO3      YES - SKIP CHECK
      LDA .STF      SET UP
      IOR B           INSTRUCTIONS
      STA *+2 
BS11  CLF SC        CLEAR SC FLAG 
      NOP 
BS12  SFC SC        CHECK SC FLAG 
      HLT ERH       NOT CLEAR THEN ERROR
BIO3  CPB B77       IS THAT THE LAST? 
      JMP *+3       YES - MOVE TO NEXT TEST 
      INB           NO - MOVE TO NEXT SC
      JMP BIO2        AND CHECK IT
      CLC INTP,C    CREATE CRS INCASE OF PRIV. INT. 
      JSB BIOI      SET INTERRUPT LINK
      DEF BIOI0 
      CLA           CLEAR FLAGS 
      STA BIOJD 
      STA BIOI0 
      STA TMPA
BS13  STC SC        TURN ON 
BS14  STF SC          CARD
      STF INTP       AND INTP'S 
      STC 1         * 
      STF 1         * 
      CLC 1         * 
      CLF 1         *  NO INTERRUPT 
      JMP *+1,I     *  SHOULD OCCUR 
      DEF *+1       *  HERE 
      JSB *+1,I     * 
      DEF *+1       * 
BIOJD NOP           * 
      ISZ TMPA       INT. SHOULD BE HERE
      ISZ TMPA
      CLF INTP      TURN I/O SYSTEM OFF 
BS15  CLC SC,C      RESET SC FLAG AND CONTROL 
      LDB BIOI0     DID IT INTERRUPT? 
      SZB,RSS 
      HLT ERH       NO - ERROR
      LDB TMPA       RETURN CORRECTLY 
      CPB B2
      RSS 
      HLT ERH       NO - ERROR
      SKP 
*                   PRE-TEST PART B (CP)
* 
*                   BASIC I/O TEST
* 
      JSB BIOI
      DEF BIOR2 
BS16  STC SC        CONTROL ON
BS17  STF SC        FLAG UP 
      STF INTP      TURN ON INTERRUPTS
BS20  CLC SC        CLEAR SC CONTROL
      NOP           GIVE IT A CHANCE
      NOP           * 
      NOP           * 
      JMP *+3 
BIOR2 NOP 
      HLT ERH       CONTROL NOT CLEARED 
      CLF INTP      TURN INTP'S OFF 
      JSB BIOI
      DEF BIOR3 
BS21  STC SC        TURN CONTROL ON 
      STF INTP      TURN INTP'S ON
      CLC INTP      CLEAR I/O SYSTEM
      NOP           GIVE IT A CHANCE
      NOP           * 
      NOP           * 
      JMP *+3 
BIOR3 NOP 
      HLT ERH 
BS22  CLC SC,C      TURN OFF DEVICE 
BIOEX CLC INTP,C    TURN OFF ALL I O
      LDA SWRX      CHECK IF AUTOMATIC MODE 
      AND B7700 
      SZA 
      JMP CFGR      YES GO TO CONFIGURATION 
      LDA SWRX      CHECK IF LOOP 
      AND B10K
      SZA 
      JMP PTLP      YES LOOP
      LDA SWRX      RESTORE S-REG.
      OTA SWREG 
      LDA DISN        AND A & B REG 
      LDB DIBP
      HLT 77B       WAIT FOR CONFIGURATION INFORMATION
* 
CFRG  CLC INTP,C    TURN OFF ALL I/O
      STA DISN
      STB DIBP
      LIA SWREG     GET SWITCH REGISTER 
      STA SWRX
      JMP CFGR      GO TO CONFIGURATION 
      SKP 
*                   PRE-TEST PART B (CP)
* 
*                   BASIC I/O TEST
* 
BIOI0 NOP 
      CLF INTP      TURN I/O SYSTEM OFF 
      LDB BIOJD     CHECK TO SE IF ALL
      CPB BIOD0        INSTRUCTIONS COMPLETED 
      RSS 
      HLT ERH       NO - ERROR
      LDB BIOD1     CHECK RETURN ADDRESS
      CPB BIOI0     * 
      JMP *+3       * 
      INB           * 
      CPB BIOI0     * 
      RSS           * 
      HLT ERH       * 
      JSB BIOI      SET ERROR IF SECOND INTP
      DEF BIOE
      STF INTP      TURN I/O SYSTEM ON
      JMP BIOI0,I   CONTINUE TEST 
* 
BIOD0 DEF BIOJD-1 
BIOD1 DEF BIOJD+1 
* 
* 
BIOI  NOP 
      LDB BIOI,I
      ISZ BIOI
      STB 3B
      LDB JSBI. 
BSSTB STB SC
      JMP BIOI,I
* 
* 
BIOE  NOP 
      HLT ERH       SECOND INTERRUPT OCCURED
      JMP BIOE,I
* 
      SKP 
.ALT0 OCT 125252
.ALT1 OCT 052525
SRGP1 OCT 104447    1000100100100111
SRGP2 OCT 114040                      1001100000100000
SRGP3 OCT 000100
SRGEP OCT 072162    011010001110010 
.TMPA NOP 
.TMPB NOP 
DJBR3 DEF JBR3
DJBR4 DEF JBR4
DJBR5 DEF JBR5
.STF  STF 0 
JSBI. JSB 3B,I
IHLT  OCT 106077
* 
* 
BIOSD DEF *+1,I 
      DEF BS01
      DEF BS02
      DEF BS03
      DEF BS04
      DEF BS05
      DEF BS06
      DEF BS07
      DEF BS08
      DEF BS09
      DEF BS10
      DEF BS11
      DEF BS12
      DEF BS13
      DEF BS14
      DEF BS15
      DEF BS16
      DEF BS17
      DEF BS20
      DEF BS21
      DEF BS22
      DEF BSSTB 
      DEF M1
      SKP 
*                   START OF CONFIGURATION SECTION
* 
CFGR  CLA 
      STA 3B        CLEAR WRAPAROUND
      LDB D8K3      TRY FOR 8K
      LDA APTRN     GET ALTERNATING PATTERN 
COZ0  STA B,I       STORE IT
      CPA 3B        DID IT WRAPAROUND?
      JMP COZE      YES 
      CPA B,I       DID IT STORE? 
      RSS 
      JMP COZE      NO
      STB MEM       YES - SAVE SIZE 
      CPB D32K3     REACHED 32K?
      JMP COZE      YES 
      ADB B10K      NO - MOVE TO NEXT 4K
      JMP COZ0
COZE  LDA MEM       GET PREVIOUS MEMORY SIZE
      AND B70K      ISOLATE SIZE ONLY 
      STA MEM       SET MEMORY SIZE IN BASE PAGE
      CLB           DETERMINE IF DMA IS AVAILABLE 
      STC DMA2      PREPARE DMA FOR COUNT 
      LDA APTRN     GET PATTERN 
      OTA DMA2      OUTPUT IT 
      LIA DMA2      INPUT IT
      IOR DMABT     ADD UPPER BITS
      CPA APTRN     DOES IT COMPARE?
      LDB B4      YES-THEN DMA IS AVAILABLE 
      STB CTO           AND ADD BIT TO OPTIONS
      CCB           DETERMINE IF MEMORY PROTECT IS AVAILABLE
      LDA B3       SET MEMORY PROTECT 
      OTA MPRT        FENCE AT 3
      LDA CFMPJ     SET JSB IN
      STA MPRT         TRAP CELL
      LDA 2         GET ORIGINAL CONTENTS 
      STF INTP      TURN ON INTERRUPTS
      STC MPRT,C    TURN ON MEMORY PROTECT
      STA 2         VIOLATE FENCE 
      CLF INTP      TURN OFF INTERRUPTS FOR NO MPRT 
      CCA           SET TO FLASH S-REG. 
      OTA SWREG 
      SFC INTP      CHECK IF IN TROUBLE 
      RSS 
      JMP *+5       NO
      ISZ TMPA      YES - WAIT FOR OPERATOR TO
      JMP *-4         PRESS HALT-PRESET-RUN 
      CMA           (FLASH S-REG.)
      JMP *-7 
      CLC MPRT,C    TURN OFF MPRT 
      LDA B40 
      SZB           DO WE ADD MPRT BIT? 
      CLA           NO
      IOR CTO 
      STA CTO       UPDATE OPTIONS
      LDA 4         RESTORE TRAP CELL HALT
      STA MPRT
      SKP 
*         DETERMINE COMPUTER TYPE 
* 
      LDA APTRN     GET PATTERN FOR SWITCH REGISTER 
      OTA SWREG     OUTPUT IT 
      LIB SWREG     GET IT BACK 
      CPA B         DID IT COME BACK? 
      JMP CF40X     YES - THEN 2114/2100/21MX 
                                                                                                                                                                                