ASMB,L,C,B,A
      HED MAIN BODY OF LOADER LOADER (24353) 07 APR 1976
      ORG 2 
      JMP INIT
      SPC 1 
A     EQU 0 
B     EQU 1 
PR    EQU 0 
DC    EQU 0 
CC    EQU DC+1
      SPC 2 
* 
* 
*    THIS PROGRAM CHANGES PROTECTED LOADERS IN THE COMPUTER.
*    TO USE IT, LOAD THIS PROGRAM, SET P TO 100, AND S AS 
*    FOLLOWS: 
* 
* LOADER   BITS 15-12   BITS 11-6        BITS 5-0 
* 
* BBL        0000       NOT USED       READER S.C.
* 
* BBDL       0001       DISC S.C.      READER S.C.
* 
* BMDL(7900) 0010       DISC S.C.      READER S.C.
* 
* BMDL(2883) 0011       DISC S.C.      READER S.C.
* 
* BMDL(2870) 0100       DISC S.C.      READER S.C.
* 
* MTRS       0101       MAG TAPE S.C.   NOT USED
* 
* BMDL(7905) 0110       DISC S.C.      READER S.C.
* 
* ACCESS-IOP 0111       I.C.K. S.C.    READER S.C.
* 
* 2644 BBL   1000       12966/8 SC     NOT USED 
* 
* ABS MAG TP 1001       MAG TAPE SC    NOT USED 
* 
* SCE/1 BBL  1010       IFC SC         NOT USED 
* 
*    PRESS LOADER ENABLE, THEN RUN. UPON HALT 77, THE NEW 
*    LOADER HAS BEEN LOADED. (NOTE:  ALL SELECT CODES FOR 
*    INTERFACES THAT HAVE MORE THAN ONE CARD REFER TO THE 
*    LOWER NUMBERED SELECT CODE!) 
*         IF A MISTAKE IS MADE IN SETTING ONE OF THE SELECT 
*    CODES, RESTART THE PROGRAM AT 100 WITH THE PROPER SELECT 
*    CODES IN THE SWITCH REGISTER, AND THE LOADER ENABLED.
*    THE NEW SELECT CODES WILL REPLACE THE OLD ONES.
* 
* 
      HED LOADER
B17  OCT 17 
B77   OCT 77
BGIN NOP       FIRST LOCATION OF NEW LOADER 
CORE NOP  FIRST MEMORY ADDRESS OF PROTECTED AREA
K1   DEC 1024 ONE K OF MEMORY 
LEN  NOP  LENGTH OF NEW LOADER
MB10 OCT -10
MB64 OCT -100 
SC   NOP       TEMPORARY STORAGE
TOPS NOP       MAX ADDRESS FOR THE LOADERS TO COMPAR
      SPC 1 
       ORG 100B 
      JMP INIT
       ORG 110B 
INIT  CLC 0,C  RESET ALL I/O
* 
*    SIZE MEMORY
* 
      LDA B2       START AT NEXT K + 2
      STA CORE     SET INITIAL MEMORY SIZE TO 1K
      LDA K1       GET A NON-ZERO CONSTANT
SIZER LDB CORE
      ADB K1
      STB CORE     SAVE THE NEW VALUE 
      SSB 
      JMP SIZED    32K IS MAX MEMORY SIZE 
      LDB CORE,I
      STB TOPS     SAVE PREVIOUS CONTENTS OF C(CORE)
      STA CORE,I
      LDB CORE,I
      CPB K1
      RSS 
      JMP SIZED 
      LDB MB10     NOW CHECK FOR MEMORY WRAPAROUND
      STB 2 
      CPB CORE,I   HAVE ((CORE)) CHANGED ALSO?
      JMP SIZED    YES-WRAPAROUND.
      LDB 100B
      STB 2        NO-RESET 2 TO FORMER VALUE 
      LDB TOPS
      STB CORE,I
      JMP SIZER 
