1 /PATCH CHANGES INTERRUPT VERSION OF 2 /DECTAPE I/O TO NON-INTERRUPT CALL 3 /TO GENERALIZED I/O IN LAST PAGE, 4 /AND RETURNS AS IF INTERRUPT OCCURED 5 DCMA=6601 6 DTXA=6764 7 FIXTAB 8 /POINTERS TO LOCATIONS IN PIP 9 DTABSY=2000 10 CDIOX=2001 11 ERROR=2147 12 SKPZ=120 13 ZRET=53 14 TAC=3 15 LINK=4 16 SYSIO=121 17 A4=133 18 IDLEO=300 19 IDLEZ=72 20 ITIMER=5 21 IDLE=302 22 IDLE1=307 23 OUTDEV=155 24 INDEV=156 25 A3=17 26 A7=15 27 M3=136 28 BUFPTI=440 29 BUFSZI=441 30 BUFSTI=151 31 IWAIT=153 32 OWAIT=154 33 BUFSTO=152 34 BUFPTO=511 35 BUFSZO=512 36 M200=123 37 /INTERRUPT SERVICE ROUTINE PATCHES 38 *213 39 000213 6601 DCMA /CLEAR DISK FLAG 40 *210 41 000210 6764 DTXA /CLEAR DECTAPE FLAG 42 43 /MODIFICATIONS TO OPERATING LEVEL ROUTINE 44 *IDLE+4 45 000306 5774 JMP I IDLE5 /INPUT BUFFER EMPTY 46 *IDLE1+4 47 000313 5775 JMP I IDLE6 /OUTPUT BUFFER FULL 48 /FREE CORE MEMORY 49 *374 50 000374 2203 IDLE5, IDLE5A 51 000375 2213 IDLE6, IDLE6A 52 *2202 53 002202 7402 HLT /THERE IS NO DISK!! 54 002203 1156 IDLE5A, TAD INDEV 55 002204 7700 SMA CLA 56 002205 5472 JMP I IDLEZ /NON-FILE 57 002206 6002 IOF /GENERATE INTERRUPT 58 002207 1072 TAD IDLEZ 59 002210 3000 DCA 0 /IWAIT WILL INDICATE 60 002211 3003 DCA TAC /IF READ DESIRED 61 002212 5453 JMP I ZRET 62 002213 1155 IDLE6A, TAD OUTDEV 63 002214 7700 SMA CLA 64 002215 5626 JMP I IDLE1Z /NON-FILE 65 002216 6002 IOF 66 002217 1154 TAD OWAIT /FLAG TO START OUTPUT 67 002220 7001 IAC 68 002221 3154 DCA OWAIT 69 002222 1226 TAD IDLE1Z 70 002223 3000 DCA 0 71 002224 3003 DCA TAC 72 002225 5453 JMP I ZRET 73 002226 0307 IDLE1Z, IDLE1 74 75 *CDIOX 76 002001 0000 CDIOX, 0 77 002002 6002 IOF 78 002003 7000 NOP /FOR DEBUGGING 79 002004 7200 CLA 80 002005 3200 DCA DTABSY 81 002006 1601 TAD I CDIOX 82 002007 2201 ISZ CDIOX 83 002010 3235 DCA P8EFN /FUNCTION WORD 84 002011 1601 TAD I CDIOX 85 002012 2201 ISZ CDIOX 86 002013 3236 DCA P8EBL /BLOCK ADDRESS 87 002014 1601 TAD I CDIOX 88 002015 2201 ISZ CDIOX 89 002016 3237 DCA P8ECR /CORE ADDRESS 90 002017 1201 TAD CDIOX 91 002020 3311 DCA P8ELKA /ADDRESS OF LINK 92 002021 1711 TAD I P8ELKA /LINK 93 002022 2201 ISZ CDIOX 94 002023 3240 DCA P8ELK /CALLING LINK 95 002024 1120 TAD SKPZ 96 002025 3712 DCA I IDLEOZ 97 002026 3005 DCA ITIMER 98 002027 3003 DCA TAC 99 002030 3004 DCA LINK 100 002031 7000 NOP /FOR DEBUGGING 101 002032 7000 NOP 102 002033 7000 NOP 103 002034 4521 JMS I SYSIO 104 002035 0000 P8EFN, 0 105 002036 0000 P8EBL, 0 106 002037 0000 P8ECR, 0 107 002040 0000 P8ELK, 0 108 002041 5355 JMP ERROR+6 109 002042 7000 NOP 110 002043 7000 NOP 111 002044 7000 NOP /FOR DEBUGGING 112 002045 7200 CLA 113 002046 1235 TAD P8EFN /READ? 114 002047 0015 AND A7 115 002050 1136 TAD M3 116 002051 7640 SZA CLA 117 002052 5271 JMP P8EWRT 118 002053 1240 TAD P8ELK 119 002054 3711 DCA I P8ELKA /RETURN LINK 120 002055 7001 IAC 121 002056 3551 DCA I BUFSTI /MARK BUFFER FULL 122 002057 2151 ISZ BUFSTI /GET POINTER TO NEXT 123 002060 1551 TAD I BUFSTI /BUFFER 124 002061 3151 DCA BUFSTI /STORE POINTER (PERMANENT) 125 002062 1151 TAD BUFSTI 126 002063 1017 TAD A3 127 002064 3705 DCA I BFPTI 128 002065 1123 TAD M200 /FIXED BUFFER SIZE=128 WORDS 129 130 002066 3706 DCA I BFSZI 131 002067 2153 ISZ IWAIT /SET FLAG FOR NEXT READ 132 002070 5601 JMP I CDIOX 133 002071 7240 P8EWRT, CLA CMA 134 002072 3552 DCA I BUFSTO /MARK BUFFER TO BE EMPTY 135 002073 2152 ISZ BUFSTO 136 002074 1552 TAD I BUFSTO /GET POINTER TO NEXT 137 002075 3152 DCA BUFSTO /BUFFER HEADER 138 002076 1152 TAD BUFSTO /SETUP POINTER TO 139 002077 1017 TAD A3 /BUFFER 140 002100 3707 DCA I BFPTO 141 002101 7040 CMA 142 002102 1123 TAD M200 /GET -201 143 002103 3710 DCA I BFSZO 144 002104 5601 JMP I CDIOX 145 002105 0440 BFPTI, BUFPTI 146 002106 0441 BFSZI, BUFSZI 147 002107 0511 BFPTO, BUFPTO 148 002110 0512 BFSZO, BUFSZO 149 002111 0000 P8ELKA, 0 150 002112 0300 IDLEOZ, IDLEO 151 152 /SAVE TIME IN "TIME" 153 *5160 154 005160 7000 NOP 155 005161 7000 NOP 156 005162 7000 NOP 157 005163 7000 NOP 158 $ A3 0017 A4 0133 unreferenced A7 0015 BFPTI 2105 BFPTO 2107 BFSZI 2106 BFSZO 2110 BUFPTI 0440 BUFPTO 0511 BUFSTI 0151 BUFSTO 0152 BUFSZI 0441 BUFSZO 0512 CDIOX 2001 DCMA 6601 DTABSY 2000 DTXA 6764 ERROR 2147 IDLE 0302 IDLE1 0307 IDLE1Z 2226 IDLE5 0374 IDLE5A 2203 IDLE6 0375 IDLE6A 2213 IDLEO 0300 IDLEOZ 2112 IDLEZ 0072 INDEV 0156 ITIMER 0005 IWAIT 0153 LINK 0004 M200 0123 M3 0136 OUTDEV 0155 OWAIT 0154 P8EBL 2036 P8ECR 2037 P8EFN 2035 P8ELK 2040 P8ELKA 2111 P8EWRT 2071 SKPZ 0120 SYSIO 0121 TAC 0003 ZRET 0053