0001 ASMB,A,B,L,C 0002 HED 7900/7901/2883 DISC BOOT (12992A) PART 12992-80008 0003 07700 ORG 7700B 0004********************************************* 0005* * 0006* REV. 1-27-76 * 0007* PART NUMBER 12992-80008 * 0008* PRODUCT NUMBER 12992A * 0009* * 0010********************************************* 0011* 0012* SNITCH REGISTER USAGE 0013* 0014* 0015* 15-14 LOADER SELECT 0016* 13-12 O0 - 7900 DISC 0017* 01 - RESERVED 0018* 10 - 2883 DISC 0019* 11-6 DISC SELECT CODE 0020* 5-3 RESERVED FOR DIAGNOSTIC GROUP 0021* 2-0 SUBCHANNEL NUMBER 0022* 0023* 0024 00010 DC EQU 10B 0025 00011 CC EQU DC+1 0026* 0027**** "PRESET" MUST BE PRESSED 0028* 0030 07700 START EQU * 0031 07700 102501 LIA 1 GET CONTENTS OF S-REG 0032 07701 106501 LIB 1 0033 07702 013765 AND D7 ISOLATE SUBCHANNEL 0034 07703 005750 BLF,CLE,SLB 0035 07704 027741 JMP READ 0036 07705 005335 RBR,SLB,ERB PUT BIT 13 IN E - SET = 2883 0037 07706 027717 JMP ISS 0038* 0039* FALL THROUGH 0040* A HAS LAST 3 BITS OF S REG 0041* B HAS S REG SHIFTED 0042* 13 / 12 11 10 / 9 8 7 / 6 5 4 / 3 2 1 / 0 15 14 0043* E IS 0 0044* 0045 07707 LOOP EQU * 0046 07707 102611 OTA CC DO 7900 STATUS TO 0047 07710 103711 STC CC,C CLEAR FIRST SEEK 0048 07711 102310 SFS DC STATUS 0049 07712 027711 JMP *-1 0050 07713 002004 INA GET NEXT DRIVE 0051 07714 053765 CPA D7 ALL CLEARED? 0052 07715 002001 RSS YES 0053 07716 027707 JMP LOOP 0054* 0055* FALL THROUGH 0056* A HAS A 7 0057* B HAS S REG SHIFTED - SEE ABOVE COMMENT 0058* E HAS CONDITION OF BIT 13 OF S REG 0059* 0060* JMP ISS 0061* A HAS LAST 3 BITS OF S REG 0062* B HAS S REG SHIFTED - SEE ABOVE COMMENT 0063* EISA 1 0064* 0065 07717 ISS EQU * 0066 07717 067761 LDB SEEKC GET SEEK COMND 0067 07720 106610 OTB DC ISSUE CYLINDER ADDR (0) 0068 07721 103710 STC DC,C TELL CTRL. CYC. ADDR LOADED 0069 07722 106611 OTB CC 0070 07723 103711 STC CC,C START SEEK 0071 07724 102310 SFS DC 0072 07725 027724 JMP *-1 0073 07726 006400 CLB 0074 07727 102501 LIA 1 0075 07730 002051 SEZ,SLA,RSS SUBCHAN-1 OR ISS SKIP 0076 07731 ISSRD EQU * 0077 07731 047770 ADB BIT9 0078 07732 106610 OTB DC SEND SECTOR ADDR 0079 07733 103710 STC DC,C 0080 07734 102311 SFS CC WAIT FOR SEEK 0081 07735 027734 JMP *-1 0082 07736 063731 LDA ISSRD GET ISS READ COMND 0083 07737 002341 SEZ,CCE,RSS ISS DISC? 0084 07740 001100 ARS NO-MAKE 7900 READ COMND 0085* 0086* FALL THROUGH 0087* A HAS DISC READ COMND 0088* B HAS EITHER A 0 DR BIT 9 SET 0089* E IS A 1 0090* 0091* JMP READ 0092* A HAS LAST 3 BITS OF THE S REG 0093* B HAS S REG SHIFTED 0094* E IS A 0 0095* 0096 07741 READ EQU * 0097 07741 067776 LDB DMACW GET DMA CONTROL WORD 0098 07742 106606 OTB 6 ISSUE DMA CONTROL WORD 0099 07743 067762 LDB ADDR1 GET MEMORY ADDR 0100 07744 077741 STB READ MAKE BOOT NONREEXECUTABLE 0101 07745 106602 OTB 2 ISSUE MEMORY ADDR 0102 07746 102702 STC 2 SET WORD COUNT 0103 07747 067764 LDB CNT GET WORD COUNT 0104 07750 106602 OTB 2 ISSUE WORD COUNT 0105* 0106* FALL THROUGH 0107* A HAS EITHER THE DISC READ COMND 0108* OR THE LAST 3 BITS OF THE S REG 0109* B HAS DMA WORD COUNT 0110* E IS EITHER A 1 0111* OR A 0 0112* 0113 07751 002041 SEZ,RSS 0114 07752 027766 JMP NEW 0115 07753 102611 OTA CC ISSUE READ COMHD 0116 07754 103710 STC DC,C 0117 07755 103706 STC 6,C START DMA 0118 07756 103711 STC CC,C START DISK READING 0119 07757 037773 ISZ SKIP 0120 07760 027773 JMP SKIP 0121* 0122* 0123* CONSTANTS 0124* 0125 07761 030000 SEEKC OCT 30000 0126 07762 102011 ADDR1 OCT 102011 0127 07763 102055 ADDR2 OCT 102055 0128 07764 164000 CNT DEC -6144 0129 07765 000007 D7 DEC 7 0130* 0131* 0132 07766 106710 NEW CLC DC SET "NEXT WRD IS COMND FLG" 0133 07767 001720 ALF,ALS MOVE TO HEAD NUMBER LOC. 0134 07770 001000 BIT9 ALS 0135 07771 103610 OTA DC,C OUTPUT COLD LOAD COMND 0136 07772 103706 STC 6,C 0137 07773 SKIP EQU * 0138 07773 102310 SFS DC 0139 07774 027773 JMP *-1 0140 07775 117763 EXIT JSB ADDR2,I 0141* 0142* EXIT 0143* TRACK O, SECTOR 0 OF APPROPRIATE 0144* SUBCHANNEL NOW IN MEMORY 0145* 0146 07776 120010 DMACW ABS 120000B+DC 0147 07777 170100 ABS -START 0148 END ADDR1 007762 01/0126 -- 01/0099 ADDR2 007763 01/0127 -- 01/0140 BIT9 007770 01/0134 -- 01/0077 CC 000011 01/0025 -- 01/0046 01/0047 01/0069 01/0070 01/0080 01/0115 01/0118 CNT 007764 01/0128 -- 01/0103 D7 007765 01/0129 -- 01/0033 01/0051 DC 000010 01/0024 -- 01/0025 01/0048 01/0067 01/0068 01/0071 01/0078 01/0079 01/0116 01/0132 01/0135 01/0138 01/0146 DMACW 007776 01/0146 -- 01/0097 EXIT 007775 01/0140 -- unreferenced ISS 007717 01/0065 -- 01/0037 ISSRD 007731 01/0076 -- 01/0082 LOOP 007707 01/0045 -- 01/0053 NEW 007766 01/0132 -- 01/0114 READ 007741 01/0096 -- 01/0035 01/0100 SEEKC 007761 01/0125 -- 01/0066 SKIP 007773 01/0137 -- 01/0119 01/0120 START 007700 01/0030 -- 01/0147 17 symbols 1 unreferenced 148 lines assembled, 64 words generated 0 errors, 0 warnings