GETSC NOP           GET A SC, ADD TO INSTRUCTIONS 
      AND B77       ENTER WITH SC IN A, BITS 0-5
      LDB A 
      ADB MB10
      SSB,RSS 
      JMP OK001    SELECT CODE IS > 10B; HENCE OK 
      LDB BGIN     BAD SELECT CODE - IS IT NECESSARY
      INB 
      LDB B,I 
      SSB 
      JMP OK001    IS OKAY - NOT NEEDED 
      HLT 1        BAD SELECT CODE
      JMP INIT     GO RESTART 
OK001 STA SC
      JSB INSTR 
      JMP GETSC,I 
INSTR NOP           ADD C(SC) TO I/O INSTRUCTIONS 
      ISZ BGIN
      LDB BGIN,I GET THE ADDRESS
      SSB 
      JMP INSTR,I 
      ADB CORE
      LDA SC
      ADA B,I 
      STA B,I 
      JMP INSTR+1 
      HED LOADER
SIZED LDA CORE
      AND MB64     WIPE OUT THE EXTRA '2' 
      STA CORE
      ADA MB64
      CMA,INA 
      STA TOPS      CALCULATE MAXAD 
      LIA 1         GET LOADER NUMBER 
      ALF 
      AND B17 
      ADA TLODR    INDEX THE TABLE
      LDB A,I 
      SZB           IS IT LEGAL?
      JMP LEGAL 
      CMA,INA      NOPE!
      ADA TLODR 
      CMA,INA      LEAVE IT IN READABLE FORM
      HLT 2        BAD LOADER NUMBER! 
      JMP INIT     GO RESTART 
LEGAL LDA B,I      GET THE LENGTH 
      STA LEN 
      ADA CORE
      STA CORE      CALCULATE START ADDRESS 
      STA SC
      STB BGIN
* 
*     DO THE TRANSFER 
* 
XFER  ISZ BGIN
      LDA BGIN,I
      STA CORE,I
      CPA CORE,I   SEE IF THE INSTR. WAS STORED OK
      JMP STROK 
      HLT 3        INSTRUCTION NOT STORED CORRECTLY 
      JMP INIT     LET^S TRY AGAIN! 
STROK ISZ CORE     NEXT LOCATION TO STORE AT
      ISZ LEN 
      JMP XFER
* 
*     NOW DO THE SELECT CODES 
* 
      LDA SC
      STA CORE
      LIA 1         GET READER SELECT CODE
      JSB GETSC 
      LIA 1         GET DISC SC 
      ALF,ALF 
      RAL,RAL 
      JSB GETSC 
      LDA TOPS
      STA SC
      JSB INSTR     DO MAXAD CALCULATION
      ISZ BGIN
      LDB BGIN,I
      JMP B,I      GO DO ANY SPECIAL PROCESSING 
STOP  EQU * 
      HLT 77B 
      JMP INIT
B2    OCT 2 
      SUP 
TLODR DEF *+1 
      DEF LODR0     BASIC BINARY LOADER 
      DEF LODR1     BASIC BINARY DISC LOADER
      DEF LODR2     DOS-III/RTE 7900A DISC LOADER 
      DEF LODR3     DOS-III 2883A D	SC LOADER 
      DEF LODR2     DOS-III/RTE 2870A DISC LOADER 
      DEF LODR5     MAG TAPE REFORM. SYS. BOOT
      DEF LODR6     DOS-III/RTE 7905A DISC LOADER 
      DEF LODR7     ACCESS IOP PROTECTED LOADER 
      DEF LODR8     2644 BOOT 
      DEF LODR9     ABS MAG TAPE LOADER 
      DEF LOD10     SCE/1 BBL 
      DEC 0,0,0,0,0,0 
      HED BASIC BINARY LOADER (BBL) 
