ASMB,A,B,L,C HED 7900/7901/2883 DISC BOOT (12992A) PART 12992-80008 ORG 7700B ********************************************* * * * REV. 1-27-76 * * PART NUMBER 12992-80008 * * PRODUCT NUMBER 12992A * * * ********************************************* * * SNITCH REGISTER USAGE * * * 15-14 LOADER SELECT * 13-12 O0 - 7900 DISC * 01 - RESERVED * 10 - 2883 DISC * 11-6 DISC SELECT CODE * 5-3 RESERVED FOR DIAGNOSTIC GROUP * 2-0 SUBCHANNEL NUMBER * * DC EQU 10B CC EQU DC+1 * **** "PRESET" MUST BE PRESSED * START EQU * LIA 1 GET CONTENTS OF S-REG LIB 1 AND D7 ISOLATE SUBCHANNEL BLF,CLE,SLB JMP READ RBR,SLB,ERB PUT BIT 13 IN E - SET = 2883 JMP ISS * * FALL THROUGH * A HAS LAST 3 BITS OF S REG * B HAS S REG SHIFTED * 13 / 12 11 10 / 9 8 7 / 6 5 4 / 3 2 1 / 0 15 14 * E IS 0 * LOOP EQU * OTA CC DO 7900 STATUS TO STC CC,C CLEAR FIRST SEEK SFS DC STATUS JMP *-1 INA GET NEXT DRIVE CPA D7 ALL CLEARED? RSS YES JMP LOOP * * FALL THROUGH * A HAS A 7 * B HAS S REG SHIFTED - SEE ABOVE COMMENT * E HAS CONDITION OF BIT 13 OF S REG * * JMP ISS * A HAS LAST 3 BITS OF S REG * B HAS S REG SHIFTED - SEE ABOVE COMMENT * EISA 1 * ISS EQU * LDB SEEKC GET SEEK COMND OTB DC ISSUE CYLINDER ADDR (0) STC DC,C TELL CTRL. CYC. ADDR LOADED OTB CC STC CC,C START SEEK SFS DC JMP *-1 CLB LIA 1 SEZ,SLA,RSS SUBCHAN-1 OR ISS SKIP ISSRD EQU * ADB BIT9 OTB DC SEND SECTOR ADDR STC DC,C SFS CC WAIT FOR SEEK JMP *-1 LDA ISSRD GET ISS READ COMND SEZ,CCE,RSS ISS DISC? ARS NO-MAKE 7900 READ COMND * * FALL THROUGH * A HAS DISC READ COMND * B HAS EITHER A 0 DR BIT 9 SET * E IS A 1 * * JMP READ * A HAS LAST 3 BITS OF THE S REG * B HAS S REG SHIFTED * E IS A 0 * READ EQU * LDB DMACW GET DMA CONTROL WORD OTB 6 ISSUE DMA CONTROL WORD LDB ADDR1 GET MEMORY ADDR STB READ MAKE BOOT NONREEXECUTABLE OTB 2 ISSUE MEMORY ADDR STC 2 SET WORD COUNT LDB CNT GET WORD COUNT OTB 2 ISSUE WORD COUNT * * FALL THROUGH * A HAS EITHER THE DISC READ COMND * OR THE LAST 3 BITS OF THE S REG * B HAS DMA WORD COUNT * E IS EITHER A 1 * OR A 0 * SEZ,RSS JMP NEW OTA CC ISSUE READ COMHD STC DC,C STC 6,C START DMA STC CC,C START DISK READING ISZ SKIP JMP SKIP * * * CONSTANTS * SEEKC OCT 30000 ADDR1 OCT 102011 ADDR2 OCT 102055 CNT DEC -6144 D7 DEC 7 * * NEW CLC DC SET "NEXT WRD IS COMND FLG" ALF,ALS MOVE TO HEAD NUMBER LOC. BIT9 ALS OTA DC,C OUTPUT COLD LOAD COMND STC 6,C SKIP EQU * SFS DC JMP *-1 EXIT JSB ADDR2,I * * EXIT * TRACK O, SECTOR 0 OF APPROPRIATE * SUBCHANNEL NOW IN MEMORY * DMACW ABS 120000B+DC ABS -START END ** NO ERROR* RTE ASMB 92001B (10/74)**