| 1 | /1 BATCH INPUT STREAM HANDLER |
| 2 | / |
| 3 | / |
| 4 | / |
| 5 | / |
| 6 | / |
| 7 | / |
| 8 | / |
| 9 | / |
| 10 | / |
| 11 | /COPYRIGHT (C) 1974,1975 BY DIGITAL EQUIPMENT CORPORATION |
| 12 | / |
| 13 | / |
| 14 | / |
| 15 | / |
| 16 | / |
| 17 | / |
| 18 | / |
| 19 | / |
| 20 | / |
| 21 | / |
| 22 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE |
| 23 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT |
| 24 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY |
| 25 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. |
| 26 | / |
| 27 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER |
| 28 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED |
| 29 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH |
| 30 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. |
| 31 | / |
| 32 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE |
| 33 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY |
| 34 | /DIGITAL. |
| 35 | / |
| 36 | / |
| 37 | / |
| 38 | / |
| 39 | / |
| 40 | / |
| 41 | / |
| 42 | / |
| 43 | / |
| 44 | / |
| 45 | *0 |
| 46 | -1 /NUMBER OF DEVICES |
| 47 | DEVICE BAT /DEVICE TYPE NAME |
| 48 | DEVICE BAT /DEVICE NAME |
| 49 | 2220 /READ ONLY, CODE=22 |
| 50 | 0 /ONE PAGE |
| 51 | ZBLOCK 2 |
| 52 | |
| 53 | BATIN= 5400 |
| 54 | \f BATVERSION="B&77 |
| 55 | |
| 56 | |
| 57 | *200 |
| 58 | BAT, BATVERSION |
| 59 | CLA /PROTECTION |
| 60 | RDF /GET USER'S FIELD |
| 61 | TAD BATCDF /MAKE CDF CIF |
| 62 | DCA BATXIT /SAVE FOR EXIT |
| 63 | TAD BATISZ /RESET SUCCESS ISZ |
| 64 | DCA BATXIT-1 |
| 65 | TAD I BAT |
| 66 | AND BA7700 |
| 67 | CIA |
| 68 | DCA BATWC /SAVE WORD COUNT (DIVIDED BY 2) |
| 69 | TAD I BAT |
| 70 | AND BA0070 |
| 71 | TAD BATCDF /CREATE CDF TO BUFFER FIELD |
| 72 | TAD (-2 |
| 73 | DCA BATBUF |
| 74 | BATISZ, ISZ BAT |
| 75 | TAD I BAT |
| 76 | DCA BATCA /GET ADDRESS OF BUFFER |
| 77 | ISZ BAT |
| 78 | ISZ BAT /IGNORE BLOCK NUMBER |
| 79 | TAD BATWC /WAS COMMAND WRITE OR BUFFER LENGTH ZERO? |
| 80 | BA7700, SMA CLA |
| 81 | JMP BATER1 /YES - ERROR |
| 82 | BATCDF, CDF CIF 0 |
| 83 | TAD I BA7777 /IS BATCH RUNNING? |
| 84 | RAL |
| 85 | SMA CLA |
| 86 | JMP BATER2 /NO - ERROR |
| 87 | TAD I BA7777 |
| 88 | AND BA0070 |
| 89 | TAD BATCDF /CREATE CDF TO BATCH FIELD |
| 90 | DCA BATCAL /CREATE CDF CIF TO BATCH FIELD |
| 91 | |
| 92 | |
| 93 | |
| 94 | BATLP, JMS BATGET /GET CHAR |
| 95 | DCA I BATCA /SAVE IN BUFFER |
| 96 | JMS BATGET /GET NEXT CHAR |
| 97 | DCA BATTMP /SAVE IT FOR PACKING |
| 98 | JMS BATGET /GET NEXT CHAR |
| 99 | RTL |
| 100 | RTL |
| 101 | DCA BATTM2 /SAVE IT |
| 102 | TAD BATTM2 |
| 103 | AND BA7400 /ADD FIRST HALF |
| 104 | TAD I BATCA /TO FIRST CHAR |
| 105 | DCA I BATCA /SAVE THEM IN BUFFER |
| 106 | ISZ BATCA /UPDATE POINTER |
| 107 | BA7400, 7400 /PROTECT THE ISZ |
| 108 | TAD BATTM2 /GET SECOND HALF OF CHAR |
| 109 | RTL |
| 110 | RTL |
| 111 | AND BA7400 |
| 112 | TAD BATTMP /ADD TO SECOND CHAR |
| 113 | DCA I BATCA /SAVE IN BUFFER |
| 114 | ISZ BATCA /UPDATE POINTER |
| 115 | BA0070, 0070 /PROTECT THE ISZ |
| 116 | ISZ BATWC /DONE? |
| 117 | JMP BATLP /NO - LOOP |
| 118 | |
| 119 | ISZ BAT /SUCCESS RETURN (ON EOF THIS BECOMES CLA IAC) |
| 120 | BATXIT, HLT /CDF CIF TO USER FIELD |
| 121 | JMP I BAT /RETURN |
| 122 | |
| 123 | BATWC, 0 /WORD COUNT (DIVIDED BY 2) |
| 124 | BATCA, 0 /POINTER INTO BUFFER |
| 125 | BATTM2, |
| 126 | BATCHR, 0 /CHAR RETURNED BY BATGET |
| 127 | BATTMP, 0 |
| 128 | BA7777, 7777 |
| 129 | |
| 130 | |
| 131 | BATER1, |
| 132 | BATER2, CLA STL RAR |
| 133 | JMP BATXIT |
| 134 | \f/THIS ROUTINE GETS THE NEXT CHARACTER TO BE PUT INTO THE BUFFER |
| 135 | BATGET, 0 |
| 136 | 0 /IF LAST CHAR WAS <CR> THIS IS "JMP BATLF" |
| 137 | BATCAL, HLT /CIF CDF BATCH FIELD (ON EOF THIS IS "JMP BATBUF") |
| 138 | TAD I BATVFY |
| 139 | TAD (-2214 /VERIFY MAGIC LOCATION IN BATCH |
| 140 | SZA /AGAINST EQUALLY MAGIC CONTENTS |
| 141 | CDF CIF 0 |
| 142 | SZA CLA |
| 143 | JMP BATER2 /BATCH IS DESTROYED! |
| 144 | CDF /WE ARE IN FIELD ZERO |
| 145 | JMS I BATINN /CALL THE BATCH INPUT ROUTINE |
| 146 | JMP BATEOF /NO SKIP = END OF FILE |
| 147 | DCA BATCHR /SAVE CHARACTER RETURNED |
| 148 | TAD BATCHR |
| 149 | TAD BMCR /CARRIAGE RETURN? |
| 150 | SNA |
| 151 | JMP BATCR /YES |
| 152 | TAD BCRMLF /LINE FEED? |
| 153 | SNA |
| 154 | JMP BATCAL /YES - IGNORE IT |
| 155 | TAD BLFMDO /DOLLAR SIGN? |
| 156 | SNA CLA |
| 157 | JMP BATDO /YES |
| 158 | BATGEX, DCA BCRFLG /NO SPECIAL CHAR |
| 159 | TAD BATCHR /RETURN WITH CHAR IN AC |
| 160 | BATBUF, HLT /CDF USER BUFFER |
| 161 | JMP I BATGET /RETURN |
| 162 | |
| 163 | BLFJMP, JMP BATLF |
| 164 | BATCR, TAD BLFJMP /SET NEXT CALL TO RETURN <LF> |
| 165 | DCA BATGET+1 |
| 166 | CLA CMA /SET TO INDICATE <CR> |
| 167 | JMP BATGEX |
| 168 | |
| 169 | BATLF, DCA BATGET+1 /ZAP THE JMP TO HERE |
| 170 | TAD BLF /RETURN <LF> |
| 171 | BATGEJ, JMP BATBUF |
| 172 | |
| 173 | BATDO, TAD BCRFLG /IS THE "$" FIRST ON THIS LINE? |
| 174 | SNA CLA |
| 175 | JMP BATGEX /NO - NOTHING SPECIAL |
| 176 | TAD I BA7777 /YES - SET FLAG SO THAT |
| 177 | RTR /THE BATCH INPUT ROUTINE |
| 178 | STL RTL /WILL PUT THE DOLLAR-SIGN BACK |
| 179 | DCA I BA7777 |
| 180 | /RETURN CURRENT CHARACTER AGAIN |
| 181 | BATEOF, TAD BATCTZ /RETURN CTRL-Z THIS TIME |
| 182 | DCA BATCHR |
| 183 | DCA BATXIT-1 /SET HANDLER TO RETURN TO ERROR RETURN |
| 184 | TAD BATGEJ /SET BATGET TO RETURN ZEROES |
| 185 | DCA BATCAL |
| 186 | JMP BATCR+2 /AND FLAG NEW LINE FOR NEXT CALL |
| 187 | |
| 188 | BATINN, BATIN /ENTRY ADDRESS OF BATCH INPUT ROUTINE |
| 189 | BATVFY, BATIN+200 |
| 190 | BLF, 212 |
| 191 | BMCR, -215 |
| 192 | BCRMLF, 215-212 |
| 193 | BLFMDO, 212-"$ |
| 194 | BCRFLG, -1 |
| 195 | BATCTZ, 32 /CTRL-Z |
| 196 | |
| 197 | $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ |
| 198 | \f |