* 
*  BASIC BINARY LOADER (BBL)
* 
LODR0 DEC -64 
      OCT 107700,063770,106501,004010 
      OCT 002400,006020,063771,073736 
      OCT 006401,067773,006006,027717 
      OCT 107700,102077,027700,017762 
      OCT 002003,027712,003104,073774 
      OCT 017762,017753,070001,073775 
      OCT 063775,043772,002040,027751 
      OCT 17753,044000,000000,002101
      OCT 102000,037775,037774,027730 
      OCT 017753,054000,027711,102011 
      OCT 027700,102055,027700,000000 
      OCT 017762,001727,073776,017762 
      OCT 033776,127753,000000,103700 
LDR00 EQU *-1 
      OCT 102300,027764,102500,127762 
LDR01 EQU *-4 
LDR02 EQU *-2 
      OCT 173775,153775,000000,177765 
LDR03 EQU *-2 
      OCT 000000,000000,000000,000000 
      ABS LDR00-LODR0-1 
      ABS LDR01-LODR0-1 
B66   EQU * 
      ABS LDR02-LODR0-1 
      OCT 100000   SECTION SEPERATOR
      OCT 100000   SECTION SEPERATOR
      ABS LDR03-LODR0-1 
      OCT 100000   SECTION SEPERATOR
      DEF STOP     NO PROCESSING
      SKP 
      HED 2644 BASIC BINARY LOADER
* 
*  2644 BASIC BINARY LOADER  12966-12968 ONLY 
* 
LODR8 DEC -64 
      OCT 063773,073702,063763,037702 
      OCT 103600,053771,027717,001727 
LDR80 EQU *-4 
      OCT 013772,002002,027702,103700 
LDR81 EQU *-1 
      OCT 102300,027714,027702,017750 
LDR82 EQU *-4 
      OCT 005727,007007,102077,006021 
      OCT 102000,077776,017750,077774 
      OCT 077775,017750,063775,043777 
      OCT 002040,102055,177775,047774 
      OCT 077774,037775,037776,027731 
      OCT 017750,057774,027717,102011 
      OCT 000000,006700,102500,002021 
LDR83 EQU *-2 
      OCT 027752,013772,044000,002041 
      OCT 127750,005767,027752,150077 
      OCT 040740,030003,000033,050077 
      OCT 000145,040340,000377,063763 
      OCT 000000,000000,000000,170100 
LDR84 EQU *-1 
      OCT 100000
      ABS LDR80-LODR8-1 
      ABS LDR81-LODR8-1 
      ABS LDR82-LODR8-1 
      ABS LDR83-LODR8-1 
      OCT 100000
      ABS LDR84-LODR8-1 
      OCT 100000
      DEF STOP
      SKP 
      HED ABS MAG TAPE BINARY LOADER
* 
*  ABS MAG TAPE BINARY LOADER 
* 
LODR9 DEC -64 
      OCT 102501,013775,003007,027714 
      OCT 073777,067771,017761,102301 
LDR90 EQU *-1 
      OCT 027707,067773,037777,027706 
      OCT 067772,017761,103700,017740 
LDR91 EQU *-2 
      OCT 005727,007004,077777,017740 
      OCT 074000,077776,017740,177776 
      OCT 040001,037776,037777,027726 
      OCT 017740,054000,017740,102011 
      OCT 000000,102300,027745,107500 
LDR92 EQU *-3 
LDR93 EQU *-1 
      OCT 127740,102301,027741,102501 
LDR94 EQU *-3 
LDR95 EQU *-1 
      OCT 013774,067777,001727,002020 
      OCT 102077,002003,006002,102000 
      OCT 027714,000000,106601,102501 
LDR96 EQU *-2 
LDR97 EQU *-1 
      OCT 001323,001310,027762,103701 
LDR98 EQU *-1 
      OCT 127761,001501,001423,000203 
      OCT 016263,000077,000000,000000 
      OCT 100000
      ABS LDR90-LODR9-1 
      ABS LDR91-LODR9-1 
      ABS LDR92-LODR9-1 
      ABS LDR93-LODR9-1 
      ABS LDR94-LODR9-1 
      ABS LDR95-LODR9-1 
      ABS LDR96-LODR9-1 
      ABS LDR97-LODR9-1 
      ABS LDR98-LODR9-1 
      OCT 100000
      OCT 100000
      DEF STOP
      SKP 
      HED SCE/1 91700-16160 BOOT
