File: TECO12.LS of Disk: V50/Source/Source-Listing-MAC-2
(Source file text)
/3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 1 FILE # 1 1 /3 PDP-12 DISPLAY CODE FOR TECO V50 2 3 /ENTRY POINTS: 4 5 .GLOBAL DSPLAY /CALL TO REFRESH VR12 6 7 /EXTERNALS: 8 9 .ZTERNAL P /TEXT BUFFER POINTER 10 .ZTERNAL NUMLNS /NUMBER OF LINES (+ AND -) TO DISPLAY 11 .ZTERNAL R /LINKAGE TEMPORARY 12 .ZTERNAL NAME /4 WORDS OF TEMPORARIES 13 14 /PAGE 0 LITERALS: 15 16 .ZTERNAL Z7 /7 17 .ZTERNAL CAHT /11 18 .ZTERNAL Z177 /177 19 .ZTERNAL Z4 /4 20 .ZTERNAL ZM40 /-40 21 22 /EXTERNALS: 23 24 .EXTERNAL CHRL1 /ADVANCES LINES 25 .EXTERNAL PUSHJ /RECURSUVE PUSH JUMP ROUTINE 26 27 7346 MTHREE=CLL STA RTL 28 29 0000 * YPOS= NAME /USE SOME FREE PAGE ZERO LOCATIONS 30 0001 * DR= NAME+1 /FOR OUR TEMPORARIES 31 0002 * DQ= NAME+2 32 0003 * DM= NAME+3 33 34 0000 .XSECT TEC12X 35 36 ?0000 0000 DX, 0 /AUTO-INDEX REGISTER USED BY DISPLAY /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 2 FILE # 1 37 38 0200 .ASECT TECO12 39 40 4000 *4000 41 42 /DISPLAY ROUTINE FOR PDP-12 SCOPE 43 44 04000 0000 WASTE, 0 /** MUST BE AT MULTIPLE OF 2000 45 04001 0000 XPOS, 0 /PDP-12 BETA REGISTER 1 46 04002 0000 BETA2, 0 /PDP-12 BETA REGISTER 2 47 48 04003 0000 DSPLAY, 0 /TEXT DISPLAY ROUTINE FOR TECO 49 04004 7346 MTHREE /THIS ROUTINE DEPENDS ON THE FACT THAT THE 50 04005 1203 TAD DSPLAY /HIGH ORDER BITS OF THE X-COORD ARE IGNORED 51 04006 3000 * DCA DX /BY THE VR12 HARDWARE 52 04007 1400 * TAD I DX /GET THE SKIP 53 04010 3305 DCA DLPTST /PUT IT IN THE LOOP 54 04011 1000 * TAD P 55 04012 3000 * DCA DX 56 04013 1000 * TAD NUMLNS 57 04014 7161 STL CIA /LOOK BACKWARD 58 04015 0000 * PUSHJ /FOR BEGINNING OF DISPLAY AREA 59 04016 0000 * CHRL1 60 04017 7360 D360, STA STL /=7360 61 04020 1000 * TAD P 62 04021 3003 * DCA DM 63 04022 1000 * TAD DX 64 04023 3000 * DCA P /RESTORE POSITION 65 04024 1000 * TAD NUMLNS /NOW SCAN FORWARD 66 04025 7101 CLL IAC 67 04026 0000 * PUSHJ /FOR THE END OF THE DISPLAY AREA 68 04027 0000 * CHRL1 69 04030 1000 * TAD P 70 04031 7041 CIA 71 04032 1003 * TAD DM 72 04033 3000 * DCA R /*K* THIS NUMBER MUST GO IN R - 73 04034 1000 * TAD DX /THE W COMMAND NEEDS IT THERE 74 04035 3000 * DCA P /RESTORE ORIGINAL P 75 04036 1000 * DSETUP, TAD P 76 04037 7041 CIA 77 04040 1003 * TAD DM 78 04041 3002 * DCA DQ /SAVE COUNT OF CHARS TO CURSOR POSITION 79 04042 1003 * TAD DM 80 04043 3000 * DCA DX 81 04044 1000 * TAD R 82 04045 3001 * DCA DR 83 04046 1217 TAD D360 84 04047 3000 * DCA YPOS 85 04050 1365 DISCR, TAD DISLF 86 04051 3201 SETXPS, DCA XPOS /SET X POSITION/COLUMN COUNTER 87 04052 5305 JMP DLPTST /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 3 FILE # 1 88 89 /DISPLAY LOOP 90 91 04053 6211 DGETCH, CDF 10 92 04054 1400 * TAD I DX 93 04055 6201 CDF 0 /GET THE CHARACTER FROM FIELD 1 94 04056 0000 * AND Z177 /AND OFF THE HIGH ORDER BITS 95 04057 1377 TAD (-33 96 04060 7450 SNA /CHANGE ALTMODES 97 04061 1000 * TAD CAHT /TO DOLLAR SIGNS 98 04062 1376 TAD (-5 99 04063 7540 SMA SZA /IF NOT A CONTROL CHARACTER 100 04064 5304 JMP DLOOP /DISPLAY IT AND KEEP GOING 101 04065 7450 SNA 102 04066 5342 JMP DBLANK /DO BLANKS FAST 103 04067 1375 TAD (40-15 104 04070 7450 SNA /CR? 105 04071 5250 JMP DISCR /YES - RESET X COORD 106 04072 7120 STL 107 04073 1000 * TAD Z4 108 04074 7450 SNA /TAB? 109 04075 5332 JMP DTABB 110 04076 7420 SNL 111 04077 5365 JMP DISLF /LINE FEED, VERTICAL TAB, OR FORM FEED 112 04100 1374 TAD (51 /ORDINARY CONTROL CHAR - RESTORE IT + 40 113 04101 3200 DCA WASTE /SAVE CHAR 114 04102 4347 JMS DISCHR /DISPLAY ^ 115 04103 1200 TAD WASTE /NOW DISPLAY ALTERED CHAR 116 04104 4347 DLOOP, JMS DISCHR 117 118 04105 7402 DLPTST, HLT /EITHER KSF OR TSF OR "ISZ R" 119 04106 7410 SKP 120 04107 5603 JMP I DSPLAY /EXIT IMMEDIATELY IF TEST SKIPS 121 04110 2002 * ISZ DQ /ARE WE AT THE CURRENT POINTER POSITION? 122 04111 5327 JMP TSTEDS /NO 123 04112 1376 TAD (-5 124 04113 1201 TAD XPOS 125 04114 3201 DCA XPOS /BACK UP X POSITION A HALF-CHARACTER 126 04115 1320 TAD DM20 127 04116 1000 * TAD YPOS 128 04117 6141 6141 /ENTER LINC MODE 129 04120 1760 DM20, 1760 /DSC I 130 04121 2000 2000 131 04122 1760 1760 /DISPLAY A ^ 132 04123 2076 2076 133 04124 0002 0002 /PDP 134 04125 7346 MTHREE /AND MOVE X POSITION BACK TO WHERE IT WAS 135 04126 5343 JMP DBLANK+1 136 04127 2001 * TSTEDS, ISZ DR /ARE WE THROUGH? 137 04130 5253 JMP DGETCH /NO 138 04131 5236 JMP DSETUP /YES - START OVER /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 4 FILE # 1 139 140 04132 1201 DTABB, TAD XPOS /DISPLAY TAB 141 04133 7040 CMA 142 04134 0000 * AND Z7 143 04135 3200 DCA WASTE /GET NUMBER OF COLUMNS TO GO (-1) 144 04136 1200 TAD WASTE 145 04137 7106 CLL RTL 146 04140 7004 RAL 147 04141 1200 TAD WASTE /MULTIPLY BY 9 148 04142 1000 * DBLANK, TAD CAHT /BUMP ONE MORE COLUMN 149 04143 1201 TAD XPOS 150 04144 7440 SZA /OVERFLOW? 151 04145 5251 JMP SETXPS /NO - SET XPOS AND CONTINUE 152 04146 5363 JMP LINOFL /YES - GO TO THE NEXT LINE 153 154 /SUBROUTINE TO DISPLAY A CHARACTER 155 156 04147 4105 DISCHR, DLPTST /*K* DISCHR MUST CONTAIN "DLPTST" WHEN WE 157 04150 7104 CLL RAL /ARE EXAMINING CHARACTERS ** 158 04151 1373 TAD (DTABLE-1 159 04152 3202 DCA BETA2 /STORE ADDRESS OF TABLE ENTRY FOR CHAR -1 160 04153 1000 * TAD YPOS 161 162 04154 6141 6141 /ENTER LINC MODE 163 04155 1762 1762 /DSC I 2 164 04156 1762 1762 /DSC I 2 165 04157 0002 0002 /RE-ENTER PDP-8 MODE 166 167 04160 7200 CLA 168 04161 2201 ISZ XPOS /BUMP THE X COORDINATE/COLUMN COUNTER 169 04162 5747 JMP I DISCHR /RETURN 170 04163 1372 LINOFL, TAD (7054 /INDENT ALL CONTINUATION LINES 171 04164 3201 DCA XPOS 172 04165 7010 DISLF, RAR /*K* RAR=7010 AC MAY HAVE A SMALL NUMBER 173 04166 1000 * TAD YPOS /IN IT HERE - THATS OK AS LONG AS ITS SMALL, 174 04167 1000 * TAD ZM40 /SINCE ONLY THE HIGH 8 BITS OF YPOS COUNT. 175 04170 3000 * DCA YPOS 176 04171 5747 JMP I DISCHR /*K* THIS ALWAYS RETURNS TO DLPTST ** ------ 04172 7054 04173 4177 04174 0051 04175 0023 04176 7773 04177 7745 177 4200 PAGE /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 5 FILE # 1 178 179 04200 2000 DTABLE, 2000;2076; 7500;0000; 7000;0070; 7714;1477 04201 2076 04202 7500 04203 0000 04204 7000 04205 0070 04206 7714 04207 1477 180 04210 5721 5721;4671; 6661;4333; 5166;0526; 0000;0070 04211 4671 04212 6661 04213 4333 04214 5166 04215 0526 04216 0000 04217 0070 181 04220 3600 3600;0041; 4100;0036; 2050;0050; 0404;0437 04221 0041 04222 4100 04223 0036 04224 2050 04225 0050 04226 0404 04227 0437 182 04230 0500 0500;0006; 0404;0404; 0001;0000; 0601;4030 04231 0006 04232 0404 04233 0404 04234 0001 04235 0000 04236 0601 04237 4030 183 04240 4536 4536;3651; 2101;0177; 4523;2151; 4122;2651 04241 3651 04242 2101 04243 0177 04244 4523 04245 2151 04246 4122 04247 2651 184 04250 2414 2414;0477; 5172;0651; 1506;4225; 4443;6050 04251 0477 04252 5172 04253 0651 04254 1506 04255 4225 04256 4443 04257 6050 185 04260 5126 5126;2651; 5122;3651; 2200;0000; 4601;0000 04261 2651 04262 5122 04263 3651 04264 2200 04265 0000 /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 5-1 FILE # 1 04266 4601 04267 0000 186 04270 1000 1000;4224; 1212;1212; 2442;0010; 4020;2055 04271 4224 04272 1212 04273 1212 04274 2442 04275 0010 04276 4020 04277 2055 187 04300 4077 4077;5751; 4477;7744; 5177;2651; 4136;2241 04301 5751 04302 4477 04303 7744 04304 5177 04305 2651 04306 4136 04307 2241 188 04310 4177 4177;3641; 4577;4145; 4477;4044; 4136;2645 04311 3641 04312 4577 04313 4145 04314 4477 04315 4044 04316 4136 04317 2645 189 04320 1077 1077;7710; 7741;0041; 4142;4076; 1077;4324 04321 7710 04322 7741 04323 0041 04324 4142 04325 4076 04326 1077 04327 4324 190 04330 0177 0177;0301; 3077;7730; 3077;7706; 4177;7741 04331 0301 04332 3077 04333 7730 04334 3077 04335 7706 04336 4177 04337 7741 191 04340 4477 4477;3044; 4276;0376; 4477;3146; 5121;4651 04341 3044 04342 4276 04343 0376 04344 4477 04345 3146 04346 5121 04347 4651 192 04350 4040 4040;4077; 0177;7701; 0176;7402; 0677;7701 04351 4077 04352 0177 04353 7701 04354 0176 /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 5-2 FILE # 1 04355 7402 04356 0677 04357 7701 193 04360 1463 1463;6314; 0770;7007; 4543;6151; 4177;0000 04361 6314 04362 0770 04363 7007 04364 4543 04365 6151 04366 4177 04367 0000 194 04370 3040 3040;0106; 0000;7741; 2000;2076; 1604;0404 04371 0106 04372 0000 04373 7741 04374 2000 04375 2076 04376 1604 04377 0404 195 /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 6 FILE # 1 196 /3 PDP-12 DISPLAY CODE FOR TECO MACREL-V2C FRI 07-DEC-90 PAGE 7 SYMBOL TABLE BETA2 4002 CAHT Z 0*** CHRL1 X **** DBLANK 4142 DGETCH 4053 DISCHR 4147 DISCR 4050 DISLF 4165 DLOOP 4104 DLPTST 4105 DM 0003+ NAME DM20 4120 DQ 0002+ NAME DR 0001+ NAME DSETUP 4036 DSPLAY G 4003 DTABB 4132 DTABLE 4200 DX 0000+ TEC12X D360 4017 FLD: 0 0200 ASECT LINOFL 4163 MTHREE 7346 NAME Z 0*** NUMLNS Z 0*** P Z 0*** PUSHJ X **** R Z 0*** SETXPS 4051 TECO12 4400 ASECT TEC12X 0001 XSECT TSTEDS 4127 WASTE 4000 XPOS 4001 YPOS 0000+ NAME ZM40 Z 0*** Z177 Z 0*** Z4 Z 0*** Z7 Z 0***