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