* 
*  SCE/1 BOOT  HALT VERSION 
* 
LOD10 DEC -64 
      OCT 107700,103500,102500,063775 
LD100 EQU *-4 
LD101 EQU *-3 
LD102 EQU *-2 
      OCT 017743,063730,017743,003004 
      OCT 017743,001363,102401,017743 
      OCT 102600,017760,057775,027765 
LD103 EQU *-4 
      OCT 077777,006021,102013,017760 
      OCT 077776,077743,106601,017760 
      OCT 177776,037776,047743,077743 
      OCT 037777,027727,017753,063774 
      OCT 057743,063773,027714,000000 
      OCT 102600,017753,057773,127743 
LD104 EQU *-4 
      OCT 057774,027744,102012,000000 
      OCT 102300,027754,106500,127753 
LD105 EQU *-4 
LD106 EQU *-2 
      OCT 000000,017753,063773,102600 
LD107 EQU *-1 
      OCT 127760,017760,017760,017760 
      OCT 006002,102011,102077,170360 
      OCT 007417,170017,000000,000000 
      OCT 100000
      ABS LD100-LOD10-1 
      ABS LD101-LOD10-1 
      ABS LD102-LOD10-1 
      ABS LD103-LOD10-1 
      ABS LD104-LOD10-1 
      ABS LD105-LOD10-1 
      ABS LD106-LOD10-1 
      ABS LD107-LOD10-1 
      OCT 100000
      OCT 100000
      DEF STOP
      HED BASIC BINARY DISC LOADER (BBDL) 
* 
*     BASIC BINARY DISC LOADER (BBDL) 
* 
      ORG 3677B 
LODR1 DEC -64 
ST2   CLC 0,C 
      CLA,RSS 
CONT2 LDA CM21
      CLB,CCE 
      JSB READ2 
LEDR2 CMB,CCE,INB,SZB 
      JMP RECL2 
EOTC2 INA,SZA 
      JMP CONT2+1 
      HLT 77B 
      JMP ST2 
RECL2 STB CNT2
      JSB READ2 
      JSB READ2 
      STB A 
      STB ADR11 
SUCID LDB ADR11 
      ADB MAXAD 
      SEZ 
      JMP RESCU 
LOAD2 JSB READ2 
      ADA B 
CM21  STB ADR11,I 
      ISZ ADR11 
      CLE 
      ISZ CNT2
      JMP SUCID 
      JSB READ2 
      CPB A 
      JMP CONT2 
      HLT 11B 
      JMP ST2 
RESCU HLT 55B 
      JMP ST2 
READ2 NOP 
      CLB,CME 
LDR10 EQU * 
RED2  STC PR,C
LDR11 EQU * 
      SFS PR
      JMP *-1 
LDR12 EQU * 
      MIB PR,C
      SEZ,RSS 
      JMP READ2,I 
      BLF,CLE,BLF 
      JMP RED2
CNT2  NOP 
LDR16 EQU * 
MAXAD NOP 
LDR13 EQU * 
CWORD ABS 20000B+DC 
ADR11 NOP 
DLDR  CLC 0,C 
      LDA CWORD 
      OTA 6 
      CLA,CCE 
LDR14 EQU * 
      OTA CC
      ERA 
      OTA 2 
      LDA WRDCT 
      STC 2 
      OTA 2 
      STC 6,C 
LDR15 EQU * 
      STC DC
      LDB JMP77 
      STB 77B 
JMP77 JMP 77B 
WRDCT OCT -100
* 
      ABS LDR10-LODR1-1 
      ABS LDR11-LODR1-1 
      ABS LDR12-LODR1-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR13-LODR1-1 
      ABS LDR14-LODR1-1 
      ABS LDR15-LODR1-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR16-LODR1-1 
      OCT 100000   SECTION SEPERATOR
      DEF STOP     NO PROCESSING
      HED BASIC MOVING-HEAD DISC LOADER (BMDL 7900) 
* 
*  BASIC MOVING-HEAD DISC LOADER [  BMDL(7900) ]
* 
      ORG 5677B 
LODR2 DEC -64 
* 
* PAPER TAPE BOOTSTRAP
* 
*    STARTING ADDRESS - X7700B
* 
BE2   CLA,RSS 
START LDA .EOT          GET HOLE COUNT
AGIN  CLC 0,C 
      CCE,INA,SZA,RSS    END OF TAPE? 
      HLT 77B            YES - GOOD HLT 
      JSB WORD          GET NEXT CHARACTER
      CMB,CCE,INB,SZB,RSS     IS IT WRD CNT?
      JMP AGIN                NO-GET NEXT CHAR
* 
TEST  STB WDCNT         STORE B-REG IN WRD CNT
      JSB WORD        GET NEXT CHAR 
        JSB WORD        GET ADDRESS WORD
      STB A             STORE 
LOOP  STB ADDR              ADDRESS WORD
* 
      ADB LOADR         ADD TO LOADR ADDRESS
      SEZ,CLE           IS IT BEYOND LWAM?
ADDR2 HLT 55B         YES- SUICIDE LOAD 
* 
      JSB WORD           NO-GET NEXT WORD 
.EOT  STB ADDR,I        PUT WORD IN CORE
      ADA B             ADD TO CHECKSUM 
      LDB ADDR
      CLE,INB 
      ISZ WDCNT         INCREMENT WORD COUNT
      JMP LOOP         NOT DONE-GET NEXT WORD 
* 
      JSB WORD          GET CHECKSUM WORD 
      CPB A            COMPARE TO COMPUTED VALUE
      JMP START          OK-TRY NEXT RECORD 
ADDR1 HLT 11B           CHECKSUM ERROR
* 
WDCNT NOP 
LDR2F EQU * 
LOADR NOP 
* 
WORD  NOP 
      CLB            CLEAR B TO MERGE 
* 
LDR20 EQU * 
CHAR  STC PR,C          GET CHAR
LDR21 EQU * 
      SFS PR               FROM PHOTOREADER 
MASK  JMP *-1 
LDR22 EQU * 
      MIB PR,C
* 
      SEZ,CME       IF 2ND CHAR,
      JMP WORD,I          RETURN
      BLF,BLF       IF 1ST CHAR,
      JMP CHAR            GET 2ND 
* 
ADDR  NOP 
* 
* DISC BOOTSTRAP  -- LOADS DISC PRE-BOOT PROCESSOR FROM 
*                      TRACK 0, SECTOR 0, DRIVE 0 
*                      HEAD # INPUT FROM SWITCH REG 
* 
*   STARTING ADDRESS - X7750B 
* 
*** "PRESET" MUST BE PRESSED
* 
SEEKC OCT 30000 
      LDB MASK
LDR23 EQU * 
      OTB CC        ISSUE READ COMMAND
LDR24 EQU * 
      STC CC,C      START READ TO CLEAR 1ST STATUS
      LDA SEEKC 
LDR25 EQU * 
      OTA DC        ISSUE CYCLINDER ADDR (0)
LDR26 EQU * 
      STC DC,C      TELL CTRL. CYL. ADDRS IS LOADED 
LDR27 EQU * 
      OTA CC        ABORT READ, SEND SEEK COMND 
LDR28 EQU * 
      STC CC,C      START SEEK
      LDA DMACW 
      OTA 6         ISSUE DMA CONTROL WORD
      LDA ADDR1 
      OTA 2         ISSUE START MEM ADDR (2011B)
LDR29 EQU * 
      STC DC,C      TELL CNTR. HEAD/SECT LOADED 
      STC 2         SET FOR WORD COUNT
      OTA 2         ISSUE WORD COUNT (HUGE) 
LDR2A EQU * 
      OTB CC        ISSUE READ COMND
LDR2B EQU * 
      STC DC,C      PREVENT SPURIOUS DMA TRANS. 
      STC 6,C       START DMA 
LDR2C EQU * 
      STC CC,C      START DISK READING
LDR2D EQU * 
      SFS CC        WAIT FOR DISK TRANS (6144 WORDS)
      JMP *-1 
      JSB ADDR2,I   DONE; JUMP INTO MEM (2055B,I) 
LDR2E EQU * 
DMACW ABS 120000B+DC
      ABS LDR20-LODR2-1 
      ABS LDR21-LODR2-1 
      ABS LDR22-LODR2-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR23-LODR2-1 
      ABS LDR24-LODR2-1 
      ABS LDR25-LODR2-1 
      ABS LDR26-LODR2-1 
      ABS LDR27-LODR2-1 
      ABS LDR28-LODR2-1 
      ABS LDR29-LODR2-1 
      ABS LDR2A-LODR2-1 
      ABS LDR2B-LODR2-1 
      ABS LDR2C-LODR2-1 
      ABS LDR2D-LODR2-1 
      ABS LDR2E-LODR2-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR2F-LODR2-1 
      OCT 100000   SECTION SEPERATOR
      DEF STOP     NO PROCESSING
      HED BASIC MOVING-HEAD DISC LOADER (BMDL 2883) 
* 
*  BASIC MOVING-HEAD DISC LOADER  [ BMDL(2883) ]
* 
LODR3 DEC -64 
      OCT 002701,063722,002307,102077 
      OCT 017735,007307,027702,077733 
      OCT 017735,017735,074000,077734 
      OCT 067734,047777,002040,102055 
      OCT 017735,040001,177734,037734 
      OCT 000040,037733,027714,017735 
      OCT 054000,027701,102011,000000 
      OCT 000000,000000,006600,103700 
LDR30 EQU *-1 
      OCT 102300,027740,106400,002041 
LDR31 EQU *-4 
LDR32 EQU *-2 
      OCT 127735,005767,027737,177600 
      OCT 063775,102601,103701,102301 
LDR33 EQU *-3 
LDR34 EQU *-2 
LDR35 EQU *-1 
      OCT 027753,067776,106606,067732 
      OCT 106602,102702,067747,106602 
      OCT 001000,106701,102601,103700 
LDR36 EQU *-3 
LDR37 EQU *-2 
LDR38 EQU *-1 
      OCT 103706,103701,102301,027772 
LDR39 EQU *-3 
LDR3A EQU *-2 
      OCT 127717,020000,120000,000000 
LDR3B EQU *-2 
LDR3C EQU *-1 
      ABS LDR30-LODR3-1 
      ABS LDR31-LODR3-1 
      ABS LDR32-LODR3-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR33-LODR3-1 
      ABS LDR34-LODR3-1 
      ABS LDR35-LODR3-1 
      ABS LDR36-LODR3-1 
      ABS LDR37-LODR3-1 
      ABS LDR38-LODR3-1 
      ABS LDR39-LODR3-1 
      ABS LDR3A-LODR3-1 
      ABS LDR3B-LODR3-1 
      OCT 100000   SECTION SEPERATOR
      ABS LDR3C-LODR3-1 
      OCT 100000   SECTION SEPERATOR
      DEF STOP     NO PROCESSING
      HED BASIC MOVING-HEAD DISC LOADER (BMDL 2870) 
* 
*  BASIC MOVING-HEAD DISC LOADER  [ BMDL(2870)  ] 
* 
* SEE BMDL FOR 7900 
* 
      HED MAG TAPE REFORMATTING SYSTEM LOADER 
* 
*  MAGNETIC TAPE REFORMATTING SYSTEM BOOTSTRAP
* 
LODR5 DEC -64 
      OCT 063775,102601,103701,106501 
LDR50 EQU *-3 
LDR51 EQU *-2 
      OCT 007307,067767,077773,063774 
      OCT 102601,102501,001323,001310 
LDR52 EQU *-4 
LDR53 EQU *-3 
      OCT 027707,103701,103700,063773 
LDR54 EQU *-3 
LDR55 EQU *-2 
      OCT 006645,027725,067766,077777 
      OCT 067771,002042,027707,102201 
LDR56 EQU *-1 
      OCT 027741,102300,027727,103500 
LDR57 EQU *-3 
LDR58 EQU *-1 
      OCT 173777,006011,037777,004065 
      OCT 027731,005500,073777,067773 
      OCT 063776,002240,002003,027754 
      OCT 033765,006007,070002,000040 
      OCT 006020,027706,102501,013772 
LDR59 EQU *-2 
      OCT 002002,102001,006003,027706 
      OCT 063770,024000,000000,177774 
LDR5A EQU *-2 
      OCT 102070,001677,000202,000000 
      OCT 000023,001501,000000,000000 
      OCT 100000   SECTION SEPERATOR
      ABS LDR50-LODR5-1 
      ABS LDR51-LODR5-1 
B10   EQU * 
      ABS LDR52-LODR5-1 
      ABS LDR53-LODR5-1 
      ABS LDR54-LODR5-1 
      ABS LDR55-LODR5-1 
      ABS LDR56-LODR5-1 
      ABS LDR57-LODR5-1 
      ABS LDR58-LODR5-1 
      ABS LDR59-LODR5-1 
      OCT 100000   SECTION SEPERATOR
      OCT 100000   SECTION SEPERATOR
      DEF *+1      SOME PROCESSING TO DO! 
      LDB TOPS
      CMB,INB 
      ADB B66 
      LDA B 
      ADA B10 
      STA B,I 
      JMP STOP
      HED 2000 ACCESS IOP PROTECTED LOADER
* 
*  2000 ACCESS IOP PROTECTED LOADER 
* 
LODR7 DEC -64 
      OCT 163774,027751,107700,002702 
      OCT 063772,002307,027760,017736 
      OCT 007307,027705,077770,017736 
      OCT 017736,074000,077771,067771 
      OCT 047773,002040,102055,017736 
      OCT 040001,177771,037771,000040 
      OCT 037770,027717,017736,054000 
      OCT 027704,102011,000000,006600 
      OCT 103700,102300,027741,106400 
      OCT 002041,127736,005767,027740 
      OCT 163775,043765,073741,043766 
      OCT 073740,043767,073743,027702 
      OCT 063777,067776,102077,027702 
      OCT 000000,102300,001400,002500 
      OCT 000000,000000,177746,000000 
      OCT 003776,003777,000000,000000 
LDR70 EQU *-1 
LDR71 EQU *-2 
LDR72 EQU *-5 
      ABS LDR70-LODR7-1 
      OCT 100000   SECTION SEPARATOR
      ABS LDR71-LODR7-1 
      OCT 100000   SECTION SEPARATOR
LDR73 ABS LDR72-LODR7-1 
      OCT 100000   SECTION SEPARATOR
      DEF *+1       START EXTRA PROCESSING
      LDB CORE
      ADB LDR73 
      INB 
      LDA LDR72+1 
      IOR CORE
      STA B,I 
      INA 
      INB 
      STA B,I 
      JMP STOP
      HED BASIC MOVING-HEAD DISC LOADR  [ BMDL(7905) ]
* 
* BASIC MOVING-HEAD DISC LOADER [ BMDL(7905) ]
* 
      ORG 7677B 
LODR6 DEC -64 
* 
* PAPER TAPE BOOTSTRAP
* 
*    STARTING ADDRESS - X7700B
* 
BE6   CLA,RSS 
ST6   LDA .EOT6     GET HOLE COUNT
AGIN6 CLC 0,C 
      CCE,INA,SZA,RSS    END OF TAPE? 
      HLT 77B            YES - GOOD HLT 
      JSB WORD6 
      CMB,CCE,INB,SZB,RSS     IS IT WRD CNT?
      JMP AGIN6          NO-GET NXT CHAR
* 
      STB WCNT6     STORE B-REG IN WRD CNT
      JSB WORD6     GET NEXT CHAR 
      JSB WORD6     GET ADDRESS WORD
      STB A             STORE 
LOOP6 STB ADDR6          ADDRESS WORD 
* 
      ADB LOAD6     ADD TO LOADR ADDRESS
      SEZ,CLE           IS IT BEYOND LWAM?
ADR26 HLT 55B       YES-SUICIDE LOAD
* 
      JSB WORD6     NO-GET NEXT WORD
      ADA B             ADD TO CHECKSUM 
.EOT6 STB ADDR6,I   PUT WORD IN MEMORY
      LDB ADDR6 
      CLE,INB 
      ISZ WCNT6      INCREMENT WORD COUNT 
      JMP LOOP6      NOT DONE-GET NEXT WORD 
* 
      JSB WORD6      GET CHECKSUM WORD
      CPB A            COMPARE TO COMPUTED VALUE
      JMP ST6          OK-TRY NEXT WORD 
ADR16 HLT 11B        CHECKSUM ERROR 
* 
WCNT6 NOP 
LDR67 EQU * 
LOAD6 NOP 
* 
WORD6 NOP 
      CLB            CLEAR B TO MERGE 
* 
LDR60 EQU * 
CHAR6 STC PR,C       GET CHAR 
LDR61 EQU * 
      SFS PR               FROM PHOTOREADER 
      JMP *-1 
LDR62 EQU * 
      MIB PR
* 
      SEZ,CME       IF 2ND CHAR,
      JMP WORD6,I           RETURN
      BLF,BLF       IF 1ST CHAR,
      JMP CHAR6             GET SECOND
* 
ADDR6 NOP 
* 
* DISC BOOTSTRAP  -- LOADS DISC PRE-BOOT PROCESSOR FROM 
*                      TRACK 0, SECTOR 0, DRIVE 0 
*                      HEAD # INPUT FROM SWITCH REG 
* 
*   STARTING ADDRESS - X7750B 
* 
*** "PRESET" MUST BE PRESSED
* 
      LDB ADR36      IN 2055B PLACE ADDR OF 2055B 
CNT6  STB B,I         FOR INDIRECT JMP. PLACE HLT 
      INB             IN 2056B TO REPROTECT THE 
      LDA ADR16       BMDL IF THE PRE-BOOT IS NOT 
      STA B,I         LOADED FROM THE DISC. 
      LDB DMAC6     GET DMA CONTROL WORD
      OTB 6 
      CLC 2 
      OTA 2         SEND MEM ADDR 
      STC 2         SET DMA FOR WORD CNT
      LDA CNT6
      OTA 2          NEED 128 WRDS,GET EXTRA
      LIA 1         GET SUBCHANNEL
      ALS,ALF       PUT SUBCHAN # IN HEAD FIELD 
      AND MSK 
MSK   OCT 160       <CLE,ALS> EXTRA BIT IGNORED 
LDR63 EQU * 
      CLC DC        SET "NEXT WRD IS COMND FLG" 
LDR64 EQU * 
      OTA DC,C      SEND COLD LOAD COMND
      STC 6,C       START DMA 
LDR65 EQU * 
      SFS DC        WAIT UNTIL COMPLETED
      JMP *-1 
      JSB ADR26,I    START BOOT 
LDR66 EQU * 
DMAC6 ABS DC
ADR36 OCT 2055
* 
      ABS LDR60-LODR6-1 
      ABS LDR61-LODR6-1 
      ABS LDR62-LODR6-1 
      OCT 100000     SECTION SEPERATOR
      ABS LDR63-LODR6-1 
      ABS LDR64-LODR6-1 
      ABS LDR65-LODR6-1 
      ABS LDR66-LODR6-1 
      OCT 100000     SECTION SEPERATOR
      ABS LDR67-LODR6-1 
      OCT 100000     SECTION SEPERATOR
      DEF STOP
      END INIT
                        