1 / WPEDIT 3.XX 2 / 3 / ******** EDIT HISTORY ******** 4 5 / 258 KMD 23-Sep-85 Add Spanish Xlations and Page size check 6 / 257 KMD 17-Sep-85 Add Sveeedish translation IFDEFs 7 / 256 KMD 16-Sep-85 Add Norwegen (?) ifdefs. 8 / MAKE SURE !!!!! 9 / That you don't push the area of NWRUL buffer 10 / up by a page by having translations that are 11 / slightly too long .. Great fun.. 12 / 13 / 14 / 255 KMD 13-Sep-85 Add Spanish technical changes (not xlations) 15 / 254 EMcD 26-Aug-85 Add Insert-Overstrike mode 16 / 253 EMcD 19-Aug-85 Conditionalise Swedish Ruler store /recall 17 / 252 Mart 15-aug-85 add DUTCH 18 / 251 KMD 02-AUG-85 Allow international radix characters 19 / 250 EMcD 13-Jul-85 Put in FAO keyboard for Ruler store/recall 20 / 249 RCME 03-Jul-85 Fix bug in LP and spell caused by 247 21 / 248 RCME 01-Jul-85 Define new table to take 8-bit characters 22 / in ruler definitions 23 / 247 RCME 24-Jun-85 Allow MCS currency symbols 24 / 246 EMcD 07-jun-85 Fix write out of WPHOLE 25 / 245 EMcD 22-may-85 Move PGECHO out to Panel to make some room 26 / 244 EMcD 22-May-85 More Hyphenation code for 8 bit 27 / 243 EMcD 21-May-85 Write out one more block of blasts 28 / 242 EMcD 06-May-85 Expand write-out code for WPHOLE because 29 / of extra block for Blast for 8 bit GOLD SWAP 30 / 241 EMcD 23-Apr-85 Allow trans of 8 bit input only for 31 / KB input chars 32 / 240 rcme 22-Apr-85 Added load information for merge overlay hole 33 / 239 Mart 19-mar-85 moved CMPRUL,CLRRULR to WPHOLE added ESIMCH 34 / 238 Mart 11-mar-85 added blaster hook and made space by removing 35 / part of the ruler buffer copy to panel mem 36 / 37 / *********** mods below are V2.0 and earlier 38 / 39 / 237 WCE 20-DEC-84 Fix PUTSCH to output attributes across screens 40 / 236 WCE 12-NOV-84 Editor MATH changes for spaces in tab fields 41 / 235 WCE 12-OCT-84 Change Status Line for Column Cursor display 42 / 234 WCE 24-SEP-84 Change to Tech Character overlay call 43 / 233 EJL 23-AUG-84 CALLAR checks menu code is swapped out before 44 / JMS into field 2 45 / Fix reset of ruler during window change 46 / 232 WCE 21-AUG-84 Fix to EDITOR MATH error handling during SWAP 47 / 231 WJY 21-AUG-84 Fix to caller routine to clear skip return flag 48 / 230 WCE 20-AUG-84 Change to file open for Personal Dict and Spell 49 / 229 WJY 09-AUG-84 Return to main menu when the SPELL overlay INITSP 50 / is unable to open a file. 51 / 228 WCE 07-AUG-84 CHANGED GETLIN TO FIX PROBLEM WITH TIME DISPLAY 52 / 227 EJL 07-AUG-84 Change FMSWAP calls to CALLAR and remove FMSWAP 53 / Added stacking of 10 levels to CALLAR 54 / 226 BC 26-JUL-84 Delete SPLTFL, use WIDNAR flag for 80/132 55 / 225 WCE 24-JUL-84 Added REGION indicator to Status Line display 56 / 224 WCE 16-JUL-84 Changes for BRITISH pound sign 57 / 223 BC 16-JUL-84 Added manual screen width choice 58 / 222 BC 09-JUL-84 Deleted routine PPCALL from editor (not needed) 59 / 221 WCE 28-JUN-84 Fix to COPY-DOC then EDIT crashing system 60 / 220 WCE 27-JUN-84 Various bug fixes to EDITOR 61 / 219 EJL 25-JUN-84 Expand ruler from 158 to 238 62 / 218 GDC 05-JUN-84 Field 2 routines using own callaroutine. 63 / 217 GDC 05-JUN-84 Moved CENTER to field 2. 64 / 216 DKR 01-JUN-84 Test MNSTAT for Ruler Display ON/OFF. Added 65 / @RULOFF' to pt to Case-Table for Ruler Display 66 / 215 DKR 29-MAY-84 Gold:Tab changes for key trapping 67 / removed code associated with @tab center' 68 / 214 BC 22-MAY-84 Add PPCALL (=CALLAROUTINE) to 2nd overlay 69 / for Post Proc. calls to Edit subrs; add SB's 70 / footnote fixes to INITSP. 71 / 213 GDC 14-MAY-84 Added handling for second overlay area. 72 / 212 WCE 11-MAY-84 Remove all occurrances of USERNO 73 / 211 EJL 08-MAY-84 Add hooks for technical character 74 / 210 WCE 02-MAY-84 Moved Resident Overlay from WPEDOV to WPEDIT 75 / 209 GDC 29-APR-84 Moved LINDNT to field 2. 76 / 208 GDC 23-APR-84 Moved FNTABSTOP and TBJUST to field 2. 77 / 207 GDC 12-APR-84 Moved CHKMAR into field 2 freeing space in 78 / editor root. 79 / 206 GDC 24-MAR-84 Space saving mods 80 / 205 AH 21-MAR-84 Add code for COLUMN CUT 81 / 204 WCE 14-MAR-84 Change startup point from EIFIX to EINEXA to 82 / correct a problem with blocks used display 83 / 203 GDH 2-MAR-84 Fix SELECT bug with line exactly R-MARG long. 84 / 202 WJY 29-FEB-84 Fix top of document display when DMI document 85 / is opened in wide screen mode 86 / 201 WJY 24-FEB-84 Fix DMI wide screen bug caused by removing DMI 87 / specific code 88 / 200 WJY 07-FEB-84 DECmate I compatability. 89 / 199 EH 21-DEC-83 Fix for CHKMAR, handling tabs on wrapped lines 90 / 198 GDH 20-DEC-83 Unconditionalized the math checks. 91 / 197 EH 20-DEC-83 Moved the 5 ruler words on page 0 so as not to 92 / get cleared at INITialization. (for GTR) 93 / 196 GDH 13-DEC-83 Changed DSPRUL to accomodate status line changes. 94 / 195 WJD 31-OCT-83 Remove GOLD_HALT from GTP & GOLD_BOTTOM 95 / and change GOLD_BOTTOM logic to GTP logic 96 / 194 WCE 27-OCT-83 REMOVED ALL PREVIOUS EDIT HISTORIES FOR 97 / NEW VERSION 1.5 SOURCES 98 99 100 FIELD 0 / FIELD WHERE RXHAN IS LOCATED 101 *200 / START ADDRESS USED BY OS8 "GO" COMMAND 102 000200 5603 JMP I .+3 / LOCATION USED TO START UP RXHAN 103 000201 5602 JMP I .+1 / LOCATION USED TO RETURN TO OS8 MONITOR 104 000202 7605 7605 / ADDRESS OF OS8 MONITOR RETURN POINT 105 RXLOAD / ADDRESS OF START LOCATION FOR RXHAN undefined ^ 000203 0000 106 107 *RXLDLS / ADDRESS WITHIN RXHAN TO OVERLAY undefined ^ 108 RXEWT / WRITE FUNCTION CODE undefined ^ 000000 0000 109 000001 0000 0 110 RXQBLK / ADDRESS OF QUEUE BLOCK TO USE undefined ^ 000002 0000 111 000003 0003 . / ADDRESS OF TABLE OF DISK COMMANDS 112 113 DLSTAT ; 400;CDF 0;-DSSTAT / SWAP AREA CODE & STATUS LINE undefined ^ 000004 0000 000005 0400 000006 6201 undefined ^ 000007 0000 114 DLOEDT ; 0;CDF 10;-DSOEDT / MAIN EDITOR undefined ^ 000010 0000 000011 0000 000012 6211 undefined ^ 000013 0000 115 DL3EDT ; 200;CDF 20;-DS3EDT / MORE EDITOR RESIDENT CODE undefined ^ 000014 0000 000015 0200 000016 6221 undefined ^ 000017 0000 116 DL4EDT ;1600;CDF 20;-DS4EDT / EDITOR MATH CODE, ONLY LOADED undefined ^ 000020 0000 000021 1600 000022 6221 undefined ^ 000023 0000 117 / IN WHEN NOT IN LIST PROCESSING 118 DLBLED ;HOLEPG ;CDF 60 ;-DSBLED/ load out editor blastr holes undefined ^ 000024 0000 undefined ^ 000025 0000 000026 6261 undefined ^ 000027 0000 119 DLBEOV ;HOLEOV ;CDF 50 ;-DSBEOV/ Load out Extra Blast holes /a242 undefined ^ 000030 0000 undefined ^ 000031 0000 000032 6251 undefined ^ 000033 0000 120 DLEHL2 ;HOLEOV ;CDF 60 ;-DSEHL2/ Load out one more hole block/M245/A243 undefined ^ 000034 0000 undefined ^ 000035 0000 000036 6261 undefined ^ 000037 0000 121 000040 0000 0 122 123 / WPEDIT - EDITOR JOB 124 125 ECMTH1= 06 / START OF MATH CODE 126 ECMTH2= 206 / END OF MATH CODE 127 128 RECBUF= 10 / Start of RECord_BUFfer in buffer field 129 / (for List Processing) 130 131 HDRBUF= 6000 / START OF EDIT FILE HEADER BUFFER 132 HDRFSZ= 5 / # BLOCKS IN THIS FILE 133 HDRPSZ= 15 / #LINES PER PAGE 134 ETXBUF= HDRBUF+400 / ETX BUFFER 135 STXBUF= ETXBUF+400 / STX BUFFER 136 PSTEBF= STXBUF+400 / PASTE BUFFER 137 PRTBUF= HDRBUF / MERGE-TO-PRINTER BUFFER 138 PRTSIZ= STXBUF-PRTBUF / " " SIZE 139 BUFEND= HDRBUF / END OF EDIT BUFFER +1 140 141 BASKET= PSTEBF / WASTEBASKET 142 BASKSZ= 400 / WASTEBASKET CAPACITY 143 144 PSTEBG= DLCUTB / FIRST PASTE BLOCK undefined ^ 145 PSTEND= PSTEBG+36 / LAST PASTE BLOCK +1 146 147 CR= 15 148 LF= 12 149 WIDTH= 204 / WIDTH OF SCREEN 150 COLLIM= 360 / M219 Display ruler out to 240 151 / RULSV2 displays out to 240 152 / RLADV1, RLINE1 limits advance to 238 153 HAFRUL= COLLIM-1%2 / A219 Limit ruler to 238 154 COLM80= 117 / 80TH COLUMN POINTER 155 COLM81= COLM80+1 / A219 156 NPTRS= 30 / NUMBER OF SCREEN LINES AVAILABLE ON TERMINAL 157 CURPOS= 46 / CURRENT HORIZ POSITION ON SCREEN 158 LOWLIM= 47 / SCREEN'S CURRENT LOW LIMIT, 159 / EITHER 0 OR 27 DECIMAL 160 161 162 /*************************************************************************** 163 /**** PAGE ZERO LOCATIONS USED BY STATUS LINE DISPLAY ROUTINE **** 164 /*************************************************************************** 165 166 CDFMYF= CDFMNU undefined ^ 167 168 *170 169 000170 0000 LINFLG, 0 / LOCATION FOR STATUS DISPLAY MODE FLAG 170 000171 0000 LINRUL, 0 / LOCATION FOR RULER DETECTED FLAG 171 000172 0000 LINDIF, 0 / LOCATION FOR STATUS DIFFERENT FLAG 172 000173 0000 LINPGL, 0 / LOCATION FOR CURRENT LOW ORDER PAGE NUMBER 173 000174 0000 LINPGH, 0 / LOCATION FOR CURRENT HIGH ORDER PAGE NUMBER 174 000175 0000 LINNUM, 0 / LOCATION FOR CURRENT LINE NUMBER 175 000176 0000 LINUSD, 0 / LOCATION FOR NUMBER OF BLOCKS USED 176 000177 0000 LINFRE, 0 / LOCATION FOR NUMBER OF BLOCKS FREE 177 178 X=. / INDICATE FIRST FREE LOCATION ON PAGE 179 /-------------------- 180 PAGE 181 182 RELOC / RESET RELOCATION MECHANISM OF ASSEMBLER 183 *400 / SET LOCATION COUNT TO FREE AREA IN FIELD 0 184 RELOC SWPBEG / LOCATION FOR STATUS LINE CODE TO RUN undefined ^ 185 186 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 187 188 /*************************************************************************** 189 /**** TRANSFER VECTOR ENTRY POINTS FOR EDITOR SWAP AREA ROUTINES **** 190 /*************************************************************************** 191 192 CALLN1, XX / ENTRY POINT FOR ROUTINE NUMBER 1 undefined ^ 000000* 0000 193 000001* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 194 000002* 4777 JMS LINDSP / GO UPDATE STATUS LINE INFORMATION 195 000003* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 196 197 CALLN2, XX / ENTRY POINT FOR ROUTINE NUMBER 2 undefined ^ 000004* 0000 198 000005* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 199 000006* 4776 JMS LINCHK / GO CHECK FOR STATUS VALUE CHANGES 200 000007* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 201 202 CALLN3, XX / ENTRY POINT FOR ROUTINE NUMBER 3 undefined ^ 000010* 0000 203 000011* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 204 000012* 4775 JMS LINSDN / GO HANDLE SCROLL DOWN EVENT 205 000013* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 206 207 CALLN4, XX / ENTRY POINT FOR ROUTINE NUMBER 4 undefined ^ 000014* 0000 208 000015* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 209 000016* 4774 JMS LINSUP / GO HANDLE SCROLL UP EVENT 210 000017* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 211 212 CALLN5, XX / ENTRY POINT FOR ROUTINE NUMBER 5 undefined ^ 000020* 0000 213 000021* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 214 000022* 4773 JMS LINCOL / SPECIAL CHECK FOR STATUS VALUE CHANGES /C235 215 000023* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 216 217 CALLN6, XX / ENTRY POINT FOR ROUTINE NUMBER 6 undefined ^ 000024* 0000 218 000025* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 219 000026* 7000 NOP / PLACE FOR TRANSFER TO SPECIAL CODE 220 000027* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 221 222 CALLN7, XX / ENTRY POINT FOR ROUTINE NUMBER 7 undefined ^ 000030* 0000 223 000031* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 224 000032* 7000 NOP / PLACE FOR TRANSFER TO SPECIAL CODE 225 000033* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 226 227 CALLN8, XX / ENTRY POINT FOR ROUTINE NUMBER 8 undefined ^ 000034* 0000 228 000035* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 229 000036* 7000 NOP / PLACE FOR TRANSFER TO SPECIAL CODE 230 000037* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 231 232 CALLN9, XX / ENTRY POINT FOR ROUTINE NUMBER 9 undefined ^ 000040* 0000 233 000041* 4044 JMS CALSUB / SET UP RETURN ADDRESS AND RETURN FIELD 234 000042* 7000 NOP / PLACE FOR TRANSFER TO SPECIAL CODE 235 000043* 5060 JMP CALXIT / GO TO RETURN TO CALLER CODE 236 237 /*************************************************************************** 238 /**** SET UP RETURN FIELD AND ADDRESS FOR CALLN# ROUTINES **** 239 /*************************************************************************** 240 241 CALSUB, XX / ROUTINE TO SET UP RETURN FIELD AND ADDRESS undefined ^ 000044* 0000 242 000045* 3170 DCA LINFLG / SAVE CONTENTS OF ACCUMULATOR IN FLAG WORD 243 244 000046* 6214 RDF / READ CALLERS DATA FIELD 245 TAD CIDF0 / MAKE CDF-CIF INSTRUCTION BACK TO CALLER undefined ^ undefined ^ 000047* 1000 246 000050* 3060 DCA CALXIT / STORE FOR RETURN TO CALLER 247 000051* 0000 CDFMYF / SET DATA FIELD BACK TO MY FIELD 248 249 AC7776 / SET UP TO SUBTRACT A VALUE OF TWO undefined ^ 000052* 0000 250 000053* 1044 TAD CALSUB / MAKE POINTER TO VECTOR ENTRY POINT 251 DCA T2 / STORE FOR USE IN AN INDIRECT LOOKUP undefined ^ undefined ^ 000054* 3000 252 TAD I T2 / PICK UP CALLERS RETURN ADDRESS undefined ^ undefined ^ 000055* 1400 253 000056* 3062 DCA CALRTN / STORE ADDRESS FOR LATER RETURN TO CALLER 254 000057* 5444 JMP I CALSUB / GO TRANSFER TO SPECIALIZED ROUTINES 255 256 CALXIT, XX / LOCATION FOR CDF-CIF INSTRUCTION TO CALLER undefined ^ 000060* 0000 257 000061* 5462 JMP I CALRTN / RETURN BACK TO CALLER 258 CALRTN, XX / LOCATION FOR CALLERS RETURN ADDRESS undefined ^ 000062* 0000 259 260 261 X=. / INDICATE FIRST FREE LOCATION ON PAGE 262 /-------------------- 263 PAGE 264 265 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 266 267 268 /*************************************************************************** 269 /**** THE CODE ASSEMBLED HERE IS USED BY THE EDITOR FOR STATUS LINE **** 270 /*************************************************************************** 271 272 273 LINCOL, XX / SPECIAL CHECK FOR STATUS VALUE CHANGES /A235 undefined ^ 000200* 0000 274 TAD I (MUBUF+MNSTAT) / PICK UP THE NUMBER OF STATUS LINES /A235 undefined ^ undefined ^ undefined ^ undefined ^ 000201* 1777 275 000202* 7650 SNA CLA / ARE WE DISPLAYING STATUS INFORMATION /A235 276 000203* 5600 JMP I LINCOL / NO, RETURN TO CALLER /A235 277 CDFEDT / CHANGE TO EDIT FIELD /A235 undefined ^ 000204* 0000 278 000205* 1776 TAD I (GSRF) / PICK UP THE GLOBAL SEARCH FLAG /A235 279 000206* 0000 CDFMYF / RESET BACK TO THIS FIELD /A235 280 000207* 7640 SZA CLA / ARE WE DOING A GLOBAL SEARCH & REPLACE/A235 281 000210* 5225 JMP LINPOS / YES, GO UPDATE COLUMN INFORMATION /A235 282 000211* 4775 JMS LINCHK / GO CHECK FOR STATUS VALUE CHANGES /A235 283 AC7775 / SET UP FOR A COUNT OF THREE /A235 undefined ^ 000212* 0000 284 DCA T2 / STORE IN COUNTER REGISTER /A235 undefined ^ undefined ^ 000213* 3000 285 LINLOP, CIFSYS / CHANGE TO SYSTEM FIELD /A235 undefined ^ 000214* 0000 286 JWAIT / WAIT FOR A SIGNIFICANT EVENT /A235 undefined ^ 000215* 0000 287 CIFSYS / CHANGE TO SYSTEM FIELD /A235 undefined ^ 000216* 0000 288 XLTIN / GET A CHARACTER FROM KEYBOARD BUFFER /A235 undefined ^ 000217* 0000 289 000220* 5223 JMP LINNCH / NO CHARACTERS AVAILABLE, SKIP AROUND /A235 290 000221* 2062 ISZ CALRTN / GOT ONE, BUMP RETURN ADDRESS /A235 291 000222* 5600 JMP I LINCOL / RETURN TO CALLER /A235 292 LINNCH, ISZ T2 / INCREMENT THE COUNTER /A235 undefined ^ undefined ^ 000223* 2000 293 000224* 5214 JMP LINLOP / NOT DONE, GO WAIT SOME MORE /A235 294 000225* 1246 LINPOS, TAD LINCUR / PICK UP THE LAST DISPLAYED POSITION /A235 295 DCA T2 / SAVE FOR LATER COMPARE /A235 undefined ^ undefined ^ 000226* 3000 296 CDFEDT / CHANGE TO EDIT FIELD /A235 undefined ^ 000227* 0000 297 000230* 1774 TAD I (CURSOR) / PICK UP THE CURRENT CURSOR POSITION /A235 298 000231* 0000 CDFMYF / RESET BACK TO THIS FIELD /A235 299 000232* 7001 IAC / BUMP TO REAL VALUE /A235 300 000233* 3246 DCA LINCUR / SAVE THE VALUE FOR DISPLAY /A235 301 000234* 1246 TAD LINCUR / PICK UP THE COLUMN POSITION /A235 302 000235* 7041 CIA / MAKE IT NEGATIVE /A235 303 TAD T2 / COMBINE WITH PREVIOUS VALUE /A235 undefined ^ undefined ^ 000236* 1000 304 000237* 7650 SNA CLA / ARE THEY THE SAME ? /A235 305 000240* 5600 JMP I LINCOL / YES, DON'T REDISPLAY, RETURN TO CALLER/A235 306 JMS I IOACAL / CALL IOA TO DISPLAY THE VALUE /A235 undefined ^ undefined ^ 000241* 4400 307 000242* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE /A235 308 000243* 0600 LINST1 / CONTROL STRING TO DISPLAY VALUE /A235 309 000244* 0024 24 / SCREEN POSITION /A235 310 000245* 0557 LINREV / SELECT REVERSE VIDEO IF SPECIFIED /A235 311 LINCUR, XX / LOCATION FOR CURRENT CURSOR POSITION /A235 undefined ^ 000246* 0000 312 000247* 5600 JMP I LINCOL / RETURN TO CALLER /A235 313 314 LINCLR, XX / ROUTINE TO CLEAR SCREEN AND SET VALUES undefined ^ 000250* 0000 315 JMS I IOACAL / CALL IOA TO CLEAR THE SCREEN undefined ^ undefined ^ 000251* 4400 316 000252* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 317 000253* 0606 LINST2 / CLEAR SCREEN AND SCROLL AREA /C235 318 319 000254* 1334 TAD LINTXT / GET POINTER TO CURRENT TEXT SIZE 320 CIFFIO / CHANGE TO FILE SYSTEM FIELD undefined ^ 000255* 0000 321 FILEIO / CALL FILE SYSTEM TO GET HEADER VALUE undefined ^ 000256* 0000 322 XHDRGT / GET VALUE FROM HEADER FUNCTION WORD undefined ^ 000257* 0000 323 000260* 3773 DCA LINSIZ / STORE VALUE OF CURRENT TEXT SIZE 324 325 CDFFIO / CHANGE TO FILE SYSTEM FIELD undefined ^ 000261* 0000 326 TAD I (SCFSPC) / GET NUMBER OF BLOCKS LEFT ON DISK undefined ^ undefined ^ 000262* 1777 327 000263* 0000 CDFMYF / CHANGE BACK TO MENU FIELD 328 DCA T3 / SAVE NUMBER OF FREE BLOCKS IN TMP undefined ^ undefined ^ 000264* 3000 329 330 / THE VALUE STORED IN LINFRE IS USED AS A FLAG TO INDICATE THAT THE MID SCREEN 331 / DOCUMENT HEADER INFORMATION SHOULD BE DISPLAYED ON THE SCREEN. IF THE VALUE 332 / OF LINFRE IS ZERO, IT INDICATES THAT THE NUMBER OF FREE BLOCKS REMAINING ON 333 / THE DISKETTE HAS NOT BEEN UPDATED WHICH HAPPENS AT DOCUMENT OPEN TIME AND 334 / THAT THE MID SCREEN DATA IS REQUIRED. 335 / 336 / THERE IS A CASE WHERE LINFRE HAS NOT BEEN UPDATED AND THE MID SCREEN 337 / INFORMATION IS NOT WANTED. WHEN THIS HAPPENS, THE VLAUE OF THE OPERATION 338 / FLAG WORD STORED IN LINFLG IS A THREE WHICH MEANS THAT ONLY A CLEAR SCREEN 339 / IS DESIRED. A VALID TEST IS MADE BY COMBINING THE VALUES OF BOTH WORDS. 340 341 000265* 1170 TAD LINFLG / GET FLAG WORD FOR CURRENT OPERATION 342 000266* 1177 TAD LINFRE / GET LAST VALUE OF BLOCKS FREE 343 000267* 7650 SNA CLA / HAS IT BEEN INITIALIZED AND LINFLG=0 344 000270* 5277 JMP LINMID / NO, GO DISPLAY MIDDLE LINES OF SCREEN 345 TAD T3 / GET CURRENT BLOCKS FREE undefined ^ undefined ^ 000271* 1000 346 000272* 7041 CIA / NEGATE VALUE FOR CHECK 347 000273* 1177 TAD LINFRE / COMBINE WITH LAST VALUE OF BLOCKS FREE 348 000274* 1176 TAD LINUSD / ADD RESIDUE TO NUMBER OF BLOCKS USED 349 000275* 3176 DCA LINUSD / STORE UPDATED NUMBER OF BLOCKS USED 350 000276* 5314 JMP LINSET / GO STORE CURRENT VALUE OF BLOCKS FREE 351 352 LINMID, JMS I IOACAL / CALL IOA TO DISPLAY MID SCREEN DATA undefined ^ undefined ^ 000277* 4400 353 000300* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 354 000301* 0617 LINST3 / CONTROL STRING FOR TEXT DISPLAY 355 IFDEF CONDOR < 710 > / LOCATION FOR DOCUMENT NAME /C202 356 000302* 0310 IFNDEF CONDOR < 310 > / COMPROMISE VALUE, WORKS IN BOTH /A202 357 / WIDE SCREEN & NORMAL MODES FOR DMI /A202 358 MUBUF+MNDRV / MENU LOCATION FOR DRIVE NUMBER undefined ^ undefined ^ 000303* 0000 359 MUBUF+MNDOCN / MENU LOCATION FOR DOC NUMBER undefined ^ undefined ^ 000304* 0000 360 MUBUF+MNFNAM / MENU LOCATION FOR DOC NAME undefined ^ undefined ^ 000305* 0000 361 IFDEF CONDOR < 1110 > / LOCATION FOR FIRST SCREEN LINE /C202 362 000306* 0510 IFNDEF CONDOR < 510 > / COMPROMISE VALUE, WORKS IN BOTH /A202 363 / WIDE SCREEN & NORMAL MODES FOR DMI /A202 364 000307* 0176 LINUSD / LOCATION FOR BLOCKS USED VALUE 365 IFDEF CONDOR < 1310 > / LOCATION FOR SECOND SCREEN LINE /C202 366 000310* 0710 IFNDEF CONDOR < 710 > / COMPROMISE VALUE, WORKS IN BOTH /A202 367 / WIDE SCREEN & NORMAL MODES FOR DMI /A202 368 T3 / LOCATION FOR BLOCKS FREE VALUE undefined ^ 000311* 0000 369 IFDEF CONDOR < 1510 > / LOCATION FOR THIRD SCREEN LINE /C202 370 000312* 1110 IFNDEF CONDOR < 1110 > / COMPROMISE VALUE, WORKS IN BOTH /A202 371 / WIDE SCREEN & NORMAL MODES FOR DMI /A202 372 000313* 0560 LINSIZ / LOCATION FOR CURRENT TEXT SIZE VALUE 373 374 LINSET, TAD T3 / GET CURRENT NUMBER OF BLOCKS FREE undefined ^ undefined ^ 000314* 1000 375 000315* 3177 DCA LINFRE / STORE UPDATED NUMBER OF BLOCKS FREE 376 377 AC7775 / SET UP FOR A DECREMENT undefined ^ 000316* 0000 378 TAD I (MUBUF+MNSTAT) / PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000317* 1777 379 000320* 7700 SMA CLA / CHECK FOR A ONE OR TWO LINE TOP AREA 380 000321* 7001 IAC / BUMP UP TO A TWO LINE AREA 381 000322* 1353 TAD LINTWO / SET UP FOR A ONE OR TWO LINE TOP AREA 382 000323* 3351 DCA LINAD1 / STORE FOR USE WITH IOA CALL 383 384 AC7776 / SET UP FOR A DECREMENT undefined ^ 000324* 0000 385 TAD I (MUBUF+MNSTAT) / PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000325* 1777 386 000326* 7710 SPA CLA / CHECK FOR A RULER LINE AREA 387 000327* 7001 IAC / NO RULER, BUMP UP TO FULL SCREEN 388 000330* 1372 TAD ("3) / SET UP RULER AREA IF SPECIFIED 389 000331* 3354 DCA LINAD2 / STORE FOR USE WITH IOA CALL 390 000332* 3246 DCA LINCUR / CLEAR COLUMN POSITION FOR REDISPLAY /A235 391 000333* 5650 JMP I LINCLR / RETURN BACK TO CALLER 392 393 000334* 0013 LINTXT, 15-2 / POINTER TO HEADER CURRENT TEXT SIZE 394 395 000335* 4131 LINSTE, TEXT '!Y' / RESTORE CURSOR ATTRIBUTES 000336* 0000 396 397 000337* 4133 LINSTF, TEXT '![(&^S^A![[?6H' / SELECT LANGUAGE & RELITIVE MODE /C235 000340* 5046 000341* 3623 000342* 3601 000343* 4133 000344* 3377 000345* 6610 000346* 0000 398 / ESC [ ? 6 h / SELECT RELITIVE ORIGIN MODE /C235 399 LINSTG, ESC; "[ / START SELECTION OF SCROLL REGION /C224 undefined ^ 000347* 0000 000350* 0333 400 000351* 0262 LINAD1, "2; "; / FIRST ROW OF SCROLL REGION 2 OR 3 000352* 0273 401 000353* 0262 LINTWO, "2 402 000354* 0263 LINAD2, "3; "r / LAST ROW OF SCROLL REGION AT 23 OR 24 000355* 0362 403 000356* 0000 0 / ASCII STRING TERMINATOR 404 405 X=. / INDICATE FIRST FREE LOCATION ON PAGE 406 /-------------------- 407 000372* 0263 PAGE 000373* 0560 000374* 0136 000375* 1000 000376* 0173 000377* 0000 408 409 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 410 411 412 /*************************************************************************** 413 /**** THE CODE ASSEMBLED HERE IS USED BY THE EDITOR FOR STATUS LINE **** 414 /*************************************************************************** 415 416 / LINDSP ROUTINE IS USED TO DISPLAY THE STATUS LINE INFORMATION IN THE EDITOR 417 / 418 / THE STATUS LINE AREA CONSISTS OF ONE OR TWO OR THREE LINES AS FOLLOWS: 419 / LINE 1 = TOP LINE OF SCREEN - CURRENT PAGE NUMBER, CURRENT LINE NUMBER, 420 / DRIVE NUMBER, DOCUMENT NUMBER AND DOCUMENT NAME BEING EDITED 421 / LINE 2 = (IF SPECIFIED) A GRAPHICS BAR UNDER LINE ONE 422 / LINE 24 = (IF SPECIFIED) CURRENT RULER IN EFFECT FOR EDITING 423 / 424 / PRIOR TO ENTRY, THE VALUE CONTAINED IN MNSTAT DETERMINES TYPE OF STATUS 425 / DISPLAYED AS FOLLOWS: 426 / 427 / MNSTAT = 0 NO STATUS DISPLAYED WHILE EDITING 428 / MNSTAT = 1 REVERSE VIDEO TOP STATUS LINE ONLY 429 / MNSTAT = 2 REVERSE VIDEO TOP STATUS LINE AND CURRENT RULER 430 / MNSTAT = 3 TOP STATUS LINE WITH GRAPHICS BAR AND CURRENT RULER 431 / 432 / UPON ENTRY, THE VALUE CONTAINED IN THE AC DETERMINES FUNCTION AS FOLLOWS: 433 / 434 / AC = 0 CLEAR THE SCREEN AND DISPLAY COMPLETE STATUS AREA 435 / DEFINE SCROLLING REGION AND SET RELITIVE SCREEN ADDRESSING 436 / AC = 1 UPDATE DISPLAY OF TOP STATUS LINE ONLY 437 / AC = 2 UPDATE DISPLAY OF BOTTOM STATUS LINE ONLY (DISPLAY RULER) 438 / AC = 3 CLEAR THE SCREEN AND RESET SCROLLING AREA TO FULL SCREEN 439 440 LINDSP, XX / DISPLAY STATUS LINE ROUTINE undefined ^ 000400* 0000 441 000401* 1170 TAD LINFLG / GET STATUS DISPLAY MODE FLAG 442 000402* 7440 SZA / CHECK FOR DISPLAY ALL MODE 443 000403* 1363 TAD LINM3 / NO, CHECK FOR SCREEN CLEAR & RESET 444 000404* 7650 SNA CLA / WAS SCREEN CLEAR & RESET REQUESTED 445 000405* 4777 JMS LINCLR / YES, GO CLEAR SCREEN AND SET VALUES 446 447 TAD I (MUBUF+MNSTAT) / PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000406* 1776 448 000407* 7450 SNA / CHECK TO SEE IF STATUS AREA IS ACTIVE 449 000410* 5350 JMP LINXIT / NO, STATUS IS NOT ACTIVE, RETURN TO CALLER 450 000411* 1363 TAD LINM3 / DECREMENT THE COUNT 451 000412* 7700 SMA CLA / CHECK FOR TOP LINE TO BE REVERSE VIDEO 452 AC0004 / NO REVERSE VIDEO, BUMP ADDRESS TO NULL POINT undefined ^ 000413* 0000 453 000414* 1375 TAD (LINST5) / PICK UP ADDRESS OF REVERSE VIDEO STRING 454 000415* 3357 DCA LINREV / STORE FOR USE WITH IOA CALLS 455 456 000416* 1170 TAD LINFLG / GET STATUS DISPLAY MODE FLAG 457 000417* 7640 SZA CLA / CHECK FOR DISPLAY ALL MODE 458 000420* 5237 JMP LINTOP / NO, GO CHECK FOR TOP LINE 459 460 JMS I IOACAL / CALL IOA TO DISPLAY TOP REVERSE VIDEO LINE undefined ^ undefined ^ 000421* 4400 461 000422* 0000 0 / USE DEFAULT IOA DISPLAY ROUTINE 462 000423* 0617 LINST4 / DISPLAY REVERSE VIDEO AREA AND DOC NAME 463 000424* 0000 0 / SCREEN POSITION FOR REVERSE SPACE 464 000425* 0557 LINREV / SELECT REVERSE VIDEO IF SPECIFIED 465 000426* 0647 LINST6 / DISPLAY 27 REVERSE SPACE CHARACTERS 466 000427* 0647 LINST6 / DISPLAY 27 REVERSE SPACE CHARACTERS 467 000430* 0647 LINST6 / DISPLAY 27 REVERSE SPACE CHARACTERS 468 000431* 0647 LINST6 / DISPLAY 27 REVERSE SPACE CHARACTERS 469 000432* 0647 LINST6 / DISPLAY 27 REVERSE SPACE CHARACTERS 470 000433* 0041 41 / SCREEN POSITION FOR DOCUMENT NAME/C254/C235 471 MUBUF+MNDRV / MENU LOCATION FOR DRIVE NUMBER undefined ^ undefined ^ 000434* 0000 472 MUBUF+MNDOCN / MENU LOCATION FOR DOC NUMBER undefined ^ undefined ^ 000435* 0000 473 MUBUF+MNFNAM / MENU LOCATION FOR DOC NAME undefined ^ undefined ^ 000436* 0000 474 475 000437* 1170 LINTOP, TAD LINFLG / GET STATUS DISPLAY MODE FLAG 476 000440* 7440 SZA / CHECK FOR DISPLAY ALL MODE 477 000441* 1361 TAD LINM1 / NO, CHECK FOR TOP LINE 478 000442* 7640 SZA CLA / IS IT JUST THE TOP LINE 479 000443* 5310 JMP LINBOT / NO, GO CHECK FOR BOTTOM LINE 480 481 000444* 3172 DCA LINDIF / CLEAR STATUS DIFFERENT FLAG 482 JMS I IOACAL / CALL IOA TO START DISPLAY OF TOP LINE undefined ^ undefined ^ 000445* 4400 483 000446* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 484 000447* 0665 LINST7 / SAVE CURSOR, SET ABSOLUTE, DISPLAY PAGE /C235 485 000450* 0000 0 / SCREEN POSITION FOR PAGE 486 000451* 0557 LINREV / SELECT REVERSE VIDEO IF SPECIFIED 487 488 000452* 1174 TAD LINPGH / GET VALUE OF HIGH ORDER PAGE NUMBER 489 000453* 7650 SNA CLA / DO WE HAVE A THOUSAND PAGES ? 490 000454* 5263 JMP LINLOW / NO, JUST PUT UP LOW ORDER PAGE NUMBER 491 492 JMS I IOACAL / CALL IOA TO DISPLAY THOUSANDS NUMBER undefined ^ undefined ^ 000455* 4400 493 000456* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 494 000457* 0675 LINST9 / THOUSANDS NUMBER CONTROL STRING 495 000460* 0174 LINPGH / HIGH ORDER PAGE NUMBER 496 000461* 0173 LINPGL / LOW ORDER PAGE NUMBER 497 000462* 5267 JMP LINLIN / CONTINUE WITH LINE DISPLAY 498 499 LINLOW, JMS I IOACAL / CALL IOA TO DISPLAY LOW PAGE NUMBER undefined ^ undefined ^ 000463* 4400 500 000464* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 501 000465* 0700 LINSTA / HUNDREDS CONTROL STRING AND LINE NUMBER 502 000466* 0173 LINPGL / LOW ORDER PAGE NUMBER 503 504 000467* 4774 LINLIN, JMS INOVDP / Go display Insert-Overstrike /A254 505 JMS I IOACAL / CALL IOA TO START THE LINE DISPLAY undefined ^ undefined ^ 000470* 4400 506 000471* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 507 000472* 0702 LINSTB / CONTROL STRING FOR LINE DISPLAY 508 000473* 0011 11 / SCREEN POSITION FOR LINE /C235 509 510 000474* 1175 TAD LINNUM / PICK UP THE CURRENT LINE NUMBER 511 000475* 7650 SNA CLA / IS THE LINE NUMBER DEFINED ? 512 000476* 5305 JMP LINUKN / NO, GO PUT UP "N/A" MESSAGE 513 514 JMS I IOACAL / CALL IOA TO DISPLAY LINE NUMBER undefined ^ undefined ^ 000477* 4400 515 000500* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 516 000501* 0702 LINSTC / DISPLAY LINE NUMBER 517 000502* 0175 LINNUM / POINTER TO CURRENT LINE NUMBER 518 000503* 0021 21 / SCREEN POSITION FOR COLUMN POSITION /C235 519 000504* 5310 JMP LINBOT / GO CHECK FOR BOTTOM LINE 520 521 LINUKN, JMS I IOACAL / CALL IOA TO DISPLAY "N/A" MESSAGE undefined ^ undefined ^ 000505* 4400 522 000506* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 523 LINSTD / DISPLAY "N/A" undefined ^ 000507* 0000 524 525 000510* 1170 LINBOT, TAD LINFLG / GET STATUS DISPLAY MODE FLAG 526 000511* 7440 SZA / CHECK FOR DISPLAY ALL MODE 527 000512* 1362 TAD LINM2 / NO, CHECK FOR BOTTOM LINE RULER 528 000513* 7650 SNA CLA / WAS BOTTOM LINE RULER REQUESTED 529 TAD I (MUBUF+MNSTAT) / YES, PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000514* 1776 530 000515* 1362 TAD LINM2 / DECREMENT THE COUNT 531 000516* 7710 SPA CLA / WAS BOTTOM LINE RULER SPECIFIED 532 000517* 5334 JMP LINSAM / NO, GO CHECK IF SETUP IS NEEDED 533 534 000520* 3171 DCA LINRUL / CLEAR RULER DETECTED FLAG 535 JMS I IOACAL / CALL IOA TO DISPLAY BOTTOM LINE undefined ^ undefined ^ 000521* 4400 536 000522* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 537 000523* 0673 LINST8 / SAVE CURSOR & SET ABSOLUTE ADDRESSING /C235 538 539 CDFEDT / CHNAGE TO EDIT FIELD undefined ^ 000524* 0000 540 000525* 1373 TAD (NPTRS) / PICK UP VALUE FOR MAXIMUM SCREEN LINES 541 000526* 3772 DCA I (SCRNLN) / STORE MAX VALUE FOR PCUR ROUTINE 542 543 /D220 CDFMYF / CHANGE BACK TO THIS FIELD 544 /D220 CIFEDT / SET UP TO GO TO THE EDITOR FIELD 545 /D220 JMS I (CALLAR) / CALL A ROUTINE IN THE EDITOR 546 /D220 DSPCUR / ROUTINE TO DISPLAY THE CURRENT RULER /M196 547 /D220 CDFBUF / DATA FIELD TO USE FOR ROUTINE 548 549 CDIEDT / SET UP TO GO TO THE EDITOR FIELD /A220 undefined ^ 000527* 0000 550 000530* 4771 JMS I (DSPCUR) / ROUTINE TO DISPLAY THE CURRENT RULER /A220 551 552 JMS I IOACAL / CALL IOA TO FINISH DISPLAY OF BOTTOM LINE undefined ^ undefined ^ 000531* 4400 553 000532* 0000 0 / USE DEFAULT IOA OUTPUT ROUTINE 554 000533* 0335 LINSTE / RESTORE CURSOR ATTRIBUTES 555 556 000534* 1170 LINSAM, TAD LINFLG / GET STATUS DISPLAY MODE FLAG 557 000535* 7640 SZA CLA / CHECK FOR DISPLAY ALL MODE 558 000536* 5350 JMP LINXIT / NOT ZERO, MUST BE ALL DONE 559 560 TAD I (MUBUF+MNSTAT) / PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000537* 1776 561 000540* 1363 TAD LINM3 / DECREMENT COUNT OF NUMBER OF LINES 562 000541* 7700 SMA CLA / CHECK FOR ONLY ONE TOP LINE 563 000542* 4770 JMS LINBAR / NO, GO PUT UP GRAPHICS LINE 564 565 JMS I IOACAL / CALL IOA TO SET UP SCROLL AREA AND MODE undefined ^ undefined ^ 000543* 4400 566 000544* 0000 0 / USE DEFAULT IOA DISPLAY ROUTINE 567 000545* 0337 LINSTF / CONTROL STRING TO SET AREA AND MODE /C224 568 MNLANG+MUBUF / POINTER TO LANGUAGE WORD /A224 undefined ^ undefined ^ 000546* 0000 569 000547* 0347 LINSTG / SET SCROLL AREA, RELITIVE MODE /C224 570 571 LINXIT, TAD I (MUBUF+MNSTAT) / PICK UP NUMBER OF STATUS LINES undefined ^ undefined ^ undefined ^ undefined ^ 000550* 1776 572 000551* 7041 CIA / NEGATE THE VALUE FOR A SUBTRACT 573 000552* 1373 TAD (NPTRS) / PICK UP VALUE FOR MAXIMUM SCREEN LINES 574 CDFEDT / CHANGE TO EDIT FIELD undefined ^ 000553* 0000 575 000554* 3772 DCA I (SCRNLN) / STORE NUMBER OF LINES IN SCROLL AREA 576 000555* 0000 CDFMYF / RESET BACK TO THIS FIELD 577 578 000556* 5600 JMP I LINDSP / RETURN TO CALLER 579 580 000557* 0000 LINREV, 0 / POINTER TO REVERSE VIDEO STRING 581 000560* 0000 LINSIZ, 0 / LOCATION FOR CURRENT TEXT SIZE 582 583 000561* 7777 LINM1, -1 / VALUE TO CHECK FOR TOP LINE 584 000562* 7776 LINM2, -2 / VALUE TO CHECK FOR BOTTOM LINE 585 000563* 7775 LINM3, -3 / VALUE TO CHECK FOR SCREEN RESET 586 587 X=. / INDICATE FIRST FREE LOCATION ON PAGE 588 /-------------------- 589 000570* 1200 PAGE 000571* 5551 000572* 0176 000573* 0030 000574* 1213 000575* 0642 000576* 0000 000577* 0250 590 591 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 592 593 TRANTP=. / TOP OF TRANSLATIONS /A258 594 595 000600* 4130 LINST1, TEXT '!X^P!A^D !Y' / CONTROL STRING FOR COLUMN NUMBER /C235 000601* 3620 000602* 4101 000603* 3604 000604* 4041 000605* 3100 596 597 000606* 4133 LINST2, TEXT '![[?6L![[2&J![[R' / SEQUENCES DESCRIBED BELOW /C235 000607* 3377 000610* 6614 000611* 4133 000612* 3362 000613* 4612 000614* 4133 000615* 3322 000616* 0000 598 / ESC [ ? 6 l / SET ABSOLUTE ADDRESSING MODE /C235 599 / ESC [ 2 J / ERASE ENTIRE SCREEN /C235 600 / ESC [ r / CLEAR SCROLLING REGION /C235 601 602 LINST3, 603 IFDEF ENGLSH < 604 TEXT '^P&DOCUMENT: (!D.!D) !A '; *.-1 605 TEXT '^P&BLOCKS USED: !D '; *.-1 606 TEXT '^P&BLOCKS REMAINING: !D '; *.-1 607 TEXT '^P&TEXT SIZE: !D LINES' 608 > 609 IFDEF V30NOR < 610 TEXT '^P&DOKUMENT: (!D.!D) !A '; *.-1 611 TEXT '^P&BRUKTE BLKR: !D '; *.-1 612 TEXT '^P&LEDIGE BLKR: !D '; *.-1 613 TEXT '^P&TEKSTSTR.: !D LINJER' 614 > 615 IFDEF V30SWE < 616 TEXT '^P&DOKUMENT: (!D.!D) !A '; *.-1 617 TEXT '^P&ANV\DNDA BLK: !D '; *.-1 618 TEXT '^P&LEDIGA BLK: !D '; *.-1 619 TEXT '^P&TEXTSTORLEK.: !D RADER' 620 > 621 IFDEF SPANISH < /NB: NEEDS XLATING/A255 622 TEXT '^P&DOC.: (!D.!D) !A '; *.-1 623 TEXT '^P&BLQS USADOS: !D'; *.-1 624 TEXT '^P&BLQS SIN USAR: !D'; *.-1 625 TEXT '^P&TATA\QO DEL TEXTOS: !D L\MNS' 626 > 627 IFDEF ITALIAN < 628 TEXT '^P&DOCUMENTO: (!D.!D) !A '; *.-1 629 TEXT '^P&BLOCCHI USATI: !D '; *.-1 630 TEXT '^P&BLOCCHI LIBERI: !D '; *.-1 631 TEXT '^P&DIMENSIONE: !D RIGHE' 632 > 633 IFDEF DUTCH < 634 TEXT '^P&DOC: (!D.!D) !A'; *.-1 635 TEXT '^P&GEBRUIKTE BLOKKEN: !D '; *.-1 636 TEXT '^P&VRIJE BLOKKEN: !D '; *.-1 637 TEXT '^P®ELS / PAGINA: !D LINES' 638 > 639 640 641 LINST4, 642 IFNDEF V30NOR < 643 IFNDEF V30SWE < 644 000617* 4130 TEXT '!X^P!A^S^S^S^S^S^P&DOC: (!D.!D) !A!Y' /C235 000620* 3620 000621* 4101 000622* 3623 000623* 3623 000624* 3623 000625* 3623 000626* 3623 000627* 3620 000630* 4604 000631* 1703 000632* 7240 000633* 5041 000634* 0456 000635* 4104 000636* 5140 000637* 4101 000640* 4131 000641* 0000 645 > 646 > 647 648 IFDEF V30NOR < 649 TEXT '!X^P!A^S^S^S^S^S^P&DOK: (!D.!D) !A!Y' /C235 650 > 651 652 IFDEF V30SWE < 653 TEXT '!X^P!A^S^S^S^S^S^P&DOK: (!D.!D) !A!Y' /C235 654 > 655 656 LINST5, ESC; "[; "7; "m / SELECT REVERSE VIDEO undefined ^ 000642* 0000 000643* 0333 000644* 0267 000645* 0355 657 000646* 0000 0 / ASCII STRING TERMINATOR 658 659 000647* 4040 LINST6, TEXT ' ' / GRAPHICS BAR CHARACTER 000650* 4040 000651* 4040 000652* 4040 000653* 4040 000654* 4040 000655* 4040 000656* 4040 000657* 4040 000660* 4040 000661* 4040 000662* 4040 000663* 4040 000664* 4000 660 661 000665* 4130 LINST7, TEXT '!X^P!A&P: ' / SAVE CURSOR, SET ABSOLUTE, DISPLAY PAGE /C235 000666* 3620 000667* 4101 000670* 4620 000671* 7240 000672* 0000 662 663 000673* 4130 LINST8, TEXT '!X' / SAVE CURSOR, SET ABSOLUTE /C235 000674* 0000 664 665 000675* 4104 LINST9, TEXT '!D!3D' 000676* 4163 000677* 0400 666 667 000700* 4104 LINSTA, TEXT '!D' 000701* 0000 668 669 670 LINSTB, 671 IFDEF ENGLSH 672 IFDEF V30NOR 673 IFDEF V30SWE 674 IFDEF SPANISH /A255 675 IFDEF ITALIAN 676 IFDEF DUTCH 677 678 LINSTC, 679 IFDEF ENGLSH /C235 680 IFDEF V30NOR /C235 681 IFDEF V30SWE /C235 682 IFDEF SPANISH /A255 683 IFDEF ITALIAN /C235 684 IFDEF DUTCH /C235 685 686 IFDEF ENGLSH / LINE NUMBER NOT AVAILABLE /C235 687 IFDEF V30NOR / LINE NUMBER NOT AVAILABLE /C235 688 IFDEF V30SWE / LINE NUMBER NOT AVAILABLE /C235 689 IFDEF SPANISH / LINE NUMBER NOT AVAILABLE/A255 690 IFDEF DUTCH / LINE NUMBER NOT AVAILABLE /C235 691 692 X=. / INDICATE FIRST FREE LOCATION ON PAGE 693 XTRLIN=200-.-TRANTP 694 /-------------------- 695 PAGE 696 IFNZRO .-TRANTP-200 /A258 697 698 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 699 700 701 /*************************************************************************** 702 /**** EDITOR HOOKS FOR STATUS LINE DISPLAY **** 703 /*************************************************************************** 704 705 / CHECK STATUS CHANGE CALLED FROM THE HALT TEST ROUTINE IN LP FIELD AND BY 706 / THE GET CHARACTER ROUTINE IN MGOVLY. 707 / 708 / THIS ROUTINE CHECKS TO SEE IF ANY OF THE DISPLAY 709 / LOCATIONS OF THE STATUS LINE HAVE CHANGED SINCE 710 / LAST CHECKED AND IF SO WILL DISPLAY THE NEW VALUES. 711 712 LINCHK, XX / CHECK FOR STATUS VALUE CHANGE undefined ^ 001000* 0000 713 001001* 1172 TAD LINDIF / PICK UP THE STATUS DIFFERENT FLAG 714 001002* 7650 SNA CLA / HAS THE TOP LINE OF STATUS CHANGED ? 715 001003* 5207 JMP LINCK1 / NO, GO UPDATE PRINTER STATUS AND TIME 716 717 AC0001 / SET UP TO DISPLAY THE TOP STATUS LINE undefined ^ 001004* 0000 718 001005* 3170 DCA LINFLG / STORE IN STATUS DISPLAY MODE FLAG 719 001006* 4777 JMS LINDSP / GO DISPLAY A NEW TOP STATUS LINE 720 721 001007* 1171 LINCK1, TAD LINRUL / PICK UP THE RULER DETECTED FLAG 722 001010* 7650 SNA CLA / HAS A RULER BEEN DETECTED ? 723 001011* 5600 JMP I LINCHK / NO, GO RETURN TO CALLER 724 725 AC0002 / YES, DISPLAY THE BOTTOM STATUS LINE undefined ^ 001012* 0000 726 001013* 3170 DCA LINFLG / STORE IN STATUS DISPLAY MODE FLAG 727 001014* 4777 JMS LINDSP / GO DISPLAY THE NEW RULER 728 001015* 5600 JMP I LINCHK / RETURN TO CALLER 729 730 /*************************************************************************** 731 /**** HANDLE SCROLL DOWN AND SCROLL UP EVENTS FOR STATUS LINE DISPLAY **** 732 /*************************************************************************** 733 734 LINSDN, XX / HANDLE SCROLL DOWN EVENT undefined ^ 001016* 0000 735 001017* 4304 JMS LINTST / GO CHECK FOR SPECIAL CHRACTER 736 001020* 5227 JMP LINDNP / NEW PAGE OR PAGE MARKER DETECTED 737 001021* 5244 JMP LINDNR / RULER DETECTED - CHECK FOR TOP OF DOCUMENT 738 001022* 5616 JMP I LINSDN / IGNORE LINE - RETURN TO CALLER 739 740 AC7777 / SET UP TO DECREMENT THE COUNT undefined ^ 001023* 0000 741 001024* 1175 TAD LINNUM / COMBINE WITH CURRENT LINE COUNT 742 001025* 3175 DCA LINNUM / STORE NEW LINE COUNT 743 001026* 5241 JMP LINDNX / DONE WITH LINE, GO SET STATUS CHANGED FLAG 744 745 LINDNP, AC7777 / SET UP TO DECREMENT THE COUNT undefined ^ 001027* 0000 746 001030* 1173 TAD LINPGL / COMBINE WITH CURRENT LOW ORDER PAGE COUNT 747 001031* 7500 SMA / DID WE GO NEGATIVE ? 748 001032* 5237 JMP LINDNL / NO, THEN GO STORE NEW LOW ORDER PAGE NUMBER 749 750 AC7777 / SET UP TO DECREMENT THE COUNT undefined ^ 001033* 0000 751 001034* 1174 TAD LINPGH / COMBINE WITH CURRENT HIGH ORDER PAGE COUNT 752 001035* 3174 DCA LINPGH / STORE NEW HIGH ORDER PAGE COUNT 753 001036* 1376 TAD (1747) / PICK UP RESET VALUE OF 999 754 001037* 3173 LINDNL, DCA LINPGL / STORE NEW LOW ORDER PAGE COUNT 755 756 001040* 3175 LINDNS, DCA LINNUM / MAKE LINE NUMBER "UNKNOWN" 757 LINDNX, AC0001 / DONE WITH PAGE undefined ^ 001041* 0000 758 001042* 3172 DCA LINDIF / SET STATUS CHANGED FLAG 759 001043* 5616 JMP I LINSDN / RETURN TO CALLER 760 761 LINDNR, CDFEDT / CHANGE TO EDITOR DATA FIELD undefined ^ 001044* 0000 762 TAD I (PTRBLK+NPTRS-3)/ GET POINTER TO THIRD FROM LAST LINE undefined ^ undefined ^ 001045* 1775 763 001046* 0000 CDFMYF / RESET BACK TO THIS FIELD 764 001047* 7640 SZA CLA / IS THIS THE TOP OF DOCUMENT 765 001050* 5616 JMP I LINSDN / NO, IGNORE RULER - RETURN TO CALLER 766 AC0001 / YES, SET UP TO INITIALIZE THE COUNT undefined ^ 001051* 0000 767 001052* 5240 JMP LINDNS / GO SET LINE NUMBER TO FIRST LINE 768 769 LINSUP, XX / HANDLE SCROLL UP EVENT undefined ^ 001053* 0000 770 001054* 4304 JMS LINTST / GO CHECK FOR SPECIAL CHRACTER 771 001055* 5264 JMP LINUPP / NEW PAGE OR PAGE MARKER DETECTED 772 001056* 5653 JMP I LINSUP / IGNORE RULER - RETURN TO CALLER 773 001057* 5653 JMP I LINSUP / IGNORE LINE - RETURN TO CALLER 774 775 AC0001 / SET UP TO INCREMENT THE COUNT undefined ^ 001060* 0000 776 001061* 1175 TAD LINNUM / COMBINE WITH CURRENT LINE COUNT 777 001062* 3175 DCA LINNUM / STORE NEW LINE COUNT 778 001063* 5301 JMP LINUPX / DONE WITH LINE, GO SET STATUS CHANGED FLAG 779 780 001064* 1173 LINUPP, TAD LINPGL / PICK UP CURRENT LOW ORDER PAGE NUMBER 781 001065* 1374 TAD (-1747) / COMBINE WITH NEGATIVE 999 PAGE COUNT 782 001066* 7710 SPA CLA / ARE WE AT LOW ORDER PAGE NUMBER 999 783 001067* 5274 JMP LINUPL / GO INCREMENT LOW ORDER PAGE COUNT 784 785 AC0001 / SET UP TO INCREMENT THE COUNT undefined ^ 001070* 0000 786 001071* 1174 TAD LINPGH / COMBINE WITH CURRENT HIGH ORDER PAGE COUNT 787 001072* 3174 DCA LINPGH / STORE NEW HIGH ORDER PAGE COUNT 788 001073* 5276 JMP LINUPH / GO CLEAR LOW ORDER PAGE COUNT 789 790 LINUPL, AC0001 / SET UP TO INCREMENT THE COUNT undefined ^ 001074* 0000 791 001075* 1173 TAD LINPGL / COMBINE WITH CURRENT LOW ORDER PAGE COUNT 792 001076* 3173 LINUPH, DCA LINPGL / STORE NEW LOW ORDER PAGE COUNT 793 794 AC0001 / SET UP TO INITIALIZE THE COUNT undefined ^ 001077* 0000 795 001100* 3175 DCA LINNUM / SET LINE NUMBER TO FIRST LINE 796 LINUPX, AC0001 / DONE WITH PAGE undefined ^ 001101* 0000 797 001102* 3172 DCA LINDIF / SET STATUS CHANGED FLAG 798 001103* 5653 JMP I LINSUP / RETURN TO CALLER 799 800 801 /*************************************************************************** 802 /**** SUBROUTINE TO TEST VALUES FOR SPECIAL CHARACTERS **** 803 /*************************************************************************** 804 805 / THIS SUBROUTINE IS THE HEART OF THE STATUS LINE PAGE AND LINE NUMBER CHECK. 806 / IT WORKS ON THE BASIS OF DETERMINING WHAT CHARACTER IS AT THE START OF THE 807 / NEXT TO LAST LINE ON THE SCREEN BEFORE A SCROLL DOWN OPERATION AND AFTER A 808 / SCROLL UP OPERATION. 809 / 810 / THIS ROUTINE WILL GENERATE MULTIPLE EXIT RETURNS BASED ON THE VALUE OF THE 811 / CHARACTER AT THE START OF THE NEXT TO LAST LINE AND THE VALUE OF THE CONTROL 812 / BLOCK FLAG AND ON THE VALUE OF THE LINE NUMBER AS FOLLOWS: 813 814 / THE FIRST RETURN WILL BE THE DETECTION OF A VALID PAGE INDICATOR 815 / THIS MEANS THAT IT IS TIME TO INCREMENT OR DECREMENT THE PAGE NUMBER 816 / 817 / THE SECOND RETURN WILL INDICATE THAT A START OF RULER HAS BEEN FOUND 818 / 819 / THE THIRD RETURN WILL INDICATE THAT THE CURRENT LINE SHOULD BE 820 / IGNORED AND NOT COUNTED 821 / 822 / THE FOURTH RETURN WILL INDICATE THAT THE LINE IS A PRINTABLE LINE AND 823 / THAT THE LINE NUMBER SHOULD BE INCREMENTED OR DECREMENTED 824 825 826 LINTST, XX / TEST FOR SPECIAL CHARACTERS undefined ^ 001104* 0000 827 CDFEDT / CHANGE TO EDITOR DATA FIELD undefined ^ 001105* 0000 828 TAD I (PTRBLK+NPTRS-2)/ POINTER TO START OF NEXT TO LAST LINE undefined ^ undefined ^ 001106* 1773 829 DCA T1 / STORE POINTER INTO BUFFER FIELD undefined ^ undefined ^ 001107* 3000 830 831 CDFBUF / CHANGE TO BUFFER FIELD undefined ^ 001110* 0000 832 TAD I T1 / GET CHARACTER TO BE TESTED undefined ^ undefined ^ 001111* 1400 833 001112* 0000 CDFMYF / RESET BACK TO THIS FIELD 834 835 TAD (-ECPMRK) / CHECK FOR A PAGE MARKER undefined ^ undefined ^ 001113* 1372 836 001114* 7440 SZA / SKIP IF THERE IS A MATCH 837 TAD (ECPMRK-ECNWPG) / CHECK FOR A NEW PAGE undefined ^ undefined ^ undefined ^ undefined ^ 001115* 1372 838 001116* 7450 SNA / SKIP IF THERE IS NO MATCH 839 001117* 5704 JMP I LINTST / PAGE DETECTED, TAKE FIRST RETURN 840 841 001120* 2304 ISZ LINTST / BUMP RETURN UP TO NEXT EXIT POINT 842 TAD (ECNWPG-ECSTRL) / CHECK FOR A START OF RULLER undefined ^ undefined ^ undefined ^ undefined ^ 001121* 1372 843 001122* 7440 SZA / IS THIS THE START OF A RULER ? 844 001123* 5327 JMP LINTS1 / NO, CONTINUE WITH THE TEST 845 AC0001 / YES, THIS IS A RULER undefined ^ 001124* 0000 846 001125* 3171 DCA LINRUL / SET RULER DETECTED FLAG 847 001126* 5704 JMP I LINTST / RULER DETECTED, TAKE SECOND RETURN 848 849 001127* 2304 LINTS1, ISZ LINTST / BUMP RETURN UP TO NEXT EXIT POINT 850 TAD (ECSTRL-ECPCT1) / CHECK FOR A START CONTROL undefined ^ undefined ^ undefined ^ undefined ^ 001130* 1372 851 001131* 7440 SZA / SKIP IF THERE IS A MATCH 852 TAD (ECPCT1-ECPCT2) / CHECK FOR AN END CONTROL undefined ^ undefined ^ undefined ^ undefined ^ 001132* 1372 853 001133* 7640 SZA CLA / SKIP IF THERE IS A MATCH 854 001134* 1175 TAD LINNUM / CHECK IF LINE NUMBER IS DEFINED 855 001135* 7650 SNA CLA / SKIP IF CONDITIONS VALID SO FAR 856 001136* 5704 JMP I LINTST / IGNORE LINE, TAKE THIRD RETURN 857 858 CDFEDT / CHANGE TO EDITOR DATA FIELD undefined ^ 001137* 0000 859 001140* 1771 TAD I (PCTLFL) / PICK UP VALUE FOR CONTROL BLOCK FLAG 860 001141* 0000 CDFMYF / RESET BACK TO THIS FIELD 861 001142* 7650 SNA CLA / IF SET THEN TAKE IGNORE LINE RETURN 862 001143* 2304 ISZ LINTST / BUMP RETURN UP TO COUNT THE LINE RETURN 863 001144* 5704 JMP I LINTST / RETURN BACK TO CALLER 864 865 / Moved here for space reasons 866 867 IFDEF ITALIAN < LINSTD, TEXT '&N/&D &C:!Y'>/ LINE NUMBER NOT AVAILABLE /C235 868 869 X=. / INDICATE FIRST FREE LOCATION ON PAGE 870 /-------------------- 871 001171* 0142 PAGE 001172* 0000 001173* 0026 001174* 6031 001175* 0025 001176* 1747 001177* 0400 872 873 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 874 875 876 LINBAR, XX / ROUTINE TO PUT UP THE SECOND STATUS LINE undefined ^ 001200* 0000 877 JMS I IOACAL / CALL IOA TO DISPLAY GRAPHICS LINE undefined ^ undefined ^ 001201* 4400 878 001202* 0000 0 / USE DEFAULT IOA DISPLAY ROUTINE 879 001203* 1254 LINSTX / DISPLAY GRAPHICS LINE /C235 880 001204* 0100 100 / SCREEN POSITION FOR GRAPHICS LINE 881 001205* 1266 LINSTY / DISPLAY 27 GRAPHIC LINE CHARACTERS /C235 882 001206* 1266 LINSTY / DISPLAY 27 GRAPHIC LINE CHARACTERS /C235 883 001207* 1266 LINSTY / DISPLAY 27 GRAPHIC LINE CHARACTERS /C235 884 001210* 1266 LINSTY / DISPLAY 27 GRAPHIC LINE CHARACTERS /C235 885 001211* 1266 LINSTY / DISPLAY 27 GRAPHIC LINE CHARACTERS /C235 886 001212* 5600 JMP I LINBAR / ALL DONE, RETURN TO CALLER 887 888 889 / 890 / This routine displays OVRSTK if the user toggles the /A254 891 / Insert-Overstrike Key into Overstrike /A254 892 / 893 894 INOVDP, XX /A254 undefined ^ 001213* 0000 895 001214* 7200 CLA / Just in case /A254 896 CDFEDT / Point to Edit Field /A254 undefined ^ 001215* 0000 897 001216* 1777 TAD I (INSOVF) / Get Insert-Overstrike Flag /A254 898 001217* 0000 CDFMYF / Point back here /A254 899 001220* 7650 SNA CLA / 0 for Ins , 1 for Over /A254 900 001221* 5227 JMP INCLR / Clear screen /A254 901 INDPOV, JMS I IOACAL / Call display /A254 undefined ^ undefined ^ 001222* 4400 902 001223* 0000 0 / default /A254 903 001224* 1241 OVTOVS / Text for OVRSTK /A254 904 001225* 0031 31 / Col Pos /A254 905 001226* 5613 JMP I INOVDP / Bi Bi /A254 906 INCLR, JMS I IOACAL / Call display /A254 undefined ^ undefined ^ 001227* 4400 907 001230* 0000 0 / default /A254 908 001231* 1234 OVTCLR / Clear message /A254 909 001232* 0031 31 / Col Pos /A254 910 001233* 5613 JMP I INOVDP / Bi Bi /A254 911 912 913 001234* 3620 OVTCLR, TEXT '^P ' /A254 001235* 4040 001236* 4040 001237* 4040 001240* 0000 914 001241* 3620 OVTOVS, TEXT '^P![[1M&OVRSTK![[22M' /A254 001242* 4133 001243* 3361 001244* 1546 001245* 1726 001246* 2223 001247* 2413 001250* 4133 001251* 3362 001252* 6215 001253* 0000 915 916 917 001254* 3620 LINSTX, TEXT '^P!CN^S^S^S^S^S!CO' / SEQUENCE DESCRIBED BELOW /C235 001255* 4103 001256* 1636 001257* 2336 001260* 2336 001261* 2336 001262* 2336 001263* 2341 001264* 0317 001265* 0000 918 / ESC ( 0 / SELECT GRAPHICS CHARACTER SET /C235 919 920 001266* 2121 LINSTY, TEXT 'QQQQQQQQQQQQQQQQQQQQQQQQQQQ' / GRAPHICS LINE CHARACTER /C235 001267* 2121 001270* 2121 001271* 2121 001272* 2121 001273* 2121 001274* 2121 001275* 2121 001276* 2121 001277* 2121 001300* 2121 001301* 2121 001302* 2121 001303* 2100 921 922 923 X=. / INDICATE FIRST FREE LOCATION ON PAGE 924 /-------------------- 925 001377* 4357 PAGE 926 927 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 928 929 930 931 / /A207 932 /++ /A207 933 / CALSWAP CALL_A_ROUTINE IN EDITOR SWAP AREA /A207 934 / /A207 935 /FUNTIONAL DESCRIPTION: CALSWAP /A207 936 / /A207 937 / THIS ROUTINE CAN BE USED TO CALL ANY SUBROUTINE IN THE EDITOR SWAP /A207 938 / AREA FROM ANY FIELD IN THE SYSTEM AS LONG AS THE EDITOR SWAP AREA /A207 939 / SUBROUTINE MAKES ONLY A NORMAL OR SKIP RETURN. /A207 940 / /A207 941 /CALLING SEQUENCE: CIFMNU (DF = CALLER FIELD) /A207 942 / JMS CALSWAP /A207 943 / CALLED ROUTINE RESIDING IN EDITOR SWAP AREA /A207 944 / DATA FIELD TO SET FOR CALLED ROUTINE /A207 945 / /A207 946 /INPUT PARAMETERS: AC = VALUE (IF ANY) NEEDED FOR CALLED ROUTINE /A207 947 / /A207 948 /IMPLICIT INPUT: CIDF0, CALSW1, T1, CALSWAP /A207 949 / /A207 950 /OUTPUT PARAMETERS: AC = OUTPUT OF CALLED ROUTINE /A207 951 / MQ = OUTPUT OF CALLED ROUTINE /A207 952 / DATA AND INSTRUCTION FIELD = CALLING FIELD /A207 953 / /A207 954 /IMPLICIT OUTPUT: CALSW1, T1, CALSW2 /A207 955 / /A207 956 /COMPLETION CODE: NONE /A207 957 / /A207 958 /SIDE EFFECTS: 1) CALSWAP USES T1 /A207 959 / /A207 960 /-- /A207 961 / /A207 962 CALSWAP,XX / CALL_A_ROUTINE IN EDITOR SWAP AREA /A207 undefined ^ 001400* 0000 963 001401* 7421 MQL / HOLD VALUE IN AC /A207 964 001402* 6214 RDF / SET UP RETURN CIF CDF INSTRUCTION /A207 965 001403* 1377 TAD (CDF CIF 0) /A207 966 001404* 3220 DCA CALSW1 / SAVE INSTRUCTION /A207 967 001405* 1600 TAD I CALSWAP / GET ADDRESS OF ROUTINE TO JMS TOO /A207 968 DCA T1 / SAVE IT /A207 undefined ^ undefined ^ 001406* 3000 969 001407* 2200 ISZ CALSWAP / BUMP RETURN FOR NEXT PARAMETER /A207 970 001410* 1600 TAD I CALSWAP / GET CDF INSTRUCTION /A207 971 001411* 3213 DCA CALSW2 / SAVE IT /A207 972 001412* 2200 ISZ CALSWAP / BUMP RETURN /A207 973 001413* 0000 CALSW2, .-. / HOLDS CIF CDF INSTRUCTION /A207 974 001414* 7521 SWP / RESTORE TO AC CALLING VALUE /A207 975 JMS I T1 / JMS TO ROUTINE SPECIFIED AT CALLER+1 /A207 undefined ^ undefined ^ 001415* 4400 976 001416* 7410 SKP / NONSKIP RETURN /A207 977 001417* 2200 ISZ CALSWAP / SKIP RETURN - BUMP RETURN POINTER /A207 978 001420* 0000 CALSW1, .-. / RETURN CIF CDF INSTRUCTION PLACED HERE/A207 979 001421* 5600 JMP I CALSWAP / RETURN TO CALLER /A207 980 / /A207 981 / /A207 982 / /A207 983 984 / EFSCLU SCROLL SCREEN UP /A207 985 / /A207 986 987 EFSCLU, XX /A207 undefined ^ 001422* 0000 988 CDFMNU /A207 undefined ^ 001423* 0000 989 CIFEDT /A207 undefined ^ 001424* 0000 990 001425* 4776 JMS I (FMSWAP) /A207 991 001426* 3600 SCRLUP /A207 992 CDFBUF /A207 undefined ^ 001427* 0000 993 CDFEDT /A207 undefined ^ 001430* 0000 994 001431* 5622 JMP I EFSCLU /A207 995 996 / EFSECO CALL SCECHO IN EDITOR FIELD /A207 997 / /A207 998 999 EFSECO, XX /A207 undefined ^ 001432* 0000 1000 CDFMNU /A207 undefined ^ 001433* 0000 1001 CIFEDT /A207 undefined ^ 001434* 0000 1002 001435* 4776 JMS I (FMSWAP) /A207 1003 001436* 2346 SCECHO /A207 1004 CDFEDT /A207 undefined ^ 001437* 0000 1005 CDFEDT /A207 undefined ^ 001440* 0000 1006 001441* 5632 JMP I EFSECO /A207 1007 1008 / EFINSR INSERT CHAR IN TEXT BUFFER /A207 1009 / /A207 1010 1011 EFINSR, XX / INSERT CHAR IN TEXT BUFFER /A207 undefined ^ 001442* 0000 1012 CDFMNU /A207 undefined ^ 001443* 0000 1013 CIFEDT /A207 undefined ^ 001444* 0000 1014 001445* 4776 JMS I (FMSWAP) /A207 1015 001446* 2000 INSERT /A207 1016 CDFBUF /A207 undefined ^ 001447* 0000 1017 CDFEDT /A207 undefined ^ 001450* 0000 1018 001451* 5642 JMP I EFINSR /A207 1019 1020 / EFSLMD SET LINE MODIFIED /A207 1021 / /A207 1022 1023 EFSLMD, XX / SET LINE MODIFIED /A207 undefined ^ 001452* 0000 1024 CDFMNU /A207 undefined ^ 001453* 0000 1025 CIFEDT /A207 undefined ^ 001454* 0000 1026 001455* 4776 JMS I (FMSWAP) /A207 1027 001456* 2255 SETLMD /A207 1028 CDFEDT /A207 undefined ^ 001457* 0000 1029 CDFEDT /A207 undefined ^ 001460* 0000 1030 001461* 5652 JMP I EFSLMD /A207 1031 1032 / EFBZZR RING THE KEYBOARD BELL /A207 1033 / /A207 1034 1035 EFBZZR, XX / RING THE BELL /A207 undefined ^ 001462* 0000 1036 CDFMNU /A207 undefined ^ 001463* 0000 1037 CIFEDT /A207 undefined ^ 001464* 0000 1038 001465* 4776 JMS I (FMSWAP) /A207 1039 001466* 0331 BUZZER /A207 1040 CDFEDT /A207 undefined ^ 001467* 0000 1041 CDFEDT /A207 undefined ^ 001470* 0000 1042 001471* 5662 JMP I EFBZZR /A207 1043 1044 / EFADSP ADVANCE ONE PRINT SPACE IN TEXT BUFFER RETURNING CHAR /A207 1045 / /A207 1046 1047 EFADSP, XX / CALL BKPSPC IN EDIT FIELD /A207 undefined ^ 001472* 0000 1048 CDFMNU /A207 undefined ^ 001473* 0000 1049 CIFEDT /A207 undefined ^ 001474* 0000 1050 001475* 4776 JMS I (FMSWAP) /A207 1051 001476* 1717 ESASPC / ROUTINE TO BE CALLED /A207 1052 CDFBUF / SET BUFFER FIELD /A207 undefined ^ 001477* 0000 1053 001500* 7410 SKP / NONSKIP RETURN /A207 1054 001501* 2272 ISZ EFADSP / SKIP RETURN /A207 1055 CDFEDT /A207 undefined ^ 001502* 0000 1056 001503* 5672 JMP I EFADSP / RETURN TO CALLER /A207 1057 1058 / EFBKSP BACKUP ONE PRINT SPACE IN TEXT BUFFER RETURNING CHAR /A207 1059 / /A207 1060 1061 EFBKSP, XX / CALL BKPSPC IN EDIT FIELD /A207 undefined ^ 001504* 0000 1062 CDFMNU /A207 undefined ^ 001505* 0000 1063 CIFEDT /A207 undefined ^ 001506* 0000 1064 001507* 4776 JMS I (FMSWAP) /A207 1065 001510* 1701 ESBSPC / ROUTINE TO BE CALLED /A207 1066 CDFBUF / SET BUFFER FIELD /A207 undefined ^ 001511* 0000 1067 001512* 7410 SKP / NONSKIP RETURN /A207 1068 001513* 2304 ISZ EFBKSP / SKIP RETURN /A207 1069 CDFEDT /A207 undefined ^ 001514* 0000 1070 001515* 5704 JMP I EFBKSP / RETURN TO CALLER /A207 1071 1072 / EFLDCH GET CURRENT CHAR FROM TEXT BUFFER /A207 1073 / /A207 1074 1075 EFLDCH, XX / CALL LODCHR IN EDT FIELD /A207 undefined ^ 001516* 0000 1076 CDFMNU /A207 undefined ^ 001517* 0000 1077 CIFEDT /A207 undefined ^ 001520* 0000 1078 001521* 4776 JMS I (FMSWAP) /A207 1079 001522* 4241 LODCHR / ROUTINE TO BE CALLED /A207 1080 CDFEDT / CALL WITH EDITOR DATA FIELD SET /A207 undefined ^ 001523* 0000 1081 001524* 7410 SKP / NONSKIP RETURN /A207 1082 001525* 2316 ISZ EFLDCH / SKIP RETURN /A207 1083 CDFEDT /A207 undefined ^ 001526* 0000 1084 001527* 5716 JMP I EFLDCH / RETURN TO CALLER /A207 1085 1086 / EFSSPT SET SPLIT SCREEN FLAG IF NECESSARY /A207 1087 / /A207 1088 1089 EFSSPT, XX / SET SCREEN NEEDS TO BE SET FLAG /A207 undefined ^ 001530* 0000 1090 CDFEDT / FROM MENU FIELD /A207 undefined ^ 001531* 0000 1091 /D226 TAD I (SPLTFL) / GET SLPIT FLAG /A207 1092 /D226 SNA /A207 1093 AC7777 / SET TO NEEDS SPLIT /A207 undefined ^ 001532* 0000 1094 001533* 3775 DCA I (SPLTFL) /A207 1095 /D226 CDFEDT /A207 1096 001534* 5730 JMP I EFSSPT /A207 1097 1098 / EFCKAL CHECK FOR PRINTING ASCII CHAR /A207 1099 / /A207 1100 1101 EFCKAL, XX / CHKALP IN MENU FIELD /A207 undefined ^ 001535* 0000 1102 001536* 7421 MQL / SAVE AC IN MQ /A207 1103 001537* 7501 MQA /A207 1104 AND P177 / STRIP BITS /A207 undefined ^ undefined ^ 001540* 0000 1105 TAD (-ECSPC) / GREATER THAN SPACE? /A207 undefined ^ undefined ^ 001541* 1374 1106 001542* 7540 SMA SZA /A207 1107 001543* 2335 ISZ EFCKAL / YES, OK CODE /A207 1108 001544* 7701 CLA MQA / RESTORE AC /A207 1109 CDFEDT /A207 undefined ^ 001545* 0000 1110 001546* 5735 JMP I EFCKAL / RETURN /A207 1111 1112 EFRSLN, XX /A208 undefined ^ 001547* 0000 1113 CDFMNU /A208 undefined ^ 001550* 0000 1114 CIFEDT /A208 undefined ^ 001551* 0000 1115 001552* 4776 JMS I (FMSWAP) /A208 1116 001553* 4457 RSTRLN /A208 1117 CDFEDT /A208 undefined ^ 001554* 0000 1118 001555* 5747 JMP I EFRSLN /A208 1119 1120 EFADPT, XX /A208 undefined ^ 001556* 0000 1121 CDFMNU /A208 undefined ^ 001557* 0000 1122 CIFEDT /A208 undefined ^ 001560* 0000 1123 001561* 4776 JMS I (FMSWAP) /A208 1124 001562* 1213 ESAPTR /A208 1125 CDFBUF /A208 undefined ^ 001563* 0000 1126 001564* 7410 SKP /A208 1127 001565* 2356 ISZ EFADPT /A208 1128 001566* 5756 JMP I EFADPT /A208 1129 1130 1131 X= . 1132 1133 001574* 0000 PAGE 001575* 2345 001576* 0251 001577* 6203 1134 1135 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED /A207 undefined ^ undefined ^ 1136 1137 EFCKMR, XX / CHK RIGHT MARGIN /A207 undefined ^ 001600* 0000 1138 001601* 3343 DCA CHKMRF / CLEAR HYPHEN FLAG /A207 1139 CDFEDT /A207 undefined ^ 001602* 0000 1140 001603* 1777 TAD I (CURSOR) /A207 1141 001604* 1376 TAD (-COLLIM+1) / LIMIT TO SCREEN WIDTH /A207 1142 001605* 7500 SMA /A207 1143 001606* 5242 JMP CHKMR5 /A207 1144 001607* 1375 TAD (COLLIM-COLM81) /M219 1145 001610* 7640 SZA CLA /A207 1146 001611* 5221 JMP CHKMR1 /A207 1147 001612* 1774 TAD I (RGTMAR) /A207 1148 /D226 CLL / CLEAR LINK BEFORE CHECK /A226 1149 001613* 1373 TAD (-COLM80) /M219 1150 001614* 7700 SMA CLA /A207 1151 001615* 4772 JMS EFSSPT / SPLIT SCREEN IF APPROPRIATE /A207 1152 001616* 1771 TAD I (SPLTFL) /A207 1153 001617* 7650 SNA CLA /A207 1154 001620* 5242 JMP CHKMR5 /A207 1155 001621* 1770 CHKMR1, TAD I (LINMOD) /A207 1156 001622* 7650 SNA CLA /A207 1157 001623* 5341 JMP CHKMR9 / NO CHECK IF NO MOD FLAG /A207 1158 001624* 1777 TAD I (CURSOR) /A207 1159 001625* 7041 CIA /A207 1160 001626* 1774 TAD I (RGTMAR) / LIMIT TO RIGHT MARGIN /A207 1161 001627* 7700 SMA CLA /A207 1162 001630* 5341 JMP CHKMR9 / RETURN IF OK /A207 1163 001631* 4767 JMS EFLDCH /JMS LODCHR /A207 1164 001632* 5341 JMP CHKMR9 /A207 1165 AND P177 / OR IF ONLY BLANKS OUTSIDE MARGIN /A207 undefined ^ undefined ^ 001633* 0000 1166 TAD (-ECSPC) /A207 undefined ^ undefined ^ 001634* 1366 1167 001635* 7450 SNA /A207 1168 001636* 5341 JMP CHKMR9 /A207 1169 TAD (ECSPC-ECTAB) /A207 undefined ^ undefined ^ undefined ^ undefined ^ 001637* 1366 1170 001640* 7650 SNA CLA /A207 1171 001641* 5314 JMP CHKMR4 / DO NOW IF TAB /A207 1172 001642* 7200 CHKMR5, CLA /A207 1173 001643* 1777 TAD I (CURSOR) /A207 1174 001644* 7041 CIA /A207 1175 001645* 3345 DCA CHKMRT / SET MOVE LIMIT /A207 1176 001646* 4765 CHKMR2, JMS EFBKSP / BKPSPC /A207 1177 001647* 5277 JMP CHKMR3 / LOOK FOR BLANK /A207 1178 001650* 4764 JMS EFCKAL / JMS CHKALP /A207 1179 001651* 5763 JMP CHKMR6 / CHECK FOR HYPHEN POINT /A207 1180 001652* 0362 AND (7177) / MASK OUT BOLD AND UNDERLINE BITS /A207 1181 TAD (-ECPHYP) /A207 undefined ^ undefined ^ 001653* 1366 1182 001654* 7650 SNA CLA /A207 1183 001655* 5277 JMP CHKMR3 /A207 1184 001656* 7701 CLA MQA /A207 1185 001657* 0363 AND (2000) /A207 1186 001660* 7650 SNA CLA /A207 1187 001661* 5271 JMP CHKMR7 /A207 1188 001662* 1777 CHKM2A, TAD I (CURSOR) /M244 /A207 1189 001663* 1345 TAD CHKMRT /A207 1190 001664* 7650 SNA CLA /A207 1191 001665* 5271 JMP CHKMR7 / NOT TOO CLOSE /A207 1192 TAD (ECHYLN-ECWWLN) /A207 undefined ^ undefined ^ undefined ^ undefined ^ 001666* 1366 1193 001667* 3343 DCA CHKMRF / SET HYPHEN FLAG /A207 1194 001670* 5277 JMP CHKMR3 /A207 1195 1196 001671* 2345 CHKMR7, ISZ CHKMRT /A207 1197 001672* 5246 JMP CHKMR2 /A207 1198 AC7777 /A207 undefined ^ 001673* 0000 1199 001674* 3345 DCA CHKMRT / HERE IF O.W.L. /A207 1200 001675* 1777 TAD I (CURSOR) /A207 1201 001676* 1345 TAD CHKMRT /A207 1202 001677* 7040 CHKMR3, CMA /A207 1203 001700* 3344 DCA CHKMRS / -# TO SKIP BEFORE BREAKING /A207 1204 AC0001 /A207 undefined ^ 001701* 0000 1205 001702* 1777 TAD I (CURSOR) /A207 1206 001703* 1345 TAD CHKMRT /A207 1207 001704* 1344 TAD CHKMRS /A207 1208 001705* 3345 DCA CHKMRT / # TO ADVANCE AFTER BREAKING /A207 1209 001706* 4761 JMS EFADSP /ADVSPC /A207 1210 001707* 7000 NOP /A207 1211 001710* 7200 CLA / GO BACK TO WHERE WE WERE /A207 1212 001711* 2344 ISZ CHKMRS /A207 1213 001712* 5306 JMP .-4 /A207 1214 001713* 1345 TAD CHKMRT /A207 1215 001714* 7040 CHKMR4, CMA /A207 1216 001715* 3345 DCA CHKMRT / ...IN FORM FOR ISZ LOOP /A207 1217 001716* 1777 TAD I (CURSOR) /A207 1218 001717* 1345 TAD CHKMRT /A207 1219 001720* 7001 IAC /A207 1220 001721* 3777 DCA I (CURSOR) / FIX CURSOR /A207 1221 001722* 1777 TAD I (CURSOR) /A207 1222 001723* 7040 CMA /A207 1223 TAD I (NWHMAR-NWRUL+CURUL) /A207 undefined ^ undefined ^ 001724* 1760 1224 001725* 7700 SMA CLA /A207 1225 001726* 4757 JMS EFBZZR /JMS BUZZER / BEEP ON VIOLATION /A207 1226 001727* 4756 JMS EFSLMD /SLNMOD /A207 1227 001730* 1343 TAD CHKMRF / GET HYPHEN FLAG /A207 1228 TAD (ECWWLN) / +NEW LINE CODE /A207 undefined ^ undefined ^ 001731* 1366 1229 001732* 4755 JMS EFINSR /JMS INSERT /A207 1230 001733* 4754 JMS EFSCLU /JMS SCRLUP /A207 1231 001734* 5336 JMP CHKMRX /A207 1232 1233 001735* 4753 JMS EFSECO /JMS SCECHO /A207 1234 001736* 2345 CHKMRX, ISZ CHKMRT /A207 1235 001737* 5335 JMP .-2 / GET BACK TO ORIGINAL POSITION /A207 1236 001740* 7410 SKP /A207 1237 001741* 2200 CHKMR9, ISZ EFCKMR / TAKE SKIP RETURN IF NO WRAPPING DONE /A207 1238 001742* 5600 JMP I EFCKMR / THEN RETURN TO CALLER /A207 1239 1240 001743* 0000 CHKMRF, 0 /A207 1241 001744* 0000 CHKMRS, 0 /A207 1242 001745* 0000 CHKMRT, 0 /A207 1243 1244 X= . 1245 001753* 1432 PAGE 001754* 1422 001755* 1442 001756* 1452 001757* 1462 001760* 0175 001761* 1472 001762* 7177 001763* 2000 001764* 1535 001765* 1504 001766* 0000 001767* 1516 001770* 0151 001771* 2345 001772* 1530 001773* 7661 001774* 0160 001775* 0240 001776* 7421 001777* 0136 1246 1247 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED /A207 undefined ^ undefined ^ 1248 1249 / /A207 1250 / THIS ROUTINE BELONGS WITH THE CHKMAR ROUTINE, IF ANY ROOM EVER /A207 1251 / SHOWS UP ON THAT PAGE, THIS SHOULD BE MOVED WITH IT. /A207 1252 / /A207 1253 1254 002000* 0377 CHKMR6, AND (7177) / ELIM BOLD-UNDL BITS /A207 1255 TAD (-ECSPC) / HARD SPACE? /A207 undefined ^ undefined ^ 002001* 1376 1256 002002* 7450 SNA /M199/A207 1257 002003* 5775 JMP CHKMR3 / PROCESS SPACE /A207 1258 TAD (ECSPC-ECTAB) / TAB STOPPER? /A199/A207 undefined ^ undefined ^ undefined ^ undefined ^ 002004* 1376 1259 002005* 7450 SNA /M244 /A207 1260 002006* 5214 JMP CHKMR8 / PROCESS TAB /A199/A207 1261 002007* 5774 JMP CHKTCC /M244 /A207 1262 1263 CHK8MR, CDFMNU / BACK TO MY FIELD /A199/A207 undefined ^ 002010* 0000 1264 AC7777 / BUMP POS COUNTER FOR THE SOFT SPACE/A199/A207 undefined ^ 002011* 0000 1265 002012* 1773 TAD CHKMRT / ... /A199/A207 1266 002013* 3773 DCA CHKMRT / ... /A199/A207 1267 002014* 4772 CHKMR8, JMS EFADSP / SCAN THE SOFT SPACES TO THE END/A199/A207 1268 002015* 7000 NOP / /A199/A207 1269 002016* 0377 AND (7177) / THE TAB STOP. /A199/A207 1270 TAD (-ECJSPC) / ... /A199/A207 undefined ^ undefined ^ 002017* 1376 1271 002020* 7650 SNA CLA / /A199/A207 1272 002021* 5210 JMP CHK8MR / JMP WHILE IN THE TAB. /A199/A207 1273 002022* 4771 JMS EFBKSP / BACK UP TO THE PRIOR CHAR. /A199/A207 1274 002023* 7000 NOP / /A199/A207 1275 002024* 7200 CLA / ... /A199/A207 1276 002025* 5775 JMP CHKMR3 / MERGE BELOW /A199/A207 1277 1278 1279 / EFCASE A SUBROUTINE TO PERFORM CASE STYLE CHECKING 1280 / 1281 / CALL: 1282 / 1283 / JMS EFCASE 1284 / TABLE-1 (ADDRESS OF THE TABLE TO COMPARE AGAINST) 1285 / (ON NO MATCH RETURNS HERE) 1286 / 1287 / AC ==> (VALUE TO COMPARE AGAINST) 1288 / 1289 / THE COMPARE TABLE HAS THE FORMAT OF: 1290 / 1291 / VALUE;ADDRESS / VALUE 1 AND ADDRESS TO JUMP TO ON MATCH 1292 / VALUE;ADDRESS / VALUE 2 AND ADDRESS TO JUMP TO ON MATCH 1293 / ... / ETC. 1294 / 0 / TABLE TERMINATOR 1295 / 1296 / NOTE: THIS SUBROUTINE DESTROYS THE CONTENTS OF AUTO INDEX 1297 / REGISTERS 6 AND 7 1298 / 1299 CASTMP=IX0 / AUTO INDEX REGISTER 6 undefined ^ 1300 X7=IX1 / AUTO INDEX REGISTER 7 undefined ^ 1301 1302 EFCASE, XX / ENTRY TO CASE SUBROUTINE undefined ^ 002026* 0000 1303 002027* 3000 DCA CASTMP / SAVE AC FOR COMPARES 1304 002030* 6214 RDF / SAVE DATA FIELD 1305 002031* 1370 TAD (CDF 0) / ADD TO CDF TO FIELD 0 1306 002032* 3253 DCA EFCS02 / AND PUT FOR RETURN 1307 CDFMNU / SET TO MYFIELD undefined ^ 002033* 0000 1308 002034* 1626 TAD I EFCASE / GET THE TABLE ADDRESS 1309 002035* 3000 DCA X7 / SAVE IN AUTO INDEX REGISTER 1310 1311 / 1312 / THIS IS THE CHECK LOOP FOR CASE MATCHING 1313 / 1314 002036* 1400 EFCS01, TAD I X7 / GET VALUE 1315 002037* 7450 SNA / TERMINATOR? 1316 002040* 5252 JMP EFCSEX / YES TAKE DEFAULT RETURN 1317 002041* 7041 CIA / NEGATE THE OPERAND 1318 002042* 1000 TAD CASTMP / COMPARE 1319 002043* 7650 SNA CLA / MATCHED? 1320 002044* 5247 JMP EFCSMT / YES! GO TO MATCH EXIT 1321 002045* 2000 ISZ X7 / SKIP JUMP VECTOR 1322 002046* 5236 JMP EFCS01 / TRY THE NEXT VALUE 1323 / 1324 / END OF LOOP 1325 / 1326 002047* 1400 EFCSMT, TAD I X7 / GET RETURN ADDRESS 1327 002050* 3226 DCA EFCASE / STORE FOR RETURN 1328 002051* 7410 SKP / DON'T INCREMENT 1329 002052* 2226 EFCSEX, ISZ EFCASE / SKIP TABLE VECTOR 1330 002053* 0000 EFCS02, CDFMYF / RESET DATA FIELD 1331 002054* 5626 JMP I EFCASE / AND GO HOME 1332 1333 EFLDNT, XX / INDENT TO LEFT MARGIN undefined ^ 002055* 0000 1334 002056* 4767 EFLDN1, JMS EFBKPT / CHECK LINE ENDING 1335 002057* 5307 JMP LINDN4 1336 CDFEDT undefined ^ 002060* 0000 1337 AND P177 / MASK MODE BITS undefined ^ undefined ^ 002061* 0000 1338 1339 TAD (-ECNWLN) / IS CHAR. = NEW LINE? undefined ^ undefined ^ 002062* 1376 1340 002063* 7640 SZA CLA / SKIP IF: SO 1341 002064* 5256 JMP EFLDN1 1342 002065* 1766 TAD I (CURPTR) / GET CHARACTER BACK 1343 DCA T1 undefined ^ undefined ^ 002066* 3000 1344 CDFBUF undefined ^ 002067* 0000 1345 TAD I T1 undefined ^ undefined ^ 002070* 1400 1346 1347 002071* 4226 JMS EFCASE / CHECK FOR EOL MARK MATCH 1348 002072* 2137 CTB001-1 / TABLE ADDRESS FOR CASE 1349 / 1350 / ECWWLN; LINDN5 / WORD WRAP EOL 1351 / ECHYLN; LINDN5 / HYPHENATION EOL 1352 / ECPGRF; LINDN3 / PARAGRAPH MARK 1353 / ECSLPT; LINDN8 / SELECT POINT 1354 / 0 / INDICATE END OF TABLE 1355 1356 002073* 5307 JMP LINDN4 / OR NORMAL (NOT SELECT ETC...) 1357 002074* 3337 LINDN8, DCA LINDN2 / FIND CURSOR, IF SELECT POINT 1358 002075* 4771 LINDN7, JMS EFBKSP 1359 002076* 5315 JMP LINDN6 1360 AND P177 undefined ^ undefined ^ 002077* 0000 1361 1362 002100* 4226 JMS EFCASE / COMPARE TO EOL MARKS 1363 002101* 2342 CTB002-1 / TABLE ADDRESS FOR CASE 1364 1365 / ECNWLN; LINDN6 / NEWLINE 1366 / ECNWPG; LINDN6 / NEW PAGE 1367 / ECNDRL; LINDN6 / END RULER 1368 / 0 / INDICATE END OF TABLE 1369 1370 002102* 2337 ISZ LINDN2 1371 002103* 5275 JMP LINDN7 1372 1373 LINDN3, CDFEDT undefined ^ 002104* 0000 1374 002105* 1765 TAD I (PGFMAR) / THEN SET PROPER INDENT 1375 002106* 5314 JMP LINDN9 1376 LINDN4, CDFEDT undefined ^ 002107* 0000 1377 002110* 1764 TAD I (LFTMAR) 1378 002111* 5314 JMP LINDN9 1379 LINDN5, CDFEDT undefined ^ 002112* 0000 1380 002113* 1763 TAD I (WRPMAR) 1381 002114* 3337 LINDN9, DCA LINDN2 / INTO LINDN2 1382 LINDN6, CDFEDT undefined ^ 002115* 0000 1383 002116* 1762 TAD I (LINE23) 1384 002117* 3766 DCA I (CURPTR) / RESTORE TEXT PTR 1385 002120* 1337 TAD LINDN2 / SEE IF INDENT COUNT IS BEYOND /A203 1386 002121* 7041 CIA / THE RIGHT MARGIN. /A203 1387 002122* 1761 TAD I (RGTMAR) / IF SO, THEN CHANGE INDENT TO /A203 1388 002123* 7710 SPA CLA / INDENT ONLY TO THE LEFT MARGIN. /A203 1389 002124* 5307 JMP LINDN4 / ... /A203 1390 LINDN1, CDFEDT undefined ^ 002125* 0000 1391 002126* 1337 TAD LINDN2 1392 002127* 7041 CIA 1393 002130* 1760 TAD I (CURSOR) 1394 002131* 7700 SMA CLA 1395 002132* 5655 JMP I EFLDNT / RETURN IF DONE 1396 TAD (ECJSPC) undefined ^ undefined ^ 002133* 1376 1397 002134* 4757 JMS EFINSR / ELSE INSERT JSPACE 1398 002135* 4756 JMS EFSECO / ...ECHO IT 1399 002136* 5325 JMP LINDN1 / AND LOOP FOR MORE 1400 002137* 0000 LINDN2, .-. 1401 1402 1403 CTB001, ECWWLN; LINDN5 / WORD WRAP EOL undefined ^ 002140* 0000 002141* 2112 1404 ECHYLN; LINDN5 / HYPHENATION EOL undefined ^ 002142* 0000 002143* 2112 1405 ECPGRF; LINDN3 / PARAGRAPH MARK undefined ^ 002144* 0000 002145* 2104 1406 ECSLPT; LINDN8 / SELECT POINT undefined ^ 002146* 0000 002147* 2074 1407 002150* 0000 0 / INDICATE END OF TABLE 1408 1409 X= . 1410 1411 002156* 1432 PAGE 002157* 1442 002160* 0136 002161* 0160 002162* 0171 002163* 0161 002164* 0157 002165* 0162 002166* 0135 002167* 2331 002170* 6201 002171* 1504 002172* 1472 002173* 1745 002174* 2544 002175* 1677 002176* 0000 002177* 7177 1412 1413 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED /A208 undefined ^ undefined ^ 1414 1415 / /A208 1416 /FIND_NEXT_TAB_STOP: /A208 1417 / /A208 1418 /ENTER: AC = LINE POSITION /A208 1419 /EXIT: AC = TAB_CLASS /A208 1420 / MQ = POSITION OF TAB IN RULER /A208 1421 / /A208 1422 /PSEUDO CODE: /A208 1423 / SAVE POSITION IN LINE /A208 1424 / /A208 1425 / REPEAT /A208 1426 / INCREMENT SAVED_LINE_POSITION /A208 1427 / GET SAVED_LINE_POSITION + 1 /A208 1428 / CALL EFGTBY (GET RULER SETTING FOR THIS POSITION) /A208 1429 / CALL EFGTBY (SEE WHAT CLASS) /A208 1430 / UNTIL [RULER TAB DETECTED] /A208 1431 / /A208 1432 / SAVE TAB_CLASS IN MQ /A208 1433 / GET POSITION OF TAB IN RULER /A208 1434 / RETURN WITH TAB_CLASS IN AC, POSITION OF TAB IN MQ /A208 1435 / /A208 1436 FNTABSTOP, / FIND_NEXT_TAB_STOP /A208 1437 XX /A208 undefined ^ 002200* 0000 1438 002201* 3326 DCA FNTAB2 / SAVE POSITION ON LINE /A208 1439 002202* 2326 FNTAB1, ISZ FNTAB2 / INCREMENT POSITION /A208 1440 002203* 7000 NOP / ALLOW LEFT-MARGIN LOOKUP /A208 1441 AC0001 / GET SAVED_LINE_POSITION + 1 /A208 undefined ^ 002204* 0000 1442 002205* 1326 TAD FNTAB2 /A208 1443 002206* 4777 JMS EFGTBY /A208 1444 CURUL / GET RULER SETTING OF THIS POSITON /A208 undefined ^ 002207* 0000 1445 002210* 4777 JMS EFGTBY /A208 1446 TBSTR / GET CLASS OF SETTING /A208 undefined ^ 002211* 0000 1447 002212* 7450 SNA / SKIP IF: TAB SETTING /A208 1448 002213* 5202 JMP FNTAB1 / NEXT POSITION /A208 1449 002214* 7421 MQL / HOLD CLASS IN MQ /A208 1450 002215* 1326 TAD FNTAB2 / GET POSITION OF TAB_SETTING /A208 1451 002216* 7521 SWP / PUT POSITION IN MQ AND CLASS IN AC /A208 1452 002217* 5600 JMP I FNTABSTOP / RETURN /A208 1453 / /A208 1454 / /A208 1455 / /A208 1456 1457 / THIS ROUTINE ORIGIONALLY WAS SET UP TO REFRESH ONLY WHAT NEEDED TO BE /A208 1458 / REFRESHED. DUE TO THE HIGH NUMBER OF EXCEPTION CASES & THE LACK OF SPACE/A208 1459 / TO TEST FOR EACH EXCEPTION, THE ENTIRE LINE WILL BE REPAINTED WHENEVER A/A208 1460 / TAB CHARACTER IS SEEN. /A208 1461 / /A208 1462 EFTJST, XX / JUSTIFY NEXT TAB STOP /A208 undefined ^ 002220* 0000 1463 CDFEDT /A208 undefined ^ 002221* 0000 1464 002222* 1776 TAD I (RGTMAR) / GET RIGHT MARGIN /A208 1465 002223* 7041 CIA / NEGATE IT /A208 1466 002224* 1775 TAD I (CURSOR) / GET CURSOR POSITION /A208 1467 002225* 7700 SMA CLA / SKIP IF: CURSOR POSITIONED PREVIOUS /A208 1468 / TO THE RIGHT MARGIN /A208 1469 002226* 5620 JMP I EFTJST / NOTHING TO DO IF AT RIGHT MARGIN /A208 1470 002227* 1774 TAD I (CURPTR) / SAVE POINTER /A208 1471 002230* 3330 DCA TBECH3 /A208 1472 002231* 1775 TAD I (CURSOR) / INIT TAB SEARCH COUNTER /A208 1473 002232* 4200 JMS FNTABSTOP / JMS TO FIND_NEXT_TAB_STOP /A208 1474 / RETURN WITH AC = TAB_CLASS /A208 1475 / MQ = TAB_SET POSITION /A208 1476 / IN RULER /A208 1477 002233* 1373 TAD (-2) /A208 1478 002234* 3327 DCA TBECH2 / SAVE CLASS /A208 1479 002235* 7521 SWP / GET DISTANCE FROM SAVED CURSOR POSIT. /A208 1480 / TO THIS TAB STOP /A208 1481 002236* 7041 CIA / NEGATE IT /A208 1482 002237* 1775 TAD I (CURSOR) /A208 1483 002240* 3326 DCA TBECH1 /A208 1484 002241* 1327 TAD TBECH2 / TEST CLASS OF TAB /A208 1485 002242* 7710 SPA CLA / SKIP IF: NOT NORMAL TAB /A208 1486 002243* 5303 JMP TBECHB / JUMP IF NORMAL TAB /A208 1487 002244* 4772 TBECHC, JMS EFADSP /A208 1488 002245* 5303 JMP TBECHB / SEARCH FOR TERMINATOR /A208 1489 CDFEDT /A208 undefined ^ 002246* 0000 1490 TAD (-ECCMRK) / IGNORE MARKER /A208 undefined ^ undefined ^ 002247* 1371 1491 002250* 7650 SNA CLA /A208 1492 002251* 5244 JMP TBECHC / IGNORE MARKER. GET NEXT CHAR. /A208 1493 002252* 1327 TBECHX, TAD TBECH2 / TEST CLASS /A208 1494 002253* 7650 SNA CLA /A208 1495 002254* 5265 JMP TBECHD / JUMP IF RIGHT-ADJUSTED TAB /A208 1496 CDFEDT /A208 undefined ^ 002255* 0000 1497 002256* 1774 TAD I (CURPTR) / ELSE CHECK FOR DECIMAL TERMINATOR /A208 1498 DCA T1 /A208 undefined ^ undefined ^ 002257* 3000 1499 CDFBUF /A208 undefined ^ 002260* 0000 1500 TAD I T1 /A208 undefined ^ undefined ^ 002261* 1400 1501 AND P177 /A208 undefined ^ undefined ^ 002262* 0000 1502 1503 IFDEF PERDEC < /A208 1504 TAD (-".+200) /A208 1505 SZA /A208 1506 TAD (".-")) /A208 1507 > / END IFDEF PERDEC /A208 1508 1509 IFDEF COLDEC < /A208 1510 TAD (-":+200) /A208 1511 SZA /A208 1512 TAD (":-")) /A208 1513 > / END IFDEF COLDEC /A208 1514 1515 IFDEF COMDEC < /A208 1516 TAD (-",+200) /A208 1517 SZA /A208 1518 TAD (",-")) /A208 1519 > / END IFDEF COMDEC /A208 1520 1521 002263* 7650 SNA CLA /A208 1522 002264* 5303 JMP TBECHB / JUMP IF GOT ONE /A208 1523 TBECHD, CDFEDT /A208 undefined ^ 002265* 0000 1524 002266* 1774 TAD I (CURPTR) / CHECK FOR RIGHT-ADJUST TAB TERMINATOR /A208 1525 DCA T1 /A208 undefined ^ undefined ^ 002267* 3000 1526 CDFBUF /A208 undefined ^ 002270* 0000 1527 TAD I T1 /A208 undefined ^ undefined ^ 002271* 1400 1528 AND P177 / STRIP MODE BITS /A208 undefined ^ undefined ^ 002272* 0000 1529 TAD (-ECSTOV) / CHARACTER = "START_DEAD_KEY_SEQ."? /A208 undefined ^ undefined ^ 002273* 1371 1530 002274* 7440 SZA / SKIP IF: SO /A208 1531 TAD (ECSTOV-ECSPC) /A208 undefined ^ undefined ^ undefined ^ undefined ^ 002275* 1371 1532 002276* 7710 SPA CLA /A208 1533 002277* 5303 JMP TBECHB / JUMP IF GOT ONE /A208 1534 002300* 2326 ISZ TBECH1 /A208 1535 002301* 5244 JMP TBECHC / LOOP IF WE CAN /A208 1536 002302* 5307 JMP TBECHE / ELSE NOTHING TO DO /A208 1537 1538 002303* 1327 TBECHB, TAD TBECH2 / WAS THIS A DECIMAL TAB OR NORMAL TAB? /A208 1539 002304* 7640 SZA CLA / SKIP IF: NORMAL TAB /A208 1540 002305* 2326 ISZ TBECH1 / REDUCE DISTANCE CNT BY 1 FOR DECIMAL TAB/A208 1541 002306* 7000 NOP /A208 1542 1543 002307* 4770 TBECHE, JMS EFRSLN / SET REFRESH FLAGS FOR ENTIRE LINE. /A208 1544 TBECHF, CDFEDT /A208 undefined ^ 002310* 0000 1545 002311* 1330 TAD TBECH3 /A208 1546 002312* 3774 DCA I (CURPTR) / RESTORE PTR /A208 1547 002313* 1326 TAD TBECH1 / GET DISTANCE COUNT /A208 1548 002314* 7700 SMA CLA / SKIP IF: JUSTIFYING SPACES NEEDED /A208 1549 002315* 5620 JMP I EFTJST / RETURN IF NO SPACES NEEDED /A208 1550 002316* 4767 TBECHG, JMS EFADPT /A208 1551 002317* 7000 NOP / ELSE INSERT THEM /A208 1552 002320* 7200 CLA /A208 1553 TAD (ECJSPC) / GET "JUSTIFY_SPACE" CHARACTER /A208 undefined ^ undefined ^ 002321* 1371 1554 002322* 4766 JMS EFINSR / INSERT IT /A208 1555 002323* 2326 ISZ TBECH1 / BUMP COUNT /A208 1556 002324* 5316 JMP TBECHG / MORE 'JUSTIFY_SPACES" TO INSERT /A208 1557 002325* 5310 JMP TBECHF / RETURN AFTER RESTORING CURPTR /A208 1558 / /A208 1559 / TEMPS: /A208 1560 FNTAB2, / SAVED_LINE_POSITION (USED BY /A208 1561 / FNTABSTOP ROUTINE) /A208 1562 002326* 0000 TBECH1, .-. / LOADED WITH CURSOR POSITION /A208 1563 002327* 0000 TBECH2, .-. / LOADED WITH CLASS OF RULER SETTING /A208 1564 002330* 0000 TBECH3, .-. / LOADED WITH CURPTR /A208 1565 1566 / EFBKPT BACKUP CURPTR 1567 / 1568 / 1569 1570 EFBKPT, XX undefined ^ 002331* 0000 1571 CDFMNU undefined ^ 002332* 0000 1572 CIFEDT undefined ^ 002333* 0000 1573 002334* 4765 JMS I (FMSWAP) 1574 002335* 1250 ESBPTR 1575 CDFBUF undefined ^ 002336* 0000 1576 002337* 7410 SKP 1577 002340* 2331 ISZ EFBKPT 1578 CDFBUF undefined ^ 002341* 0000 1579 002342* 5731 JMP I EFBKPT 1580 1581 CTB002, ECNWLN; LINDN6 / NEWLINE undefined ^ 002343* 0000 002344* 2115 1582 ECNWPG; LINDN6 / NEW PAGE undefined ^ 002345* 0000 002346* 2115 1583 ECNDRL; LINDN6 / END RULER undefined ^ 002347* 0000 002350* 2115 1584 002351* 0000 0 / INDICATE END OF TABLE 1585 1586 X= . 1587 1588 002365* 0251 PAGE 002366* 1442 002367* 1556 002370* 1547 002371* 0000 002372* 1472 002373* 7776 002374* 0135 002375* 0136 002376* 0160 002377* 2400 1589 1590 DSKBLK=.-SWPBEG%400+DLSTAT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ undefined ^ 1591 1592 EFGTBY, XX / TAD INDEX - JMS EFGTBY - SPTR /A208 undefined ^ 002400* 0000 1593 / RETURNS BYTE /A208 1594 002401* 1377 TAD (-1) /A208 1595 002402* 7110 CLL RAR /A208 1596 CDFMNU /A208 undefined ^ 002403* 0000 1597 002404* 1600 TAD I EFGTBY / GET PTR /A208 1598 DCA T1 /A208 undefined ^ undefined ^ 002405* 3000 1599 CDFEDT /A208 undefined ^ 002406* 0000 1600 TAD I T1 / GET WORD /A208 undefined ^ undefined ^ 002407* 1400 1601 002410* 7420 SNL /A208 1602 002411* 7002 BSW / GET BYTE /A208 1603 AND P77 / ISOLATE IT /A208 undefined ^ undefined ^ 002412* 0000 1604 002413* 2200 ISZ EFGTBY /A208 1605 002414* 5600 JMP I EFGTBY / AND RETURN /A208 1606 1607 1608 1609 1610 / 1611 / CROSS FIELD CALLS FOR FIELD 3 1612 / 1613 1614 1615 1616 EFPOUT, XX / call putout routine undefined ^ 002415* 0000 1617 002416* 0000 CDFMYF 1618 CIFEDT undefined ^ 002417* 0000 1619 002420* 4776 JMS I (FMSWAP) 1620 002421* 0354 EDOCHR 1621 CDFEDT undefined ^ 002422* 0000 1622 002423* 5615 JMP I EFPOUT 1623 1624 / CALLING SEQUENCE 1625 / 1626 / CDIMNU 1627 / JMS I (TCCHK) 1628 / RETURN + 0 = REGULAR DEAD KEY SEQEUENCE 1629 / RETURN + 1 = REQUIRED SPACE 1630 / RETURN + 2 = F6 FUNCTION 1631 / 1632 1633 / THE INTERNAL DEAD KEY SEQUENCE FOR A TECHNICAL CHARACTER IS AS FOLLOWS: 1634 / 1635 / SD SP GS CH ED 1636 / 1637 / SD = START DEAD INDICATOR 1638 / SP = SPACE 1639 / GS = GRAPHICS SET G1 - G3 (OCTAL CODE 61-63) 1640 / TC = TECHNICAL CHARACTER 1641 / ED = END DEAD INDICATOR 1642 1643 / WHEN CALLED THE START DEAD INDICATOR HAS ALREADY BEEN FOUND 1644 1645 1646 / TCCHK has been modified as of edit 244. /M244 1647 / The purpose is to allow TCCHK to perform the same function /M244 1648 / but split it into two routines /M244 1649 / 1. Checks the dead key as above /M244 1650 / (this to run only in field 2) /M244 1651 / 2. Displays the tech char if found /M244 1652 / /M244 1653 / The purpose is to allow other routines to access TCCHK or /M244 1654 / something similar /M244 1655 / 1656 / 1657 1658 TCCHK, XX / Set up to call TCCHR /M244 undefined ^ 002424* 0000 1659 002425* 4270 JMS TCCHR / Call scan routine /A244 1660 002426* 5266 JMP TCDED / Ordinary dead /A244 1661 002427* 5265 JMP TCREQ / Required space /A244 1662 / /A244 1663 / Must be tech so print it /A244 1664 / /A244 1665 002430* 1332 TAD TCTEMP / WE PAST ALL THE CHECK POINTS DISPLAY THE TC 1666 002431* 0375 AND (3) / START BY ACTIVATING THE PROPER CHARACTER SET 1667 002432* 7450 SNA / EXCEPTION, TEST FOR GRAPHICS SET SELECTION 0 1668 002433* 5264 JMP TCTEC / NOT ALLOWED, DISPLAY IT AS A NORMAL DEAD/M244 1669 002434* 1374 TAD (JMP TCJMP) / BUILD JUMP TO PROPER SET GRAPHICS DISPLAY CODE 1670 002435* 3236 DCA .+1 1671 TCJMP, XX undefined ^ 002436* 0000 1672 002437* 5246 JMP TCGS1 / GO SET GRAPHICS SET 1 1673 002440* 5251 JMP TCGS2 / GO SET GRAPHICS SET 2 1674 TAD (ESC) / SET GRAPHICS SET 3 undefined ^ undefined ^ 002441* 1373 1675 002442* 4215 JMS EFPOUT 1676 002443* 1372 TAD (157) / TAD A SMALL o 1677 002444* 4215 JMS EFPOUT 1678 002445* 5255 JMP TCCONT 1679 1680 002446* 1371 TCGS1, TAD (16) / SET GRAPHICS SET 1 1681 002447* 4215 JMS EFPOUT 1682 002450* 5255 JMP TCCONT 1683 1684 TCGS2, TAD (ESC) / SET GRAPHICS SET 2 undefined ^ undefined ^ 002451* 1373 1685 002452* 4215 JMS EFPOUT 1686 002453* 1370 TAD (156) / TAD A SMALL n 1687 002454* 4215 JMS EFPOUT / FALL INTO NEXT ROUTINE 1688 002455* 1333 TCCONT, TAD TCTMP1 / DISPLAY CHARACTER IN PROPER TECHNICAL CHAR SET 1689 002456* 4215 JMS EFPOUT 1690 002457* 1367 TAD (17) / RESET GRAPHICS TO DEFAULT SET 1691 002460* 4215 JMS EFPOUT 1692 CDFEDT undefined ^ 002461* 0000 1693 002462* 3766 DCA I (PUTSC6) / TELLS VIEW CODE IT WAS NOT A REQUIRES SPACE 1694 002463* 0000 CDFMYF 1695 002464* 2224 TCTEC, ISZ TCCHK /A244 1696 002465* 2224 TCREQ, ISZ TCCHK /A244 1697 TCDED, CDIEDT / Change back to Edit field /A244 undefined ^ 002466* 0000 1698 002467* 5624 JMP I TCCHK / Return /A244 1699 1700 / 1701 / This is a stripped down version of TCCHK that only checks /M244 1702 / the dead key and does the skip return stuff /M244 1703 1704 1705 TCCHR, XX undefined ^ 002470* 0000 1706 002471* 7300 CLL CLA / DEAD KEY ALREADY DETECTED BY CALLING ROUTINE 1707 002472* 4765 JMS EFADPT / CHECK IF NEXT CHARACTER IS A SPACE 1708 002473* 7000 NOP 1709 CDFEDT undefined ^ 002474* 0000 1710 002475* 3766 DCA I (PUTSC6) / STORE HERE 1711 002476* 1766 TAD I (PUTSC6) / GET CHARACTER BACK 1712 002477* 0000 CDFMYF 1713 AND P177 / MASK OUT ATTRIBIUTE BITS undefined ^ undefined ^ 002500* 0000 1714 TAD (-ECSPC) / CHECK FOR SPACE undefined ^ undefined ^ 002501* 1373 1715 002502* 7640 SZA CLA 1716 002503* 5327 JMP TCEX0 / NORMAL DEAD KEY SEQUENCE 1717 1718 002504* 4765 JMS EFADPT / CHECK NEXT CHARACTER 1719 002505* 7000 NOP 1720 002506* 3332 DCA TCTEMP / IF TC STORE GRAPHICS SET INDICATOR 1721 002507* 1332 TAD TCTEMP / IF THIS CHARACTER IS A SPACE THEN EXIT 1722 AND P177 / JUST TO BE SURE BUT SHOULD NOT NEED IT undefined ^ undefined ^ 002510* 0000 1723 TAD (-ECSPC) / IS SECOND CHARACTER A SPACE undefined ^ undefined ^ 002511* 1373 1724 002512* 7650 SNA CLA 1725 002513* 5326 JMP TCEX1 / YES, WE HAVE A REAL REQUIRED SPACE EXIT 1726 002514* 5327 IFNDEF CONDOR < JMP TCEX0 > / NO, EXIT IF DM1 - IT HAS NO TEC. CHARS 1727 1728 002515* 4765 JMS EFADPT / GET NEXT CHARACTER 1729 002516* 7000 NOP / WHICH IS THE TECHNICAL CHARACTER 1730 002517* 3333 DCA TCTMP1 / AND STORE IT 1731 1732 002520* 4765 JMS EFADPT / TEST FOR END DEAD INDICATOR TO MAKE 1733 002521* 7000 NOP / SURE THE USER IS NOT PLAYING GAMES WITH 1734 TAD (-ECNDOV) / US. THAT IS A TC IS NOT DEADED WITH A undefined ^ undefined ^ 002522* 1373 1735 002523* 7640 SZA CLA / NORMAL CHARACTER. BAD TECHNICAL CHARACTER 1736 002524* 5327 JMP TCEX0 / OUTPUT A HASH CHARACTER 1737 1738 002525* 2270 TCEX2, ISZ TCCHR / RETURN + 2 = TECHNICAL CHAR SET /M244 1739 002526* 2270 TCEX1, ISZ TCCHR / RETURN + 1 = REQUIRED SPACE /M244 1740 / RETURN + 0 = NORMAL DEAD KEY 1741 002527* 4764 TCEX0, JMS TCBKUP / Backup to start dead /M244 1742 /d244 CDIEDT 1743 CDFEDT / Map to Edit field /M244 undefined ^ 002530* 0000 1744 002531* 5670 JMP I TCCHR / RETURN TO CALLER /M244 1745 1746 002532* 0000 TCTEMP, 0 / HOLDS GRAPHICS SELECTION CHARACTER 1747 002533* 0000 TCTMP1, 0 / HOLDS TECHNICAL CHARACTER 1748 1749 1750 / 1751 / This is a cross field callable version of TCCHR from Editor 1752 / 1753 1754 TCCHX, XX /A244 undefined ^ 002534* 0000 1755 002535* 4270 JMS TCCHR / Call TCCHX to scan dead /A244 1756 002536* 5342 JMP TCRDED / Normal dead /A244 1757 002537* 5341 JMP TCRREQ / required space /A244 1758 002540* 2334 ISZ TCCHX / Bump return for tech /A244 1759 002541* 2334 TCRREQ, ISZ TCCHX / /A244 1760 TCRDED, CIFEDT / Back to Editor /A244 undefined ^ 002542* 0000 1761 002543* 5734 JMP I TCCHX / And return /A244 1762 1763 / 1764 / This routine is a refugee from the CHKMR2 code since there is /A244 1765 / no rrom there /A244 1766 / It checks for hyphenation on a tech dead to allow hyphenation /A244 1767 / on 8 bit /A244 1768 1769 1770 CHKTCC, TAD (ECTAB-ECSTOV) / Is it a start dead ? /A244 undefined ^ undefined ^ undefined ^ undefined ^ 002544* 1373 1771 002545* 7640 SZA CLA / /A244 1772 002546* 5763 JMP CHKMR7 / No.. so rejoin code /A244 1773 002547* 4270 JMS TCCHR / Scan for tech dead /A244 1774 002550* 5763 JMP CHKMR7 / no .. ordinary /A244 1775 002551* 5763 JMP CHKMR7 / Required space /A244 1776 002552* 1333 TAD TCTMP1 / Get char /A244 1777 002553* 0362 AND (2000) / Is it hyphenated ? /A244 1778 002554* 7650 SNA CLA / /A244 1779 002555* 5763 JMP CHKMR7 / No /A244 1780 002556* 5761 JMP CHKM2A / Yes /A244 1781 1782 X=. 1783 /-------------- 1784 1785 002561* 1662 PAGE 002562* 2000 002563* 1671 002564* 2750 002565* 1556 002566* 3027 002567* 0017 002570* 0156 002571* 0016 002572* 0157 002573* 0000 002574* 5236 002575* 0003 002576* 0251 002577* 7777 1786 1787 EFCNTR, CDFEDT /A217 undefined ^ 002600* 0000 1788 002601* 1777 TAD I (LINE23) /A217 1789 002602* 3776 DCA I (CURPTR) / FIND CURRENT INDENT /A217 1790 002603* 3251 DCA LNECHA /A217 1791 002604* 4775 JMS EFLDCH /A217 1792 002605* 7000 NOP / BY COUNTING JUSTIFY SPACES /A217 1793 LNECH2, TAD (-ECJSPC) /A217 undefined ^ undefined ^ 002606* 1374 1794 002607* 7640 SZA CLA /A217 1795 002610* 5215 JMP LNECH6 /A217 1796 002611* 2251 ISZ LNECHA /A217 1797 002612* 4773 JMS EFADPT /A217 1798 002613* 7000 NOP /A217 1799 002614* 5206 JMP LNECH2 /A217 1800 LNECH6, CDFEDT /A217 undefined ^ 002615* 0000 1801 002616* 1772 TAD I (CENMAR) /A217 1802 002617* 7041 CIA /A217 1803 002620* 1771 TAD I (CURSOR) / COMPUTE -#SPACES /A217 1804 002621* 1251 TAD LNECHA /A217 1805 002622* 7500 SMA /A217 1806 002623* 5245 JMP LNECH3 / JUMP IF NONE /A217 1807 002624* 7130 CLL CML RAR /A217 1808 002625* 3251 DCA LNECHA /A217 1809 002626* 1251 TAD LNECHA /A217 1810 002627* 1770 TAD I (RGTMAR) /A217 1811 002630* 7041 CIA /A217 1812 002631* 1771 TAD I (CURSOR) /A217 1813 002632* 7550 SPA SNA /A217 1814 002633* 5240 JMP LNECH4 /A217 1815 002634* 1251 TAD LNECHA /A217 1816 002635* 7500 SMA /A217 1817 002636* 5245 JMP LNECH3 /A217 1818 002637* 3251 DCA LNECHA /A217 1819 002640* 7200 LNECH4, CLA /A217 1820 TAD (ECJSPC) /A217 undefined ^ undefined ^ 002641* 1374 1821 002642* 4767 JMS EFINSR /A217 1822 002643* 2251 ISZ LNECHA /A217 1823 002644* 5241 JMP .-3 / DO SPACES /A217 1824 002645* 7200 LNECH3, CLA /A217 1825 CIFEDT /A217 undefined ^ 002646* 0000 1826 CDFBUF /A217 undefined ^ 002647* 0000 1827 002650* 5766 JMP CNTREX /A217 1828 1829 002651* 0000 LNECHA, .-. /A217 1830 1831 / 1832 / CALPSH (CALLAR PUSH) / Edit number 227 for whole routine /A227 1833 / 1834 / This routine takes the address and data field of the routine 1835 / who called CALLAR, and pushes the values onto the stack. 1836 / 1837 / Note: If the stack overflows the routine will halt with AC = 0 1838 / 1839 1840 002652* 0000 CALPSH, 0 / Push CALL A ROUTINE ADDRESS ONTO THE STACK 1841 002653* 2321 ISZ CALPTR / Update stack pointer 1842 002654* 1721 TAD I CALPTR / Have we exceed the stack table length 1843 002655* 7650 SNA CLA 1844 002656* 5315 JMP CALERR / YES!! Hit a stack boundry CRASH SOFTWARE 1845 CDFEDT / No undefined ^ 002657* 0000 1846 002660* 1765 TAD I (CALLAR) / Get calling routines address 1847 002661* 0000 CDFMYF 1848 002662* 3721 DCA I CALPTR / And push it onto the stack 1849 002663* 2321 ISZ CALPTR / Update stack pointer 1850 CDFEDT undefined ^ 002664* 0000 1851 002665* 1764 TAD I (CALFLD) / Get INSTRUCTION field of calling routine 1852 002666* 0000 CDFMYF 1853 002667* 3721 DCA I CALPTR / And push it onto the stack 1854 CDIEDT undefined ^ 002670* 0000 1855 002671* 5652 JMP I CALPSH / Return 1856 1857 / 1858 / CALPOP (CALLAR POP) / Edit number 227 for whole routine /A227 1859 / 1860 / This routine will restore CALLAR's return with the last 1861 / CDI and ADDRESS on the stack. 1862 / 1863 / Note: If a return is attemped without an address 1864 / the routine will halt with AC = 1. 1865 / 1866 1867 002672* 0000 CALPOP, 0 / POP A CALL A ROUTINE ADDRESS OFF OF THE STACK 1868 002673* 1721 TAD I CALPTR / Do we have an address to pop 1869 002674* 7450 SNA 1870 002675* 5316 JMP CALERR+1 / NO!! Crash the software 1871 CDFEDT / Yes undefined ^ 002676* 0000 1872 002677* 3764 DCA I (CALFLD) / Store return field 1873 002700* 0000 CDFMYF 1874 002701* 7240 CLA CMA / Backup stack pointer 1875 002702* 1321 TAD CALPTR 1876 002703* 3321 DCA CALPTR 1877 002704* 1721 TAD I CALPTR / Get return address 1878 CDFEDT undefined ^ 002705* 0000 1879 002706* 1763 TAD I (CALSKP) / Add skip return offset 1880 002707* 3765 DCA I (CALLAR) / Store return address 1881 002710* 7240 CLA CMA / Back stack pointer 1882 002711* 1321 TAD CALPTR 1883 002712* 3321 DCA CALPTR 1884 CDIEDT undefined ^ 002713* 0000 1885 002714* 5672 JMP I CALPOP / Return 1886 1887 002715* 7610 CALERR, SKP CLA / Exceeded end of stack boundry 1888 AC0001 / Exceeded top of stack boundry undefined ^ 002716* 0000 1889 002717* 7402 HLT / STOP - Don't let the user go any further 1890 002720* 5317 JMP .-1 / Just in case they try to proceede 1891 1892 002721* 2722 CALPTR, CALSTK / Pointer into stack 1893 002722* 0000 CALSTK, 0000 / Top of stack boundry 1894 002723* 7777 7777;7777 / A stack for ten cross field calls 002724* 7777 1895 002725* 7777 7777;7777 / Any non zero value will do. 002726* 7777 1896 002727* 7777 7777;7777 002730* 7777 1897 002731* 7777 7777;7777 002732* 7777 1898 002733* 7777 7777;7777 002734* 7777 1899 002735* 7777 7777;7777 002736* 7777 1900 002737* 7777 7777;7777 002740* 7777 1901 002741* 7777 7777;7777 002742* 7777 1902 002743* 7777 7777;7777 002744* 7777 1903 002745* 7777 7777;7777 002746* 7777 1904 002747* 0000 0000 / End of stack boundry 1905 1906 / 1907 / This routine belongs to TCCHK etc. but.. there's no room there /M244 1908 / Backing up pointer to start dead was made a routine /M244 1909 / 1910 1911 1912 TCBKUP, XX undefined ^ 002750* 0000 1913 002751* 4762 TCBKLP, JMS EFBKPT / LEAVE POINTER AT BEGINNING OF DEAD KEY SEQUENCE 1914 002752* 7000 NOP 1915 TAD (-ECSTOV) undefined ^ undefined ^ 002753* 1374 1916 002754* 7640 SZA CLA 1917 002755* 5351 JMP TCBKLP 1918 002756* 5750 JMP I TCBKUP 1919 1920 X=. 1921 /-------------- 1922 1923 002762* 2331 PAGE 002763* 0313 002764* 0310 002765* 0251 002766* 1500 002767* 1442 002770* 0160 002771* 0136 002772* 0163 002773* 1556 002774* 0000 002775* 1516 002776* 0135 002777* 0171 1924 1925 1926 003000* 0000 NWRUL, ZBLOCK HAFRUL / Allocate workspace 003001* 0000 003002* 0000 003003* 0000 003004* 0000 003005* 0000 003006* 0000 003007* 0000 003010* 0000 003011* 0000 003012* 0000 003013* 0000 003014* 0000 003015* 0000 003016* 0000 003017* 0000 003020* 0000 003021* 0000 003022* 0000 003023* 0000 003024* 0000 003025* 0000 003026* 0000 003027* 0000 003030* 0000 003031* 0000 003032* 0000 003033* 0000 003034* 0000 003035* 0000 003036* 0000 003037* 0000 003040* 0000 003041* 0000 003042* 0000 003043* 0000 003044* 0000 003045* 0000 003046* 0000 003047* 0000 003050* 0000 003051* 0000 003052* 0000 003053* 0000 003054* 0000 003055* 0000 003056* 0000 003057* 0000 003060* 0000 003061* 0000 003062* 0000 003063* 0000 003064* 0000 003065* 0000 003066* 0000 003067* 0000 003070* 0000 003071* 0000 003072* 0000 003073* 0000 003074* 0000 003075* 0000 003076* 0000 003077* 0000 003100* 0000 003101* 0000 003102* 0000 003103* 0000 003104* 0000 003105* 0000 003106* 0000 003107* 0000 003110* 0000 003111* 0000 003112* 0000 003113* 0000 003114* 0000 003115* 0000 003116* 0000 003117* 0000 003120* 0000 003121* 0000 003122* 0000 003123* 0000 003124* 0000 003125* 0000 003126* 0000 003127* 0000 003130* 0000 003131* 0000 003132* 0000 003133* 0000 003134* 0000 003135* 0000 003136* 0000 003137* 0000 003140* 0000 003141* 0000 003142* 0000 003143* 0000 003144* 0000 003145* 0000 003146* 0000 003147* 0000 003150* 0000 003151* 0000 003152* 0000 003153* 0000 003154* 0000 003155* 0000 003156* 0000 003157* 0000 003160* 0000 003161* 0000 003162* 0000 003163* 0000 003164* 0000 003165* 0000 003166* 0000 1927 003167* 0000 0000 / buffer terminator 1928 1929 / THE FOLLOWING LOCATIONS WITH THE EXCEPTION OF NWDT, HOLD THE POSITION 1930 / NUMBER WITHIN THE RULER OF THE SETTINGS SPECIFIED. FOR EXAMPLE, A 1931 / RULER OF L1, R5 WOULD SET NMLMAR = 1 AND NWRMAR = 5. AFTER RULER 1932 / MODIFICATION THESE PARAMETERS ARE TRANSFERED ALONG WITH NWRUL TO CURUL. 1933 1934 RLSTOR, 1935 003170* 0000 NWLMAR, 0 / NEW LEFT MARGIN MARKER 1936 003171* 0000 NWRMAR, 0 / NEW RIGHT MARGIN MARKER 1937 003172* 0000 NWWMAR, 0 / NEW WORD WRAP INDENT MARKER 1938 003173* 0000 NWPMAR, 0 / NEW PARAGRAPH INDENT MARKER 1939 003174* 0000 NWCMAR, 0 / NEW CENTERING POINT MARKER 1940 003175* 0000 NWHMAR, 0 / NEW HYPHENATION ZONE MARKER 1941 003176* 0000 NWDT, 0 / NEW DECIMAL TABS - NUMBER OF DECIMAL TABS 1942 / IN THE RULER. 1943 NWRLND=. / End of ruler marker 1944 1945 PAGE 1946 SWPEND, / DEFINE END OF SWAP AREA CODE SO 1947 / THAT REMANING AREA CAN BE CLEARED 1948 1949 RELOC / RESET RELOCATION MECHANISM OF ASSEMBLER 1950 1951 1952 /*************************************************************************** 1953 /**** PAGE ZERO DEFINITIONS FOR MAIN EDITOR IN FIELD 3 **** 1954 /*************************************************************************** 1955 1956 000173 0200 FIELD 1 / EDITOR LOADS HERE BUT RUNS IN FIELD THREE 000174 1053 000175 1016 000176 1000 000177 0400 1957 1958 *100 1959 1960 CDFMYF= CDFEDT / DEFINE CDF INSTRUCTION FOR EDIT FIELD undefined ^ 1961 1962 ZZCASE= JMS I . / CASE STYLE COMPARISONS (SIMILAR TO 1963 GDCASE / SWITCH IN "C" ) undefined ^ 010100 0000 1964 1965 HLTTST= JMS I . / TEST HALT FLAG SET BY GOLD HALT 1966 010101 2753 USHLTS 1967 1968 GETINP= JMS I . / CALL SYS TO GET CHARACTER FROM KEYBOARD 1969 010102 5000 EDICHR 1970 1971 PUTOUT= JMS I . / PUT CHARACTER TO DISPLAY 1972 010103 0354 EDOCHR 1973 1974 MODSET= JMS I . / SET OR CLEAR EDIT MODES 1975 010104 1200 ESMODE 1976 1977 INSCHR= JMS I . / INSERT CHARACTER INTO TEXT BUFFER 1978 010105 4036 ESICHR /M241 /m239 1979 1980 ADVPTR= JMS I . / ADVANCE CURPTR TO NEXT NON-NULL CHAR IN FILE 1981 010106 1213 ESAPTR 1982 1983 BKPPTR= JMS I . / BACKUP CURPTR TO NEXT NON-NULL CHAR IN FILE 1984 010107 1250 ESBPTR 1985 1986 CHKPTR= JMS I . / CHECK CHARACTER IN TEXT BUFFER FOR: 1987 010110 4313 ESATST / NULL - ETX - STX STATUS 1988 1989 TSTSLT= JMS I . / TEST FOR SELECT MODE ACTIVE 1990 010111 3724 ESLCTS 1991 1992 ADVCHR= JMS I . / ADVANCE CURPTR A SPECIFIED COUNT OF NON-NULL 1993 010112 4400 ESACHR / CHARACTERS IN TEXT BUFFER 1994 / (NEVERS SCROLLS TO/FROM DISK) 1995 1996 CURMOV= JMS I . / MOVE CURSOR FORWARD OF BACKWARD FOR A 1997 010113 2611 ESMVCR / SPECIFIED NUMBER OF CHARACTERS 1998 1999 SLNMOD= JMS I . / SET LINE MODIFIED FLAGS (NOT IN BUFFER) 2000 010114 2255 SETLMD 2001 2002 PUTESC= JMS I . / SEND ESCAPE SEQUENCES TO DISPLAY 2003 010115 4147 ESPTES 2004 2005 XLTUPR= JMS I . / TRANSLATE LOWER CASE TO UPPER CASE 2006 010116 4270 ESXLUP 2007 2008 ADVSPC= JMS I . / ADVANCE CURPTR A SCREEN CHARACTER WIDTH 2009 010117 1717 ESASPC 2010 2011 BKPSPC= JMS I . / BACKUP CURPTR A SCREEN CHARACTER WIDTH 2012 010120 1701 ESBSPC 2013 2014 PUTETX= JMS I . / PUT CHARACTER TO DISK AT END OF FILE 2015 010121 4024 ESPUTE 2016 2017 PUTSTX= JMS I . / PUT CHARACTER TO DISK AT START OF FILE 2018 010122 4030 ESPUTS 2019 2020 OVLJMP= JMS I . / CALL IN OVERLAY CODE AND EXECUTE 2021 010123 5111 OVJUMP 2022 2023 2024 SINZRO, / START OF INITED-TO-ZERO CONTROL WORDS 2025 010124 0000 RLRMOD, 0 / RULER MOD FLAG 2026 010125 0000 GETTRM, 0 / INPUT TERMINATOR 2027 RLPOSN= GETTRM / CURRENT RULER POSITION 2028 010126 0000 GETLEN, 0 / INPUT LENGTH 2029 010127 0000 SLCTDR, 0 / SELECT DIRECTION 2030 010130 0000 PSTBLK, 0 / CURRENT PASTE BLOCK 2031 010131 0000 PSTPTR, 0 / CURRENT PASTE BUFFER PTR 2032 010132 0000 BASKCT, 0 / CURRENT WASTEBASKET COUNT 2033 010133 0000 EDMODE, 0 / CURRENT EDIT MODES - 2034 / 0 = ADVANCE UNIT 2035 / 1 = BACKUP UNIT 2036 / 2 = BOLD UNIT 2037 / 3 = UNDERLINE UNIT 2038 / 4 = REMOVE BOLD UNIT 2039 / 5 = REMOVE UNDERLINE UNIT 2040 / 6 = CASE UNIT (UPPER/LOWER CASE) 2041 / 10 = SEARCH MODE 2042 / 20 = SELECT MODE 2043 010134 0000 GRAMUN, 0 / CURRENT GRAMMATICAL UNIT 2044 / 0 = CHARACTER, 1 = LINE, 2 = WORD, 2045 / 3 = SENTENCE, 4 = TAB POSITION, 2046 / 5 = PARAGRAPH, 6 = PAGE 2047 010135 0000 CURPTR, 0 / CURRENT LOC IN TEXT BUFFER 2048 010136 0000 CURSOR, 0 / CURRENT SCREEN COLUMN 2049 010137 0000 SCRLCT, 0 / SCREEN LAG - NUMBER OF LINES LEFT TO SCROLL 2050 010140 0000 SCRNFL, 0 / "WHOLE SCREEN" SCROLL FLAG 2051 / 0 = NO NEED TO SCROLL WHOLE SCREEN, 2052 / 2000 = SCROLL WHOLE SCREEN 2053 010141 0000 SCRLFL, 0 / SCROLL FLAG FOR BKP/ADV 2054 010142 0000 PCTLFL, 0 / PRINT CONTROL FLAG 2055 / 0 = NOT IN START CONTROL BLOCK, 2056 / -1 = IN START CONTROL BLOCK 2057 010143 0000 SPACNG, 0 / CURRENT HALF-SPACING (2-4) 2058 010144 0000 CURLIN, 0 / CURRENT SETCUR LINE (REL TO BOTTOM OF SCREEN) 2059 010145 0000 SCRLCU, 0 / NON-ZERO IF SCREEN NEEDS MODIFICATION 2060 010146 0000 SCRLIN, 0 / EARLIEST LINE OF SCREEN NEEDING MODIFICATION 2061 010147 0000 REJCNT, 0 / USED TO COUNT MODS TIL REJUST TIME 2062 010150 0000 REJFLG, 0 / SET TO -1 IF REJUST NEEDED 2063 010151 0000 LINMOD, 0 / "LINE MODIFIED" FLAG WORD 2064 010152 0000 ECHFLG, 0 / "ALWAYS ECHO" FLAG 2065 010153 0000 SRCDIR, 0 / SEARCH DIRECTION, ALSO USED BY GO-TO-PAGE 2066 010154 0000 MRGRSF, 0 / MERGE RESYNC FLAG 2067 CPYFNO= MRGRSF / IS CHARACTER AT LEAST A "0" ? 2068 CASBIT= CPYFNO / BIT SET FOR UP/LOW/BOLD/UNDL 2069 GETPSF= CASBIT / GET PST EOF FLG 2070 010155 0000 MRGPT1, 0 / MERGE TEMP PTR 2071 GLDPSF= MRGPT1 / "EXACT PASTE FLAG" 2072 RLDIRN= MRGPT1 / GOLD RULER DIRECTION (0-FORW; -1 REV) 2073 010156 0000 MRGPT2, 0 / MERGE TEMP PTR 2074 NINZRO= .-SINZRO / LENGTH OF INITED TO ZERO CTL WORDS 2075 /D226 SPLTFL, 0 / -1= SCREEN NEEDS TO BE SPLIT 2076 /D226 / 0 = SCREEN DOES NOT NEED TO BE SPLIT (WIDE) 2077 /D226 / 1 = SCREEN IS SPLIT (WIDE) 2078 2079 /---------- 2080 / 2081 / O R D E R I M P O R T A N T 2082 / 2083 / These next 5 words have been moved beyond the page 0 2084 / locations that are cleared during initialization. 2085 / 2086 /---------- 2087 2088 010157 0000 LFTMAR, 0 / CURRENT LEFT MARGIN 2089 010160 0000 RGTMAR, 0 / CURRENT RIGHT MARGIN 2090 010161 0000 WRPMAR, 0 / CURRENT WORD WRAP MARGIN 2091 010162 0000 PGFMAR, 0 / CURRENT PARAGRAPH INDENT MARGIN 2092 010163 0000 CENMAR, 0 / CURRENT CENTER, *2 2093 2094 /---------- 2095 / 2096 / E N D O R D E R I M P O R T A N T 2097 / 2098 /---------- 2099 2100 010164 0000 BUFBEG, 0 / PTR TO START OF EDIT BUFFER 2101 010165 0000 BUFSIZ, 0 / SIZE OF EDIT BUFFER 2102 010166 0000 FORMNO, 0 / MERGE FORM FILE NUMBER 2103 010167 0000 FILENO, 0 / EDIT FILE NUMBER 2104 010170 0000 FILOPT, 0 / EDIT OPTION (-1 RPLAC, 0 NORMAL) 2105 010171 0000 LINE23, 0 / LINE23 PTR 2106 010172 0000 SPCCHK, 0 / -# BLKS MIN BEFORE COMPLAINT 2107 010173 0000 GSRF, 0 / GLOBAL SEARCH AND REPLACE FLAG 2108 010174 0000 CURTMP, 0 / TEMP CURSOR STORAGE FOR VIEW MODE 2109 010175 0000 CHRATR, 0 / ATTRIBUTE OF CHAR GOING THRU BLKBOX 2110 2111 010176 0000 SCRNLN, 0 / NUMBER OF LINES IN SCROLL AREA 2112 010177 0064 WIDNAR, WIDTH-COLM81 / 0 = WIDE, 64 (52 DEC) = NARROW SCREEN /A226 2113 2114 IFDEF FORIN < 2115 POINT1, 0 / POINTER FOR TABLE SCAN FOR FOREIGN CHARACTERS 2116 POINT2= X3 / TEMP STORAGE 2117 CHAR1= X4 / ALSO TEMP STORAGE 2118 > / END IFDEF FORIN 2119 2120 X=. / INDICATE FIRST FREE LOCATION ON PAGE 2121 /--------------- 2122 PAGE 2123 2124 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 2125 2126 2127 /*************************************************************************** 2128 /**** START OF MAIN EDITOR CODE **** 2129 /*************************************************************************** 2130 2131 EDITOR, XX undefined ^ 010200 0000 2132 010201 5210 JMP EDIOP1 2133 2134 EDMERG, XX / MERGE ENTRY undefined ^ 010202 0000 2135 /D221 RDF / GENERATE RETURN CIF CDF INSTRUCTION 2136 /D221 TAD CIDF0 2137 /D221 DCA EDEXI3 2138 2139 010203 0000 CDFMYF / CHANGE DATA FIELD TO THIS FIELD /A221 2140 010204 3607 DCA I EDITOV / CLEAR OVERLAY NUMBER TO FORCE LOAD /A221 2141 010205 4523 OVLJMP;OVMRG1 / FIRST OVERLAY undefined ^ 010206 0000 2142 2143 EDITOV, OVLAY1 / LOCATION OF OVERLAY AREA /A221 undefined ^ 010207 0000 2144 2145 010210 0000 EDIOP1, CDFMYF / CHANGE DATA FIELD TO THIS FIELD /A221 2146 010211 7200 CLA / DUMMY INSTRUCTION TO TAKE UP ROOM /A221 2147 010212 3607 DCA I EDITOV / CLEAR OVERLAY NUMBER TO FORCE LOAD /A221 2148 2149 /D221 RDF / GENERATE RETURN CIF CDF INSTRUCTION 2150 /D221 TAD CIDF0 2151 /D221 DCA EDEXI3 2152 2153 010213 4523 OVLJMP;OVINI1 / INIT FOR NORMAL EDIT undefined ^ 010214 0000 2154 2155 010215 4523 REEDIT, OVLJMP;OVINIT / DO INIT OVERLAY undefined ^ 010216 0000 2156 010217 5777 JMP EINEXA / CONTINUE 'NORMAL' EDIT /M204 2157 2158 010220 4523 EIFILE, OVLJMP;OVXITF / DO EXIT OVERLAY undefined ^ 010221 0000 2159 010222 5233 JMP EDEXI3 / NORMAL EXIT 2160 2161 / MUST BE HERE BECAUSE OF A CALL FROM MN1 UPON FINISHING USING THE SYSTEM 2162 EDCLPB, XX / CLEAR CUT/PASTE BUFFER undefined ^ 010223 0000 2163 /D221 RDF 2164 /D221 TAD CIDF0 2165 /D221 DCA EDEXI4 2166 2167 010224 0000 CDFMYF / CHANGE DATA FIELD TO THIS FIELD /A221 2168 010225 7200 CLA / DUMMY INSTRUCTION TO TAKE UP ROOM /A221 2169 010226 3607 DCA I EDITOV / CLEAR OVERLAY NUMBER TO FORCE LOAD /A221 2170 2171 010227 4523 OVLJMP;OVCLPB undefined ^ 010230 0000 2172 2173 EDEXI4, CDIMNU / SET DATA & INSTRUCTION FIELDS TO MENU /M221 undefined ^ 010231 0000 2174 010232 5623 JMP I EDCLPB / RETURN TO MAIN MENU 2175 2176 EDEXI3, CDIMNU / SET DATA & INSTRUCTION FIELDS TO MENU /M221 undefined ^ 010233 0000 2177 010234 5600 JMP I EDITOR / RETURN TO MAIN MENU 2178 2179 010235 0000 OLDHR, 0 / HOURS AT START OF EDIT 2180 010236 0000 OLDMIN, 0 / MINUTES AT START OF EDIT 2181 2182 010237 4523 EITOP, OVLJMP;OVEXIT / CLOSE THE DOCUMENT undefined ^ 010240 0000 2183 2184 010241 5215 JMP REEDIT / NOW RESUME 'NORMAL' EDIT FROM TOP 2185 2186 LINDNT, XX / INDENT TO LEFT MARGIN undefined ^ 010242 0000 2187 CIFMNU undefined ^ 010243 0000 2188 CDFEDT undefined ^ 010244 0000 2189 010245 4776 JMS I (CALSWA) 2190 010246 2055 EFLDNT 2191 CDFEDT undefined ^ 010247 0000 2192 010250 5642 JMP I LINDNT 2193 2194 2195 / 2196 /++ 2197 / CALLAROUTINE CALL_A_ROUTINE 2198 / 2199 /FUNCTIONAL DESCRIPTION: CALLAROUTINE 2200 / 2201 / This routine can be used to call any subroutine in the editor from any 2202 / field in the system as long as the editor subroutine makes only a normal 2203 / or skip return. 2204 / 2205 /CALLING SEQUENCE: CIFEDT (DF = CALLER FIELD) 2206 / JMS CALLAR 2207 / Rouitne in field 3 to be called 2208 / Data field to set for called routine 2209 / 2210 /INPUT PARAMETERS: LINK, AC, MQ can equal any value that may be required 2211 / by the routine being called 2212 / 2213 / MQ = value (if any) needed for called routine 2214 / 2215 /IMPLICIT INPUT: CIDF0, CALLA1, T1, CALLAROUTINE 2216 / 2217 /OUTPUT PARAMETERS: LINK, AC, MQ = Output values set by called routine 2218 / Data and Instruction field = Calling field 2219 / 2220 /IMPLICIT OUTPUT: CALLA1, T1, CALLA2 2221 / 2222 / 2223 2224 FMSWAP, / Rewrite of CALL_A_ROUTINE /M227 2225 CALLAR, XX / CALL_A_ROUTINE undefined ^ 010251 0000 2226 010252 3314 DCA CALSAC / Store value of AC 2227 010253 6214 RDF / Get field of calling routine 2228 TAD CIDF0 / and build a CIF CDF return undefined ^ undefined ^ 010254 1000 2229 010255 3310 DCA CALFLD / Store the return field call 2230 010256 1651 TAD I CALLAR / Get address of routine to be called 2231 010257 3312 DCA CALADD / store it 2232 010260 2251 ISZ CALLAR 2233 010261 1651 TAD I CALLAR / Get data field to set 2234 010262 3277 DCA CALCDF / store it 2235 010263 2251 ISZ CALLAR / Set up return address 2236 010264 3313 DCA CALSKP / Init skip return pointer 2237 CDFMNU / Set field to menu swap area /A233 undefined ^ 010265 0000 2238 010266 1775 TAD I (CALLN1+2) / This is a test to see if CALPSH, /A233 2239 010267 1374 TAD (-NOP) / CALPOP rouitines are indeed in memory /A233 2240 010270 7640 SZA CLA / /A233 2241 010271 5274 JMP .+3 /A233 2242 010272 7402 HLT / CALPSH, CALPOP are not loaded /A233 2243 010273 5272 JMP .-1 / crash system!!! /A233 2244 CDIMNU undefined ^ 010274 0000 2245 010275 4773 JMS I (CALPSH) / Push the information onto the stack 2246 010276 1314 TAD CALSAC / Restore the AC 2247 CALCDF, XX / CDF for routine being called undefined ^ 010277 0000 2248 010300 4712 JMS I CALADD / Call the routine 2249 010301 7410 SKP 2250 010302 2313 ISZ CALSKP 2251 010303 3314 DCA CALSAC / Store value of AC 2252 CDIMNU undefined ^ 010304 0000 2253 010305 4772 JMS I (CALPOP) 2254 010306 3313 DCA CALSKP / Clear flag for next return /A231 2255 010307 1314 TAD CALSAC / Restore AC 2256 CALFLD, XX / CAlling field CID return undefined ^ 010310 0000 2257 010311 5651 JMP I CALLAR / Return to routine 2258 2259 010312 0000 CALADD, 0 / CALLING ADD OF FIELD 3 ROUTINE 2260 010313 0000 CALSKP, 0 / ZERO = RETURN AT CALL+1, 1=CALL +2 2261 010314 0000 CALSAC, 0 / STORE AC TEMP REG 2262 2263 2264 / This routine origionally was set up to refresh only what needed to be 2265 / refreshed. due to the high number of exception cases & the lack of space 2266 / to test for each exception, the entire line will be repainted whenever a 2267 / tab character is seen. 2268 / 2269 TBJUST, XX / JUSTIFY NEXT TAB STOP /A208 undefined ^ 010315 0000 2270 CDFEDT /A208 undefined ^ 010316 0000 2271 CIFMNU /A208 undefined ^ 010317 0000 2272 010320 4776 JMS I (CALSWA) /A208 2273 010321 2220 EFTJST /A208 2274 CDFEDT /A208 undefined ^ 010322 0000 2275 010323 5715 JMP I TBJUST /A208 2276 2277 2278 BEEPER, XX undefined ^ 010324 0000 2279 010325 4331 JMS BUZZER 2280 CIFSYS / CLEAR UDK STACK undefined ^ 010326 0000 2281 UDKOPS undefined ^ 010327 0000 2282 010330 5724 JMP I BEEPER 2283 2284 BUZZER, XX undefined ^ 010331 0000 2285 AC0006 undefined ^ 010332 0000 2286 010333 7001 IAC / SET AC TO 7 (saves 1 location) 2287 010334 4503 PUTOUT 2288 010335 5731 JMP I BUZZER 2289 2290 BLDBIT= CASBIT 2291 010336 1371 BLDUNT, TAD (200) / SET... 2292 010337 3154 NBDUNT, DCA BLDBIT / ...OR CLEAR BOLDING 2293 010340 4523 OVLJMP;OVBOLD undefined ^ 010341 0000 2294 2295 CHKMAR, XX / CHK RIGHT MARGIN /A207 undefined ^ 010342 0000 2296 CDFEDT / CALL IN MENU FIELD /A207 undefined ^ 010343 0000 2297 CIFMNU /A207 undefined ^ 010344 0000 2298 010345 4776 JMS I (CALSWA) /A207 2299 010346 1600 EFCKMR /A207 2300 CDFEDT /A207 undefined ^ 010347 0000 2301 010350 7410 SKP / NON-SKIP RETURN /A207 2302 010351 2342 ISZ CHKMAR / SKIP RETURN /A207 2303 CDFBUF undefined ^ 010352 0000 2304 010353 5742 JMP I CHKMAR /A207 2305 2306 EDOCHR, XX undefined ^ 010354 0000 2307 010355 0000 CDFMYF 2308 2309 010356 3366 DCA HLDCHR / SAVE CHAR TO BE OUTPUT 2310 010357 1366 TAD HLDCHR / RESTORE CHAR 2311 010360 0370 AND (3600) / MASK OFF ATTRIBUTE BITS 2312 010361 3175 DCA CHRATR / AND SAVE FOR FUTURE REFERENCE 2313 010362 1366 TAD HLDCHR / RESTORE CHAR TO CONTINUE 2314 2315 / BLKBOX WHICH HANDLES CHARACTERS TO BE DISPLAYED ON THE VT100 RESIDES 2316 / IN FIELD 1. GO THERE TO DISPLAY THIS CHARACTER. 2317 2318 CIFPRT / "BLACKBOX" IN PRINTER FIELD (1) undefined ^ 010363 0000 2319 JMS I (BLKBOX) undefined ^ undefined ^ 010364 4767 2320 010365 5754 JMP I EDOCHR 2321 2322 010366 0000 HLDCHR, 0 / TEMP STORAGE FOR BLKBOX ROUTINE 2323 2324 X=. / INDICATE FIRST FREE LOCATION ON PAGE 2325 /--------------- 2326 010367 0000 PAGE 010370 3600 010371 0200 010372 2672 010373 2652 010374 1000 010375 0002 010376 1400 010377 0413 2327 2328 /********************** )/ RESTORE CHAR TO CONTINUE 2329 2330 / BLKBOX WHICH HANDLE 2331 /**** START OF RESIDENT OVERLAY AREA **** 2332 /**** THIS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2333 /*************************************************************************** 2334 2335 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 2336 2337 OVLAYM, / THIS SYMBOL IS USED BY L.P. AND SPELL 2338 2339 / *** ENTRY POINTS FOR UNIMPLEMENTED OPERATIONS *** 2340 2341 /d215 EITABC, / ** NOT IMPLEMENTED YET ** 2342 2343 010400 4777 EIBAD, JMS BEEPER / NOTIFY USER OF ERROR 2344 2345 EIFXT2, /A168 2346 010401 7200 EIFIX, CLA / MAKE SURE WE ARE ON A LEGAL CHARACTER 2347 010402 4513 EIFIX1, CURMOV 2348 010403 7000 NOP / IGNORE TOP OR BOTTOM OF DOCUMENT 2349 010404 4504 MODSET /M168 2350 010405 1742 EDTMOD / RESET MODES 2351 2352 EINEXT, / GET INPUT CHARACTER 2353 010406 0000 CDFMYF / CHANGE BACK TO MY DATA FIELD 2354 010407 7200 CLA 2355 010410 3152 DCA ECHFLG / CLEAR ECHO MODE 2356 2357 GSKILN, CIFSYS / REPLACED WITH A "SKIP" BY G.S.R. CODE undefined ^ 010411 0000 2358 XLTIN undefined ^ 010412 0000 2359 2360 IFDEF DEMO < 2361 *.-2 2362 NOP 2363 NOP 2364 > / END 'IFDEF DEMO' 2365 2366 010413 7610 EINEXA, SKP CLA / XLTIN RETURN WITH NO CHARACTER /M168 2367 010414 5226 JMP EINEXB / XLTIN RETURN WITH CHARACTER IN AC 2368 010415 3152 DCA ECHFLG / CLEAR ECHO MODE /A168 2369 010416 4513 CURMOV 2370 010417 7000 NOP 2371 010420 4776 JMS TSTLIM 2372 010421 4775 JMS FXSCRL 2373 2374 010422 0000 CDFMYF / NEEDED WHEN BACKING UP INTO A LONG LINE /A236 2375 CIFMNU / CHANGE TO MENU FIELD FOR STATUS CHECK undefined ^ 010423 0000 2376 010424 4774 JMS I (CALLN5) / GO CHECK IF STATUS VALUES HAVE CHANGED /C235 2377 010425 4502 GETINP / GO WAIT FOR USER TO ENTER A CHARACTER 2378 2379 IFNDEF FORIN < 2380 010426 7500 EINEXB, SMA 2381 010427 5773 JMP OVSCHK /M254 2382 > / END IFNDEF FORIN 2383 2384 IFDEF FORIN < 2385 EINEXB, DCA CHAR1 2386 OVLJMP 2387 ACCENT 2388 EINEXC, > / END IFDEF FORIN 2389 2390 /*************************************************************************** 2391 /**** CAUTION - RESIDENT OVERLAY AREA **** 2392 /**** THIS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2393 /*************************************************************************** 2394 2395 2396 010430 7421 EINEXD, MQL / TUCK THE CHAR 2397 010431 7701 ACL 2398 TAD (-EDUPAR) / CHECK FOR UP AND DOWN ARROW undefined ^ undefined ^ 010432 1372 2399 010433 7450 SNA 2400 010434 5242 JMP EINEXM 2401 TAD (EDUPAR-EDDNAR) undefined ^ undefined ^ undefined ^ undefined ^ 010435 1372 2402 010436 7650 SNA CLA 2403 010437 5242 JMP EINEXM 2404 AC7777 undefined ^ 010440 0000 2405 010441 3771 DCA REMCUR / NEITHER, SET "REMCUR" TO -1 2406 2407 010442 7701 EINEXM, ACL / GET CHARACTER BACK 2408 010443 7040 CMA 2409 TAD (-EDXVLN) / TEST FOR OK undefined ^ undefined ^ 010444 1372 2410 010445 7500 SMA 2411 010446 5200 JMP EIBAD 2412 2413 TAD (EDXVEC+EDXVLN) / MAKE POINTER TO TRANSFER VECTOR TABLE undefined ^ undefined ^ undefined ^ undefined ^ 010447 1372 2414 DCA T1 / STORE FOR INDIRECT PICKUP undefined ^ undefined ^ 010450 3000 2415 CDFLP / CHANGE TO FIELD WHERE TABLE LOCATED undefined ^ 010451 0000 2416 TAD I T1 / PICK UP ROUTINE ADDRESS undefined ^ undefined ^ 010452 1400 2417 010453 0000 CDFMYF / CHANGE BACK TO THIS FIELD 2418 DCA T1 / STORE FOR INDIRECT JUMP TO ROUTINE undefined ^ undefined ^ 010454 3000 2419 JMP I T1 / TRANSFER TO ROUTINEE REQUESTED undefined ^ undefined ^ 010455 5400 2420 2421 2422 /*************************************************************************** 2423 /**** CAUTION - RESIDENT OVERLAY AREA **** 2424 /**** THIS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2425 /*************************************************************************** 2426 2427 / GOTO PAGE entrance for emulating ADVANCE PAGE.... 2428 2429 RPGETUNT,XX / ADVANCE A PAGE undefined ^ 010456 0000 2430 010457 7200 CLA / CHAR. PASSED BY LODCHR 2431 010460 1256 TAD RPGETUNT / RETURN (A) AND ARG. PTR. 2432 010461 3263 DCA GETUNT / FOR NORMAL PROCESS 2433 010462 5265 JMP GETRPT / FOR NON-CONTINUOUS ECHO 2434 2435 /=========================================================================== 2436 /==== THIS IS A CO-ROUTINE TYPE SUBROUTINE ==== 2437 /=========================================================================== 2438 2439 GETUNT, XX / CO-ROUTINE ENTRY POINT undefined ^ 010463 0000 2440 AC0001 / SET FOR CONTINUOUS ECHO undefined ^ 010464 0000 2441 010465 3152 GETRPT, DCA ECHFLG / GOTO PAGE NON-CONTINUOUS ECHO 2442 010466 3340 DCA OVSFLG / CLEAR OVERSTRIKE FLAG (DEAD KEY) 2443 2444 010467 4770 JMS LODCHR / LOAD FIRST AVAILABLE CHARACTER 2445 010470 5277 JMP GETUNZ / END OF FILE - AC=0 2446 2447 010471 4767 JMS CHKUNT / AC = CHARACTER OR BUFFER CODE 2448 GETUNX, XX / CHKUNT CO-ROUTINE RETURN POINT undefined ^ 010472 0000 2449 010473 7540 SMA SZA / CHECK FOR VALID CHARACTER 2450 010474 5311 JMP GETUNY / YES, GO HANDLE IT 2451 2452 010475 7700 GETUNQ, SMA CLA / WAS THIS A SPECIAL CHARACTER 2453 010476 1535 TAD I CURPTR / YES, NOT DONE, GET CHARACTER BACK 2454 2455 010477 4663 GETUNZ, JMS I GETUNT / GETUNT CO-ROUTINE RETURN POINT 2456 010500 7440 SZA / IS A CHARACTER BEING RETURNED ? 2457 010501 3535 DCA I CURPTR / YES, STORE IT IN THE BUFFER 2458 2459 010502 1340 TAD OVSFLG / GET THE OVERSTRIKE FLAG (DEAD KEY) 2460 010503 7440 SZA / IS IT SET ? 2461 010504 5320 JMP GETUNO / YES, GO HANDLE DEAD KEY SEQUENCE 2462 010505 1535 TAD I CURPTR / NO, GET THE CURRENT CHARACTER 2463 TAD (-ECSTOV) / COMBINE THIS WITH START OF DEAD KEY CODE undefined ^ undefined ^ 010506 1372 2464 010507 7650 SNA CLA / IS THIS THE START OF DEAD KEY SEQUENCE ? 2465 010510 5317 JMP GETUNP / YES, GO HANDLE IT 2466 2467 GETUNY, AC0001 / NO, SET UP TO MOVE TO NEXT CHARACTER undefined ^ 010511 0000 2468 010512 4513 CURMOV / GO DO THE MOVE 2469 010513 5277 JMP GETUNZ / END OF FILE, GO HANDLE IT 2470 2471 010514 4770 JMS LODCHR / PICK UP THE NEXT AVAILABLE CHARACTER 2472 010515 5277 JMP GETUNZ / END OF FILE, GO HANDLE IT 2473 010516 5672 JMP I GETUNX / RETURN TO CHKUNT 2474 2475 /*************************************************************************** 2476 /**** CAUTION - RESIDENT OVERLAY AREA **** 2477 /**** THIS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2478 /*************************************************************************** 2479 2480 2481 010517 2340 GETUNP, ISZ OVSFLG / SET OVERSTRIKE FLAG (DEAD KEY) 2482 010520 7710 GETUNO, SPA CLA / CHECK VALUE OF FLAG 2483 010521 5332 JMP GETUNR / JUMP IF END OF OVERSTRIKE 2484 2485 010522 4506 ADVPTR / ADVANCE TO NEXT BUFFER CHARACTER 2486 010523 5277 JMP GETUNZ / END OF FILE, GO HANDLE IT 2487 2488 TAD (-ECNDOV) / COMBINE WITH END OF DEAD KEY CODE undefined ^ undefined ^ 010524 1372 2489 010525 7640 SZA CLA / IS THIS THE END OF THE DEAD KEY SEQUENCE ? 2490 010526 5275 JMP GETUNQ / NO, GO AND GET THE CHARACTER BACK 2491 2492 AC7777 / YES, THIS IS THE END OF THE DEAD KEY undefined ^ 010527 0000 2493 010530 3340 DCA OVSFLG / SET END FLAG 2494 010531 5275 JMP GETUNQ / GO AND GET THE CHARACTER BACK 2495 2496 010532 3340 GETUNR, DCA OVSFLG / SHOW OVERSTRIKE DONE (DEAD KEY) 2497 010533 4506 ADVPTR / MOVE TO NEXT BUFFER CHARACTER 2498 010534 7000 NOP / GET PAST END CODE 2499 010535 4520 BKPSPC 2500 010536 7000 NOP / BACK UP TO BEGINNING 2501 010537 5311 JMP GETUNY / NOW REALLY ADVANCE OVER IT 2502 2503 010540 0000 OVSFLG, .-. 2504 2505 2506 2507 /*************************************************************************** 2508 /**** CAUTION - RESIDENT OVERLAY AREA **** 2509 /**** THIS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2510 /*************************************************************************** 2511 2512 2513 / 2514 / A REQUEST FOR V2 GOTO-PAGE, GOLD:BOTTOM, OR GOTO-RULER 2515 / IS BEING PROCESSED. 2516 / 2517 / NOTE: 'OVEXIT' AND 'OVINIT' ARE CALLED AS SUBROUTINES, AND SO 2518 / MUST NOT USE ANY ADDITIONAL OVERLAYS (I.E., MUST NOT USE 'OVLJMP') 2519 / 2520 010541 4523 RPTOP, OVLJMP;OVEXIT / AC => 0, GO CLOSE DOC AND RETURN HERE undefined ^ 010542 0000 2521 010543 4523 OVLJMP;OVINIT / REOPEN DOCUMENT, THEREBY FILLING THE undefined ^ 010544 0000 2522 / APPROPIATE BUFFERS WITH THE DOCUMENT 2523 / HEADER BLOCK AND RPPGDS BLOCK 2524 2525 / PREVENT DISPLAY OF DOCUMENT HDR INFO 2526 / WHEN REPAINTING SCREEN 2527 CDFFIO / CHANGE TO FILE SYSTEM FIELD undefined ^ 010545 0000 2528 TAD I (SCFSPC) / GET NUMBER OF BLOCKS LEFT ON DISK undefined ^ undefined ^ 010546 1772 2529 010547 0000 CDFMYF / BACK TO THIS FIELD 2530 010550 4766 JMS MNUPUT / STORE VALUE FOR USE BY STATUS LINE 2531 LINFRE-MUBUF / LOCATION IN FIELD 2 FOR BLOCKS FREE undefined ^ 010551 0177 2532 2533 010552 4523 OVLJMP;OVRRP2 / GO PERFORM THE GOTO-PAGE, GOLD:BOTTOM, undefined ^ 010553 0000 2534 / OR GOTO-RULER REQUEST 2535 2536 010554 4523 EIHELP, OVLJMP;OVHELP / HELP COMMANDS undefined ^ 010555 0000 2537 010556 4523 EIINTB, OVLJMP;OVGLTB / GOLD:TAB (INDENT TABS) /A215 undefined ^ 010557 0000 2538 X=. / INDICATE FIRST FREE LOCATION ON PAGE 2539 /--------------------- 2540 010566 1655 PAGE 010567 0667 010570 4241 010571 2362 010572 0000 010573 4347 010574 0020 010575 3400 010576 1426 010577 0324 2541 /*************************************************************************** 2542 /**** END OF RESIDENT OVERLAY AREA **** 2543 /**** PREVIOUS AREA IS OVERLAYED BY LIST PROCESSING AND SPELL **** 2544 /*************************************************************************** 2545 2546 2547 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 2548 2549 010600 7001 EIRBSE, IAC / RUB OUT SENTENCE 2550 010601 7001 EIRBWD, IAC / RUB OUT WORD 2551 010602 7001 EIRBLN, IAC / RUB OUT LINE 2552 EIRBCH, / RUB OUT CHARACTER 2553 010603 3134 DCA GRAMUN / SET UNIT TYPE 2554 TAD (ECTMRK) / INSERT MARKER undefined ^ undefined ^ 010604 1377 2555 010605 4776 JMS INSERT 2556 010606 4775 JMS BACKUN / BACK UP ONE UNIT 2557 010607 4774 JMS BEEPER 2558 010610 1373 TAD (CNTMOD) 2559 010611 5772 JMP DELUNT / USE DELETE CODE 2560 2561 010612 4256 CNTUN1, JMS CHKUNR 2562 CNTUNT, TAD (-ECTMRK) undefined ^ undefined ^ 010613 1377 2563 010614 7640 SZA CLA 2564 010615 5212 JMP CNTUN1 2565 010616 3535 DCA I CURPTR 2566 010617 4771 JMS SCRNMD / SHOW SCREEN MODIFIED 2567 010620 5352 JMP LSTUNT / QUIT WUEN MARK FOUND 2568 2569 010621 7001 GOTMRK, IAC 2570 010622 7001 SLXMOD, IAC 2571 010623 7001 EIENTR, IAC 2572 010624 7001 EIPAGE, IAC 2573 010625 7001 EIPARA, IAC 2574 010626 7001 EITABP, IAC 2575 010627 7001 EISENT, IAC 2576 010630 7001 EIWORD, IAC 2577 010631 7001 EILINE, IAC 2578 010632 3134 EICHAR, DCA GRAMUN / SET UNIT TYPE 2579 010633 4250 JMS SETUNT 2580 010634 1133 TAD EDMODE / GET CURRENT MODE 2581 010635 0370 AND (MVMASK) 2582 010636 1367 TAD (JMP I MVJTAB) / GET JUMP TO RIGHT ROUTINE 2583 010637 3240 DCA .+1 2584 010640 5400 JMP I .-. 2585 2586 010641 2235 MVJTAB, ADVUNT / ADVANCE 2587 BKPMOD= .-MVJTAB 2588 010642 2200 BKPUNT / BACK UP 2589 BLDMOD= .-MVJTAB 2590 010643 0336 BLDUNT / BOLD 2591 UDLMOD= .-MVJTAB 2592 010644 5350 UDLUNT / UNDER LINE 2593 NBDMOD= .-MVJTAB 2594 010645 0337 NBDUNT / REMOVE BOLD 2595 NUDMOD= .-MVJTAB 2596 010646 5351 NUDUNT / REMOVE UNDER LINE 2597 CASMOD= .-MVJTAB 2598 010647 4753 CASUNT / UPPER/LOWER CASE 2599 MVMASK= 7 2600 2601 SETUNT, XX / SET UNIT undefined ^ 010650 0000 2602 010651 1134 TAD GRAMUN 2603 010652 1366 TAD (JMP I MVCTAB) / MAKE JUMP OUT OF UNIT CODE 2604 010653 3270 DCA MVCODE / AND STORE IT 2605 010654 3141 DCA SCRLFL / CLEAR SCROLL FLAG 2606 010655 5650 JMP I SETUNT 2607 2608 CHKUNR, XX / USED FOR OFF-PAGE CALLS undefined ^ 010656 0000 2609 010657 4667 JMS I CHKUNT 2610 010660 5656 JMP I CHKUNR 2611 2612 CHKUNH, XX / SAME AS CHKUNR, BUT TEST HALT FLAG undefined ^ 010661 0000 2613 010662 4501 HLTTST 2614 AC7777 / RETURN "DONE" IF SET undefined ^ 010663 0000 2615 CDFBUF undefined ^ 010664 0000 2616 010665 4667 JMS I CHKUNT 2617 010666 5661 JMP I CHKUNH 2618 2619 CHKUNT, XX undefined ^ 010667 0000 2620 010670 5400 MVCODE, JMP I .-. 2621 2622 SETBNT, XX / SET FOR BACKUP undefined ^ 010671 0000 2623 010672 1365 TAD (MVBTAB-MVCTAB) 2624 010673 4250 JMS SETUNT 2625 010674 5671 JMP I SETBNT 2626 2627 010675 0752 MVBTAB, CHRBNT 2628 010676 0741 LINBNT 2629 010677 1001 WRDBNT 2630 010700 1046 SNTBNT 2631 010701 1061 TABBNT 2632 010702 1065 PARUNT 2633 010703 1123 PAGBNT 2634 010704 0720 FLDBNT 2635 2636 010705 0747 MVCTAB, CHRUNT 2637 010706 0741 LINUNT 2638 010707 1005 WRDUNT 2639 010710 1050 SNTUNT 2640 010711 1052 TABUNT 2641 010712 1065 PARUNT 2642 010713 1127 PAGUNT 2643 010714 0725 FLDUNT 2644 SLCTMD= .-MVCTAB / "SELECT" TYPE CODE 2645 010715 0755 SLTUNT 2646 CNTMOD= .-MVCTAB / "COUNT" TYPE CODE 2647 010716 0613 CNTUNT 2648 2649 ECFIEL= 76 / CODE FOR FIELD DELIMITER (RIGHT ANGLE) 2650 2651 010717 4256 FLDBN1, JMS CHKUNR 2652 FLDBNT, AND P177 undefined ^ undefined ^ 010720 0000 2653 010721 1364 TAD (-ECFIEL) 2654 010722 7650 SNA CLA 2655 010723 5317 JMP FLDBN1 2656 010724 4261 FLDBN2, JMS CHKUNH 2657 FLDUNT, AND P177 undefined ^ undefined ^ 010725 0000 2658 010726 1364 TAD (-ECFIEL) 2659 010727 7640 SZA CLA 2660 010730 5324 JMP FLDBN2 2661 FLDUN3, AC0001 undefined ^ 010731 0000 2662 010732 4261 JMS CHKUNH 2663 AND P177 undefined ^ undefined ^ 010733 0000 2664 010734 1364 TAD (-ECFIEL) 2665 010735 7650 SNA CLA 2666 010736 5331 JMP FLDUN3 2667 010737 5352 JMP LSTUNT 2668 2669 010740 4256 LINUN1, JMS CHKUNR 2670 LINUNT, 2671 010741 7200 LINBNT, CLA 2672 010742 1141 TAD SCRLFL 2673 010743 7450 SNA 2674 010744 5340 JMP LINUN1 2675 010745 7500 LINUN2, SMA 2676 010746 5352 JMP LSTUNT 2677 010747 7710 CHRUNT, SPA CLA 2678 TABUN2, AC0001 undefined ^ 010750 0000 2679 010751 4256 JMS CHKUNR / RETURN CODE TO CO-ROUTINE CALLER 2680 LSTUNT, 2681 CHRBNT, AC7777 / SET DONE CODE undefined ^ 010752 0000 2682 010753 5351 JMP LSTUNT-1 / GO RETURN CODE TO CALLER 2683 2684 010754 4256 SLTUN1, JMS CHKUNR / MAKE CALL TO CHKUNT 2685 010755 4763 SLTUNT, JMS ESLCTD / CHECK FOR SELECT MARK AND DELETE IT 2686 010756 5354 JMP SLTUN1 / NOT FOUND, GO CHECK NEXT CHARACTER 2687 010757 3133 DCA EDMODE / FOUND, CLEAR THE EDIT MODE FLAG 2688 010760 5352 JMP LSTUNT / GO RETURN DONE CODE TO CALLER 2689 2690 010761 0000 RPCUBK, 0 / Rapid Paging CUrrent BlocK id # 2691 2692 X=. / INDICATE FIRST FREE LOCATION ON PAGE 2693 /--------------- 2694 010763 1135 PAGE 010764 7702 010765 7770 010766 5705 010767 5641 010770 0007 010771 2267 010772 1601 010773 0011 010774 0324 010775 2203 010776 2000 010777 0000 2695 2696 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 2697 2698 2699 011000 4777 WRDUN1, JMS CHKUNR 2700 011001 4216 WRDBNT, JMS WRDTST 2701 011002 7650 SNA CLA 2702 011003 5200 JMP WRDUN1 2703 011004 4777 WRDUN2, JMS CHKUNR 2704 011005 4216 WRDUNT, JMS WRDTST 2705 011006 7640 SZA CLA 2706 011007 5204 JMP WRDUN2 2707 WRDUN3, AC0001 undefined ^ 011010 0000 2708 011011 4777 JMS CHKUNR 2709 011012 4216 JMS WRDTST 2710 011013 7650 SNA CLA 2711 011014 5210 JMP WRDUN3 2712 011015 5776 JMP LSTUNT 2713 2714 WRDTST, XX undefined ^ 011016 0000 2715 011017 4314 JMS PARCHK 2716 011020 7440 SZA 2717 TAD (ECNWPG-40) undefined ^ undefined ^ 011021 1375 2718 011022 7440 SZA 2719 TAD (40-ECTAB) undefined ^ undefined ^ 011023 1374 2720 011024 5616 JMP I WRDTST 2721 2722 SNTUNX, XX undefined ^ 011025 0000 2723 011026 7410 SKP 2724 011027 4777 SNTUN1, JMS CHKUNR 2725 011030 4216 JMS WRDTST 2726 011031 7650 SNA CLA 2727 011032 5227 JMP SNTUN1 2728 011033 4773 SNTUN3, JMS CHKUNH 2729 011034 4314 JMS PARCHK 2730 011035 7440 SZA 2731 TAD (ECNWPG-".+200) undefined ^ undefined ^ 011036 1372 2732 011037 7440 SZA 2733 011040 1371 TAD (".-"!) 2734 011041 7440 SZA 2735 011042 1370 TAD ("!-"?) 2736 011043 7640 SZA CLA 2737 011044 5233 JMP SNTUN3 2738 011045 5625 JMP I SNTUNX 2739 2740 011046 4225 SNTBNT, JMS SNTUNX 2741 011047 5210 JMP WRDUN3 2742 2743 011050 4225 SNTUNT, JMS SNTUNX 2744 011051 5211 JMP WRDUN3+1 2745 2746 TABUNT, AND P177 / MASK OFF ATTRIBUTES undefined ^ undefined ^ 011052 0000 2747 TAD (-ECTAB) undefined ^ undefined ^ 011053 1367 2748 011054 7650 SNA CLA 2749 011055 5766 JMP TABUN2 2750 011056 1141 TAD SCRLFL 2751 011057 7440 SZA 2752 011060 5765 JMP LINUN2 2753 011061 7200 TABBNT, CLA 2754 011062 4777 JMS CHKUNR 2755 011063 5252 JMP TABUNT 2756 2757 011064 4777 PARUN0, JMS CHKUNR 2758 011065 4314 PARUNT, JMS PARCHK 2759 011066 7650 SNA CLA 2760 011067 5264 JMP PARUN0 2761 011070 4773 PARUN1, JMS CHKUNH 2762 011071 7421 MQL 2763 011072 7501 MQA 2764 TAD (-ECPGRF) undefined ^ undefined ^ 011073 1367 2765 011074 7650 SNA CLA 2766 011075 5306 JMP PARUN2 / STOP QUICK ON GRAF MARKER 2767 011076 7501 MQA 2768 011077 4314 JMS PARCHK 2769 011100 7640 SZA CLA 2770 011101 5270 JMP PARUN1 2771 011102 4777 JMS CHKUNR 2772 011103 4314 JMS PARCHK 2773 011104 7640 SZA CLA 2774 011105 5270 JMP PARUN1 2775 PARUN2, AC0001 undefined ^ 011106 0000 2776 011107 4777 JMS CHKUNR 2777 011110 4314 JMS PARCHK 2778 011111 7650 SNA CLA 2779 011112 5306 JMP PARUN2 2780 011113 5776 JMP LSTUNT 2781 2782 PARCHK, XX undefined ^ 011114 0000 2783 AND P177 undefined ^ undefined ^ 011115 0000 2784 TAD (-ECNWLN) undefined ^ undefined ^ 011116 1367 2785 011117 7440 SZA 2786 TAD (ECNWLN-ECNWPG) undefined ^ undefined ^ undefined ^ undefined ^ 011120 1367 2787 011121 5714 JMP I PARCHK 2788 2789 011122 4777 PAGBN1, JMS CHKUNR 2790 011123 4216 PAGBNT, JMS WRDTST 2791 011124 7650 SNA CLA 2792 011125 5322 JMP PAGBN1 2793 011126 4773 PAGUN1, JMS CHKUNH 2794 PAGUNT, TAD (-ECNWPG) undefined ^ undefined ^ 011127 1367 2795 011130 7440 SZA 2796 TAD (ECNWPG-ECPMRK) undefined ^ undefined ^ undefined ^ undefined ^ 011131 1367 2797 011132 7640 SZA CLA 2798 011133 5326 JMP PAGUN1 2799 011134 5210 JMP WRDUN3 2800 2801 / IF AC= SELECT POINT 2802 / THEN BUMP RETURN ADDRESS 2803 / SET THE LINE MODIFIED FLAG 2804 / DELETE SELECT POINT FROM BUFFER 2805 / DELETE ALL CHARACTERS FOLLOWING IT UNTIL THE NEXT CHARACTER WHICH 2806 / IS NOT A JUSTIFIED SPACE OR A LINE MODIFIED CHARACTER OR A RULER 2807 / MODIFIED CHARACTER. 2808 / IF A RULER MODIFIED CHARACTER IS FOUND SET THE RULER MODIFIED FLAG 2809 2810 ESLCTD, XX undefined ^ 011135 0000 2811 TAD (-ECSLPT) / IF AC=SELECT POINT undefined ^ undefined ^ 011136 1367 2812 011137 7640 SZA CLA / 2813 011140 5735 JMP I ESLCTD / 2814 011141 2335 ISZ ESLCTD / THEN BUMP RETURN ADDRESS 2815 011142 4514 SLNMOD / SET LINE MODIFIED FLAG 2816 011143 3535 SLTUN2, DCA I CURPTR / LOOP, DELETE CHAR 2817 011144 4764 SLTUN4, JMS LODCHR / GET_CHAR (FROM EDIT BUFFER) 2818 011145 5735 JMP I ESLCTD / EXIT IF END OF FILE 2819 TAD (-ECJSPC) / EXIT IF CHAR .NE. (JUSTIFIED SPACE undefined ^ undefined ^ 011146 1367 2820 011147 7650 SNA CLA / 2821 011150 5343 JMP SLTUN2 / 2822 011151 4763 JMS CHKLMD / OR RULER MOD OR LINE MOD) 2823 011152 5735 JMP I ESLCTD / (RETURNS HERE IF NOT A 'MODIFIED' CHAR) 2824 011153 5344 JMP SLTUN4 / END_LOOP 2825 2826 X=. / INDICATE FIRST FREE LOCATION ON PAGE 2827 /--------------- 2828 011163 4733 PAGE 011164 4241 011165 0745 011166 0750 011167 0000 011170 7742 011171 0015 011172 7722 011173 0661 011174 0040 011175 7740 011176 0752 011177 0656 2829 2830 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 2831 2832 2833 ESMODE, XX / SET EDIT MODE undefined ^ 011200 0000 2834 011201 0000 CDFMYF 2835 AC7777 undefined ^ 011202 0000 2836 011203 1600 TAD I ESMODE / GET ARG PTR 2837 DCA X0 undefined ^ undefined ^ 011204 3000 2838 011205 1133 TAD EDMODE / GET MODE 2839 AND I X0 / CLEAR SOME,... undefined ^ undefined ^ 011206 0400 2840 TAD I X0 / ...AND SET SOME undefined ^ undefined ^ 011207 1400 2841 011210 3133 DCA EDMODE 2842 011211 2200 ISZ ESMODE / BUMP TO RTN ADR 2843 011212 5600 JMP I ESMODE / AND RETURN 2844 2845 2846 / ESAPTR ADVANCE CURPTR 1 CHARACTER 2847 / 2848 / THIS ROUTINE WILL ADVANCE TO THE NEXT NON-NULL CHARACTER AFTER 2849 / THE CURRENT POSITION. IT UPDATES CURPTR TO POINT TO THIS 2850 / CHARACTER. IF THE CURRENT CHAR POINTED TO IS A NULL THEN THE 2851 / FIRST NON-NULL CHARACTER IS RETURNED. IF THE CHAR CURRENTLY 2852 / POINTED TO IS NOT NULL THEN THE NEXT NON-NULL CHAR IS RETURNED. 2853 / 2854 / CALL: 2855 / 2856 / ADVPTR / CALLED THROUGH PAGE ZERO 2857 / 2858 / 2859 / 2860 ESAPTR, XX / ENTRY POINT TO ESAPTR undefined ^ 011213 0000 2861 011214 7200 CLA / GET CHARACTER AT CURRENT POSITION 2862 011215 4510 CHKPTR / RETURN AC < 0 IF ETX IN BUFFER 2863 / AC = 0 IF NULL CHAR 2864 / AC > 0 IF OK CHARACTER 2865 011216 7510 SPA / ETX IN BUFFER? 2866 011217 5231 JMP ESAPT2 / YES, GO GET CHAR FROM DISK 2867 011220 7640 SZA CLA / NULL? 2868 AC0001 / NOT NULL ADVANCE 1 CHAR undefined ^ 011221 0000 2869 011222 4512 ADVCHR / ADVANCE TO NEXT NON-NULL CHARACTER 2870 011223 7510 SPA / REAL CHARACTER (NOT ETX)? 2871 011224 5231 JMP ESAPT2 / ETX FOUND, GO EXPAND 2872 011225 2213 ESAPT1, ISZ ESAPTR / INCREMENT FOR SKIP RETURN 2873 011226 7410 SKP / SKIP OVER CLEAR FOR NON-SKIP RETURN 2874 011227 7200 ESAPT4, CLA / NON-SKIP RETURN SO CLEAR AC 2875 011230 5613 JMP I ESAPTR / BYE-BYE 2876 011231 4777 ESAPT2, JMS ESGETE / GET NEXT CHARACTER FROM DISK 2877 011232 7550 SPA SNA / LEGAL CHARACTER? 2878 011233 5227 JMP ESAPT4 / NO TAKE NON-SKIP RETURN. ETX IN FILE! 2879 011234 3535 DCA I CURPTR / PLACE CHARACTER IN BUFFER. OVERWRITING 2880 / ETX MARK 2881 AC0001 / MOVE FORWARD ONE CHARACTER undefined ^ 011235 0000 2882 011236 4510 CHKPTR / RETURN AC <= 0 THEN OK TO INSERT ETX MARK 2883 / AC > 0 THEN MUST SAVE CHAR FIRST 2884 011237 7750 SPA SNA CLA / OK TO OVERWRITE? 2885 011240 5243 JMP ESAPT3 / YES, GO SHOVE IT IN. 2886 011241 1535 TAD I CURPTR / GET CHARACTER TO WRITE TO DISK 2887 011242 4522 PUTSTX / PUT CHARACTER OUT TO DISK 2888 ESAPT3, TAD (ECETX) / RESTORE OVERWRITTEN ETX MARKER undefined ^ undefined ^ 011243 1376 2889 011244 3535 DCA I CURPTR 2890 AC7777 / BACKUP TO CHARACTER RETRIEVED FROM DISK undefined ^ 011245 0000 2891 011246 4510 CHKPTR 2892 011247 5225 JMP ESAPT1 / AND TAKE SKIP RETURN 2893 2894 / ESBPTR BACKUP CURPTR 1 CHARACTER 2895 / 2896 / THIS ROUTINE WILL BACKUP TO THE NEXT NON-NULL CHARACTER BEFORE 2897 / THE CURRENT POSITION. IT UPDATES CURPTR TO POINT CHARACTER. 2898 / IF THE CURRENT CHARACTER POINTED TO IS A NULL THEN THE FIRST 2899 / NON-NULL CHARACTER BEFORE THE CURRENT POSITION IS RETURNED. 2900 / 2901 / CALL: 2902 / 2903 / BKPPTR / CALL THROUGH PAGE ZERO LINK 2904 / 2905 / 2906 / 2907 ESBPTR, XX / ENTRY POINT undefined ^ 011250 0000 2908 ESBPT1, AC7777 / BACKUP ONE CHARACTER undefined ^ 011251 0000 2909 011252 4510 CHKPTR / RETURN AC < 0 IF STX IN BUFFER 2910 / AC = 0 IF NULL 2911 / AC > 0 IF LEGAL CHAR 2912 011253 7540 SMA SZA / LEGAL CHARACTER? 2913 011254 5275 JMP ESBPT3 / YES GO TAKE SUCCESSFUL EXIT 2914 011255 7700 SMA CLA / STX IN BUFFER? 2915 011256 5251 JMP ESBPT1 / NO, NULL SO LOOP TILL NON-NULL 2916 011257 4775 JMS ESGETS / GET CHARACTER FROM DISK 2917 011260 7550 SPA SNA / LEGAL CHAR? 2918 011261 5277 JMP ESBPT4 / STX IN FILE GO EXIT 2919 011262 3535 DCA I CURPTR / PUT CHARACTER IN TEXT BUFFER 2920 AC7777 / BACKUP A CHARACTER undefined ^ 011263 0000 2921 011264 4510 CHKPTR / RETURN AC <= 0 THEN OK TO INSERT STX 2922 / AC > 0 THEN PUT CHAR TO DISK 2923 011265 7750 SPA SNA CLA / MUST SAVE CHARACTER? 2924 011266 5271 JMP ESBPT2 / NO CAN OVERWRITE 2925 011267 1535 TAD I CURPTR / GET CHARACTER FROM BUFFER AND 2926 011270 4521 PUTETX / WRITE TO DISK 2927 ESBPT2, TAD (ECETX) / INSERT START OF TEXT MARK undefined ^ undefined ^ 011271 1376 2928 011272 3535 DCA I CURPTR / INTO BUFFER 2929 AC0001 / REPOSITION OVER CHARACTER BACKED UP TO undefined ^ 011273 0000 2930 011274 4510 CHKPTR 2931 011275 2250 ESBPT3, ISZ ESBPTR / SUCCEEDED SO SKIP RETURN 2932 011276 5650 JMP I ESBPTR / BYE BYE 2933 ESBPT4, AC0001 / REPOSITION OVER FIRST CHARACTER IN FILE undefined ^ 011277 0000 2934 011300 4510 CHKPTR 2935 011301 7200 CLA / CLEAR AC SINCE NOT FOUND 2936 011302 5650 JMP I ESBPTR / AND TAKE FAILURE RETURN 2937 2938 EIPGRF, TAD (ECPGRF-ECNWLN) / Paragraph marker. undefined ^ undefined ^ undefined ^ undefined ^ 011303 1376 2939 EINWLN, TAD (ECNWLN-ECENLN) / Offset to GOLD:CENTER undefined ^ undefined ^ undefined ^ undefined ^ 011304 1376 2940 DCA T2 / save for overlay. undefined ^ undefined ^ 011305 3000 2941 011306 4523 OVLJMP;OVNWLN / Process new-line (check for CENTERED). undefined ^ 011307 0000 2942 TAD T2 / Get return code. undefined ^ undefined ^ 011310 1000 2943 EICENT, TAD (ECENLN-ECTAB) undefined ^ undefined ^ undefined ^ undefined ^ 011311 1376 2944 EITAB, TAD (ECTAB-ECPHYP) undefined ^ undefined ^ undefined ^ undefined ^ 011312 1376 2945 EIHYP1, TAD (ECPHYP) undefined ^ undefined ^ 011313 1376 2946 EINSRT, 2947 011314 4774 EIFXT1, JMS CHKSPC / CHECK FOR SPACE BEFORE INSERTING ANYTHING 2948 CDFBUF / LET'S PUT THIS IN THE RIGHT FIELD, NOW undefined ^ 011315 0000 2949 011316 4773 JMS ESIMCH / INSERT IT /M241 2950 011317 5772 JMP EIFXT2 2951 2952 SWTHMA, XX / "MA" SWTHMA ROUTINE undefined ^ 011320 0000 2953 CDFMNU / CHANGE TO MENU DATA FIELD undefined ^ 011321 0000 2954 011322 7650 SNA CLA / WANT TO SAVE THE "MA" SWITCH? 2955 011323 5330 JMP SWTHM1 / NO: THEN RESTORE "MA" ORIGINAL STATE 2956 TAD I (MUBUF+MNMATH) / YES: THEN GET THE "MA" PRESENT SETTING undefined ^ undefined ^ undefined ^ undefined ^ 011324 1776 2957 011325 3334 DCA STORMA / SAVE IT FOR AFTER G-T-P OR GOLD-BOT DONE 2958 DCA I (MUBUF+MNMATH) / SHUT SWITCH TO DEACTIVATE MATH FOR NOW undefined ^ undefined ^ undefined ^ undefined ^ 011326 3776 2959 011327 5332 JMP SWTHM2 / GO SET UP TO RETURN TO CALLER 2960 011330 1334 SWTHM1, TAD STORMA / GET BACK THE ORIGINAL "MA" SETTING 2961 DCA I (MUBUF+MNMATH) / RESTORE THE "MA" SWITCH SETTING undefined ^ undefined ^ undefined ^ undefined ^ 011331 3776 2962 SWTHM2, CDIEDT / CHANGE BACK TO EDITOR DATA FIELD undefined ^ 011332 0000 2963 011333 5720 JMP I SWTHMA / RETURN TO CALLER 2964 2965 011334 0000 STORMA, 0 / HOLDS ORIGINAL SETTING OF MA SWITCH 2966 2967 HDRPUT, XX / JMS HDRPUT - HDROFST (AC=VALUE) undefined ^ 011335 0000 2968 011336 0000 CDFMYF 2969 011337 7421 MQL 2970 AC7776 undefined ^ 011340 0000 2971 011341 1735 TAD I HDRPUT 2972 011342 2335 ISZ HDRPUT 2973 CIFFIO undefined ^ 011343 0000 2974 FILEIO undefined ^ 011344 0000 2975 XHDRPT undefined ^ 011345 0000 2976 011346 5735 JMP I HDRPUT 2977 2978 2979 / SVSLCR SAVE SELECT CURSOR POSITION /A209 2980 / /A209 2981 / THIS ROUTINE IS USED FOR RECTANGULAR CUT AND PASTE TO GIVE /A209 2982 / ONE OF THE COLUMN DELIMITER BOUNDARIES /A209 2983 / /A209 2984 / CALL: /A209 2985 / /A209 2986 / JMS SVSLCR /A209 2987 / /A209 2988 / /A209 2989 / N O T E ! ! ! /A209 2990 / ------------- /A209 2991 / /A209 2992 / THE LOCATION SLCRPT MUST REMAIN ON THE /A209 2993 / SAME PAGE AS THE SVSLCR CODE. IF IT IS /A209 2994 / MOVED TO A DIFFERENT PAGE (OTHER THAN ZERO) /A209 2995 / THIS ROUTINE WILL NOT WORK!!!! /A209 2996 / /A209 2997 / /A209 2998 SVSLCR, XX /ENTRY POINT /A209 undefined ^ 011347 0000 2999 011350 1136 TAD CURSOR /GET CURRENT CURSOR POSITION /A209 3000 011351 3353 DCA SLCRPT /SAVE SELECT CURSOR POSITION /A209 3001 011352 5747 JMP I SVSLCR /RETURN /A209 3002 011353 0000 SLCRPT, ZBLOCK 1 /SELECT CURSOR POSITION SAVE LOCATION /A209 3003 3004 CTB009, ECSLPT; SCRTM1 / SELECT POINT undefined ^ 011354 0000 011355 3046 3005 ECPCT2; SCRTM2 / END CONTROL undefined ^ 011356 0000 011357 3045 3006 ECPCT1; SCRTM4 / START CONTROL undefined ^ 011360 0000 011361 3044 3007 011362 0000 0 / INDICATE END OF TABLE 3008 3009 3010 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3011 /--------------- 3012 011372 0401 PAGE 011373 5412 011374 4200 011375 4020 011376 0000 011377 4014 3013 3014 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3015 3016 3017 IFDEF CONDOR < DM1ADJ= 0 > / SCREEN LINE ADJUSTMENT FOR DECMATE 2 /A226 3018 IFNDEF CONDOR < DM1ADJ= -12 > / SCREEN LINE ADJUSTMENT FOR DECMATE 1 /A226 3019 3020 / REPOSITION CURSOR BY SENDING ESCAPE SEQUENCE: 3021 / [ CURLIN ; CURSOR H 3022 3023 PCUR, XX undefined ^ 011400 0000 3024 011401 3046 DCA CURPOS / SAVE THE AC 3025 3026 / PUT OUT THE CONTROL STRING INTRODUCER. 3027 3028 011402 4515 PUTESC / OUTPUT AN ESCAPE CHARACTER TO SCREEN 3029 011403 0133 "[-200 / FOLLOWED BY THE "[" CHARACTER 3030 3031 / PUT OUT THE FIRST DIGIT STRING. 3032 3033 011404 1177 TAD WIDNAR / GET THE WIDE-NARROW FLAG /C226 3034 011405 7650 SNA CLA / IN SPLIT SCREEN MODE ? /C226 3035 011406 1377 TAD (DM1ADJ) / YES, MAKE SCREEN ADJUSTMENT FOR DMI /C226 3036 011407 1144 TAD CURLIN / NO, COMBINE WITH CURRENT LINE COUNT 3037 011410 1176 TAD SCRNLN / ADD SIZE OF SCROLL AREA 3038 CIFMNU / INVOKE THE OUTDIG ROUTINE TO OUTPUT THE undefined ^ 011411 0000 3039 JMS OUTDIG / LINE POSITION IN BASE 10 ARGUMENTS. undefined ^ undefined ^ 011412 4000 3040 3041 011413 1376 TAD (";-200) / INSERT A SEMI-COLON BETWEEN ARGUMENTS 3042 011414 4503 PUTOUT 3043 3044 / PUT OUT THE SECOND DIGIT STRING. 3045 3046 011415 1046 TAD CURPOS / GET THE CURSOR POSITION 3047 011416 7510 SPA / IF DESIRED POSITION IS LEFT OF SCREEN 3048 011417 7200 CLA / THEN DO COLUMN 1 3049 3050 / FOR SOME REASON, THIS ARGUMENT IS ONE TOO SMALL. HENCE, 3051 / IN VT-278 MODE WE INCREMENT BEFORE CALLING OUTDIG 3052 011420 7001 IAC / INCREMENT THE COLUMN NUMBER 3053 3054 CIFMNU / INVOKE THE OUTDIG ROUTINE TO OUTPUT THE undefined ^ 011421 0000 3055 JMS OUTDIG / COLUMN POSITION IN BASE 10 ARGUMENTS. undefined ^ undefined ^ 011422 4000 3056 3057 011423 1375 TAD ("H-200) / PUT OUT THE ENDING H 3058 011424 4503 PUTOUT 3059 011425 5600 JMP I PCUR / RETURN 3060 3061 / TEST LIMITS FOR 132 COLUMN MODE OF VT100 3062 TSTLIM, XX undefined ^ 011426 0000 3063 /D226 TAD SPLTFL / IN SPLIT SCREEN MODE? 3064 /D226 SNA CLA / SKIP IF YES. 3065 /D226 JMP TSTLMB / JMP TO RETAIN/SET 80 COL MODE. 3066 011427 1177 TAD WIDNAR / GET OFFSET FOR WIDE/NARROW (0 OR 52) /A223 3067 011430 1374 TAD (-WIDTH) / ADD NEGATIVE SCREEN WIDTH = -132 OR -80 3068 011431 3274 DCA SCNSZ / STORE FOR SCREEN SIZE CHECK /A223 3069 011432 1177 TAD WIDNAR / GET OFFSET AGAIN (0 OR 52) /A223 3070 011433 7440 SZA / /A223 3071 011434 1373 TAD (4) / FIX MARGIN TEST OFFSET (0 OR 56) /A223 3072 011435 1372 TAD (-COLLIM-2+WIDTH) /-242+132=-110 (+0 OR 56 = -110 OR -54) /M223 3073 011436 3301 DCA MARG / STORE AS MARGIN CHECKER /A223 3074 011437 1136 TAD CURSOR / 3075 011440 1301 TAD MARG / /A223 3076 011441 7750 SPA SNA CLA / IS CURSOR IN LEFTMOST PART OF SCREEN? 3077 011442 5267 JMP TSTLMA / JMP IF YES. SET LOWLIM. 3078 011443 1136 TSTLMD, TAD CURSOR /A223 3079 011444 1274 TAD SCNSZ /A223 3080 011445 7510 SPA / IS CURSOR IN RIGHT PART OF SCREEN? /M223 3081 011446 5257 JMP TSTLME / NO, /M226 3082 011447 1047 TAD LOWLIM / YES; WITHIN BOUNDS OF THIS SCREEN? /A223 3083 011450 7710 SPA CLA /A223 3084 011451 5257 JMP TSTLME / MAYBE /A223 3085 011452 1301 TAD MARG / NO, ADJUST LOW LIMIT BY SCREEN MARGIN /A223 3086 011453 1047 TSTLMF, TAD LOWLIM /A223 3087 011454 3047 DCA LOWLIM /A223 3088 011455 4771 JMS CLSSET / INITIALIZE SCROLL POINTERS FOR STATUS 3089 011456 5243 JMP TSTLMD / RE-CHECK FOR NEXT SCREEN /A223 3090 011457 7200 TSTLME, CLA /A226 3091 011460 1136 TAD CURSOR / DID WE BACKUP PAST LOW LIMIT OF SCREEN?/A223 3092 011461 1047 TAD LOWLIM / /A223 3093 011462 7700 SMA CLA /A223 3094 011463 5273 JMP TSTLMX / NO /A223 3095 011464 1301 TAD MARG / YES, ADJUST LOW LIMIT DOWN BY MARGIN /A223 3096 011465 7041 CIA 3097 011466 5253 JMP TSTLMF / /A223 3098 3099 011467 1047 TSTLMA, TAD LOWLIM / YES. /A223 3100 011470 7640 SZA CLA / IS LOWLIM SET TO LEFT? /A223 3101 011471 4771 JMS CLSSET / NO, INIT SCROLL POINTERS FOR STATUS /A223 3102 011472 3047 TSTLMB, DCA LOWLIM / RESET LOWLIM FOR 80 COL RESET. 3103 011473 5626 TSTLMX, JMP I TSTLIM 3104 3105 011474 7660 SCNSZ, -COLM81 / SCREEN SIZE (-132 OR -80), INIT:NARROW/A223 3106 3107 CENTER, XX / CENTER LINE undefined ^ 011475 0000 3108 CIFMNU / CALL IN MENU FIELD /M217 undefined ^ 011476 0000 3109 011477 5770 JMP EFCNTR /M217 3110 011500 5675 CNTREX, JMP I CENTER / RETURN /M217 3111 3112 /KEEP NEXT TWO LINES TOGETHER!!! /A223 3113 MARG, / MARGIN CHECK SIZE FOR WIDE/NARROW /A223 3114 LNECHT, XX / ECHO HYPHEN OR SELECT POINT undefined ^ 011501 0000 3115 TAD (-ECHYLN) / compare with hyphen character undefined ^ undefined ^ 011502 1367 3116 011503 7450 SNA / Is it a hyphen? 3117 011504 5313 JMP LNECH1 / yes, so print hyphen character 3118 TAD (ECHYLN-ECSLPT) / no, is it a select point? undefined ^ undefined ^ undefined ^ undefined ^ 011505 1367 3119 011506 7640 SZA CLA 3120 011507 5701 JMP I LNECHT / no, return to caller 3121 3122 / Here if character is a select point 3123 011510 4766 JMS PUTSPC / yes, display select point in 3124 EXGSLC / special graphics mode then return undefined ^ 011511 0000 3125 011512 5701 JMP I LNECHT / 3126 3127 / Here if character is a hyphen 3128 011513 1175 LNECH1, TAD CHRATR / GET ATTRIBUTE OF PREVIOUS CHAR TO 3129 / APPEND W/HYPHEN 3130 011514 1365 TAD (55) 3131 011515 4503 PUTOUT / DO HYPHEN 3132 011516 5701 JMP I LNECHT 3133 3134 SCRLTX, XX / REFRESH CURRENT CURSOR LINE undefined ^ 011517 0000 3135 TAD (PTRBLK+NPTRS-1) undefined ^ undefined ^ 011520 1364 3136 011521 3347 DCA SCRLT1 3137 011522 1135 TAD CURPTR 3138 011523 3350 DCA SCRLT2 / SAVE CURPTR 3139 011524 1136 TAD CURSOR 3140 011525 3351 DCA SCRLT3 / AND CURSOR 3141 011526 3046 DCA CURPOS / RESET CHAR COUNTER TO START OF LINE. 3142 011527 1747 TAD I SCRLT1 / GET LINE PTR 3143 011530 7450 SNA 3144 011531 5341 JMP SCRLTY / CHECK FOR STX MSG IF 0 3145 011532 3135 DCA CURPTR 3146 011533 4763 JMS PUTLIN 3147 011534 1350 TAD SCRLT2 3148 011535 3135 DCA CURPTR / RESTORE 3149 011536 1351 TAD SCRLT3 3150 011537 3136 DCA CURSOR 3151 011540 5346 JMP SCRLTZ / AND RETURN 3152 011541 2347 SCRLTY, ISZ SCRLT1 3153 011542 1747 TAD I SCRLT1 / TEST ONE AFTER THE NULL 3154 011543 7640 SZA CLA 3155 TAD (STXMSG) undefined ^ undefined ^ 011544 1367 3156 011545 4762 JMS PGMSG / OUTPUT --TOP-- OR BLANKS 3157 011546 5717 SCRLTZ, JMP I SCRLTX / AND RETURN 3158 3159 011547 0000 SCRLT1, 0 3160 011550 0000 SCRLT2, 0 3161 011551 0000 SCRLT3, 0 3162 3163 EISUBS, AC7776 undefined ^ 011552 0000 3164 3165 011553 3154 EISUPS, DCA CASBIT 3166 011554 4523 OVLJMP;OVSUPS undefined ^ 011555 0000 3167 3168 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3169 /--------------- 3170 011562 4707 PAGE 011563 4602 011564 0027 011565 0055 011566 2147 011567 0000 011570 2600 011571 2141 011572 7622 011573 0004 011574 7574 011575 0110 011576 0073 011577 7766 3171 3172 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3173 3174 3175 EIDLTW, AC0002 / SET GRAMMATICAL UNIT FOR WORD DELETION undefined ^ 011600 0000 3176 EIDLTC, / SET GRAMMATICAL UNIT FOR CHARACTER DELETION 3177 011601 3134 DELUNT, DCA GRAMUN 3178 011602 4523 OVLJMP;OVDLTE / JUMP TO DELETE OVERLAY undefined ^ 011603 0000 3179 3180 CHKRPC, XX / CHECK FOR ECSTRL (START OF RULER), undefined ^ 011604 0000 3181 / ECPCT1 (START CONTROL), 3182 / ECPCT2 (END CONTROL) 3183 / RTN 1 IF ECSTRL 3184 / RTN 2, AC=0 IF REDUNDANT PCTL 3185 / RTN 2, AC=INPUT IF OK 3186 011605 7421 MQL 3187 011606 7501 MQA 3188 3189 /D206 TAD (-ECSTRL) 3190 /D206 SZA 3191 /D206 ISZ CHKRPC / BUMP RTN ADDR IF NOT RLR START 3192 /D206 TAD (ECSTRL-ECPCT2) 3193 /D206 SNA 3194 /D206 JMP CHKRP2 / JUMP IF END PRINT CNTRL 3195 /D206 TAD (ECPCT2-ECPCT1) 3196 /D206 SZA 3197 3198 011607 4500 ZZCASE /A206 3199 011610 1620 CTB015-1 /A206 3200 3201 / ECSTRL; CHKRP1 / START RULER /A206 3202 / ECPCT2; CHKRP2 / END CONTROL /A206 3203 / ECPCT1; CHKRP3 / START CONTROL /A206 3204 / 0 /A206 3205 3206 011611 2204 ISZ CHKRPC /A206 3207 011612 5217 JMP CHKRP1 / JUMP IF NOT PRINT CNTRL 3208 CHKRP3, AC0001 / CHECK FOR REDUNDANT CONTROL /M206 undefined ^ 011613 0000 3209 011614 2204 CHKRP2, ISZ CHKRPC / SET TO SKIP RETURN /A206 3210 011615 1142 TAD PCTLFL 3211 011616 7440 SZA / SKIP IF REDUNDANT 3212 011617 7701 CHKRP1, CLA MQA / ELSE RETURN INPUT 3213 011620 5604 JMP I CHKRPC 3214 3215 CTB015, ECSTRL; CHKRP1 / START RULER /A206 undefined ^ 011621 0000 011622 1617 3216 ECPCT2; CHKRP2 / END CONTROL /A206 undefined ^ 011623 0000 011624 1614 3217 ECPCT1; CHKRP3 / START CONTROL /A206 undefined ^ 011625 0000 011626 1613 3218 011627 0000 0 /A206 3219 3220 PTDASH, XX / OUTPUT ARG2 A TOTAL OF ARG1 TIMES undefined ^ 011630 0000 3221 011631 0000 CDFMYF 3222 011632 1630 TAD I PTDASH 3223 011633 3242 DCA PTDSH1 3224 011634 1377 PTDSHA, TAD ("-&177) 3225 011635 4503 PUTOUT 3226 011636 2242 ISZ PTDSH1 3227 011637 5234 JMP PTDSHA 3228 011640 2230 ISZ PTDASH 3229 011641 5630 JMP I PTDASH 3230 011642 0000 PTDSH1, .-. 3231 3232 MNUGET, XX / JMS MNUGET - MNOFST - RETURNS VALUE IN AC undefined ^ 011643 0000 3233 011644 0000 CDFMYF 3234 011645 1643 TAD I MNUGET / GET OFFSET 3235 011646 2243 ISZ MNUGET 3236 TAD MNUCAL+1 / ADD BASE undefined ^ undefined ^ 011647 1001 3237 DCA T1 undefined ^ undefined ^ 011650 3000 3238 CDFMNU undefined ^ 011651 0000 3239 TAD I T1 / GET VALUE undefined ^ undefined ^ 011652 1400 3240 011653 0000 CDFMYF 3241 011654 5643 JMP I MNUGET / AND RETURN 3242 3243 MNUPUT, XX / JMS MNUPUT - MNOFST undefined ^ 011655 0000 3244 / EXPECTS VALUE IN AC 3245 DCA T2 / SAVE VALUE undefined ^ undefined ^ 011656 3000 3246 011657 0000 CDFMYF 3247 011660 1655 TAD I MNUPUT / GET OFFSET 3248 011661 2255 ISZ MNUPUT 3249 TAD MNUCAL+1 / ADD BASE undefined ^ undefined ^ 011662 1001 3250 DCA T1 undefined ^ undefined ^ 011663 3000 3251 CDFMNU undefined ^ 011664 0000 3252 TAD T2 undefined ^ undefined ^ 011665 1000 3253 DCA I T1 / STORE VALUE undefined ^ undefined ^ 011666 3400 3254 011667 0000 CDFMYF 3255 011670 5655 JMP I MNUPUT / AND RETURN 3256 3257 SCRLPX, XX / SET UP AUTO-INDEX REGISTERS FOR SCRLUP undefined ^ 011671 0000 3258 TAD (PTRBLK) / GET POINTER TO POINTER BLOCK undefined ^ undefined ^ 011672 1376 3259 DCA X0 / STORE IN AUTO-INDEX REGISTER undefined ^ undefined ^ 011673 3000 3260 TAD (PTRBLK-1) / GET POINTER TO POINTER BLOCK -1 undefined ^ undefined ^ 011674 1375 3261 DCA X1 / STORE IN AUTO-INDEX REGISTER undefined ^ undefined ^ 011675 3000 3262 011676 1374 TAD (-NPTRS+1) / PICK UP ONE LESS LINE COUNT 3263 DCA X2 / STORE VALUE IN COUNTER undefined ^ undefined ^ 011677 3000 3264 011700 5671 JMP I SCRLPX / RETURN BACK TO SCRLUP ROUTINE 3265 3266 / THIS ROUTINE WILL BACK UP TO THE NEXT CHARACTER. IF THE CHARACTER IS 3267 / AN END DEAD KEY SEQUENCE CODE THEN IT WILL BACK UP UNTIL IF FINDS THE 3268 / START DEAD KEY SEQUENCE AND RETURN THAT CHARACTER. 3269 / IT TAKES A SKIP RETURN UNLESS IT FINDS THE START_OF_TEXT IN WHICH CASE 3270 / IT TAKES A REGULAR RETURN 3271 / DATA FIELD MUST BE SET TO BUFFER FIELD (CDFBUF) 3272 ESBSPC, XX / BACK UP CHARACTER (BKPSPC) undefined ^ 011701 0000 3273 011702 4507 ESBSP3, BKPPTR 3274 011703 5701 JMP I ESBSPC / BACK UP TO FIRST NON_NULL CHARACTER 3275 TAD (-ECNDOV) / IF CHAR = END_DEAD_KEY_SEQUENCE undefined ^ undefined ^ 011704 1376 3276 011705 7640 SZA CLA / THEN 3277 011706 5314 JMP ESBSP2 / REPEAT 3278 011707 4507 ESBSP1, BKPPTR 3279 011710 5701 JMP I ESBSPC / BACK UP TO FIRST NON_NULL 3280 TAD (-ECSTOV) / undefined ^ undefined ^ 011711 1376 3281 011712 7640 SZA CLA / 3282 011713 5307 JMP ESBSP1 / UNTIL CHAR = START_DEAD_KEY_SEQUENCE 3283 011714 1535 ESBSP2, TAD I CURPTR / GET CHAR AGAIN 3284 011715 2301 ISZ ESBSPC / BUMP RETURN ADDRESS 3285 011716 5701 JMP I ESBSPC / RETURN 3286 3287 / THIS ROUTINE ADVANCES TO THE NEXT CHARACTER WHICH TAKES A SPACE ON THE SCREEN 3288 / THEREFOR IT WILL RETURN THE FIRST CHARACTER OF A DEAD KEY SEQUENCE BUT NOT 3289 / ANY CHARACTER FOLLOWING IN THAT SEQUENCE. 3290 ESASPC, XX / ADVANCE SPACE (ADVSPC) undefined ^ 011717 0000 3291 011720 7200 CLA / CLEAR AC 3292 011721 4510 CHKPTR / GET CURRENT CHARACTER 3293 011722 7500 SMA 3294 011723 5326 JMP ESASP1 / USE LODCHR ONLY IF MIGHT BE ETX 3295 011724 4506 ADVPTR / ETX IN BUFFER GET NEXT CHAR FROM FILE 3296 011725 5717 JMP I ESASPC / 3297 ESASP1, TAD (-ECSTOV) / IF LAST CHARACTER RETURNED FROM THIS ROUTINE undefined ^ undefined ^ 011726 1376 3298 / WAS START OF DEAD KEY SEQUENCE 3299 011727 7640 SZA CLA / THEN SKIP OVER ALL REMAIN CHARS IN SEQUENCE 3300 011730 5336 JMP ESASP3 / 3301 / REPEAT 3302 011731 4506 ESASP2, ADVPTR 3303 011732 5717 JMP I ESASPC / GET PART OF COMPOSITE CHARACTER 3304 TAD (-ECNDOV) / undefined ^ undefined ^ 011733 1376 3305 011734 7640 SZA CLA / 3306 011735 5331 JMP ESASP2 / UNTIL CHAR = END OF DEAD KEY SEQUENCE 3307 / REPEAT 3308 011736 4506 ESASP3, ADVPTR 3309 011737 5717 JMP I ESASPC / GET CHARACTER 3310 011740 2317 ISZ ESASPC / BUMP RETURN ADDRESS 3311 011741 5717 JMP I ESASPC / RETURN TO CALLER WITH CHAR IN AC 3312 3313 SCHMOD= 10 / SEARCH MODE FLAG 3314 SLTMOD= 20 / SELECT MODE FLAG 3315 3316 011742 0030 EDTMOD, SCHMOD!SLTMOD / CLEAR SEARCH AND SELECT MODE BITS 3317 011743 0000 0 / DON'T SET ANY MODE BITS 3318 3319 SETCUR, XX undefined ^ 011744 0000 3320 011745 1047 TAD LOWLIM 3321 011746 1136 TAD CURSOR 3322 011747 4773 JMS PCUR 3323 011750 5744 JMP I SETCUR 3324 3325 / THE FOLLOWING IS USED BY V2 GOTO PAGE OVERLAYS... 3326 3327 011751 0001 CURPG1, 1 / EDIT BUFFER PAGE # (UNITS,TENS,HUNDREDS) 3328 3329 / THE FOLLOWING ROUTINE IS CALLED BY BOTH SCRLUP AND SCRLDN. IT 3330 / COUNTS THE NUMBER OF LINES SCROLLED (CNSCRL) FOR THE PREV/NEXT 3331 / SCREEN ROUTINES (DOES NOT ADJUST PAST 0) 3332 / ENTER: AC = SCROLL DIRECTION (+=UP, -=DOWN) 3333 / 3334 / WHEN IT IS DONE COUNTING, THE ROUTINE GETS THE SCROLL DIRECTION 3335 / BACK AND CALLS ROUTINE SCRADJ (NOTE THAT CALLS TO THIS ROUTINE 3336 / REPLACED CALLS TO ROUTINE SCRADJ IN THE TWO SCROLLING MODULES) 3337 3338 SCRAD0, XX undefined ^ 011752 0000 3339 DCA T1 / SAVE THE SCROLL DIRECTION undefined ^ undefined ^ 011753 3000 3340 011754 1363 TAD CNSCRL / GET THE COUNTER 3341 011755 7440 SZA / IF IT'S 0, KEEP IT THERE 3342 TAD T1 / INCREMENT OR DECREMENT undefined ^ undefined ^ 011756 1000 3343 011757 3363 DCA CNSCRL / AND STORE IT BACK 3344 TAD T1 / GET SCROLL DIRECTION BACK undefined ^ undefined ^ 011760 1000 3345 011761 4772 JMS SCRADJ / GO WHERE WE HEADED IN THE 1ST PLACE 3346 011762 5752 JMP I SCRAD0 / AND THEN BACK TO WHERE WE CAME FROM 3347 3348 011763 0000 CNSCRL, .-. / THE COUNTER 3349 3350 3351 / 3352 / GOTO-RULER VARIABLE 3353 / 3354 011764 0000 RRDIR, .-. / DIRECTION WE ARE MOVING TO RULER: 3355 / 1 = ADVANCING 3356 / -1 = BACKING UP 3357 / 0 = NOT DOING GOTO-RULER 3358 3359 3360 011765 4523 EIGADV, OVLJMP;OVGADV / GOLD ADVANCE undefined ^ 011766 0000 3361 3362 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3363 /--------------- 3364 011772 2314 PAGE 011773 1400 011774 7751 011775 7777 011776 0000 011777 0055 3365 3366 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3367 3368 3369 INSERT, XX / INSERT (AC) IN BUFFER undefined ^ 012000 0000 3370 012001 3330 DCA ESICH1 / SAVE CHAR 3371 012002 1135 TAD CURPTR 3372 012003 3331 DCA ESICH2 / AND CURPTR 3373 012004 3332 DCA ESICH3 / INIT CNTR 3374 012005 4510 ESICHA, CHKPTR / CHECK CURPTR 3375 012006 7750 SNA SPA CLA 3376 012007 5225 JMP ESICHX / JUMP ON ETX OR NULL 3377 012010 1330 TAD ESICH1 3378 012011 7421 MQL / GET INSERT 3379 012012 1535 TAD I CURPTR / GET CURRENT CHAR 3380 012013 7521 ESICHE, SWP / SWAP THEM 3381 012014 3535 DCA I CURPTR / STORE INSERT 3382 012015 2332 ISZ ESICH3 / BUMP CNTR 3383 012016 2135 ISZ CURPTR / AND CURRENT PTR 3384 012017 1535 TAD I CURPTR / GET NEXT CHAR 3385 012020 7540 SMA SZA 3386 012021 5213 JMP ESICHE / LOOP IF NOT SPECIAL 3387 012022 7701 CLA MQA 3388 012023 3330 DCA ESICH1 / SAVE NEXT INSERT 3389 012024 5205 JMP ESICHA / AND LOOP 3390 3391 012025 1535 ESICHX, TAD I CURPTR / NULL? 3392 012026 7650 SNA CLA 3393 012027 5323 JMP ESICHB / JUMP IF SO 3394 012030 7300 CLA CLL 3395 012031 1377 TAD (-400) 3396 012032 1332 TAD ESICH3 3397 012033 7630 SZL CLA 3398 012034 5247 JMP ESICHZ / JUMP IF NEAR STX 3399 012035 1330 TAD ESICH1 / GET INSERT 3400 012036 3535 ESICHK, DCA I CURPTR / STORE OVER ETX 3401 AC0001 undefined ^ 012037 0000 3402 012040 4510 CHKPTR / ADVANCE CURPTR 3403 012041 7750 SPA SNA CLA 3404 012042 5245 JMP ESICHY / JUMP ON NULL OR ETX 3405 012043 1535 TAD I CURPTR / ELSE OUTPUT IT 3406 012044 4522 PUTSTX 3407 ESICHY, TAD (ECETX) undefined ^ undefined ^ 012045 1376 3408 012046 5324 JMP ESICHC 3409 012047 1375 ESICHZ, TAD (-100) 3410 012050 3332 DCA ESICH3 / SET LOOP COUNT 3411 012051 1135 TAD CURPTR 3412 012052 3333 DCA ESICH4 / SAVE ETX CURPTR 3413 012053 1330 TAD ESICH1 / GET INSERT 3414 012054 4521 ESICHF, PUTETX / PUT IT OUT 3415 AC7777 undefined ^ 012055 0000 3416 012056 4510 CHKPTR / BACKUP 3417 012057 7200 CLA 3418 012060 1535 TAD I CURPTR / GET CAR TO CPY 3419 012061 2332 ISZ ESICH3 3420 012062 5254 JMP ESICHF / PUT IT OUT TIL COUNT DONE 3421 012063 7421 ESICHG, MQL / ELSE SAVE 3422 012064 1135 TAD CURPTR 3423 012065 3330 DCA ESICH1 / WHILE WE SWAP CURPTRS 3424 012066 1333 TAD ESICH4 3425 012067 3135 DCA CURPTR 3426 ESICHJ, AC7777 undefined ^ 012070 0000 3427 012071 4510 CHKPTR 3428 012072 7701 CLA MQA 3429 012073 3535 DCA I CURPTR / THEN MOVE IT 3430 012074 1330 TAD ESICH1 3431 012075 7041 CIA 3432 012076 1331 TAD ESICH2 / DONE WITH COPY? 3433 012077 7650 SNA CLA 3434 012100 5312 JMP ESICHH / JUMP IF SO 3435 012101 1135 TAD CURPTR 3436 012102 3333 DCA ESICH4 / ELSE SWAP CURPTRS AGAIN 3437 012103 1330 TAD ESICH1 3438 012104 3135 DCA CURPTR 3439 AC7777 undefined ^ 012105 0000 3440 012106 4510 CHKPTR 3441 012107 7200 CLA 3442 012110 1535 TAD I CURPTR / GET NEXT FOR COPY 3443 012111 5263 JMP ESICHG / AND LOOP 3444 3445 012112 7621 ESICHH, CLA MQL / SET ZERO FOR CLEAR LOOP 3446 012113 1135 TAD CURPTR 3447 012114 7041 CIA 3448 012115 1331 TAD ESICH2 / MORE TO CLEAR? 3449 012116 7640 SZA CLA 3450 012117 5270 JMP ESICHJ / JUMP IF SO 3451 012120 4512 ADVCHR 3452 012121 7200 CLA / ELSE FIX @CURPTR 3453 012122 5327 JMP ESICHI / AND RETURN 3454 3455 012123 1330 ESICHB, TAD ESICH1 / GET INSERT 3456 012124 3535 ESICHC, DCA I CURPTR / STORE IT 3457 012125 1331 ESICHD, TAD ESICH2 3458 012126 3135 DCA CURPTR / RESTORE CURPTR 3459 012127 5600 ESICHI, JMP I INSERT / AND RETURN 3460 3461 012130 0000 ESICH1, 0 3462 012131 0000 ESICH2, 0 3463 012132 0000 ESICH3, 0 3464 012133 0000 ESICH4, 0 3465 3466 CLSCRN, XX / CLEAR SCREEN undefined ^ 012134 0000 3467 CIFMNU / CHANGE TO MENU FIELD undefined ^ 012135 0000 3468 012136 4776 JMS I (CALLN1) / GO PUT UP STATUS LINE DISPLAY 3469 012137 4341 JMS CLSSET / INITIALIZE SCROLL VALUES 3470 012140 5734 JMP I CLSCRN / RETURN TO CALLER 3471 3472 CLSSET, XX / INITIALIZE SCROLL VALUES undefined ^ 012141 0000 3473 AC2000 undefined ^ 012142 0000 3474 012143 3140 DCA SCRNFL / SET SCREEN FLAG 3475 AC2000 undefined ^ 012144 0000 3476 012145 3137 DCA SCRLCT / AND BIG COUNT 3477 012146 5741 JMP I CLSSET / RETURN TO CALLER 3478 3479 / PUTSPC PSEUDO CODE 3480 / 3481 / set terminal to special graphics mode 3482 / get character at call+1 3483 / display character 3484 / reset terminal to USASCII mode 3485 / return to caller 3486 3487 PUTSPC, XX / OUTPUT ARG IN GRAPHIC MODE undefined ^ 012147 0000 3488 012150 4515 PUTESC 3489 012151 4050 "(+3600 3490 012152 0060 "0-200 3491 012153 1747 TAD I PUTSPC 3492 012154 4503 PUTOUT 3493 3494 012155 4774 JMS MNUGET / PICK UP CURRENT LANGUAGE WORD /A224 3495 MNLANG / LOCATION FOR LANGUAGE WORD /A224 undefined ^ 012156 0000 3496 012157 7500 SMA / SKIP IF A NUMBER CODE /A224 3497 012160 7001 IAC / CONVERT TO UPPER CASE ASCII /A224 3498 012161 7002 BSW / PUT BITS INTO PROPER ORDER /A224 3499 012162 3365 DCA PUTLNG / STORE IN LINE FOR PUTESC ROUTINE /A224 3500 3501 012163 4515 PUTESC 3502 012164 4050 "(+3600 3503 012165 0260 PUTLNG, "0 / OVERLAYED WITH LANGUAGE CODE VALUE /A224 3504 3505 3506 /D224 IFDEF ENGLSH < 3507 /D224 IFNDEF ENGCAN < 3508 /D224 "B-200 3509 /D224 > / END IFNDEF ENGCAN 3510 /D224 IFDEF ENGCAN < 3511 /D224 "3-200 3512 /D224 > / END IFDEF ENGCAN 3513 /D224 > / END IFDEF ENGLSH 3514 /D224 IFDEF CANADA < 3515 /D224 "3-200 3516 /D224 > / END IFDEF CANADA 3517 /D224 IFDEF FRENCH < 3518 /D224 "R-200 3519 /D224 > / END IFDEF FRENCH 3520 /D224 IFDEF DUTCH < 3521 /D224 "4-200 3522 /D224 > / END IFDEF DUTCH 3523 3524 012166 2347 ISZ PUTSPC 3525 012167 5747 JMP I PUTSPC 3526 3527 IFDEF FORIN < 3528 / SUBROUTINE GETENT GETS THE ENTRY EN TABLE1 OR TABLE2 POINTED AT BY 3529 / POINT1 INTO THE AC 3530 GETENT, XX 3531 CDFPRT / CHANGE TO PRINTER FIELD 3532 TAD I POINT1 / GET TABLE ENTRY 3533 CDFMYF / RETURN TO THIS FIELD 3534 JMP I GETENT / RETURN TO CALLER 3535 3536 > / END IFDEF FORIN 3537 3538 012170 4523 EIDICT, OVLJMP;OVABRV / ENTRY POINT FOR "GOLD-ABBRV" undefined ^ 012171 0000 3539 3540 3541 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3542 /--------------- 3543 012174 1643 PAGE 012175 7700 012176 0000 012177 7400 3544 3545 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3546 3547 3548 012200 4203 BKPUNT, JMS BACKUN / BACK UP A UNIT 3549 012201 5777 JMP EIBAD / ERROR, CAN'T BACKUP PAST TOP OF FILE 3550 012202 5776 JMP EINEXT / FIX UP SCREEN AND GET NEXT CHARACTER 3551 3552 BACKUN, XX undefined ^ 012203 0000 3553 012204 4244 JMS SAVLMD / SAVE MOD FLAGS 3554 AC7777 undefined ^ 012205 0000 3555 012206 4513 CURMOV 3556 012207 5232 JMP BKPUNV / ERROR IF AT STX 3557 012210 2203 ISZ BACKUN 3558 012211 4775 JMS SETBNT / SET BACKUP MODE 3559 012212 1535 TAD I CURPTR / GET CHAR 3560 012213 4774 JMS CHKUNT / CHECK FOR END OF UNIT 3561 012214 0000 BKPUNZ, .-. 3562 012215 7440 SZA 3563 012216 5224 JMP BKPUNX / JUMP IF LAST 3564 AC7777 undefined ^ 012217 0000 3565 012220 4513 CURMOV 3566 012221 5232 JMP BKPUNV / BACKUP, JUMP IF AT STX 3567 012222 1535 BKPUNW, TAD I CURPTR / RE-GET CHARACTER 3568 012223 5614 JMP I BKPUNZ / AND LOOP 3569 3570 012224 7710 BKPUNX, SPA CLA 3571 012225 5603 BKPUNY, JMP I BACKUN / JUMP IF FINAL 3572 AC0001 undefined ^ 012226 0000 3573 012227 4513 CURMOV 3574 012230 5225 JMP BKPUNY / DO AN ADVANCE 3575 012231 5222 JMP BKPUNW / AND LOOP 3576 3577 012232 4513 BKPUNV, CURMOV 3578 012233 7000 NOP 3579 012234 5225 JMP BKPUNY / FIX CURSOR AT STX, AND RETURN 3580 3581 012235 4773 ADVUNT, JMS LODCHR / ADVANCE UNIT 3582 012236 5777 JMP EIBAD 3583 012237 4772 JMS GETUNT / CHECK FOR END OF UNIT 3584 012240 0000 ADVUNW, .-. 3585 012241 7640 SZA CLA 3586 012242 5640 JMP I ADVUNW 3587 012243 5776 JMP EINEXT 3588 3589 SAVLMD, XX / SAVE LINE MODIFIED undefined ^ 012244 0000 3590 012245 1151 TAD LINMOD 3591 012246 7450 SNA 3592 012247 5644 JMP I SAVLMD / JUST RETURN IF NO FLAG NEEDED 3593 012250 4771 JMS INSERT / ELSE INSERT FLAG 3594 012251 3151 DCA LINMOD / CLEAR LINE MODIFIED FLAG 3595 012252 3124 DCA RLRMOD / CLEAR RULER MODIFIED FLAG 3596 012253 3150 DCA REJFLG / CLEAR REJUSTIFIED FLAG 3597 012254 5644 JMP I SAVLMD / RETURN 3598 3599 SETLMD, XX / SET "LINE MODIFIED" FLAG undefined ^ 012255 0000 3600 012256 7200 CLA 3601 012257 1124 TAD RLRMOD 3602 012260 7450 SNA 3603 TAD (ECMDFL) / GET "LINE_MODIFIED_FLAG" undefined ^ undefined ^ 012261 1370 3604 012262 3151 DCA LINMOD 3605 AC7777 undefined ^ 012263 0000 3606 012264 3150 DCA REJFLG / SET REJUSTIFY FLAG 3607 012265 4267 JMS SCRNMD / SET SCREEN MODIFIED FLAG 3608 012266 5655 JMP I SETLMD 3609 3610 SCRNMD, XX / SET SCREEN MODIFIED FLAG undefined ^ 012267 0000 3611 012270 1137 TAD SCRLCT 3612 012271 7041 CIA 3613 012272 1146 TAD SCRLIN 3614 012273 7450 SNA 3615 012274 5302 JMP SETLME 3616 012275 7710 SPA CLA 3617 012276 5667 JMP I SCRNMD 3618 012277 1137 TAD SCRLCT 3619 012300 3146 DCA SCRLIN 3620 012301 5310 JMP SETLMF 3621 012302 1145 SETLME, TAD SCRLCU 3622 012303 7450 SNA 3623 012304 5310 JMP SETLMF 3624 012305 1136 TAD CURSOR 3625 012306 7700 SMA CLA 3626 012307 5667 JMP I SCRNMD 3627 012310 1136 SETLMF, TAD CURSOR 3628 012311 7040 CMA 3629 012312 3145 DCA SCRLCU 3630 012313 5667 JMP I SCRNMD 3631 3632 3633 SCRADJ, XX undefined ^ 012314 0000 3634 012315 3141 DCA SCRLFL / SET SCROLL FLAG 3635 012316 0000 CDFMYF 3636 CIFSYS undefined ^ 012317 0000 3637 JSWAP / DON'T HOG CPU undefined ^ 012320 0000 3638 012321 1140 TAD SCRNFL 3639 012322 7640 SZA CLA 3640 012323 5714 JMP I SCRADJ / JUST RETURN IF SCREEN FLAG SET 3641 012324 1141 TAD SCRLFL 3642 012325 1137 TAD SCRLCT 3643 012326 3137 DCA SCRLCT / ELSE ADJUST SCROLL COUNT 3644 AC2000 undefined ^ 012327 0000 3645 012330 1137 TAD SCRLCT 3646 012331 7710 SPA CLA 3647 AC2000 undefined ^ 012332 0000 3648 012333 3140 DCA SCRNFL / SET SCREEN FLAG - IF TOO BIG 3649 012334 5714 JMP I SCRADJ / AND RETURN 3650 3651 3652 SCRNSZ, XX / RETURN SCREEN SIZE undefined ^ 012335 0000 3653 012336 1345 TAD SPLTFL / PICK UP THE SPLIT-FLAG 3654 012337 7650 SNA CLA / ARE WE IN WIDE SCREEN MODE (132 COL) 3655 012340 1176 TAD SCRNLN / NO, USE VALUE OF FULL SCROLL REGION 3656 012341 7450 SNA / SKIP IF WE JUST GOT A VALUE 3657 012342 1344 TAD WIDSIZ / YES, USE VALUE OF SMALLER AREA 3658 012343 5735 JMP I SCRNSZ / RETURN TO CALLER 3659 012344 0010 WIDSIZ, 10 / M219 Default 132 col size is 8 lines. 3660 012345 0000 SPLTFL, 0 / 0 = 24 LINES OF SCREEN; -1 = 8 LINES. /A226 3661 3662 SCECHO, XX undefined ^ 012346 0000 3663 012347 2136 ISZ CURSOR 3664 012350 4517 ADVSPC 3665 012351 7000 NOP 3666 012352 7200 CLA 3667 012353 5746 JMP I SCECHO 3668 3669 CHKREJ, XX / CALL REJUST IF IT'S TIME TO DO SO undefined ^ 012354 0000 3670 012355 4346 JMS SCECHO / BUMP PTR AND CURSOR 3671 012356 2147 ISZ REJCNT 3672 012357 5754 JMP I CHKREJ 3673 012360 4767 JMS REJUST 3674 012361 5754 JMP I CHKREJ 3675 3676 012362 7777 REMCUR, 7777 / "REMEMBERED" CURSOR POSITION FOR UP 3677 / AND DOWN ARROW 3678 3679 012363 4523 EIGCUT, OVLJMP;OVGCUT / CUT OVERLAY undefined ^ 012364 0000 3680 012365 4523 EIPSTE, OVLJMP;OVPSTE undefined ^ 012366 0000 3681 3682 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3683 /--------------- 3684 012367 2400 PAGE 012370 0000 012371 2000 012372 0463 012373 4241 012374 0667 012375 0671 012376 0406 012377 0400 3685 3686 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3687 3688 3689 REJUST, XX / REJUSTIFY IF NECESSARY undefined ^ 012400 0000 3690 012401 2150 ISZ REJFLG 3691 012402 5270 JMP REJUSZ 3692 TAD (ECCMRK) undefined ^ undefined ^ 012403 1377 3693 012404 4776 JMS INSERT / MARK CURRENT POSITION 3694 012405 4775 JMS JCLEAN / CLEAR OLD JUSTIFY CODES 3695 012406 1171 REJUSX, TAD LINE23 3696 012407 3135 DCA CURPTR / GET TO BEGINNING OF LINE 3697 012410 3136 DCA CURSOR 3698 012411 3342 DCA REJCP1 / CLEAR POSITION FLAG 3699 012412 4775 JMS JCLEAN / CLEAR OLD JUSTIF CODES 3700 012413 4774 JMS CHKLMR / ADJUST LEFT MARGIN 3701 AC7777 undefined ^ 012414 0000 3702 012415 3344 DCA REJCP3 / CLEAR TAB FLAG 3703 012416 4773 JMS LODCHR 3704 012417 5260 JMP REJUSK / CHECK NEXT CHAR 3705 REJUSY, TAD (-ECCMRK) undefined ^ undefined ^ 012420 1377 3706 012421 7650 SNA CLA 3707 012422 5250 JMP REJUSA / FOR MARKER 3708 012423 1535 TAD I CURPTR 3709 AND P177 undefined ^ undefined ^ 012424 0000 3710 3711 012425 4500 ZZCASE / COMPARE AGAINST RULER PAGE NWLN TAB 3712 012426 2577 CTB005-1 / TABLE ADDRESS FOR CASE 3713 3714 / ECSTRL; REJUSC / START OF RULER 3715 / ECNWPG; REJUSC / PAGE 3716 / ECNWLN; REJUSD / NEW LINE 3717 / ECTAB; REJS99 / TAB 3718 / 0 / INDICATE END OF TABLE 3719 3720 012427 5232 JMP REJUSQ 3721 012430 3344 REJS99, DCA REJCP3 / SET TAB FLAG 3722 012431 4772 JMS TBJUST / JUSTIFY IT 3723 012432 1136 REJUSQ, TAD CURSOR / 3724 012433 7041 CIA 3725 012434 1160 TAD RGTMAR 3726 012435 7700 SMA CLA 3727 012436 5242 JMP REJUSF / JUMP IF OK 3728 012437 1342 TAD REJCP1 / GOT BACK TO MARKED POSITION YET? 3729 012440 7640 SZA CLA 3730 012441 5260 JMP REJUSK / JUMP IF SO 3731 012442 4771 REJUSF, JMS CHKMAR 3732 012443 5206 JMP REJUSX / CHECK MARGIN, JUMP IF WRAPPED 3733 012444 2136 ISZ CURSOR / NORMAL CHAR, BUMP PTRS 3734 012445 4517 REJUSJ, ADVSPC 3735 012446 5260 JMP REJUSK 3736 012447 5220 JMP REJUSY / AND LOOP FOR MORE CHECKING 3737 3738 012450 1135 REJUSA, TAD CURPTR 3739 012451 3342 DCA REJCP1 / SAVE MARKER POSITION 3740 012452 1136 TAD CURSOR 3741 012453 3343 DCA REJCP2 3742 012454 5245 JMP REJUSJ 3743 3744 012455 1342 REJUSB, TAD REJCP1 / END OF LINE, 3745 012456 7650 SNA CLA 3746 012457 5312 JMP REJUSL / SCROLL, OR 3747 012460 1342 REJUSK, TAD REJCP1 3748 012461 3135 DCA CURPTR / QUIT 3749 012462 1343 TAD REJCP2 3750 012463 3136 DCA CURSOR 3751 CDFBUF undefined ^ 012464 0000 3752 012465 3535 REJUSM, DCA I CURPTR / ERASE MARKER 3753 012466 4512 ADVCHR 3754 012467 7200 CLA / GET OFF NULL WE JUST CREATED 3755 /D206 REJUSZ, JMS REJUX2 / RESET FLAGS 3756 012470 3150 REJUSZ, DCA REJFLG / CLEAR REJUST FLAG 3757 012471 1160 TAD RGTMAR 3758 012472 7041 CIA 3759 012473 1136 TAD CURSOR / RESET LIMIT COUNT 3760 012474 1370 TAD (12) 3761 012475 7500 SMA 3762 012476 7200 CLA 3763 012477 1367 TAD (-12) / (MIN OF 10.) 3764 012500 3147 DCA REJCNT 3765 012501 5600 JMP I REJUST / AND RETURN 3766 3767 012502 1136 REJUSC, TAD CURSOR 3768 012503 7650 SNA CLA 3769 012504 5307 JMP REJUSE / JUST SCROLL UP IF AT LEFT EDGE OF SCREEN 3770 TAD (ECWWLN) undefined ^ undefined ^ 012505 1377 3771 012506 4776 JMS INSERT / ELSE INSERT WRAPPER 3772 012507 1342 REJUSE, TAD REJCP1 / PAGE OR RULER 3773 012510 7640 SZA CLA 3774 012511 5260 JMP REJUSK / QUIT IF GOT TO MARKER ALREADY 3775 012512 4766 REJUSL, JMS SCRLUP / START NEW LINE 3776 012513 5206 JMP REJUSX 3777 3778 012514 1535 REJUSD, TAD I CURPTR / NWLN, CHECK FOR CENTER 3779 TAD (-ECENLN) undefined ^ undefined ^ 012515 1377 3780 012516 7650 SNA CLA / JUMP IF NOT. 3781 012517 2344 ISZ REJCP3 3782 012520 5255 JMP REJUSB / JUMP IF WE'VE HAD TABS 3783 012521 4765 JMS CENTER / ELSE CENTER THE LINE 3784 012522 1171 TAD LINE23 3785 012523 3135 DCA CURPTR / THEN REFIND MARKER (IF PRESENT) 3786 012524 3136 DCA CURSOR 3787 012525 4514 SLNMOD / SET LINE (SCREEN) MODIFIED FLAG. 3788 012526 4773 JMS LODCHR 3789 012527 7000 NOP 3790 REJUSN, TAD (-ECCMRK) undefined ^ undefined ^ 012530 1377 3791 012531 7450 SNA 3792 012532 5265 JMP REJUSM / JUMP IF MARKER 3793 TAD (ECCMRK-ECENLN) undefined ^ undefined ^ undefined ^ undefined ^ 012533 1377 3794 012534 7650 SNA CLA 3795 012535 5312 JMP REJUSL / JUMP IF END OF LINE 3796 012536 2136 ISZ CURSOR 3797 012537 4517 ADVSPC 3798 012540 7000 NOP 3799 012541 5330 JMP REJUSN / LOOP TIL WE FIND ONE OF THEM 3800 3801 012542 0000 REJCP1, .-. 3802 012543 0000 REJCP2, .-. 3803 012544 0000 REJCP3, .-. 3804 3805 012545 4511 EISLCT, TSTSLT / SELECT 3806 JMP ESLCT1 / JUMP IF NOT SELECTED ALREADY undefined ^ undefined ^ 012546 5000 3807 3808 012547 4504 UNSLCT, MODSET / UNSELECT 3809 012550 1742 EDTMOD / SET ADVANCE MODE 3810 012551 5764 JMP SLXMOD 3811 3812 / THE FOLLOWING IS USED BY V2 GOTO PAGE OVERLAYS... 3813 3814 012552 0000 CURPG2, 0 / EDIT BUFFER PAGE # (THOUSANDS - MAX. 9) 3815 3816 012553 4523 EIFIND, OVLJMP;XXFIND undefined ^ 012554 0000 3817 012555 4523 EIRQSP, OVLJMP;OVRQSP / GO INSERT "REQUIRED SPACE" undefined ^ 012556 0000 3818 3819 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3820 /--------------- 3821 012564 0622 PAGE 012565 1475 012566 3600 012567 7766 012570 0012 012571 0342 012572 0315 012573 4241 012574 2722 012575 3645 012576 2000 012577 0000 3822 3823 3824 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3825 3826 3827 CTB005, ECSTRL; REJUSC / START OF RULER undefined ^ 012600 0000 012601 2502 3828 ECNWPG; REJUSC / PAGE undefined ^ 012602 0000 012603 2502 3829 ECNWLN; REJUSD / NEW LINE undefined ^ 012604 0000 012605 2514 3830 ECTAB; REJS99 / TAB undefined ^ 012606 0000 012607 2430 3831 012610 0000 0 / INDICATE END OF TABLE 3832 3833 ESMVCR, XX / MOVE CURSOR undefined ^ 012611 0000 3834 / ENTER WITH OFFSET IN AC 3835 012612 7510 SPA 3836 012613 5777 JMP ESMVCL / JUMP IF MOVE LEFT 3837 012614 7040 CMA 3838 012615 3310 DCA ESMVC1 / SAVE -COUNT-1 3839 012616 5250 JMP ESMVCQ 3840 3841 012617 4776 ESMVCC, JMS LODCHR 3842 012620 5307 JMP ESMVLZ 3843 AND P177 / STRIP MODE BITS undefined ^ undefined ^ 012621 0000 3844 3845 012622 4500 ZZCASE / COMPARE AGAINST TABLE 3846 012623 2710 CTB008-1 / TABLE ADDRESS FOR CASE 3847 3848 / ECNWPG; ESMVCD / NEW PAGE 3849 / ECNWLN; ESMVCB / NEW LINE 3850 / ECMDFL; ESMVCG / LINE MODIFIED 3851 / ECSTRL; ESMVCZ / START RULER 3852 / 0 / INDICATE END OF TABLE 3853 3854 012624 5275 JMP ESMVCU / SKIP IF: SO 3855 012625 1136 ESMVCZ, TAD CURSOR 3856 012626 7640 SZA CLA 3857 012627 5267 JMP ESMVCE 3858 JMS ADVRUL undefined ^ undefined ^ 012630 4000 3859 012631 5251 JMP ESMVCA 3860 012632 4507 BKPPTR / CANCEL ADVPTR IN SCRLUP BELOW 3861 012633 7000 NOP 3862 012634 7610 SKP CLA / MERGE BELOW. 3863 012635 1136 ESMVCK, TAD CURSOR / Are we at the beginning of the line? 3864 012636 7650 SNA CLA / Skip if no. 3865 012637 5245 JMP ESMVCB / Yes! handle page character as line ender 3866 012640 4514 SLNMOD / Set line as modified (so REJUST runs) 3867 012641 4775 JMS REJUST / put soft return infront of page marker 3868 012642 1124 TAD RLRMOD / reset "line modified" flag for 3869 012643 3151 DCA LINMOD / justification of line following NEW PAGE. 3870 012644 4774 JMS SCRLUP / scroll line infrontof page marker up. 3871 012645 1124 ESMVCB, TAD RLRMOD 3872 012646 3151 DCA LINMOD / CLEAR MOD FLAG 3873 012647 4774 ESMVCT, JMS SCRLUP 3874 012650 4775 ESMVCQ, JMS REJUST 3875 012651 4776 ESMVCA, JMS LODCHR 3876 012652 5304 JMP ESMVX2 3877 012653 5302 JMP ESMVX1 3878 3879 / MAY HAVE TO MODIFY TO HANDLE REDUNDANT BEGIN MATH AREA OR END MATH AREA 3880 012654 1535 ESMVCD, TAD I CURPTR / CHECK PRINT CONTROL 3881 012655 4773 JMS SCRLTM / TEST TO SEE IF CHAR IS SPECIAL CODE 3882 012656 7000 NOP / CHAR WAS NORMAL 3883 012657 5235 JMP ESMVCK / CHAR WAS SELECT MARKER 3884 / CHAR WAS START OR END PRINT CONTROL 3885 / +1 IF START, 0 IF END 3886 012660 7041 CIA / 3887 012661 1142 TAD PCTLFL / -1 IF START, 0 IF END 3888 012662 7640 SZA CLA 3889 012663 5235 JMP ESMVCK 3890 012664 3535 DCA I CURPTR / DELETE CONTROL IF REDUNDANT 3891 012665 4772 JMS SCRNMD / AND SET SCREEN MOD FLAG 3892 012666 5251 JMP ESMVCA 3893 3894 ESMVCE, TAD (ECWWLN) undefined ^ undefined ^ 012667 1371 3895 012670 4770 JMS INSERT 3896 012671 5247 JMP ESMVCT 3897 3898 012672 4767 ESMVCG, JMS CHKLMD 3899 012673 7000 NOP 3900 012674 5250 JMP ESMVCQ 3901 3902 012675 4766 ESMVCU, JMS CHKMAR 3903 012676 4775 JMS REJUST / CHECK MARGIN 3904 012677 2136 ESMVCV, ISZ CURSOR 3905 012700 4517 ADVSPC 3906 012701 5304 JMP ESMVX2 3907 ESMVX1, JMS CHKCHR undefined ^ undefined ^ 012702 4000 3908 012703 5217 JMP ESMVCC / DON'T LAND ON FUNNY CODE 3909 012704 2310 ESMVX2, ISZ ESMVC1 3910 012705 5217 JMP ESMVCC 3911 012706 2211 ESMVLX, ISZ ESMVCR / BUMP FOR OK RETURN 3912 012707 5611 ESMVLZ, JMP I ESMVCR / AND RETURN 3913 012710 0000 ESMVC1, 0 3914 3915 CTB008, ECNWPG; ESMVCD / NEW PAGE undefined ^ 012711 0000 012712 2654 3916 ECNWLN; ESMVCB / NEW LINE undefined ^ 012713 0000 012714 2645 3917 ECMDFL; ESMVCG / LINE MODIFIED undefined ^ 012715 0000 012716 2672 3918 ECSTRL; ESMVCZ / START RULER undefined ^ 012717 0000 012720 2625 3919 012721 0000 0 / INDICATE END OF TABLE 3920 3921 CHKLMR, XX / CHECK FOR LEFT MARGIN undefined ^ 012722 0000 3922 012723 4776 JMS LODCHR 3923 012724 5342 JMP LMRCH1 3924 TAD (-ECCMRK) / SKIP JUSTIF MARKER undefined ^ undefined ^ 012725 1371 3925 012726 7650 SNA CLA 3926 012727 5344 JMP LMRCH3 3927 012730 1535 TAD I CURPTR 3928 LMRCH4, AND P177 undefined ^ undefined ^ 012731 0000 3929 TAD (-ECSTRL) undefined ^ undefined ^ 012732 1371 3930 012733 7440 SZA / IF NOT AT RULER 3931 TAD (ECSTRL-ECNWPG) / OR NEW PAGE undefined ^ undefined ^ undefined ^ undefined ^ 012734 1371 3932 012735 7640 SZA CLA 3933 012736 5342 JMP LMRCH1 / THEN CHECK INDENT 3934 012737 1171 TAD LINE23 3935 012740 3135 DCA CURPTR / ELSE RESTORE CURPTR 3936 012741 5722 JMP I CHKLMR / AND RETURN 3937 3938 012742 4765 LMRCH1, JMS LINDNT / DO PROPER INDENT 3939 012743 5722 LMRCH2, JMP I CHKLMR / RETURN 3940 3941 012744 4506 LMRCH3, ADVPTR 3942 012745 5342 JMP LMRCH1 3943 012746 5331 JMP LMRCH4 / GO BACK TO CHECK FOR PAGE/RULER 3944 3945 012747 4523 EIUDLT, OVLJMP;OVUDLT / UNDELETE OVERLAY undefined ^ 012750 0000 3946 012751 4523 EIHYPL, OVLJMP;OVHYPL / HYPHEN PULL undefined ^ 012752 0000 3947 3948 / TAKE 1ST RETURN IF SET, 2ND RETURN IF NOT SET 3949 USHLTS, XX undefined ^ 012753 0000 3950 CIFLP undefined ^ 012754 0000 3951 JMS I (XHLTST) / DO HALT TEST IN LP FIELD undefined ^ undefined ^ 012755 4771 3952 3953 012756 0000 RPCUOF, 0 / Rapid Paging CUrrent descriptor OFfset 3954 3955 X=. / INDICATE FIRST FREE LOCATION ON PAGE 3956 /--------------- 3957 012765 0242 PAGE 012766 0342 012767 4733 012770 2000 012771 0000 012772 2267 012773 3040 012774 3600 012775 2400 012776 4241 012777 3000 3958 3959 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 3960 3961 3962 / MOVE CURSOR ROUTINE JUMPS HERE IF MOVING LEFT 3963 013000 3226 ESMVCL, DCA ESMVC2 / ESMVC2 = -NUMBER OF LOCATIONS TO MOVE 3964 ESMVLA, / REPEAT 3965 013001 4520 BKPSPC 3966 013002 5777 JMP ESMVLZ / GET NEXT CHAR TO LEFT 3967 AND P177 / STRIP MODE BITS undefined ^ undefined ^ 013003 0000 3968 TAD (-ECNWPG) undefined ^ undefined ^ 013004 1376 3969 013005 7440 SZA / IF CHAR = NEW_PAGE 3970 TAD (ECNWPG-ECNWLN) undefined ^ undefined ^ undefined ^ undefined ^ 013006 1376 3971 013007 7440 SZA / OR NEW_LINE 3972 TAD (ECNWLN-ECNDRL) undefined ^ undefined ^ undefined ^ undefined ^ 013010 1376 3973 013011 7450 SNA / OR END_RULER 3974 013012 5224 JMP ESMVLR / THEN SCROLL SCREEN DOWN 3975 ESMVLB, AC7777 / ELSE undefined ^ 013013 0000 3976 013014 1136 TAD CURSOR / 3977 013015 3136 DCA CURSOR / CURSOR := CURSOR - 1 3978 013016 1535 ESMVLC, TAD I CURPTR / GET CHAR AGAIN 3979 JMS CHKCHR undefined ^ undefined ^ 013017 4000 3980 013020 5201 JMP ESMVLA / IF NOT A SPECIAL CHARACTER 3981 013021 2226 ISZ ESMVC2 3982 013022 5201 JMP ESMVLA / THEN INCREMENT ESMVC2 3983 013023 5775 JMP ESMVLX / UNTIL ESMVC2=0 3984 013024 4774 ESMVLR, JMS SCRLDN 3985 013025 5216 JMP ESMVLC 3986 013026 0000 ESMVC2, 0 / NUMBER OF CURSOR POSITIONS TO MOVE BACK 3987 3988 3989 / PSUEDO_CODE FOR SCRLUM 3990 / 3991 / CASE AC =: 3992 / START_PRINT_CONTROL: PCTLFL=-1 3993 / END_PRINT_CONTROL: PCTLFL=0 3994 / SELECT_POINT: SLCTDR=0 3995 / AC=0 3996 SCRLUM, XX / CHANGE MODES FOR SCROLL UP undefined ^ 013027 0000 3997 /*** SCRLUM IS USED AS A VARIABLE (PUTSC6) 3998 /*** BY PUTSCH BELOW TO SAVE A WORD 3999 013030 4240 JMS SCRLTM / TEST FOR MODE CHANGE 4000 013031 5627 JMP I SCRLUM / RETURN IF NONE 4001 013032 5235 JMP SCRLU1 / JUMP IF SELECT POINT 4002 013033 3142 DCA PCTLFL / HERE IF PRINT CONTROL 4003 013034 5627 JMP I SCRLUM / RETURN 4004 013035 3127 SCRLU1, DCA SLCTDR / HERE IF SELECT POINT 4005 013036 4773 JMS SVSLCR / SAVE CURSOR POSITION /A209 4006 013037 5627 JMP I SCRLUM / RETURN 4007 4008 / PSUEDO_CODE FOR SCRLTM 4009 / 4010 / CASE AC =: 4011 / SELECT POINT: AC=0 INCREMENT RETURN ADDRESS BY 1 4012 / START_PRINT_CONTROL: AC=-1 INCREMENT RETURN ADDRESS BY 2 4013 / END_PRINT_CONTROL: AC=0 INCREMENT RETURN ADDRESS BY 2 4014 / OTHERS: AC=0 4015 / 4016 SCRLTM, XX / TEST FOR MODE CHANGE CHARACTER undefined ^ 013040 0000 4017 4018 013041 4500 ZZCASE / COMPARE AGAINST SELECT AND CONTROL 4019 013042 1353 CTB009-1 / TABLE ADDRESS FOR CASE 4020 4021 / ECSLPT; SCRTM1 / SELECT POINT 4022 / ECPCT2; SCRTM2 / END CONTROL 4023 / ECPCT1; SCRTM4 / START CONTROL 4024 / 0 / INDICATE END OF TABLE 4025 4026 013043 5247 JMP SCRTM3 / TAKE NORMAL RTN IF NONE OF ABOVE 4027 SCRTM4, AC7777 / TAKE 2ND SKIP RTN IF STRT PRINT CONTROL undefined ^ 013044 0000 4028 013045 2240 SCRTM2, ISZ SCRLTM 4029 013046 2240 SCRTM1, ISZ SCRLTM 4030 013047 5640 SCRTM3, JMP I SCRLTM 4031 4032 013050 0000 CLMPLL, ZBLOCK 1 / COLUMN MANIPULATION LOWER LIMIT /A209 4033 013051 0000 CLMPUL, ZBLOCK 1 / " " UPPER " /A209 4034 013052 0000 PSBFOF, ZBLOCK 1 / COLUMN MANIP. PASTE BUF. OVFLOW FLAG /A209 4035 013053 0000 CLCTSW, ZBLOCK 1 / " " CUT/GOLD CUT SWITCH /A209 4036 4037 / 4038 / THE FOLLOWING IS USED BY V2 GOTO PAGE OVERLAYS ... 4039 / 4040 /D223 RPBKID, 0 / RAPID PAGINATION BLOCK ID # 4041 4042 4043 / 4044 / 4045 / SUBR PUTSCH -- PUT CHARACTER TO SCREEN 4046 / 4047 / CHARACTER PASSED TO PUTSCH IN AC 4048 / 4049 / PSUEDO-CODE FOR PUTSCH: 4050 / 4051 / SAVE CHAR. IN TEMP. LOCATION; 4052 / GET CHAR. BACK; 4053 / 4054 / ( CHECK SCREEN LIMITS ) 4055 / IF WIDE SCREEN MODE THEN 4056 / IF CURPOS < LEFT MARGIN OR CURPOS > RIGHT MARGIN THEN 4057 / EXIT; ( DON'T DISPLAY "CLIPPED" CHAR ) 4058 / 4059 / ( CHECK FOR OVERSTRIKE SEQUENCE ) 4060 / IF CHAR = "START OVERSTRIKE SEQUENCE" THEN 4061 / ( CHECK FOR "REQUIRED SPACE" ) 4062 / GET NEXT CHAR; 4063 / BACKUP CURPTR TO "START OVERSTRIKE SEQ" SO CURMOV WILL 4064 / SKIP REST OF SEQUENCE; 4065 / IF NEXT CHAR = SPACE THEN 4066 / ( "OVERSTRIKE SEQUENCE" IS REALLY A "REQUIRED SPACE" ) 4067 / DISPLAY A SPACE WITH PROPER ATTRIBUTES; 4068 / ELSE 4069 / ( THIS IS A REAL "OVERSTRIKE SEQUENCE", NOT A "REQ. SPACE" ) 4070 / DISPLAY A GRAPHICS BLOTCH TO STAND FOR THE OVERSTRIKE SEQ.; 4071 / ELSE ( NOT OVERSTRIKE ) 4072 / RESTORE CHAR.; 4073 / PUTOUT TO DISPLAY; 4074 / 4075 / EXIT. ( RETURN TO CALLER HAVING DISPLAYED CHAR ) 4076 / 4077 / 4078 PUTSCH, XX / OUTPUT CHAR undefined ^ 013054 0000 4079 013055 3227 DCA PUTSC6 / SAVE CHARACTER TO RESTORE LATER 4080 4081 /D226 TAD SPLTFL / SPLIT (WIDE) SCREEN MODE? 4082 /D226 SNA CLA 4083 /D226 JMP PUTPA1 / NO, JUST DO IT NORMAL 4084 4085 013056 1046 TAD CURPOS / GET CURRENT CURSOR POSITION 4086 013057 1047 TAD LOWLIM / COMBINE WITH LOW LIMIT OF SCREEN DISPLAY 4087 013060 7500 SMA / ARE WE BEFORE CURRENT LOW LIMIT /C237 4088 013061 5266 JMP PUTPA1 / NO, GO CHECK IF WE ARE ABOVE IT /C237 4089 013062 7300 CLA CLL / YES, CLEAR TRASH FROM THE ACCUMULATOR /A237 4090 013063 1227 TAD PUTSC6 / GET CURRENT CHARACTER /A237 4091 013064 0372 AND (1600) / MASK OFF THE ATTRIBUTE BITS /A237 4092 013065 5305 JMP PUTSC4 / GO OUTPUT THE CHARACTER ATTRIBUTES /A237 4093 4094 013066 0000 PUTPA1, CDFMYF / RESET BACK TO THIS FIELD /C237 4095 013067 1771 TAD SCNSZ / COMBINE RESULT WITH SCREEN SIZE /M223 4096 /D237 CDFBUF /A223 4097 013070 7700 SMA CLA / ARE WE PAST LAST COLUMN ? 4098 013071 5311 JMP PUTPA2 / YES, IGNORE THE CHARACTER 4099 4100 013072 1227 TAD PUTSC6 / GET CHAR BACK /C237 4101 /D237 SNA / SKIP IF CHAR. 4102 /D237 JMP PUTSC0 / IGNORE NULLS. 4103 AND P177 / MASK OFF ATTRIBUTES undefined ^ undefined ^ 013073 0000 4104 TAD (-ECSTOV) / SPECIAL PROCESSING FOR OVERSTRIKE undefined ^ undefined ^ 013074 1376 4105 4106 IFDEF FORIN < 4107 SNA CLA 4108 JMP DEAD / FOUND FOREIGN OVERSTRIKE 4109 > / END IFDEF FORIN 4110 4111 IFNDEF FORIN < 4112 013075 7640 SZA CLA / AT OVERSTRIKE SEQUENCE? (DEAD KEY) 4113 013076 5304 JMP PUTSC8 / NO: GO OUTPUT CHARACTER (PUTSC6) 4114 CDIMNU / YES: CHANGE TO MENU FIELD /A211 undefined ^ 013077 0000 4115 013100 4770 JMS I (TCCHK) / GO CHECK FOR DEAD KEY TYPE /A211 4116 013101 5307 JMP PUTSC2 / NORMAL DEAD KEY /A211 4117 013102 5304 JMP PUTSC8 / REQUIRED SPACE /A211 4118 013103 5311 JMP PUTPA2 / TECHNICAL CHARACTER /A211 4119 4120 /D211 ADVPTR / YES: CHECK FOR "REQUIRED SPACE" 4121 /D211 NOP / BAD EDIT BUFFER CONTENTS 4122 /D211 DCA PUTSC6 / SAVE POSSIBLE ECSPC WITH ATTRIBUTES 4123 /D211 BKPPTR / RESTORE CURPTR TO ECSTOV 4124 /D211 NOP / BUG-SHOULD NEVER HAPPEN 4125 /D211 CLA 4126 /D211 TAD PUTSC6 / GET 2ND CHAR IN OVERSTRIKE SEQUENCE 4127 /D211 AND P177 / (IGNORE ATTRIBUTES) 4128 /D211 TAD (-ECSPC) / IS IT A SPACE? 4129 /D211 SZA CLA 4130 /D211 JMP PUTSC2 / NO-NOT A "REQUIRED SPACE": OUTPUT BLOB 4131 > / END IFNDEF FORIN 4132 4133 013104 1227 PUTSC8, TAD PUTSC6 / RESTORE CHAR 4134 013105 4503 PUTSC4, PUTOUT / DISPLAY CHAR ON SCREEN 4135 013106 5311 JMP PUTPA2 / CONTINUE BELOW /A211 4136 4137 013107 4767 PUTSC2, JMS PUTSPC 4138 EXGOVS / SPECIAL CODE FOR OVERSTRIKE undefined ^ 013110 0000 4139 /D211 JMP I PUTSCH 4140 4141 013111 7300 PUTPA2, CLL CLA 4142 013112 0000 PUTSC0, CDFMYF 4143 013113 2046 ISZ CURPOS 4144 013114 5654 JMP I PUTSCH 4145 4146 PUTSC6= SCRLUM / TEMP. CHAR STORAGE FOR PUTSCH 4147 / ALSO USED BY OVVWB1 (GOLD:VIEW) 4148 X=.&7600 / X=FIRST LOC OF CURRENT PAGE 4149 PUTAER, IFNZRO SCRLUM&7600-X < ? > / ERROR: PUTSC6 NOT ON CURRENT PAGE 4150 4151 4152 SCRFSH, XX / REFRESH NON-SCROLLED LINES undefined ^ 013115 0000 4153 013116 1145 TAD SCRLCU / DOES SCREEN NEED MODIFICATION? 4154 013117 7650 SNA CLA / SKIP IF: SO 4155 013120 5715 JMP I SCRFSH / RETURN 4156 013121 1146 SCRFS1, TAD SCRLIN / GET EARLIEST LINE NEEDING MODIFICATION 4157 013122 7740 SMA SZA CLA 4158 013123 5715 JMP I SCRFSH 4159 013124 1145 TAD SCRLCU / Get posn in last line to get refreshed. 4160 013125 7440 SZA 4161 013126 7040 CMA / If 0 the start-of-line. If < 0 then 4162 013127 3136 DCA CURSOR / posn is CMA of SCRLCU. refresh from there 4163 013130 4766 JMS SCRNSZ / GET SCREEN SIZE 4164 013131 1146 TAD SCRLIN / ADD EARLIEST LINE NEEDING MODIFICATION 4165 013132 7750 SPA SNA CLA 4166 013133 5345 JMP SCRFS2 4167 013134 1146 TAD SCRLIN / GET EARLIEST LINE NEEDING MODIFICATION 4168 013135 3144 DCA CURLIN / SET CURRENT LINE 4169 013136 4765 JMS SETCUR / posn cursor baised by LOWLIM. 4170 013137 1137 TAD SCRLCT / GET SCREEN LAG 4171 013140 7510 SPA 4172 013141 7200 CLA / If reverse scroll, then bais to bottom 4173 / of screen. 4174 013142 7041 CIA / NEGATE IT 4175 013143 1146 TAD SCRLIN / ADD EARLIEST LINE NEEDING MODIFICATION 4176 013144 4764 JMS SCRLTX 4177 4178 013145 2146 SCRFS2, ISZ SCRLIN 4179 013146 7000 NOP 4180 013147 3145 DCA SCRLCU / Reset posn within next line to start at. 4181 013150 3136 DCA CURSOR / (incase SCRLIN now = 1). 4182 013151 5321 JMP SCRFS1 4183 4184 013152 4523 EIDEAD, OVLJMP;OVDEAD / GOLD DEAD undefined ^ 013153 0000 4185 013154 4523 EIGBKP, OVLJMP;OVGBKP / GOLD BACKUP undefined ^ 013155 0000 4186 013156 4523 EITC, OVLJMP ;OVTCHR / TECHNICAL CHARACTER /M234 undefined ^ 013157 0000 4187 4188 X=. / INDICATE FIRST FREE LOCATION ON PAGE 4189 /--------------- 4190 013164 1517 PAGE 013165 1744 013166 2335 013167 2147 013170 2424 013171 1474 013172 1600 013173 1347 013174 3200 013175 2706 013176 0000 013177 2707 4191 4192 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4193 4194 4195 SCRLDN, XX / SCROLL DOWN undefined ^ 013200 0000 4196 4197 013201 0000 CDFMYF / RESET DATA FIELD TO THIS FIELD 4198 CIFMNU / SET INSTRUCTION FIELD TO MENU FIELD undefined ^ 013202 0000 4199 013203 4010 JMS CALLN3 / HANDLE SCROLL DOWN FOR STATUS LINE 4200 4201 AC7777 undefined ^ 013204 0000 4202 013205 4777 JMS SCRAD0 / ADJUST SCROLL 4203 4204 013206 1166 TAD FORMNO / IF NOT IN LIST PROCESSING 4205 013207 7640 SZA CLA / 4206 013210 5213 JMP SCRLD1 / 4207 CDILP / THEN GO FIDDLE WITH THE MATH FLAGS undefined ^ 013211 0000 4208 JMS SCRMTH / undefined ^ undefined ^ 013212 4000 4209 4210 013213 1171 SCRLD1, TAD LINE23 4211 013214 3135 DCA CURPTR 4212 013215 4776 JMS SAVLMD 4213 013216 0000 CDFMYF 4214 013217 4775 JMS SCRNSZ / GET SCREEN SIZE (IN LINES) 4215 013220 7041 CIA 4216 DCA X0 / STORE AS COUNT TO DO undefined ^ undefined ^ 013221 3000 4217 TAD X0 undefined ^ undefined ^ 013222 1000 4218 TAD (PTRBLK-1+NPTRS) undefined ^ undefined ^ 013223 1374 4219 DCA T1 / STORE FIRST PTR-1 undefined ^ undefined ^ 013224 3000 4220 AC0002 / SET UP FOR AN INCREMENT OF TWO undefined ^ 013225 0000 4221 TAD T1 / COMBINE WITH VALUE OF PTR-1 undefined ^ undefined ^ 013226 1000 4222 013227 3334 DCA SCRLDF / SAVE PTR TO OLD TOP PTR 4223 4224 013230 7421 MQL / FOR MOVING PTRS 4225 SCRLDA, ISZ T1 undefined ^ undefined ^ 013231 2000 4226 TAD I T1 / SWAP A PAIR undefined ^ undefined ^ 013232 1400 4227 013233 7521 SWP 4228 DCA I T1 undefined ^ undefined ^ 013234 3400 4229 ISZ X0 undefined ^ undefined ^ 013235 2000 4230 013236 5231 JMP SCRLDA / AND LOOP TIL ALL DONE 4231 TAD I T1 undefined ^ undefined ^ 013237 1400 4232 013240 3171 DCA LINE23 4233 4234 013241 1734 TAD I SCRLDF / GET OLD TOP PTR 4235 013242 7440 SZA / SKIP W/O A POINTER 4236 013243 5246 JMP .+3 / JUMP WITH A POINTER 4237 013244 2334 ISZ SCRLDF / ADVANCE TO NEXT ENTRY 4238 013245 5241 JMP .-4 / REPEAT UNTIL POINTER 4239 4240 013246 3135 DCA CURPTR / ELSE START BACK SEARCH FROM THERE 4241 013247 4520 BKPSPC 4242 013250 5274 JMP SCRLDG / JUMP IF NO MORE 4243 AND P177 undefined ^ undefined ^ 013251 0000 4244 TAD (-ECNWPG) undefined ^ undefined ^ 013252 1373 4245 013253 7650 SNA CLA 4246 013254 5266 JMP SCRLDE 4247 4248 013255 4520 SCRLDB, BKPSPC 4249 013256 5266 JMP SCRLDE / JUMP IF STX 4250 AND P177 undefined ^ undefined ^ 013257 0000 4251 4252 013260 4500 ZZCASE / COMPARE AGAINST TABLE 4253 013261 3334 CTB010-1 / TABLE ADDRESS FOR CASE 4254 4255 / ECNWLN; SCRLDC / NEW LINE 4256 / ECNWPG; SCRLDC / NEW PAGE 4257 / ECSTRL; SCRLDE / START RULER 4258 / ECNDRL; SCRLDC / END RULER 4259 / 0 / INDICATE END OF TABLE 4260 4261 013262 5255 JMP SCRLDB / LOOP IF NOT 4262 4263 013263 4506 SCRLDC, ADVPTR 4264 013264 5772 JMP EIBAD 4265 013265 7200 CLA 4266 013266 0000 SCRLDE, CDFMYF 4267 AC7777 undefined ^ 013267 0000 4268 013270 1334 TAD SCRLDF 4269 013271 3334 DCA SCRLDF / SET TOP PTR PTR 4270 013272 1135 TAD CURPTR 4271 013273 3734 DCA I SCRLDF / SET NEW TOP 4272 013274 1171 SCRLDG, TAD LINE23 4273 013275 3135 DCA CURPTR 4274 013276 3136 DCA CURSOR 4275 CDFBUF undefined ^ 013277 0000 4276 013300 1535 TAD I CURPTR / GET_CHAR 4277 SCRLDD, AND P177 / LOOP, STRIP MODE BITS undefined ^ undefined ^ 013301 0000 4278 4279 013302 4500 ZZCASE / COMPARE AGAINST TABLE 4280 013303 3345 CTB011-1 / TABLE ADDRESS FOR CASE 4281 4282 / ECNWLN; SCRLDL / NEW LINE 4283 / ECNWPG; SCRLDL / NEW PAGE 4284 / ECSTRL; SCRLDS / START RULER 4285 / 0 / INDICATE END OF TABLE 4286 4287 013304 2136 ISZ CURSOR / THEN INCREMENT CURSOR 4288 013305 4517 ADVSPC 4289 013306 5772 JMP EIBAD / ADVANCE TO NEXT CHARACTER 4290 013307 5301 JMP SCRLDD / END_LOOP 4291 4292 / CASE CURRENT_CHARACTER =: 4293 / SELECT_POINT: SLCTDR=1 4294 / START_PRINT_CONTROL: PCTLFL=0 4295 / END_PRINT_CONTROL: PCTLFL=-1 4296 4297 013310 1535 SCRLDL, TAD I CURPTR / GET CURRENT CHARACTER 4298 013311 4771 JMS SCRLTM / CHECK AC FOR SPECTIAL CHARACTER 4299 013312 5333 JMP SCRLDX / NO SPECIAL CHARACTER 4300 013313 5331 JMP SCRLDP / AC WAS A SELECT POINT 4301 013314 7040 CMA / AC WAS START_CONTROL OR END_CONTROL 4302 / -1 = END_CONTROL: 0 = START_CONTROL 4303 013315 3142 DCA PCTLFL / 0 = END_CONTROL: -1 = START_CONTROL 4304 013316 5333 JMP SCRLDX 4305 4306 013317 1136 SCRLDS, TAD CURSOR 4307 013320 7640 SZA CLA 4308 013321 5333 JMP SCRLDX / IF THIS IS RULER LINE, 4309 013322 4770 JMS SETRUL 4310 ESADRL / RESET TO OLD RULER undefined ^ 013323 0000 4311 013324 4767 JMS COPRUL 4312 CDFBUF undefined ^ 013325 0000 4313 013326 1171 TAD LINE23 4314 013327 3135 DCA CURPTR / RESET CURPTR 4315 013330 5333 JMP SCRLDX 4316 4317 SCRLDP, AC0001 / CURRENT CHAR WAS SELECT POINT SO SET FLAG undefined ^ 013331 0000 4318 013332 3127 DCA SLCTDR / INDICATING SELECT POINT IS BELOW US 4319 013333 5600 SCRLDX, JMP I SCRLDN / RETURN TO CALLER 4320 4321 013334 0000 SCRLDF, .-. 4322 4323 CTB010, ECNWLN; SCRLDC / NEW LINE undefined ^ 013335 0000 013336 3263 4324 ECNWPG; SCRLDC / NEW PAGE undefined ^ 013337 0000 013340 3263 4325 ECSTRL; SCRLDE / START RULER undefined ^ 013341 0000 013342 3266 4326 ECNDRL; SCRLDC / END RULER undefined ^ 013343 0000 013344 3263 4327 013345 0000 0 / INDICATE END OF TABLE 4328 4329 CTB011, ECNWLN; SCRLDL / NEW LINE undefined ^ 013346 0000 013347 3310 4330 ECNWPG; SCRLDL / NEW PAGE undefined ^ 013350 0000 013351 3310 4331 ECSTRL; SCRLDS / START RULER undefined ^ 013352 0000 013353 3317 4332 013354 0000 0 / INDICATE END OF TABLE 4333 4334 SETSPT, XX / SET SCREEN-NEEDS-TO-BE-SPLIT FLAG undefined ^ 013355 0000 4335 /D226 TAD SPLTFL 4336 /D226 SNA 4337 AC7777 undefined ^ 013356 0000 4338 013357 3766 DCA SPLTFL 4339 013360 5755 JMP I SETSPT 4340 4341 013361 4523 EISCUT, OVLJMP;OVSCUT / ENTRY POINT FOR STRAIGHT CUT undefined ^ 013362 0000 4342 4343 013363 0000 RPMTBK, 0 / Rapid Paging MaTh BlocK begin offset /M226 4344 4345 4346 X=. / INDICATE FIRST FREE LOCATION ON PAGE 4347 /--------------- 4348 013366 2345 PAGE 013367 5217 013370 5600 013371 3040 013372 0400 013373 0000 013374 0027 013375 2335 013376 2244 013377 1752 4349 4350 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4351 4352 4353 FXSCRL, XX / UNDO SCREEN LAG undefined ^ 013400 0000 4354 013401 0000 CDFMYF 4355 013402 1136 TAD CURSOR / SAVE CURSOR POSN 'TILL LATER. 4356 013403 3351 DCA FXSCT1 / ... 4357 013404 3136 DCA CURSOR / REINIT TO START OF LINE. 4358 013405 1364 TAD WIDEFL / TEST NEED TO GO WIDE FLAG /M226 4359 013406 7700 SMA CLA 4360 013407 5215 JMP FXSCRF / JUMP IF NOT SET 4361 013410 3364 DCA WIDEFL / RESET IT TO NOT NEEDED /M226 4362 JMS SET132 / MAKE SCREEN WIDER undefined ^ undefined ^ 013411 4000 4363 013412 1166 TAD FORMNO 4364 013413 7650 SNA CLA / CAN'T DO WHOLE SCREEN IF MERGING!! 4365 013414 5334 JMP FXSCRE / AND REFRESH WHOLE SCREEN 4366 4367 013415 1140 FXSCRF, TAD SCRNFL 4368 013416 7640 SZA CLA 4369 013417 5334 JMP FXSCRE / JUMP IF WHOLE SCREEN NEEDED 4370 013420 1137 TAD SCRLCT / TEST LAG 4371 013421 7450 SNA 4372 013422 5315 JMP FXSCRK / JUST SET CURSOR IF NO LAG 4373 013423 7510 SPA 4374 013424 5266 JMP FXSCRD / JUMP IF SCROLL DOWN NEEDED 4375 013425 7041 CIA 4376 013426 4317 JMS FXSCRA / TEST FOR TOO MUCH 4377 013427 4777 JMS SCRFSH 4378 4379 013430 4776 FXSCRI, JMS NWLN 4380 FXSCRJ, AC0001 undefined ^ 013431 0000 4381 013432 1352 TAD FXSCT2 4382 013433 4775 JMS SCRLTX / DO ONE LINE 4383 013434 2352 ISZ FXSCT2 4384 013435 5341 JMP FXSCRB / LOOP FOR ALL 4385 013436 3144 FXSCRC, DCA CURLIN 4386 013437 1351 TAD FXSCT1 / Restore cursor posn. 4387 013440 3136 DCA CURSOR / ... 4388 013441 1137 TAD SCRLCT / forward scroll? 4389 013442 7710 SPA CLA / skip if yes. 4390 013443 5260 JMP FXSCX1 / If no then do DCA to current posn. 4391 013444 1046 TAD CURPOS / Get current cursor posn on the screen. 4392 013445 7041 CIA / Compare to 4393 013446 1136 TAD CURSOR / where we want to be. 4394 013447 7650 SNA CLA / Skip if not there. 4395 013450 5261 JMP FXSCX2 / Already there so ignore. 4396 013451 1136 TAD CURSOR / Are we aiming for col 1? 4397 013452 7640 SZA CLA / skip if yes. 4398 013453 5260 JMP FXSCX1 / JMP if no to do DCA to correct posn. 4399 013454 1374 TAD (CR) / to to get to col 1 of this line. 4400 013455 4503 PUTOUT / ... 4401 013456 3046 DCA CURPOS / reset cursor posn. 4402 013457 5261 JMP FXSCX2 / merge below to clean up & exit. 4403 4404 013460 4773 FXSCX1, JMS SETCUR / posn cursor to desired colm. 4405 013461 3137 FXSCX2, DCA SCRLCT / RESET LAG 4406 013462 3140 DCA SCRNFL / AND SCREEN FLAG 4407 013463 3145 DCA SCRLCU / AND REFRESH FLAGS 4408 013464 3146 DCA SCRLIN 4409 013465 5600 JMP I FXSCRL / AND THEN RETURN 4410 4411 013466 4317 FXSCRD, JMS FXSCRA / CHECK FOR TOO MUCH 4412 013467 4772 JMS SCRNSZ / SET TO TOP 4413 013470 7041 CIA 4414 013471 7001 IAC 4415 013472 3144 DCA CURLIN 4416 4417 013473 4515 FXSCRH, PUTESC 4418 013474 4133 "[&177+4000 4419 013475 0110 "H&177 / Cursor home. 4420 013476 4515 PUTESC 4421 013477 0115 "M&177 / SCROLL DOWN 4422 013500 1771 TAD SPLTFL / wide screen mode? 4423 013501 7640 SZA CLA / Skip if no. we's already at line. 4424 013502 4770 JMS PCUR / Reposn to start of current line. 4425 013503 1352 TAD FXSCT2 4426 013504 7040 CMA 4427 013505 1144 TAD CURLIN 4428 013506 4775 JMS SCRLTX / DO ONE LINE 4429 013507 2352 ISZ FXSCT2 4430 013510 5273 JMP FXSCRH / LOOP FOR ALL 4431 013511 1137 TAD SCRLCT / FIX REFRESH FLAG 4432 013512 7041 CIA 4433 013513 1146 TAD SCRLIN 4434 013514 3146 DCA SCRLIN 4435 013515 4777 FXSCRK, JMS SCRFSH / FIX UP LINES NOT SCROLLED 4436 013516 5236 JMP FXSCRC / AND FIX CURSOR AND RETURN 4437 4438 FXSCRA, XX undefined ^ 013517 0000 4439 013520 3352 DCA FXSCT2 / SAVE COUNT 4440 013521 4772 JMS SCRNSZ / GET SCREEN SIZE 4441 013522 1352 TAD FXSCT2 / -COUNT 4442 013523 7710 SPA CLA 4443 013524 5334 JMP FXSCRE / JUMP IF TOO MUCH 4444 013525 1145 TAD SCRLCU 4445 013526 7650 SNA CLA 4446 013527 5717 JMP I FXSCRA 4447 013530 4772 JMS SCRNSZ 4448 013531 1146 TAD SCRLIN 4449 013532 7700 SMA CLA 4450 013533 5717 JMP I FXSCRA / RETURN IF OK 4451 013534 4767 FXSCRE, JMS CLSCRN / FOR WHOLE SCREEN, CLEAR IT 4452 013535 4772 JMS SCRNSZ / SET FULL COUNT 4453 013536 7041 CIA 4454 013537 3352 DCA FXSCT2 4455 013540 3137 DCA SCRLCT / USE REAL SCREEN POSITION 4456 013541 1137 FXSCRB, TAD SCRLCT 4457 013542 7640 SZA CLA 4458 013543 5230 JMP FXSCRI / IF REALLY SCROLLING, USE BOTTOM LINE 4459 AC0001 undefined ^ 013544 0000 4460 013545 1352 TAD FXSCT2 / ELSE USE REAL LINE 4461 013546 3144 DCA CURLIN / Set line # to refresh. 4462 013547 4770 JMS PCUR / Posn to physical start of line. 4463 013550 5231 JMP FXSCRJ 4464 4465 013551 0000 FXSCT1, 0 4466 013552 0000 FXSCT2, 0 4467 4468 CHKALP, XX / SET MQ AND CHECK FOR OVER 40 undefined ^ 013553 0000 4469 013554 7421 MQL 4470 013555 7501 MQA 4471 AND P177 undefined ^ undefined ^ 013556 0000 4472 013557 1366 TAD (-40) 4473 013560 7540 SMA SZA 4474 013561 2353 ISZ CHKALP / SKIP RETURN IF OK 4475 013562 7701 CLA MQA / RESTORE CODE 4476 013563 5753 JMP I CHKALP / AND RETURN TO CALLER 4477 4478 013564 0000 WIDEFL, 0 / FLAG TO KNOW WHEN TO GO TO WIDE SCREEN MODE 4479 / -1=NEED TO GO 132 COL., 0=NOT NEEDED /A226 4480 4481 X=. / INDICATE FIRST FREE LOCATION ON PAGE 4482 /--------------- 4483 013566 7740 PAGE 013567 2134 013570 1400 013571 2345 013572 2335 013573 1744 013574 0015 013575 1517 013576 4557 013577 3115 4484 4485 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4486 4487 4488 SCRLUP, XX / SCROLL UP undefined ^ 013600 0000 4489 CDILP / CHANGE CONTROL TO LP FIELD TO CHK ON MATH undefined ^ 013601 0000 4490 JMS CKCTRL / GO PROCESS LATEST LINE SCROLLED UP undefined ^ undefined ^ 013602 4000 4491 4492 013603 1137 TAD SCRLCT 4493 013604 7700 SMA CLA / IF SCROLLING UP (NOT DOWN) 4494 013605 1152 TAD ECHFLG / THEN 4495 013606 7640 SZA CLA / IF ECHOING 4496 013607 4777 JMS FXSCRL / THEN UPDATE SCREEN 4497 4498 SCRLP1, AC0001 undefined ^ 013610 0000 4499 013611 4776 JMS SCRAD0 / INCREMENT SCROLL COUNT 4500 4501 013612 4506 ADVPTR / ADVANCE 4502 013613 7000 NOP / RETURNS HERE IF END OF TEXT FOUND 4503 013614 7200 CLA / NORMALLY RETURNS HERE WITH CHAR IN AC 4504 4505 013615 0000 CDFMYF / CHANGE DATA FIELD BACK TO THIS FIELD 4506 013616 4775 JMS SCRLPX / GO SET UP AUTO-INDEX REGISTERS 4507 4508 TAD I X0 undefined ^ undefined ^ 013617 1400 4509 DCA I X1 undefined ^ undefined ^ 013620 3400 4510 ISZ X2 undefined ^ undefined ^ 013621 2000 4511 013622 5217 JMP .-3 4512 013623 1135 TAD CURPTR 4513 013624 3171 DCA LINE23 4514 013625 1171 TAD LINE23 4515 DCA I X1 undefined ^ undefined ^ 013626 3400 4516 013627 4507 BKPPTR 4517 013630 5232 JMP SCRLUB / BACK UP OVER NEWLINE 4518 013631 4774 JMS SCRLUM / DO MODE CHANGE, IF NEC. 4519 013632 1171 SCRLUB, TAD LINE23 4520 013633 3135 DCA CURPTR / RESTORE CURPTR 4521 /D203; TAD CURSOR / SAVE THE CURSOR POS FOR LATER 4522 /D203; DCA CURTMP / SELECT MIGHT WANT IT! 4523 013634 3136 DCA CURSOR 4524 013635 1151 TAD LINMOD 4525 013636 7640 SZA CLA 4526 013637 4514 SLNMOD / RESET MOD FLAG, IF NECESSARY 4527 4528 013640 0000 CDFMYF / RESET DATA FIELD TO THIS FIELD 4529 CIFMNU / SET INSTRUCTION FIELD TO MENU FIELD undefined ^ 013641 0000 4530 013642 4014 JMS CALLN4 / HANDLE SCROLL UP FOR STATUS LINE 4531 CDFBUF / RESET TO BUFFER FIELD undefined ^ 013643 0000 4532 4533 013644 5600 JMP I SCRLUP / AND THEN RETURN TO CALLER 4534 4535 4536 / THIS ROUTINE GETS RID OF ALL JUSTIFYING CHARACTERS (JUSTIFIED SPACES WORD 4537 / WRAPS ETC.) UP TO THE RIGHT MARGIN OR THE FIRST LINE_ENDING CHARACTER, 4538 / WHICHEVER COMES FIRST (I THINK THATS WHAT IT DOES ANYWAY) 4539 JCLEAN, XX undefined ^ 013645 0000 4540 013646 1135 TAD CURPTR 4541 013647 3322 DCA JCLEAY / SAVE CURPTR 4542 013650 1160 TAD RGTMAR / GET THE COLUMN # OF THE RIGHT MARGIN 4543 013651 1373 TAD (-COLM80) / M219 4544 013652 7700 SMA CLA / IF RIGHT_MARGIN GREATER THAN 79 4545 013653 1372 TAD (-COLLIM+COLM81) / THEN JCLEAX= -238 /M219 4546 013654 1371 TAD (-COLM81) / ELSE JCLEAX= -80 /M219 4547 013655 3321 DCA JCLEAX / (* STORE TO USE AS LOOP COUNTER *) 4548 013656 4770 JCLEA6, JMS LODCHR / GET CHARACTER 4549 013657 5314 JMP JCLEA2 / RETURNS HERE IF END_OF_TEXT (ETX) FOUND 4550 013660 5263 JMP .+3 4551 013661 4517 JCLEA1, ADVSPC 4552 013662 5314 JMP JCLEA2 / RETURNS HERE IN END_OF_TEXT 4553 AND P177 / ELIMINATE IMPOSSIBLES, FOR SPEED undefined ^ undefined ^ 013663 0000 4554 013664 1367 TAD (-40) 4555 013665 7740 SMA SZA CLA / IF CHARACTER IS PRINTABLE 4556 013666 5312 JMP JCLEA4 / THEN GO INCREMENT LOOP COUNTER 4557 013667 1535 TAD I CURPTR 4558 JMS ESJTST undefined ^ undefined ^ 013670 4000 4559 013671 7440 SZA 4560 013672 1323 TAD JCLGCT / CHECK FOR PAGE MARKER IF NOT 4561 / GOLD CUTTING 4562 013673 7650 SNA CLA 4563 013674 5317 JMP JCLEA3 / JUMP IF GOT A JUSTIFYING CODE 4564 013675 1535 TAD I CURPTR / ELSE CHECK FOR LINE ENDING CHARACTER 4565 AND P177 undefined ^ undefined ^ 013676 0000 4566 TAD (-ECNWLN) undefined ^ undefined ^ 013677 1366 4567 013700 7440 SZA 4568 TAD (ECNWLN-ECNWPG) undefined ^ undefined ^ undefined ^ undefined ^ 013701 1366 4569 013702 7440 SZA 4570 TAD (ECNWPG-ECSTRL) undefined ^ undefined ^ undefined ^ undefined ^ 013703 1366 4571 013704 7450 SNA 4572 013705 5314 JMP JCLEA2 / JUMP IF A LINE ENDING CHARACTERONE 4573 013706 7710 SPA CLA 4574 013707 4765 JMS CHKLMD /HECK FOR RULER OR LINE MODIFIED CHAR 4575 013710 7410 SKP / RETURNS HERE IF NONE FOUND 4576 013711 5256 JMP JCLEA6 / RETURNS HERE OF ONE FOUND 4577 013712 2321 JCLEA4, ISZ JCLEAX / INCREMENT LOOP COUNTER 4578 013713 5261 JMP JCLEA1 / LOOP BACK IF NOT AT RIGHT END OF RULER 4579 4580 / HERE IF CHAR IS: 4581 / ECNWLN 0012 NEW LINE 4582 / OR ECPGRF 1012 END PARAGRAPH 4583 / OR ECENLN 1412 CENTERED LINE 4584 / OR ECSLPT 3412 SELECT POINT 4585 / OR ECPCT1 1014 START CONTROL 4586 / OR ECPCT2 1414 END CONTROL 4587 / OR ECLTRL 0016 RULER START 4588 / OR IF AT END_OF_TEXT 4589 / OR IF AT RIGHTMOST MARGIN (EITHER 80 OR 160) 4590 4591 013714 1322 JCLEA2, TAD JCLEAY 4592 013715 3135 DCA CURPTR 4593 013716 5645 JMP I JCLEAN / RETURN 4594 4595 / HERE IF CHAR IS: 4596 / ECJSPC 2040 JUSTIFIED SPACE 4597 / OR ECWWLN 2012 WRAPPED LINE 4598 / OR ECHYLN 2412 WRAPPED LINE WITH HYPHEN 4599 / OR ECPMRK 2014 PAGE MARKER 4600 4601 013717 3535 JCLEA3, DCA I CURPTR / DELETE JUSTIF CODE 4602 013720 5256 JMP JCLEA6 / AND LOOP FOR MORE 4603 013721 0000 JCLEAX, 0 / LOOP COUNTER INITIALIZED TO -160 FOR 4604 / WIDE RULERS OR -80 FOR REGULAR RULERS 4605 013722 0000 JCLEAY, 0 4606 JCLGCT, JTSTOF-ECPMRK / OFFSET FOR DELETING PAGE MARKER undefined ^ undefined ^ 013723 0000 4607 / IF NOT IN GOLD CUT MODE 4608 4609 4610 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4611 4612 4613 / PSUEDO_CODE FOR ESLCTS 4614 / 4615 / IF ALREADY IN SELECT MODE 4616 / THEN 4617 / IF SELECT POINT IS ABOVE US 4618 / THEN 4619 / INSERT "ECSLPT" INTO TEXT 4620 / BACK UP TO SELECT MARK AND DELETE IT 4621 / SET LINE_MODIFIED FLAG 4622 / 4623 / INCREMENT RETURN ADDRESS 4624 / 4625 ESLCTS, XX / TEST SELECT MODE undefined ^ 013724 0000 4626 013725 1350 TAD ESLMOD+1 / ALREADY IN SELECT MODE? 4627 013726 0133 AND EDMODE 4628 013727 7650 SNA CLA / SKIP IF: SO 4629 013730 5724 JMP I ESLCTS / JUST RETURN IF NOT IN SELECT 4630 013731 1127 TAD SLCTDR / TEST DIRECTION 4631 013732 7640 SZA CLA / SKIP IF: FORWARD 4632 013733 5345 JMP ESLCT6 / JMP IF SELECTING BACKWARDS 4633 TAD (ECSLPT) undefined ^ undefined ^ 013734 1366 4634 013735 4764 JMS INSERT / ELSE INSERT OUR STOPPER 4635 013736 4763 JMS SVSLCR / SAVE CURSOR POSITION /A209 4636 ESLCT4, AC7777 / LOOP undefined ^ 013737 0000 4637 013740 4513 CURMOV / BACKUP CURSOR 4638 013741 5762 JMP UNSLCT / EXIT IF START OF DOCUMENT FOUND 4639 013742 1535 TAD I CURPTR / GET NEXT CHAR 4640 013743 4761 JMS ESLCTD / IF CHAR NOT EQUAL SELECT POINT 4641 013744 5337 JMP ESLCT4 / THEN GOTO ESLCT4: 4642 / ELSE 4643 013745 2324 ESLCT6, ISZ ESLCTS / TAKE SKIP RETURN 4644 013746 5724 JMP I ESLCTS 4645 4646 013747 0000 ESLMOD, 0 4647 013750 0020 SLTMOD 4648 4649 013751 4523 EINXSC, OVLJMP;OVNXSC / NEXT SCREEN undefined ^ 013752 0000 4650 4651 / THE FOLLOWING IS USED BY V2 GOTO PAGE OVERLAYS... 4652 4653 013753 0000 RPBOTF, 0 / V2 GOLD BOTTOM FLAG /M226 4654 / - = V2 GOLD BOTTOM REQUEST 4655 / 0 = V2 GOTO PAGE REQUEST 4656 4657 X=. / INDICATE FIRST FREE LOCATION ON PAGE 4658 /--------------- 4659 013761 1135 PAGE 013762 2547 013763 1347 013764 2000 013765 4733 013766 0000 013767 7740 013770 4241 013771 7660 013772 7540 013773 7661 013774 3027 013775 1671 013776 1752 013777 3400 4660 4661 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4662 4663 4664 014000 1142 EIPCMD, TAD PCTLFL / START AND END CONTROL 4665 014001 7650 SNA CLA 4666 TAD (ECPCT1-ECPCT2) / INSERT NON-REDUNDANT CONTROL MARKER undefined ^ undefined ^ undefined ^ undefined ^ 014002 1377 4667 TAD (ECPCT2-ECNWPG) undefined ^ undefined ^ undefined ^ undefined ^ 014003 1377 4668 EINPAG, TAD (ECNWPG-ECPMRK) / NEW PAGE undefined ^ undefined ^ undefined ^ undefined ^ 014004 1377 4669 EIPMRK, TAD (ECPMRK) / PAGE MARKER undefined ^ undefined ^ 014005 1377 4670 014006 7421 MQL 4671 014007 3136 DCA CURSOR 4672 014010 1171 TAD LINE23 4673 014011 3135 DCA CURPTR 4674 014012 7501 MQA 4675 014013 5776 JMP EIFXT1 / AND JUMP TO INSERT 4676 4677 ESGETE, XX / GET FROM ETX undefined ^ 014014 0000 4678 014015 4634 JMS I ESGETX 4679 MGPTC1, XGETET / OR XRDFNC IF FORM undefined ^ 014016 0000 4680 014017 5614 JMP I ESGETE 4681 4682 ESGETS, XX / GET FROM STX undefined ^ 014020 0000 4683 014021 4634 MGPTC2, JMS I ESGETX / OR SKP CLA IF FORM 4684 XGETST undefined ^ 014022 0000 4685 014023 5620 JMP I ESGETS 4686 4687 ESPUTE, XX / PUT TO ETX undefined ^ 014024 0000 4688 014025 4634 MGPTC3, JMS I ESGETX / OR SKP CLA IF FORM 4689 XPUTET undefined ^ 014026 0000 4690 014027 5624 JMP I ESPUTE 4691 4692 ESPUTS, XX / PUT TO STX undefined ^ 014030 0000 4693 014031 4634 MGPTC4, JMS I ESGETX / OR JMP I ESPUTX IF NO FILE 4694 XPUTST undefined ^ 014032 0000 4695 014033 5630 ESPUTY, JMP I ESPUTS 4696 4697 014034 5014 ESGETX, DSKCAL 4698 ESPUTX, PUTST3 undefined ^ 014035 0000 4699 4700 4701 ESICHR, XX / INSERT CHAR AND ECHO undefined ^ 014036 0000 4702 014037 4775 JMS INSERT / INSERT INTO DOCUMENT 4703 AC0001 undefined ^ 014040 0000 4704 014041 3152 DCA ECHFLG / SET ECHO MODE 4705 014042 4514 SLNMOD / SET MODIFIED FLAG 4706 014043 1535 TAD I CURPTR / HANDLE NW PAGE AND NW LINE SPECIALLY 4707 014044 3335 DCA ESITMP / save character. 4708 014045 1335 TAD ESITMP / get back. 4709 AND P177 undefined ^ undefined ^ 014046 0000 4710 4711 014047 4500 ZZCASE / COMPARE AGAINST TABLE 4712 014050 4135 CTB012-1 / TABLE ADDRESS FOR CASE 4713 4714 / ECNWPG; ESINPG / NEW PAGE 4715 / ECNWLN; ESINP2 / NEW LINE 4716 / ECSTOV; ESINP1 / START DEAD KEY 4717 / ECNDOV; ESINP5 / END DEAD KEY 4718 / 0 / INDICATE END OF TABLE 4719 4720 014051 1334 TAD ESINOV 4721 014052 7650 SNA CLA 4722 014053 5332 JMP ESINP7 4723 014054 4507 BKPPTR 4724 014055 7000 NOP / CONTINUE OVERSTRIKE MODE 4725 TAD (-ECNDOV) / IF POSSIBLE undefined ^ undefined ^ 014056 1377 4726 014057 7640 SZA CLA 4727 014060 5326 JMP ESINP6 4728 014061 3535 DCA I CURPTR 4729 014062 4506 ADVPTR 4730 014063 7000 NOP 4731 014064 4506 ESINP1, ADVPTR 4732 014065 7000 NOP 4733 014066 7200 CLA 4734 TAD (ECNDOV) undefined ^ undefined ^ 014067 1377 4735 014070 4775 JMS INSERT / START OVERSTRIKE MODE 4736 014071 4506 ADVPTR 4737 014072 7000 NOP 4738 AC0001 undefined ^ 014073 0000 4739 014074 3334 DCA ESINOV 4740 014075 5636 JMP I ESICHR 4741 4742 014076 4774 ESINP2, JMS REJUST 4743 014077 5320 JMP ESINP4 4744 4745 014100 1136 ESINPG, TAD CURSOR / INSERT NEW LINE BEFORE NEW PAGE, IF NEC. 4746 014101 7650 SNA CLA 4747 014102 5320 JMP ESINP4 4748 4749 014103 4774 JMS REJUST 4750 014104 1335 TAD ESITMP / soft page marker? 4751 TAD (-ECPMRK) / ... undefined ^ undefined ^ 014105 1377 4752 014106 7640 SZA CLA / skip if yes. rejust deleted it. 4753 014107 5315 JMP ESNP3A / Hard PM so all is ok. /M220 4754 TAD (ECPMRK) undefined ^ undefined ^ 014110 1377 4755 014111 4775 JMS INSERT / Insert soft page marker back!!! 4756 TAD (ECWWLN) undefined ^ undefined ^ 014112 1377 4757 014113 4775 JMS INSERT / INSERT SOFT RETURN JUST PRIOR TO NPM. 4758 014114 5317 JMP ESINP3 / MERGE BELOW TO PROPERLY SCROLL /A220 4759 014115 1136 ESNP3A, TAD CURSOR / ARE WE AT START OF LINE NOW ? /A220 4760 014116 7640 SZA CLA / SKIP IF YES. MUST HAVE BEEN LM NOT=0 /A220 4761 014117 4773 ESINP3, JMS SCRLUP 4762 014120 4773 ESINP4, JMS SCRLUP 4763 014121 5636 JMP I ESICHR 4764 4765 014122 3535 ESINP5, DCA I CURPTR / LEAVE OVERSTIKE MODE 4766 014123 2136 ISZ CURSOR 4767 014124 3334 DCA ESINOV 4768 014125 5636 JMP I ESICHR 4769 4770 014126 3334 ESINP6, DCA ESINOV / CANCEL OVERSTIKE MODE 4771 014127 4506 ADVPTR 4772 014130 7000 NOP 4773 014131 7200 CLA 4774 014132 4772 ESINP7, JMS CHKREJ 4775 014133 5636 JMP I ESICHR / AND RETURN 4776 4777 014134 0000 ESINOV, .-. 4778 014135 0000 ESITMP, 0 4779 4780 CTB012, ECNWPG; ESINPG / NEW PAGE undefined ^ 014136 0000 014137 4100 4781 ECNWLN; ESINP2 / NEW LINE undefined ^ 014140 0000 014141 4076 4782 ECSTOV; ESINP1 / START DEAD KEY undefined ^ 014142 0000 014143 4064 4783 ECNDOV; ESINP5 / END DEAD KEY undefined ^ 014144 0000 014145 4122 4784 014146 0000 0 / INDICATE END OF TABLE 4785 4786 / ESPTES IS REWRITTEN TO DEAL WITH THE NEW, LONGER ESCAPE SEQUENCES. 4787 / IF THERE ARE TWO CHARACTERS TO FOLLOW THE ESC, THE FIRST CHARACTER 4788 / HAS ITS 0 BIT SET. THIS VERSION TESTS FOR THAT AND FOLLOWS THROUGH. 4789 4790 ESPTES,XX / PUT ESCAPE SEQUENCE undefined ^ 014147 0000 4791 TAD (ESC) undefined ^ undefined ^ 014150 1377 4792 AND P3777 / MASK OUT BIT 0. DOES NO HARM TO ESC. undefined ^ undefined ^ 014151 0000 4793 014152 4503 PUTOUT 4794 014153 1747 TAD I ESPTES / GET THE FIRST ARGUMENT. 4795 014154 2347 ISZ ESPTES / INCREMENT RETURN LOCATION. 4796 014155 7510 SPA / SKIP IF NOT ANOTHER ARGUMENT. 4797 014156 5351 JMP .-5 / RUN THROUGH THE CYCLE AGAIN IF THERE IS. 4798 014157 4503 PUTOUT 4799 014160 5747 JMP I ESPTES / RETURN 4800 4801 X=. / INDICATE FIRST FREE LOCATION ON PAGE 4802 /--------------- 4803 014172 2354 PAGE 014173 3600 014174 2400 014175 2000 014176 1314 014177 0000 4804 4805 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 4806 4807 4808 /++ 4809 / FUNCTIONAL DESCRIPTION: CHKSPC 4810 / 4811 / CHECKS FOR SPACE LEFT ON A DISK AND INFORMS USER IF IT IS LESS 4812 / THAN THE MINIMUM CUTOFF VALUE (SPECIFIED IN SPCCHK) 4813 / 4814 / CHKSPC PSEUDO CODE: 4815 / 4816 / GET NUMBER OF FREE BLOCKS LEFT ON DISK 4817 / IF (BELOW MINIMUM CUTOFF VALUE) 4818 / EXIT - INFORM USER AND WAIT FOR KB INPUT 4819 / RETURN TO CALLER 4820 / 4821 / CALLING SEQUENCE: JMS CHKSPC 4822 / 4823 / INPUT PARAMETERS: NONE 4824 / 4825 / IMPLICIT INPUTS: ACSAVE, SCFSPC, SPCCHK 4826 / 4827 / OUTPUT PARAMETERS: NONE 4828 / 4829 / IMPLICIT OUTPUT: ACSAVE, SPCCHK 4830 / 4831 / COMPLETION CODE: NONE 4832 / 4833 / SIDE EFFECTS: THIS ROUTINE ONLY INFORMS YOU THAT YOU'RE 4834 / RUNNING OUT OF SPACE ON THE DISK. IT WILL NOT 4835 / PREVENT YOU FROM GOING BEYOND THE LIMIT AND 4836 / POSSIBLY WIPING OUT YOUR DISK. 4837 / 4838 /-- 4839 / 4840 CHKSPC, XX / CHECK DISKETTE ROOM undefined ^ 014200 0000 4841 014201 3236 DCA ACSAVE / SAVE AC IN TEMP LOCATION 4842 CDFFIO undefined ^ 014202 0000 4843 TAD I (SCFSPC) / GET NUMBER OF BLOCKS LEFT undefined ^ undefined ^ 014203 1777 4844 014204 0000 CDFMYF / COMPARE WITH CUTOFF POINT VALUE 4845 DCA T1 undefined ^ undefined ^ 014205 3000 4846 TAD T1 undefined ^ undefined ^ 014206 1000 4847 014207 1172 TAD SPCCHK 4848 014210 7700 SMA CLA / IS THERE ROOM ? 4849 014211 5234 JMP ACRSTR / YES 4850 / ???? DCA SPCCHK / CLEAR SPCCHK (ONE WARNING IS ENOUGH) 4851 TAD T1 / CHECK FOR HARD LIMIT undefined ^ undefined ^ 014212 1000 4852 014213 1376 TAD (-14) 4853 014214 7740 SMA SZA CLA 4854 014215 5221 JMP DOWTCH 4855 AC7777 undefined ^ 014216 0000 4856 014217 3240 DCA BLKALM 4857 014220 5232 JMP WARN 4858 4859 014221 1237 DOWTCH, TAD BLWTCH / WATCH FOR NEXT USE OF A BLOCK 4860 014222 7450 SNA 4861 014223 5230 JMP NEWTCH 4862 4863 014224 7041 CIA 4864 TAD T1 undefined ^ undefined ^ 014225 1000 4865 014226 7700 SMA CLA 4866 014227 5234 JMP ACRSTR 4867 NEWTCH, TAD T1 undefined ^ undefined ^ 014230 1000 4868 014231 3237 DCA BLWTCH 4869 014232 4523 WARN, OVLJMP;OVSPCE / PUT OUT MESSAGE AND RETURN TO EINEXT undefined ^ 014233 0000 4870 4871 014234 1236 ACRSTR, TAD ACSAVE / RESTORE AC 4872 014235 5600 JMP I CHKSPC 4873 4874 014236 0000 ACSAVE, 0 / TEMP SAVE LOCATION FOR AC SAVING 4875 014237 0000 BLWTCH, 0 / FOR KEEPING TRACK OF BLOCK USAGE 4876 014240 0000 BLKALM, 0 / ALARM FOR HARD LIMIT 4877 4878 4879 / LODCHR GET FIRST AVAILABLE CHARACTER 4880 / 4881 / THIS ROUTINE RETURNS THE FIRST AVAILABLE CHARACTER AT OR AFTER 4882 / THE POSITION POINTED TO BY CURPTR. 4883 / 4884 / CALL: 4885 / 4886 / JMS LODCHR 4887 / 4888 / 4889 / 4890 4891 LODCHR, XX undefined ^ 014241 0000 4892 014242 7200 CLA 4893 014243 4510 CHKPTR 4894 014244 7540 SZA SMA 4895 014245 5250 JMP LODEXI 4896 014246 4506 ADVPTR 4897 014247 5641 JMP I LODCHR / TAKE 1ST RET IF ETX FOUND 4898 014250 2241 LODEXI, ISZ LODCHR 4899 014251 5641 JMP I LODCHR 4900 4901 USCMPR, XX / COMPARE AC&177 WITH MQ, undefined ^ 014252 0000 4902 / USING MQ AS U/L MATCH 4903 / LEAVES AC 0, MQ UNCHANGED 4904 AND P177 / MASK CHAR undefined ^ undefined ^ 014253 0000 4905 014254 7041 CIA 4906 014255 3000 DCA USCMP1 / SAVE FOR COMPARE 4907 014256 7501 MQA 4908 014257 1000 TAD USCMP1 / COMPARE AS IS 4909 014260 7650 SNA CLA 4910 014261 5266 JMP USCMP2 / JUMP IF EQUAL 4911 014262 7501 MQA 4912 014263 4516 XLTUPR / MAKE MATCH CHAR UPPER CASE 4913 014264 1000 TAD USCMP1 / COMPARE AGAIN 4914 014265 7650 SNA CLA 4915 014266 2252 USCMP2, ISZ USCMPR / BUMP RETURN FOR MATCH 4916 014267 5652 JMP I USCMPR / NO BUMP FOR NO MATCH 4917 USCMP1= X0 / TEMP undefined ^ 4918 4919 4920 ESXLUP, XX / XLAT AC TO UPPER CASE undefined ^ 014270 0000 4921 014271 1375 TAD (-173) 4922 014272 7500 SMA 4923 014273 5300 JMP ESXLUA 4924 014274 1374 TAD (173-141) 4925 014275 7500 SMA 4926 014276 1373 TAD (-40) 4927 014277 1372 TAD (141-173) 4928 014300 1371 ESXLUA, TAD (173) 4929 014301 5670 JMP I ESXLUP 4930 4931 4932 4933 / NOW THAT TABLE2 HAS BEEN MOVED TO THE PRINTER, WE HAVE ROOM TO PUT 4934 / ALL THE FORIN DEAD KEY CODE TOGETHER, RIGHT HERE. SOME MODIFICATIONS 4935 / WERE MADE TO ACCESS THE TABLES IN THE PRINTER FIELD. 4936 4937 IFDEF FORIN < 4938 / HERE IF DEAD KEY SEQUENCE 4939 DEAD, TAD CURPTR / GET CURRENT POINTER 4940 DCA POINT2 / SAVE 4941 ADVPTR / ADVANCE CURSOR AND RETURN CHARACTER 4942 NOP 4943 / CAN'T RETURN HERE 4944 MQL / PUT CHAR IN MQ 4945 MQA / REPLACE INTO AC 4946 AND (7600) / GET MODE BITS 4947 DCA ESXLUP / TEMP STORAGE 4948 SWP / SWAP WITH MQ TO GET CHAR BACK 4949 AND P177 / MASK 4950 DCA CHAR1 / SAVE 4951 TAD (TABLE1-1) 4952 JMS SEARCH / SEARCH FOR CHARACTER IN TABLE1 4953 JMP NOTACC / NOT FOUND, RESTORE CURSOR POINTER 4954 4955 JMS GETENT / GET FLAG BITS 4956 4957 DCA CHAR1 / SAVE 4958 ADVPTR / ADVANCE POINTER AND RETURN CHARACTER 4959 NOP / CAN'T RETURN HERE 4960 AND P177 / MASK 4961 TAD CHAR1 / COMBINE WITH FLAG BITS 4962 DCA CHAR1 / SAVE 4963 TAD (TABLE2-1) 4964 JMS SEARCH / LOOK FOR COMBINED CHAR. IN TABLE2 4965 JMP NOTACC / NOT FOUND 4966 4967 JMS GETENT 4968 4969 SPA CLA / SPECIAL? 4970 JMP DEADSP / YES, HANDLE DIFFERENTLY 4971 TAD (16) / FOUND 4972 PUTOUT / OUTPUT SHIFT OUT 4973 4974 JMS GETENT 4975 TAD ESXLUP / ADD MODE BITS 4976 PUTOUT / OUTPUT THE NEW CHARACTER 4977 DEAD1, TAD POINT2 4978 DCA CURPTR / RESTORE CURSOR POINTER 4979 TAD (17) 4980 JMP PUTSC4 / OUTPUT SHIFT IN 4981 DEADSP, TAD POINT2 4982 DCA CURPTR / RESET CURPTR 4983 JMS GETENT / GET CHARACTER 4984 JMP PUTSC4 / OUTPUT IT 4985 / HERE WHEN NO MATCH ON FL SPECIAL CHAR 4986 NOTACC, TAD POINT2 4987 DCA CURPTR / RESTORE CURSOR POINTER 4988 JMP PUTSC2 / OUTPUT A BLOB 4989 4990 > / END IFDEF FORIN 4991 4992 014302 0000 RPBIN2, 0 / BINARY THOUSANDS 4993 4994 014303 0000 CLSBEG, ZBLOCK 1 / COLUMN STRIP PARAMETERS 4995 014304 0000 CLSEND, ZBLOCK 1 4996 4997 014305 4523 EIREPL, OVLJMP;OVREPL / REPLACE undefined ^ 014306 0000 4998 014307 4523 EIUPAR, OVLJMP;OVUPAR / UP ARROW undefined ^ 014310 0000 4999 014311 4523 EIDNAR, OVLJMP;OVDNAR / DOWN ARROW undefined ^ 014312 0000 5000 5001 5002 ESATST, XX / TEST @CURPTR undefined ^ 014313 0000 5003 / RETURN 0 IF NULL, -1 IF ETX/STX, + OTHERWISE 5004 / ENTER WITH AC = OFFSET 5005 CDFBUF / GET TO CORRECT FIELD undefined ^ 014314 0000 5006 014315 1135 TAD CURPTR / ADD PTR TO OFFSET 5007 014316 3135 ESATS1, DCA CURPTR / UPDATE PTR 5008 014317 1535 TAD I CURPTR / GET CURRENT CHAR 5009 014320 7500 SMA 5010 014321 5713 JMP I ESATST / RETURN IF NOT SPECIAL 5011 014322 7001 IAC 5012 014323 7450 SNA 5013 014324 5333 JMP ESATS2 / JUMP IF BUFBEG 5014 014325 7001 IAC 5015 014326 7450 SNA 5016 014327 5335 JMP ESATS3 / JUMP IF BUFEND 5017 014330 7001 IAC 5018 014331 7040 CMA 5019 014332 5713 JMP I ESATST / RETURN -1 IF STX/ETX, + OTHERWISE 5020 ESATS2, AC7775 undefined ^ 014333 0000 5021 014334 1165 TAD BUFSIZ / GO TO BUFEND-2 5022 014335 7001 ESATS3, IAC 5023 014336 1164 TAD BUFBEG / GO TO BUFBEG+1 5024 014337 5316 JMP ESATS1 / UPDATE PTR AND TRY AGAIN 5025 5026 /PGECHO is called with AC = page character, 5027 / 0014 = new page 5028 / 1014 = start print control 5029 / 1414 = end print control 5030 / 2014 = (soft) page marker 5031 5032 PGECHO, XX / PRINT MESSAGE undefined ^ 014340 0000 5033 /D245 AND P7700 / ISOLATE HI BYTE 5034 /D245 BSW / MOVE TO LO BYTE 5035 /D245 CLL RTR / MAP TO 0,2,3,4 5036 /D245 SNA 5037 /D245 IAC / MAP TO 1,2,3,4 5038 /D245 TAD (PGMTBL-1) / INDEX INTO TABLE OF TEXT POINTERS 5039 /D245 DCA PGTEMP / SAVE PTR OF TEXT POINTERS 5040 /D245 CDFMYF / MAP OUR FIELD 5041 /D245 TAD I PGTEMP / GET TEXT POINTER 5042 014341 4770 JMS BHOOK / Call Blaster 5043 BPGECO / undefined ^ 014342 0000 5044 014343 4767 JMS PGMSG / PRINT MESSAGE 5045 014344 5740 JMP I PGECHO / RETURN 5046 /D245PGTEMP= T3 5047 /D245PGMTBL, PGMSG1 / "new page" 5048 /D245 PGMSG3 / "START PRINT CONTROL 5049 /D245 PGMSG4 / "END PRINT CONTROL 5050 /D245 PGMSG2 / "PAGE MARKER" 5051 5052 5053 014345 4523 EIINOV, OVLJMP / Go into Overlay /A254 5054 OVINOF / To switch Inset-Overstrike On-Off /A254 undefined ^ 014346 0000 5055 5056 / 5057 / Check if we are in Overstrike mode , if not return to EINSRT /A254 5058 / otherwise call the Overstrike Overlay /A254 5059 / 5060 5061 014347 3360 OVSCHK, DCA INCHTM / First save the char /A254 5062 014350 1357 TAD INSOVF / Now check the flag /A254 5063 014351 7650 SNA CLA / Are we in Overstrike /A254 5064 014352 5355 JMP OVRSCH / No , restore char and insert it /A254 5065 014353 4523 OVLJMP / Yes, /A254 5066 OVINCH / So call the overlay /A254 undefined ^ 014354 0000 5067 014355 1360 OVRSCH, TAD INCHTM / Get char back /A254 5068 014356 5766 JMP EINSRT / and insert it as normal /A254 5069 5070 5071 014357 0000 INSOVF, 0 / Insert-Overstrike flag /A254 5072 014360 0000 INCHTM, 0 / temp for char just entered /A254 5073 5074 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5075 /--------------- 5076 014366 1314 PAGE 014367 4707 014370 5324 014371 0173 014372 7746 014373 7740 014374 0032 014375 7605 014376 7764 014377 0000 5077 5078 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5079 5080 5081 ESACHR, XX / ADVANCE PTR TO NON-NULL undefined ^ 014400 0000 5082 014401 4510 ADVCL1, CHKPTR 5083 014402 7440 SZA 5084 014403 5600 JMP I ESACHR / JUST RETURN IF THERE ALREADY 5085 014404 1135 TAD CURPTR 5086 DCA T1 / ELSE SET OUR SCAN PTRS undefined ^ undefined ^ 014405 3000 5087 TAD T1 undefined ^ undefined ^ 014406 1000 5088 DCA T2 undefined ^ undefined ^ 014407 3000 5089 014410 1377 TAD (-50) 5090 DCA T3 / AND LIMIT COUNT undefined ^ undefined ^ 014411 3000 5091 014412 3256 DCA ADVCLT 5092 014413 2256 ADVCL8, ISZ ADVCLT 5093 ADVCL2, ISZ T1 / ADVANCE PEEK PTR undefined ^ undefined ^ 014414 2000 5094 TAD I T1 undefined ^ undefined ^ 014415 1400 5095 014416 7450 SNA 5096 014417 5213 JMP ADVCL8 / LOOP TIL NON-NULL 5097 014420 7500 SMA 5098 014421 5233 JMP ADVCL3 / JUMP IF NORMAL TEXT 5099 014422 1376 TAD (3) / ELSE CHECK FOR ETX 5100 014423 7450 SNA 5101 014424 5253 JMP ADVCL4 / JUMP IF ETX 5102 014425 7710 SPA CLA 5103 014426 5232 JMP ADVCL5 / JUMP IF NOT BUFEND 5104 014427 1164 TAD BUFBEG / ELSE RESET TO BUFBEG 5105 DCA T1 undefined ^ undefined ^ 014430 3000 5106 014431 5214 JMP ADVCL2 / AND CONTINUE LOOKING 5107 5108 ADVCL5, TAD I T1 undefined ^ undefined ^ 014432 1400 5109 ADVCL3, DCA I T2 undefined ^ undefined ^ 014433 3400 5110 DCA I T1 undefined ^ undefined ^ 014434 3400 5111 AC7775 undefined ^ 014435 0000 5112 014436 1256 TAD ADVCLT 5113 014437 7750 SPA SNA CLA 5114 014440 5201 JMP ADVCL1 5115 ADVCL7, ISZ T2 / BUMP COPY PTR undefined ^ undefined ^ 014441 2000 5116 TAD I T2 / CHECK FOR BUFEND undefined ^ undefined ^ 014442 1400 5117 014443 7640 SZA CLA 5118 014444 5250 JMP ADVCL6 / JUMP IF SO 5119 ISZ T3 undefined ^ undefined ^ 014445 2000 5120 014446 5214 JMP ADVCL2 / LOOP IF LIMIT NOT REACHED 5121 014447 5201 JMP ADVCL1 / ELSE RETURN 5122 5123 014450 1164 ADVCL6, TAD BUFBEG / RESET TO BUFBEG 5124 DCA T2 undefined ^ undefined ^ 014451 3000 5125 014452 5241 JMP ADVCL7 / AND CONTINUE 5126 5127 ADVCL4, AC7775 undefined ^ 014453 0000 5128 DCA I T2 / COPY ETX undefined ^ undefined ^ 014454 3400 5129 014455 5201 JMP ADVCL1 / AND RETURN 5130 5131 014456 0000 ADVCLT, .-. 5132 5133 RSTRLN, XX / RESTORE 23RD LINE undefined ^ 014457 0000 5134 014460 1136 TAD CURSOR 5135 014461 3267 DCA RSTRT2 5136 014462 3136 DCA CURSOR 5137 014463 4775 JMS SCRNMD 5138 014464 1267 TAD RSTRT2 5139 014465 3136 DCA CURSOR 5140 014466 5657 JMP I RSTRLN / THEN RETURN 5141 014467 0000 RSTRT2, 0 5142 5143 PROMPT, XX / CLEAR LINE AND PROMPT undefined ^ 014470 0000 5144 014471 7200 CLA 5145 014472 4257 JMS RSTRLN / SET MOD FLAG 5146 014473 4774 JMS PCUR / RESET TO BEGINNING OF LINE 5147 014474 0000 CDFMYF 5148 014475 1670 TAD I PROMPT 5149 014476 3304 DCA PROSTR / GET STRING PTR 5150 014477 2270 ISZ PROMPT 5151 014500 1047 TAD LOWLIM / RE-SET CURPOS TO START OF LINE!!! 5152 014501 7041 CIA / SO THAT PROMPT ISN'T TRUNCATED ON 5153 014502 3046 DCA CURPOS / RIGHT SIDE OF SCREEN. 5154 JMS PUTMSG / WRITE MESSAGE undefined ^ undefined ^ 014503 4000 5155 014504 0000 PROSTR, .-. 5156 014505 5670 JMP I PROMPT 5157 5158 GETLIN, XX / GET USER INPUT (CR ENDS) undefined ^ 014506 0000 5159 014507 3126 DCA PRICNT / GET INITIAL FILL COUNT 5160 014510 4363 JMS CLREOL / Erase to end of line 5161 014511 1706 TAD I GETLIN 5162 014512 3320 DCA PRISTR / SET BUFFER PTR 5163 014513 2306 ISZ GETLIN / BUMP TO RETURN ADDR 5164 014514 1126 PROMP2, TAD PRICNT / LOAD FLAG WORD 5165 /D228 SNA 5166 014515 7040 CMA / INSURE IT'S NONZERO 5167 CIFMNU undefined ^ 014516 0000 5168 JMS I INACAL / READ A LINE undefined ^ undefined ^ 014517 4400 5169 PRISTR, EIGES3-1 / INTO BUFFER undefined ^ 014520 7777 5170 014521 7410 SKP 5171 TAD (EDNWLN) / SET TERMINATOR FOR NORMAL RTN undefined ^ undefined ^ 014522 1373 5172 014523 3125 DCA GETTRM 5173 014524 7521 SWP 5174 014525 3126 DCA PRICNT / SAVE FILL COUNT 5175 014526 1125 TAD GETTRM / TEST TERMINATOR FOR... 5176 5177 014527 4500 ZZCASE / COMPARE AGAINST TABLE 5178 014530 4537 CTB013-1 / TABLE ADDRESS FOR CASE 5179 5180 / EDRULR; RRGOTO / GOLD:RULER KEYS 5181 / EDPAGE; RPGOTO / PAGE KEY 5182 / EDNWLN; PRIST1 / RETURN KEY 5183 / EDADVN; PRIST1 / ADVANCE KEY 5184 / EDBKUP; PRIST1 / BACKUP KEY 5185 / EDSRCH; PRIST1 / SEARCH KEY 5186 / EDCONT; PRIST1 / CONTINUE SEARCH KEY 5187 / 0 / INDICATE END OF TABLE 5188 5189 014531 4772 JMS BEEPER / ELSE ERROR 5190 014532 5314 JMP PROMP2 5191 5192 5193 014533 4523 RRGOTO, OVLJMP / INITIATE GOTO-RULER (RAPID RULER) 5194 OVGSGR / ("GOLD:SEARCH GOLD:RULER" COMMAND) undefined ^ 014534 0000 5195 5196 5197 014535 4523 RPGOTO, OVLJMP;OVRPPG / INITIATE GOTO-PAGE (RAPID PAGING) undefined ^ 014536 0000 5198 5199 5200 014537 5706 PRIST1, JMP I GETLIN 5201 5202 CTB013, EDRULR; RRGOTO / GOLD:RULER KEYS undefined ^ 014540 0000 014541 4533 5203 EDPAGE; RPGOTO / PAGE KEY undefined ^ 014542 0000 014543 4535 5204 EDNWLN; PRIST1 / RETURN KEY undefined ^ 014544 0000 014545 4537 5205 EDADVN; PRIST1 / ADVANCE KEY undefined ^ 014546 0000 014547 4537 5206 EDBKUP; PRIST1 / BACKUP KEY undefined ^ 014550 0000 014551 4537 5207 EDSRCH; PRIST1 / SEARCH KEY undefined ^ 014552 0000 014553 4537 5208 EDCONT; PRIST1 / CONTINUE SEARCH KEY undefined ^ 014554 0000 014555 4537 5209 014556 0000 0 / INDICATE END OF TABLE 5210 5211 PRICNT= GETLEN 5212 5213 / Use the New Line escape sequence if in ANSI mode 5214 NWLN, XX undefined ^ 014557 0000 5215 014560 4515 PUTESC / Put out an escape sequence 5216 014561 0105 "E-200 / ESC E 5217 014562 5757 JMP I NWLN 5218 5219 CLREOL, XX undefined ^ 014563 0000 5220 014564 4515 PUTESC / Put out an escape sequence 5221 014565 4133 "[+4000-200 / subtract 200 to convert to sixbit ascii 5222 / and add 4000 to signify continue 5223 014566 0113 "K-200 5224 014567 5763 JMP I CLREOL 5225 5226 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5227 /--------------- 5228 014572 0324 PAGE 014573 0000 014574 1400 014575 2267 014576 0003 014577 7730 5229 5230 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5231 5232 5233 014600 0000 PUTLNZ, 0 / THE COLUMN THAT THE CURSOR IS IN 5234 014601 0000 PUTLNX, 0 / TEMP POINTER TO CHARACTER IN DOCUMENT 5235 5236 PUTLIN, XX / PUT LINE ON SCREEN undefined ^ 014602 0000 5237 014603 1135 TAD CURPTR 5238 014604 3201 DCA PUTLNX / SAVE CURPTR 5239 014605 4777 JMS LODCHR 5240 014606 5234 JMP PUTLNW / GET FIRST CHAR 5241 PUTLN2, AND P177 / STRIP MODE BITS undefined ^ undefined ^ 014607 0000 5242 5243 014610 4500 ZZCASE / COMPARE AGAINST TABLE 5244 014611 4673 CTB014-1 / TABLE ADDRESS FOR CASE 5245 5246 / ECSTRL; PUTLNR / START RULER 5247 / ECNWPG; PUTLNP / NEW PAGE 5248 / ECNWLN; PUTLNL / NEW LINE 5249 / ECTAB; PUTLNB / TAB 5250 / ECMDFL; PUTLN1 / LINE MODIFIED 5251 / 0 / INDICATE END OF TABLE 5252 5253 014612 5245 JMP PUTLN4 5254 014613 4517 PUTLN1, ADVSPC 5255 014614 5234 JMP PUTLNW 5256 014615 5207 JMP PUTLN2 5257 5258 014616 1046 PUTLNR, TAD CURPOS / Ignore unjustified ruler. 5259 014617 7650 SNA CLA / ... 5260 014620 4776 JMS DSPRLN / display ruler line. 5261 PUTLNU, 5262 PUTLNV, 5263 014621 7200 PUTLN3, CLA 5264 014622 1201 TAD PUTLNX 5265 014623 3135 DCA CURPTR / RESTORE CURPTR 5266 014624 5602 JMP I PUTLIN 5267 5268 014625 1046 PUTLNP, TAD CURPOS 5269 014626 7640 SZA CLA 5270 014627 5221 JMP PUTLNU / Ignore unjustified page mrkr. 5271 014630 1535 TAD I CURPTR 5272 014631 4775 JMS PGECHO 5273 014632 5221 JMP PUTLN3 5274 5275 014633 1535 PUTLNL, TAD I CURPTR 5276 014634 4774 PUTLNW, JMS LNECHT / Print hyphen or select point if needed 5277 014635 4515 PUTESC 5278 014636 4133 "[&177+4000 5279 014637 0113 "K&177 / do erase to End Of Line. 5280 014640 5221 JMP PUTLNV 5281 5282 014641 1535 PUTLNB, TAD I CURPTR / RESTORE TAB CHAR 5283 014642 0373 AND (3600) / TO GET IT'S ATTRIBUTE 5284 MRGSPC, TAD (ECSPC) / AND MERGE WITH A SPACE undefined ^ undefined ^ 014643 1372 5285 014644 5254 JMP PUTLN6 5286 5287 014645 1535 PUTLN4, TAD I CURPTR 5288 TAD (-ECJSPC) / IF CHAR IS NOT A SOFT SPACE undefined ^ undefined ^ 014646 1372 5289 014647 7640 SZA CLA / THEN 5290 014650 5253 JMP PUT4 / RESTORE CHAR TO OUTPUT 5291 / ELSE 5292 014651 1175 TAD CHRATR / GET ATTRIBUTE OF TAB 5293 014652 5243 JMP MRGSPC / TO MERGE WITH A SPACE 5294 5295 014653 1535 PUT4, TAD I CURPTR / RESTORE CHAR 5296 5297 014654 7421 PUTLN6, MQL / save char temporarily. 5298 014655 1046 TAD CURPOS / Get current character posn in line. 5299 014656 7041 CIA / compare to 1st printable posn. 5300 014657 1136 TAD CURSOR / which is (CURSOR). 5301 014660 7750 SPA SNA CLA / skip if char to the left of "cursor". 5302 014661 7501 MQA / get printable character back. 5303 014662 4771 JMS PUTSCH 5304 014663 1177 TAD WIDNAR / wide screen? /M226 5305 014664 7650 SNA CLA / skip if narrow. /M226 5306 014665 1370 TAD (-WIDTH+COLM81) / M219 compute "-wide" width. 5307 014666 1367 TAD (-COLM81) / M219 compute "-narrow" width. 5308 014667 1046 TAD CURPOS / Get current cursor posn. 5309 014670 1047 TAD LOWLIM / Now see if within screen width. 5310 / AC is now >= 0 if outside screen width 5311 014671 7710 SPA CLA / skip if bbeyond threshold. 5312 014672 5213 JMP PUTLN1 / Loop to do more. 5313 014673 5221 JMP PUTLN3 / end of line encountered. 5314 / 5315 / +++ IN THIS CASE-TABLE THE ENTRY FOR 'START RULER' COULD /A216 5316 / DYNAMICALLY BE CHANGED DURING EDITOR EXECUTION. THE REASON; /A216 5317 / TURN RULER DISPLAY ON OR OFF DEPENDING ON EDITOR STATUS WORD /A216 5318 / (MNSTAT): /A216 5319 / /A216 5320 / 0 OR 1 RULER DISPLAY ON GOTO @PUTLNR' /A216 5321 / 2 OR 3 RULER DISPLAY OFF GOTO @PUTLN3' /A216 5322 / /A216 5323 / IN PLACE OF THE RULER, THE USER WILL SEE A BLANK LINE, WHICH THE/A216 5324 / USER CANNOT PLACE THE CURSOR ON. /A216 5325 / /A216 5326 / THIS DYNAMIC CHANGE OCCURS ONLY WHEN THE EDITOR IS LOADED (FIRST/A216 5327 / TIME) AND WHENEVER THE EDITOR-MENU IS CALLED. /A216 5328 5329 5330 CTB014, ECSTRL /C216 undefined ^ 014674 0000 5331 014675 4616 RULOFF, PUTLNR / START RULER /C216 5332 ECNWPG; PUTLNP / NEW PAGE undefined ^ 014676 0000 014677 4625 5333 ECNWLN; PUTLNL / NEW LINE undefined ^ 014700 0000 014701 4633 5334 ECTAB; PUTLNB / TAB undefined ^ 014702 0000 014703 4641 5335 ECMDFL; PUTLN1 / LINE MODIFIED undefined ^ 014704 0000 014705 4613 5336 014706 0000 0 / INDICATE END OF TABLE 5337 5338 PGMSG, XX / ENTER WITH AC = ADDRESS OF MESSAGE undefined ^ 014707 0000 5339 014710 7450 SNA / 5340 014711 5332 JMP PGMSGB 5341 014712 3321 DCA PGMSGX / SAVE MESSAGE ADDRESS FOR DISPLAY 5342 014713 1177 TAD WIDNAR / FORCED NARROW? /M223 5343 014714 7650 SNA CLA / SKIP IF NARROW. /M223 5344 014715 1366 TAD (-20) / XTRA SPACING FOR 132 COL MODE. 5345 014716 4765 JMS PTDASH 5346 014717 7740 -40 5347 JMS PUTMSG undefined ^ undefined ^ 014720 4000 5348 014721 0000 PGMSGX, 0 / ADDRESS OF MESSAGE TO BE DISPLAYED 5349 5350 014722 0000 CDFMYF /A223 5351 014723 1177 TAD WIDNAR / FORCED NARROW? /M223 5352 014724 7650 SNA CLA / SKIP IF NARROW. /M223 5353 TAD P7700 / xtra spacing for 132 col mode. undefined ^ undefined ^ 014725 1000 5354 014726 4765 JMS PTDASH 5355 014727 7725 -53 5356 AC7777 / reset CURPOS so that FXSCRL will undefined ^ 014730 0000 5357 014731 3046 DCA CURPOS / reposition the cursor. 5358 014732 5707 PGMSGB, JMP I PGMSG 5359 5360 / PSUEDO_CODE: 5361 / BEGIN CHKLMD 5362 / IF CHAR = 'LINE_MODIFIED' OR 'RULER_MODIFIED' 5363 / THEN 5364 / IF CHAR = 'RULER_MODIFIED' 5365 / THEN SET RULER_MODIFIED_FLAG 5366 / 5367 / DELETE CHAR 5368 / SET LINE_MODIFIED_FLAG 5369 / BUMP RETURN ADDRESS 5370 / END CHKLMD 5371 5372 CHKLMD, XX / CHECK FOR MODIFIED FLAGS undefined ^ 014733 0000 5373 014734 1535 TAD I CURPTR / GET CHARACTER 5374 TAD (-ECMDFL) / CHARACTER = "LINE_MODIFIED_FALG"? undefined ^ undefined ^ 014735 1372 5375 014736 7450 SNA / SKIP IF: NOT 5376 014737 5345 JMP CHKLMA 5377 TAD (ECMDFL-ECRMFL) / CHARACTER = "RULER_MODIFIED_FLAG"? undefined ^ undefined ^ undefined ^ undefined ^ 014740 1372 5378 014741 7640 SZA CLA / SKIP IF: SO 5379 014742 5733 JMP I CHKLMD / RETURN IF NOT MOD FLAG 5380 TAD (ECRMFL) / SET RULER MODIFIED FLAG undefined ^ undefined ^ 014743 1372 5381 014744 3124 DCA RLRMOD 5382 014745 3535 CHKLMA, DCA I CURPTR / DELETE FLAG 5383 014746 4514 SLNMOD / SET INDICATOR 5384 014747 2333 ISZ CHKLMD / BUMP RETURN 5385 014750 5733 JMP I CHKLMD / RETURN 5386 5387 5388 5389 014751 4523 EISRCH, OVLJMP;OVSRCH / SEARCH OVERLAY undefined ^ 014752 0000 5390 014753 4523 CASUNT, OVLJMP;OVCASE / CASE UNIT (UPPER/LOWER CASE) undefined ^ 014754 0000 5391 014755 4523 EIHYPS, OVLJMP;OVHYPS / HYPHEN PUSH OVERLAY undefined ^ 014756 0000 5392 5393 5394 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5395 /--------------- 5396 014765 1630 PAGE 014766 7760 014767 7660 014770 7714 014771 3054 014772 0000 014773 3600 014774 1501 014775 4340 014776 5541 014777 4241 5397 5398 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5399 5400 EDICHR, XX undefined ^ 015000 0000 5401 015001 0000 CDFMYF 5402 JMS GSRCK / SEE IF GLOBAL SEARCH IS ON undefined ^ undefined ^ 015002 4000 5403 015003 5206 JMP EDICH1 5404 5405 EDICH2, CIFSYS undefined ^ 015004 0000 5406 JWAIT undefined ^ 015005 0000 5407 5408 EDICH1, CIFPRT undefined ^ 015006 0000 5409 JMS I (FLABUZ) / SOUND BUZZER AND TOGGLE LED'S undefined ^ undefined ^ 015007 4777 5410 / IF THEIR IS A PRINTER ERROR 5411 CIFSYS undefined ^ 015010 0000 5412 XLTIN undefined ^ 015011 0000 5413 015012 5204 JMP EDICH2 5414 015013 5600 EDICH3, JMP I EDICHR 5415 5416 5417 DSKCAL, XX / CALL FIELD 0 DISKIO ROUTINES undefined ^ 015014 0000 5418 DCA T1 undefined ^ undefined ^ 015015 3000 5419 015016 0000 CDFMYF 5420 015017 1614 TAD I DSKCAL 5421 015020 3224 DCA .+4 5422 TAD T1 undefined ^ undefined ^ 015021 1000 5423 CIFFIO undefined ^ 015022 0000 5424 FILEIO undefined ^ 015023 0000 5425 015024 0000 .-. 5426 015025 2214 ISZ DSKCAL 5427 CDFBUF undefined ^ 015026 0000 5428 015027 5614 JMP I DSKCAL 5429 5430 PSTIO, XX / PASTE_I/O - READ & WRITE PASTE BUF. undefined ^ 015030 0000 5431 015031 3235 DCA .+4 / SET FUNCTION CODE 5432 015032 1130 TAD PSTBLK 5433 CDFBUF undefined ^ 015033 0000 5434 015034 4241 JMS SYSIO 5435 015035 0000 .-. 5436 015036 7400 PSTEBF / DO I/O 5437 015037 4776 JMS SETPST / RESET PTRS 5438 015040 5630 JMP I PSTIO / AND RETURN 5439 5440 SYSIO, XX / DO SYS IO undefined ^ 015041 0000 5441 DCA PSQBLK+RXQBLK / SET BLOCK NUMBER undefined ^ 015042 3272 5442 015043 6214 RDF 5443 TAD CDF0 / GET BUFFER FIELD undefined ^ undefined ^ 015044 1000 5444 DCA PSQBLK+RXQBFD / STORE IN QBLK undefined ^ 015045 3272 5445 015046 0000 CDFMYF 5446 015047 1641 TAD I SYSIO 5447 DCA PSQBLK+RXQFNC / AND FUNCTION CODE undefined ^ 015050 3272 5448 015051 2241 ISZ SYSIO 5449 015052 1641 TAD I SYSIO 5450 DCA PSQBLK+RXQBAD / AND BUFFER ADDRESS undefined ^ 015053 3272 5451 /D212 TAD USERNO 5452 /D212 CLL RAL / GET DRIVE NUMBER 5453 DCA PSQBLK+RXQDRV / SET DRIVE NUMBER TO ZERO IN QUEUE BLOCK undefined ^ 015054 3272 5454 015055 2241 ISZ SYSIO 5455 5456 CIFSYS undefined ^ 015056 0000 5457 ENQUE undefined ^ 015057 0000 5458 015060 5067 PQBLK / QUEUE Q-BLOCK 5459 5460 SYSIO1, CIFSYS undefined ^ 015061 0000 5461 JWAIT / WAIT FOR EVENT undefined ^ 015062 0000 5462 TAD PSQBLK+RXQCOD / ARE WE DONE? undefined ^ 015063 1272 5463 015064 7650 SNA CLA 5464 015065 5261 JMP SYSIO1 / NO 5465 015066 5641 JMP I SYSIO / AND RETURN 5466 5467 PQBLK, DSKQUE; 0; 0 undefined ^ 015067 0000 015070 0000 015071 0000 5468 015072 0000 PSQBLK, 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; PSTEBF; CDFBUF; 0; 0 015073 0000 015074 0000 015075 0000 015076 0000 015077 0000 015100 0000 015101 0000 015102 0000 015103 0000 015104 0000 015105 7400 undefined ^ 015106 0000 015107 0000 015110 0000 5469 5470 5471 5472 5473 5474 / OVJUMP JUMP TO OVERLAY IN OVERLAY AREA 1 5475 / 5476 / 5477 5478 OVJUMP, XX undefined ^ 015111 0000 5479 015112 0000 CDFMYF 5480 015113 1711 TAD I OVJUMP 5481 DCA T1 undefined ^ undefined ^ 015114 3000 5482 TAD (OVLAY1) undefined ^ undefined ^ 015115 1377 5483 015116 3354 DCA OVLOA2 5484 TAD (TAD (DLOEDO-1) ) undefined ^ undefined ^ undefined ^ undefined ^ 015117 1374 5485 015120 3351 DCA OVLOA4 5486 015121 5337 JMP OVJMCM 5487 5488 015122 2311 OVJRTN, ISZ OVJUMP 5489 015123 5711 JMP I OVJUMP 5490 5491 5492 / OV2JMP JUMP TO OVERLAY IN OVERLAY AREA 2 5493 / 5494 / 5495 5496 OV2JMP, XX undefined ^ 015124 0000 5497 015125 0000 CDFMYF 5498 015126 1724 TAD I OV2JMP 5499 DCA T1 undefined ^ undefined ^ 015127 3000 5500 TAD (OVLAY2) undefined ^ undefined ^ 015130 1377 5501 015131 3354 DCA OVLOA2 5502 TAD (TAD (DLOEDO-1+37) ) undefined ^ undefined ^ undefined ^ undefined ^ 015132 1372 5503 015133 3351 DCA OVLOA4 5504 015134 5337 JMP OVJMCM 5505 5506 015135 2324 OV2JRT, ISZ OV2JMP 5507 015136 5724 JMP I OV2JMP 5508 5509 5510 015137 1754 OVJMCM, TAD I OVLOA2 / READ LOCATION 7400 FOR OVERLAY NUMBER 5511 015140 7041 CIA / NEGATE THE VALUE 5512 TAD T1 / COMPARE WITH CURRENT REQUEST NUMBER undefined ^ undefined ^ 015141 1000 5513 015142 0371 AND (7600) / MASK OFF ADDRESS BITS 5514 015143 7650 SNA CLA / IS OVERLAY IN MEMORY ? 5515 015144 5355 JMP OVLOA1 / JUMP IF SAME 5516 5517 OVLOA3, TAD T1 / PICK UP OVERLAY REQUEST NUMBER undefined ^ undefined ^ 015145 1000 5518 015146 7002 BSW / MOVE TO LOW ORDER BITS 5519 AND P77 / MASK OFF OVERLAY NUMBER undefined ^ undefined ^ 015147 0000 5520 015150 7110 CLL RAR / DIVIDE NUMBER BY TWO 5521 OVLOA4, TAD (DLOEDO-1) / CONVERT TO BLOCK NUMBER undefined ^ undefined ^ 015151 1375 5522 015152 4241 JMS SYSIO 5523 RXERD / READ IT IN undefined ^ 015153 0000 5524 5525 OVLOA2, OVLAY1 / TO OVERLAY AREA undefined ^ 015154 0000 5526 5527 OVLOA1, TAD T1 undefined ^ undefined ^ 015155 1000 5528 AND P177 / GET DESIRED ADDRESS undefined ^ undefined ^ 015156 0000 5529 015157 1354 TAD OVLOA2 / RELOCATE IT TO OVERLAY AREA 5530 DCA T1 / STORE FOR CALLER undefined ^ undefined ^ 015160 3000 5531 JMP I T1 undefined ^ undefined ^ 015161 5400 5532 5533 015162 0000 RPMTRL, 0 / Rapid Paging MaTh RuLer offset 5534 5535 / THIS LINE (AND ANY LIKE IT) MAY APPEAR AT THE END OF ANY PAGE 5536 / THAT THERE IS ROOM (TWO WORDS PER LINE) 5537 5538 015163 4523 EIRULR, OVLJMP;OVRULR / GOLD RULER undefined ^ 015164 0000 5539 5540 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5541 /--------------- 5542 015171 7600 PAGE 015172 1373 015173 0036 015174 1375 015175 7777 015176 5316 015177 0000 5543 5544 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5545 5546 5547 RDNXNJ, XX / RDNXCH, NO JUST CODES undefined ^ 015200 0000 5548 015201 4777 JMS DSKCAL 5549 XRDFNC undefined ^ 015202 0000 5550 015203 7550 SNA SPA 5551 015204 5215 JMP RDNXN1 / JUMP IF ERR OR EOF 5552 JMS ESJCHK undefined ^ undefined ^ 015205 4000 5553 015206 7440 SZA 5554 TAD (JCHKOF-ECPMRK) undefined ^ undefined ^ undefined ^ undefined ^ 015207 1376 5555 015210 7450 SNA 5556 015211 5201 JMP RDNXNJ+1 5557 TAD (ECPMRK) undefined ^ undefined ^ 015212 1376 5558 015213 2200 ISZ RDNXNJ 5559 015214 5600 JMP I RDNXNJ 5560 015215 7200 RDNXN1, CLA / TREAT ERR JUST LIKE EOF 5561 015216 5600 JMP I RDNXNJ 5562 5563 COPRUL, XX / COPY NWRUL BUFFER TO CURUL BUFFER undefined ^ 015217 0000 5564 JMS CPYBUF undefined ^ undefined ^ 015220 4000 5565 -RULSIZ undefined ^ 015221 0000 5566 CDFMNU / M219 undefined ^ 015222 0000 5567 015223 2777 NWRUL-1 5568 015224 0000 CDFMYF 5569 CURUL-1 undefined ^ 015225 7777 5570 CDFMNU / A219 undefined ^ 015226 0000 5571 015227 1775 TAD NWLMAR 5572 JMS GETBYT undefined ^ undefined ^ 015230 4000 5573 015231 3000 NWRUL / DETERMINE SPACING 5574 015232 7110 CLL RAR 5575 JMS GETBYT undefined ^ undefined ^ 015233 4000 5576 XLMAR undefined ^ 015234 0000 5577 015235 3143 DCA SPACNG 5578 CDFMNU / A219 undefined ^ 015236 0000 5579 5580 / the following is a blaster call to a panel memory subroutine to /a238 5581 / create space in this page for the panel hole blaster (rather /a238 5582 / cannibalistic but there it is anyway) /a238 5583 5584 015237 4324 JMS BHOOK / off to the hook /a238 5585 BLRUL0 / subroutines blaster table entry /a238 undefined ^ 015240 0000 5586 / contains all the information /a238 5587 / required to run the folling deleted /a238 5588 / code from panel memory routines /a238 5589 5590 /d238 AC7777 5591 /d238 TAD NWLMAR 5592 /d238 DCA LFTMAR 5593 /d238 AC7777 5594 /d238 TAD NWRMAR 5595 /d238 DCA RGTMAR 5596 /d238 AC7777 5597 /d238 TAD NWWMAR 5598 /d238 SPA 5599 /d238 TAD NWLMAR 5600 /d238 DCA WRPMAR 5601 /d238 AC7777 5602 /d238 TAD NWPMAR 5603 /d238 SPA 5604 /d238 TAD NWLMAR 5605 /d238 DCA PGFMAR 5606 /d238 AC7777 5607 /d238 TAD NWCMAR 5608 /d238 CLL RAL 5609 /d238 SMA 5610 /d238 JMP .+4 5611 /d238 AC0001 5612 /d238 TAD LFTMAR 5613 /d238 TAD RGTMAR 5614 /d238 DCA CENMAR 5615 /d238 CDFMNU Qu. why did we need this anyway?? / A219 5616 5617 015241 5617 JMP I COPRUL 5618 5619 INSRUL, XX / INSTALL RULER undefined ^ 015242 0000 5620 TAD (ECSTRL) undefined ^ undefined ^ 015243 1376 5621 015244 4260 JMS INSRL1 5622 015245 4774 JMS MAKRUL 5623 CURUL undefined ^ 015246 0000 5624 015247 5260 INSRL1 5625 TAD (ECMDRL) undefined ^ undefined ^ 015250 1376 5626 015251 4260 JMS INSRL1 5627 015252 4774 JMS MAKRUL 5628 015253 3000 NWRUL 5629 015254 5260 INSRL1 5630 TAD (ECNDRL) undefined ^ undefined ^ 015255 1376 5631 015256 4260 JMS INSRL1 5632 015257 5642 JMP I INSRUL 5633 5634 INSRL1, XX undefined ^ 015260 0000 5635 015261 4773 JMS INSERT 5636 AC0001 undefined ^ 015262 0000 5637 015263 4510 CHKPTR 5638 015264 7200 CLA 5639 015265 0000 CDFMYF 5640 015266 5660 JMP I INSRL1 5641 5642 RLGETS, XX / TAD RULR - JMS RLGETS undefined ^ 015267 0000 5643 015270 4301 JMS RLGETX 5644 015271 3275 DCA RLGET1 5645 JMS CPYBUF undefined ^ undefined ^ 015272 4000 5646 -RULSIZ undefined ^ 015273 0000 5647 CDFBUF undefined ^ 015274 0000 5648 015275 0000 RLGET1, .-. 5649 CDFMNU / M219 undefined ^ 015276 0000 5650 015277 2777 NWRUL-1 5651 015300 5667 JMP I RLGETS 5652 5653 RLGETX, XX / TAD RULR - JMS RLGETX undefined ^ 015301 0000 5654 / RETURNS ADDR-1 5655 015302 7110 CLL RAR 5656 TAD (DLRLRE) / GET BLOCK undefined ^ undefined ^ 015303 1376 5657 015304 3130 DCA PSTBLK 5658 015305 7006 RTL 5659 015306 7002 BSW / 0 OR 200 5660 015307 3275 DCA RLGET1 5661 TAD (RXERD) undefined ^ undefined ^ 015310 1376 5662 015311 4772 JMS PSTIO / READ TO PSTEBF 5663 015312 0000 CDFMYF 5664 015313 1275 TAD RLGET1 5665 015314 1131 TAD PSTPTR / RETURN ADDR-1 5666 015315 5701 JMP I RLGETX 5667 5668 SETPST, XX / RESET PAST BUFFER PTRS undefined ^ 015316 0000 5669 015317 1371 TAD (PSTEBF) 5670 015320 3131 DCA PSTPTR 5671 015321 3132 DCA BASKCT / SHOW EMPTY WASTEBASKET 5672 CDFBUF / RESET FIELD undefined ^ 015322 0000 5673 015323 5716 JMP I SETPST 5674 5675 /******************************************************************** 5676 / BHOOK Hook to panel page blaster 5677 /******************************************************************** /a238 5678 5679 015324 0000 BHOOK, 0 / hook return address /a238 5680 015325 3345 DCA BLACSV / save accumulator /a238 5681 015326 6214 RDF / read the data field /a238 5682 TAD CDF0 / make a cdf instruction /a238 undefined ^ undefined ^ 015327 1000 5683 015330 3342 DCA BHKEXI / save for return /a238 5684 015331 0000 CDFMYF / set to hooks field /a238 5685 015332 1724 TAD I BHOOK / get the table entry /a238 5686 015333 7421 MQL / push into MQ /a238 5687 015334 1345 TAD BLACSV / get the ac /a238 5688 015335 2324 ISZ BHOOK / increment the return address /a238 5689 CIFMNU / blaster is in the menu field /a238 undefined ^ 015336 0000 5690 015337 6002 IOF / turn the interrupts off before.. /a238 5691 015340 4744 JMS I BLASTH / Calling blaster /a238 5692 015341 2324 ISZ BHOOK / skip return exit /a238 5693 015342 0000 BHKEXI, 0 / CDF instruction /a238 5694 015343 5724 JMP I BHOOK / return /a238 5695 BLASTH, BLASTR / blastr address (get from WPF1) /a238 undefined ^ 015344 0000 5696 015345 0000 BLACSV, 0 / ac save /a238 5697 5698 5699 / 5700 / Moved here on edit 241 for space reasons /M241 5701 / 5702 015346 4523 EIBOTM, OVLJMP;OVRBOT / V2 "FAST" GOLD BOTTOM undefined ^ 015347 0000 5703 / 5704 / 5705 / Moved here on edit 245 for space reasons /M245 5706 UDLBIT= BLDBIT 5707 015350 1370 UDLUNT, TAD (400) / SET... 5708 015351 3154 NUDUNT, DCA UDLBIT / ...OR CLEAR UNDERLINING 5709 015352 4523 OVLJMP;OVUNDL undefined ^ 015353 0000 5710 5711 015354 4523 EIGPST, OVLJMP;OVGPST undefined ^ 015355 0000 5712 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5713 /--------------- 5714 015370 0400 PAGE 015371 7400 015372 5030 015373 2000 015374 5447 015375 3170 015376 0000 015377 5014 5715 5716 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5717 /a239 the following two subroutines CMPRUL and CLRRULR now call the BLASTR 5718 /a239 see WPHOLE 5719 / 5720 / SUBR CMPRUL -- 5721 / COMPARES CURRENT RULER (CURUL) TO NEW RULER (NWRUL). 5722 / CHECKS FOR RULER CHANGES. 5723 / 5724 / CALL: 5725 / CLA / AC MUST = 0 5726 / / DF DOESN'T MATTER 5727 / JMS CMPRUL / COMPARE NWRUL TO CURUL 5728 / JMP RULSAM / RULERS ARE THE SAME, AC=0 5729 / JMP RULDIF / RULERS ARE DIFFERENT, AC=0 5730 / 5731 5732 CMPRUL, XX undefined ^ 015400 0000 5733 015401 4777 JMS BHOOK / call CMPRLH through the BLASTR /a239 5734 CMPRLE / BLASTR table entry /a239 undefined ^ 015402 0000 5735 015403 7410 SKP / normal return keep it normal /a239 5736 015404 2200 ISZ CMPRUL / skip return from BHOOK and now from here /a239 5737 015405 5600 JMP I CMPRUL / RETURN /a239 5738 5739 /d239 TAD (NWRUL-1) / GET PNTR TO NEW RULER 5740 /d239 DCA X0 5741 /2239 TAD (CURUL-1) / GET PNTR TO OLD RULER 5742 /d239 DCA X1 5743 /d239 TAD (-RULSIZ) 5744 /d239 DCA T1 5745 /d239CMPRL1, CDFMNU / A219 5746 /d239 TAD I X0 5747 /d239 CIA / COMPARE NEW TO OLD 5748 /d239 CDFMYF / A219 5749 /d239 TAD I X1 5750 /d239 SZA CLA 5751 /d239 JMP CMPRL2 5752 /d239 ISZ T1 5753 /d239 JMP CMPRL1 / NOT SIGNIFICANT, DO NEXT 5754 /d239 SKP 5755 /d239CMPRL2, ISZ CMPRUL 5756 /d239 JMP I CMPRUL 5757 5758 CLRULR, XX / CLEAR RULER undefined ^ 015406 0000 5759 015407 4777 JMS BHOOK / Call CLRLRH thru the BLASTR /a239 5760 CLRLRE / BLASTR table entry /a239 undefined ^ 015410 0000 5761 015411 5606 JMP I CLRULR /a239 5762 5763 /d239 CDFMNU 5764 /d239 TAD (NWRUL-1) 5765 /d239 DCA X0 5766 /d239 TAD (-HAFRUL) 5767 /d239 DCA T1 5768 /d239 TAD (101) 5769 /d239 DCA I X0 5770 /d239 ISZ T1 5771 /d239 JMP .-3 5772 /d239 TAD (-10) 5773 /d239 DCA T1 5774 /d239 DCA I X0 5775 /d239 ISZ T1 5776 /d239 JMP .-2 5777 /d239 CDFMYF 5778 /d239 JMP I CLRULR 5779 5780 /a239 THE above two routines removed to WPHOLE 5781 5782 /***********************************************************************/a239 5783 /a239 INSERT CHAR into text buffer allowing for 8 bit data 5784 /***********************************************************************/a239 5785 5786 ESIMCH, XX / subroutine return address /a239 undefined ^ 015412 0000 5787 015413 3244 DCA ET1 / save the char /a239 5788 015414 1244 TAD ET1 / get it back /a239 5789 015415 0376 AND (200) / check for 8 bit data /a239 5790 015416 7650 SNA CLA / skip if 8 bit /a239 5791 015417 5236 JMP NEXPC / deal with the char normally /a239 5792 015420 4514 SLNMOD / set line modified flag /a239 5793 015421 1375 TAD (ESTRING-1) / get the start of the standard dead str/a239 5794 DCA X1 / save in an index register /a239 undefined ^ undefined ^ 015422 3000 5795 015423 6214 ELOOP, RDF / read the data field /a239 5796 TAD CDF0 / make a CDF instruction /a239 undefined ^ undefined ^ 015424 1000 5797 015425 3230 DCA ESCDF / put it where you can use it /a239 5798 015426 0000 CDFMYF / get this field to access ESTRING /a239 5799 TAD I X1 / use the index register to get'dead str/a239 undefined ^ undefined ^ 015427 1400 5800 015430 0000 ESCDF, 0 / restore the data field /a239 5801 AND P177 / dead strings are all 7 bits /a239 undefined ^ undefined ^ 015431 0000 5802 015432 7450 SNA / test for end of string /a239 5803 015433 5612 JMP I ESIMCH / RETURN on END of dead string /a239 5804 015434 4774 JMS ESICHR / INSERT CHAR INTO TEXT BUFFER /a239 5805 015435 5223 JMP ELOOP / get next dead str char /a239 5806 015436 1244 NEXPC, TAD ET1 / get the char back /a239 5807 015437 4774 JMS ESICHR / INSERT CHAR INTO TEXT BUFFER /a239 5808 015440 5612 JMP I ESIMCH / RETURN /a239 5809 5810 015441 0010 ESTRING,10 / start of dead /a239 5811 015442 0240 " / space /a239 5812 015443 0262 "2 / 2 multinational char precedence /a239 5813 015444 0000 ET1, 0 / save char temp and 8 bit char position/a239 5814 015445 0015 15 / END OF DEAD /a239 5815 015446 0000 0 / string terminator /a239 5816 /***********************************************************************/a239 5817 5818 5819 MAKRUL, XX / MAKE RULER undefined ^ 015447 0000 5820 / JMS MAKRUL - RULR - OUTRTN 5821 / GENS ESCS FOR RULR THRU OUTRTN 5822 015450 0000 CDFMYF 5823 015451 1647 TAD I MAKRUL 5824 015452 3263 DCA MAKRLA 5825 015453 2247 ISZ MAKRUL 5826 015454 1647 TAD I MAKRUL 5827 015455 3313 DCA MAKRLB / SAVE RULR AND OUTRTN PTRS 5828 015456 2247 ISZ MAKRUL 5829 015457 3340 DCA DSPRL1 / CLEAR POSITION 5830 015460 2340 MAKRL1, ISZ DSPRL1 / BUMP TO NEXT POSITION 5831 015461 1340 TAD DSPRL1 5832 JMS GETBYT undefined ^ undefined ^ 015462 4000 5833 015463 0000 MAKRLA, .-. 5834 015464 7450 SNA 5835 015465 5647 JMP I MAKRUL / RETURN WHEN DONE 5836 015466 1373 TAD (-1) 5837 015467 7450 SNA 5838 015470 5260 JMP MAKRL1 / IGNORE NULS 5839 015471 1372 TAD (100) 5840 015472 3314 DCA MAKRLC / SAVE VAL CODE 5841 015473 1340 TAD DSPRL1 5842 015474 7012 RTR 5843 015475 7012 RTR / GEN DSPRL1 5844 015476 0371 AND (17) 5845 015477 7450 SNA 5846 015500 5303 JMP .+3 5847 015501 1370 TAD (60) 5848 015502 4713 JMS I MAKRLB / 1ST HEX DIGIT 5849 015503 1340 TAD DSPRL1 5850 015504 0371 AND (17) 5851 015505 1370 TAD (60) 5852 015506 4713 JMS I MAKRLB / 2ND HEX DIGIT 5853 015507 1314 TAD MAKRLC 5854 015510 4713 JMS I MAKRLB / VAL CODE 5855 015511 0000 CDFMYF 5856 015512 5260 JMP MAKRL1 / LOOP FOR MORE 5857 015513 0000 MAKRLB, .-. 5858 015514 0000 MAKRLC, .-. 5859 5860 DSPRUL, XX / DISPLAY RULER undefined ^ 015515 0000 5861 015516 4767 JMS PCUR / POSITION CURSOR 5862 015517 1715 TAD I DSPRUL / Get agument of which ruler to display./A196 5863 015520 3325 DCA DSPRLR / Save it. /A196 5864 015521 2315 ISZ DSPRUL / Bump to return address. /A196 5865 DSPRLA, 5866 AC0001 / Compute posn into string = cursor posn/A196 undefined ^ 015522 0000 5867 015523 1046 TAD CURPOS / ... /A196 5868 JMS GETBYT undefined ^ undefined ^ 015524 4000 5869 015525 3000 DSPRLR, NWRUL 5870 015526 7450 SNA 5871 015527 5715 JMP I DSPRUL 5872 5873 JMS GETBYT undefined ^ undefined ^ 015530 4000 5874 OKSTR / XLAT TO REAL CHAR undefined ^ 015531 0000 5875 015532 7002 BSW 5876 015533 7500 SMA 5877 015534 7001 IAC 5878 015535 7002 BSW / CONVERTS SIXBIT TO ASCII 5879 015536 4766 JMS PUTSCH 5880 015537 5322 JMP DSPRLA / RETURN IF NOT 5881 5882 015540 0000 DSPRL1, .-. 5883 5884 DSPRLN, XX undefined ^ 015541 0000 5885 015542 1350 TAD NORUPD / SKIP RULER UPDATE IF IN RULER MODE 5886 015543 7650 SNA CLA 5887 JMS ESNWRL undefined ^ undefined ^ 015544 4000 5888 5889 /D233 DCA NORUPD 5890 015545 4315 JMS DSPRUL 5891 015546 3000 NWRUL / Display the NEW ruler. /A196 5892 015547 5741 JMP I DSPRLN 5893 / NORUPD must be on same page as DSPRLN/A196 5894 015550 0000 NORUPD, 0 / FLAG FOR NO RULER CHANGE IN FXSCRL 5895 5896 DSPCUR, XX / Routine to display CURUL. Called by /A196 undefined ^ 015551 0000 5897 015552 4315 JMS DSPRUL / status line. /A196 5898 CURUL / ... /A196 undefined ^ 015553 0000 5899 CDIMNU / SET UP TO RETURN BACK TO MENU FIELD /A220 undefined ^ 015554 0000 5900 015555 5751 JMP I DSPCUR / Return to caller. /A196 5901 5902 015556 4523 EIGRAR, OVLJMP;OVGRAR / GOLD RIGHT ARROW undefined ^ 015557 0000 5903 015560 4523 EIGLAR, OVLJMP;OVGLAR / GOLD LEFT ARROW undefined ^ 015561 0000 5904 015562 4523 EISWAP, OVLJMP;OVSWAP / SWAP OVERLAY undefined ^ 015563 0000 5905 5906 X=. / INDICATE FIRST FREE LOCATION ON PAGE 5907 /--------------- 5908 015566 3054 PAGE 015567 1400 015570 0060 015571 0017 015572 0100 015573 7777 015574 4036 015575 5440 015576 0200 015577 5324 5909 5910 DSKBLK=.%400+DLOEDT / DISK BLOCK WHERE PAGE IS LOADED undefined ^ 5911 5912 5913 / NOTE: THE GOTO-RULER CODE IN 'OVRRGO' RELIES ON THE FACT THAT 5914 / 'SETRUL' IS CALLED WHENEVER 'CURMOV' ADVANCES OR BACKS UP OVER 5915 / A RULER. WHEN 'OVRRSC' SCROLLS TO A RULER, IT CLEARS ENTRY POINT 5916 / 'SETRUL', THEN CALLS 'CURMOV' UNTIL 'SETRUL' IS NONZERO, 5917 / INDICATING 'CURMOV' HAS PASSED OVER A RULER. 5918 5919 5920 SETRUL, XX / JMS SETRUL - INRTN undefined ^ 015600 0000 5921 / SETS UP NWRUL 5922 015601 0000 CDFMYF 5923 015602 1600 TAD I SETRUL 5924 015603 3233 DCA SETRLA 5925 015604 2200 ISZ SETRUL 5926 015605 4777 JMS CLRULR / CLEAR NEW RULER 5927 015606 3125 SETRLB, DCA RLPOSN 5928 015607 4633 JMS I SETRLA 5929 AND P177 undefined ^ undefined ^ 015610 0000 5930 TAD P7700 / SAME AS (-100) ONLY ITS ON PAGE 0 undefined ^ undefined ^ 015611 1000 5931 015612 7500 SMA 5932 015613 5226 JMP SETRL3 / CHECK FOR PARMS 5933 015614 1376 TAD (100-60) 5934 015615 7510 SPA 5935 015616 5225 JMP SETRL1 5936 015617 7421 MQL 5937 015620 1125 TAD RLPOSN / SAVE PRM, GET POSITION 5938 015621 7106 CLL RTL 5939 015622 7006 RTL 5940 015623 7501 MQA / RLPOSN*16+PRM 5941 015624 5206 JMP SETRLB / JUMP TO STORE, GET NEXT 5942 5943 015625 7200 SETRL1, CLA / RETURN TO CALLER W/ ZEROED AC 5944 015626 7450 SETRL3, SNA 5945 015627 5600 JMP I SETRUL / JUMP IF NOT VAL 5946 015630 7001 IAC 5947 015631 4234 JMS UPDRUL 5948 015632 5206 JMP SETRLB 5949 5950 015633 0000 SETRLA, .-. 5951 5952 5953 5954 /++ 5955 / UPDRUL UPDATE_RULER 5956 / 5957 / FUNCTIONAL DESCRIPTION: UPDRUL 5958 / 5959 / UPDATING OF RULER (IN NWRUL), LOCATIONS CONTAINING RULER POSITION 5960 / VALUES (RLSTOR THRU NWHMAR), AND DECIMAL TAB COUNT BUFFER (NWDT). 5961 / 5962 / UPDRUL PSEUDO CODE: 5963 / COMMENTS: 1) RULER_SETTING_TYPE - EACH RULER CHARACTER (L, R, T, 5964 / ...ETC.) HAS A UNIQUE TYPE ASSIGNED TO IT. (SEE CHART 5965 / AT NWRUL) 5966 / 2) STORAGE_OFFSET_VALUE - EACH RULER CHARACTER HAS A 5967 / STORAGE OFFSET VALUE (SEE XLSTR) ASSOCIATED WITH IT 5968 / THAT IS USED FOR OFFSETTING FROM RLSTOR TO STORE THE 5969 / POSITION OF THE RULER SETTING IN THE RULER OR IN THE 5970 / CASE OF DECIMAL TABS, THE NUMBER OF THEM IN THE RULER. 5971 / BEGIN 5972 / SAVE NEW RULER_SETTING_TYPE 5973 / IF [NEW RULER_SETTING_TYPE IS VALID (1-16)] 5974 / | GET STORAGE_OFFSET_VALUE FOR NEW RULER_SETTING_TYPE (XLSTR TABLE) 5975 / | SAVE IT 5976 / | GET OLD RULER_SETTING_TYPE FOR RULER POSITION WE'RE AT 5977 / | GET OLD RULER SETTING STORAGE_OFFSET_VALUE 5978 / | IF [OLD RULER SETTING STORAGE_OFFSET_VALUE = DECIMAL TAB STORAGE_OFFSET_VALUE] 5979 / | | SET DECIMAL TAB COUNT = DECIMAL TAB COUNT - 1 5980 / | ELSE 5981 / | IF [POSITION VALUE STORED FOR OLD RULER SETTING NEEDS CLEARING] 5982 / | CLEAR POSITION VALUE FOR OLD RULER SETTING 5983 / | 5984 / | IF [POSITION VALUE FOR NEW RULER_SETTING_TYPE NEEDS UPDATING] 5985 / | | SET POINTER FOR SAVING POSITION VALUE OF NEW RULER SETTING 5986 / | | IF [NEW RULER_SETTING_TYPE = DECIMAL TAB] 5987 / | | | SET DECIMAL TAB COUNT = DECIMAL TAB COUNT + 1 5988 / | | ELSE 5989 / | | IF [OLD RULER_SETTING_TYPE NEEDS MODIFICATION] 5990 / | | SET POSITION OF OLD RULER SETTING IN RULER TO NO SETTING 5991 / | | STORE NEW RULER_SETTING_TYPE POSITION 5992 / | SET [NEW RULER SETTING IN RULER] 5993 / | 5994 / RETURN 5995 / 5996 / CALLING SEQUENCE: JMS UPDRUL 5997 / 5998 / INPUT PARAMETERS: RLPOSN = CURRENT POSITION IN RULER 5999 / AC = NEW RULER_SETTING_TYPE 6000 / 6001 / IMPLICIT INPUT: RLTYP, RLNSTR (T3), RLPOSN, NWDT, T2 6002 / 6003 / OUTPUT PARAMETERS: NONE 6004 / 6005 / IMPLICIT OUTPUT: RLTYP, RLNSTR (T3), NWDT, T2 6006 / 6007 / COMPLETION CODE: NONE 6008 / 6009 / SIDE EFFECTS: NONE 6010 / 6011 /-- 6012 6013 RLNSTR= T3 undefined ^ 6014 UPDRUL, XX / UPDATE RULER undefined ^ 015634 0000 6015 DCA RLTYP / SAVE NEW RULER_SETTING_TYPE undefined ^ undefined ^ 015635 3000 6016 015636 0000 CDFMYF 6017 TAD RLTYP / GET THE TYPE OF SETTING undefined ^ undefined ^ 015637 1000 6018 015640 1375 TAD (-17) / IS IT A VALID SETTING? 6019 015641 7700 SMA CLA / SKIP IF: SO 6020 015642 5634 JMP I UPDRUL / IGNORE ILLEGAL SETTING 6021 TAD RLTYP / GET STORAGE_OFFSET_VALUE FOR NEW undefined ^ undefined ^ 015643 1000 6022 / RULER_SETTING_TYPE (XLSTR TABLE) 6023 JMS GETBYT undefined ^ undefined ^ 015644 4000 6024 XLSTR undefined ^ 015645 0000 6025 015646 3000 DCA RLNSTR / SAVE IT 6026 015647 1125 TAD RLPOSN / GET OLD RULER_SETTING_TYPE FOR 6027 / RULER POSITION WE'RE AT 6028 JMS GETBYT undefined ^ undefined ^ 015650 4000 6029 015651 3000 NWRUL 6030 JMS GETBYT undefined ^ undefined ^ 015652 4000 6031 XLSTR / GET OLD RULER SETTING STORAGE_OFFSET_- undefined ^ 015653 0000 6032 / VALUE 6033 015654 1374 TAD (RLSTOR-1-NWDT) / WAS OLD RULER SETTING STORAGE_OFFSET_- 6034 / VALUE THAT OF A DECIMAL TAB? 6035 CDFMNU / A219 undefined ^ 015655 0000 6036 015656 7440 SZA / SKIP IF: SO 6037 015657 5264 JMP UPDRLC / CONTINUE ON. NO SPECIAL PROCESSING. 6038 AC7777 / SET DECIMAL TAB COUNT = DECIMAL TAB undefined ^ 015660 0000 6039 / COUNT - 1 6040 015661 1773 TAD NWDT 6041 015662 3773 DCA NWDT 6042 015663 5272 JMP UPDRLF / SKIP OVER CLEARING OLD OFFSET 6043 015664 1372 UPDRLC, TAD (NWDT+1-RLSTOR) / LOCATION HOLDING POSITION VALUE FOR 6044 / OLD RULER SETTING NEED CLEARING? 6045 015665 7450 SNA / SKIP IF: NEED TO CLEAR OLD STORAGE 6046 / OFFSET 6047 015666 5272 JMP UPDRLF 6048 6049 015667 1371 TAD (RLSTOR-1) / CLEAR LOCATION HOLDING POSITION VALUE 6050 DCA T2 / FOR OLD RULER SETTING undefined ^ undefined ^ 015670 3000 6051 DCA I T2 undefined ^ undefined ^ 015671 3400 6052 6053 015672 1000 UPDRLF, TAD RLNSTR / DOES THE POSITION VALUE FOR THE NEW 6054 / RULER_SETTING_TYPE NEED UPDATING? 6055 015673 7450 SNA / SKIP IF: NEED TO UPDATE 6056 JMP UPDRLA undefined ^ undefined ^ 015674 5000 6057 015675 1371 TAD (RLSTOR-1) / SET POINTER FOR SAVING POSITION VALUE 6058 / OF NEW RULER SETTING 6059 DCA T2 undefined ^ undefined ^ 015676 3000 6060 UPDRLD, AC7776 / NEW RULER SETTING A DECIMAL TAB? undefined ^ 015677 0000 6061 TAD RLTYP undefined ^ undefined ^ 015700 1000 6062 015701 7640 SZA CLA / SKIP IF: SO 6063 015702 5305 JMP UPDRLE / GO CLEAR OLD POSITION 6064 ISZ I T2 / SET DECIMAL TAB COUNT = DECIMAL TAB undefined ^ undefined ^ 015703 2400 6065 / COUNT + 1 6066 JMP UPDRLA / BYPASS CLEARING OUT OLD POSITION undefined ^ undefined ^ 015704 5000 6067 UPDRLE, TAD I T2 / DOES OLD RULER_SETTING_TYPE NEED undefined ^ undefined ^ 015705 1400 6068 / MODIFICATION? 6069 015771 3167  015772 0007 015773 3176 015774 7771 015775 7761 015776 0020 015777 5406 ACRSTR 4234 ACSAVE 4236 ADVCHR 4512 ADVCL1 4401 ADVCL2 4414 ADVCL3 4433 ADVCL4 4453 ADVCL5 4432 ADVCL6 4450 ADVCL7 4441 ADVCL8 4413 ADVCLT 4456 ADVPTR 4506 ADVSPC 4517 ADVUNT 2235 ADVUNW 2240 BACKUN 2203 BASKCT 0132 BASKET 7400 unreferenced BASKSZ 0400 unreferenced BEEPER 0324 BHKEXI 5342 BHOOK 5324 BKPMOD 0001 unreferenced BKPPTR 4507 BKPSPC 4520 BKPUNT 2200 BKPUNV 2232 BKPUNW 2222 BKPUNX 2224 BKPUNY 2225 BKPUNZ 2214 BLACSV 5345 BLASTH 5344 BLDBIT 0154 BLDMOD 0002 unreferenced BLDUNT 0336 BLKALM 4240 BLWTCH 4237 BUFBEG 0164 BUFEND 6000 unreferenced BUFSIZ 0165 BUZZER 0331 CALADD 0312 CALCDF 0277 CALERR 2715 CALFLD 0310 CALLAR 0251 CALLN1 0000 CALLN2 0004 unreferenced CALLN3 0010 CALLN4 0014 CALLN5 0020 CALLN6 0024 unreferenced CALLN7 0030 unreferenced CALLN8 0034 unreferenced CALLN9 0040 unreferenced CALPOP 2672 CALPSH 2652 CALPTR 2721 CALRTN 0062 CALSAC 0314 CALSKP 0313 CALSTK 2722 CALSUB 0044 CALSW1 1420 CALSW2 1413 CALSWA 1400 CALXIT 0060 CASBIT 0154 CASMOD 0006 unreferenced CASTMP 0000 CASUNT 4753 CDFMYF 0000 CENMAR 0163 CENTER 1475 CHK8MR 2010 CHKALP 3553 CHKLMA 4745 CHKLMD 4733 CHKLMR 2722 CHKM2A 1662 CHKMAR 0342 CHKMR1 1621 CHKMR2 1646 CHKMR3 1677 CHKMR4 1714 CHKMR5 1642 CHKMR6 2000 CHKMR7 1671 CHKMR8 2014 CHKMR9 1741 CHKMRF 1743 CHKMRS 1744 CHKMRT 1745 CHKMRX 1736 CHKPTR 4510 CHKREJ 2354 CHKRP1 1617 CHKRP2 1614 CHKRP3 1613 CHKRPC 1604 CHKSPC 4200 CHKTCC 2544 CHKUNH 0661 CHKUNR 0656 CHKUNT 0667 CHRATR 0175 CHRBNT 0752 CHRUNT 0747 CLCTSW 3053 unreferenced CLMPLL 3050 unreferenced CLMPUL 3051 unreferenced CLREOL 4563 CLRULR 5406 CLSBEG 4303 unreferenced CLSCRN 2134 CLSEND 4304 unreferenced CLSSET 2141 CMPRUL 5400 CNSCRL 1763 CNTMOD 0011 CNTREX 1500 CNTUN1 0612 CNTUNT 0613 COLLIM 0360 COLM80 0117 COLM81 0120 COPRUL 5217 CPYFNO 0154 CR 0015 CTB001 2140 CTB002 2343 CTB005 2600 CTB008 2711 CTB009 1354 CTB010 3335 CTB011 3346 CTB012 4136 CTB013 4540 CTB014 4674 CTB015 1621 CURLIN 0144 CURMOV 4513 CURPG1 1751 unreferenced CURPG2 2552 unreferenced CURPOS 0046 CURPTR 0135 CURSOR 0136 CURTMP 0174 unreferenced DELUNT 1601 DM1ADJ 7766 DOWTCH 4221 DSKBLK 0013 unreferenced DSKCAL 5014 DSPCUR 5551 DSPRL1 5540 DSPRLA 5522 DSPRLN 5541 DSPRLR 5525 DSPRUL 5515 ECFIEL 0076 ECHFLG 0152 ECMTH1 0006 unreferenced ECMTH2 0206 unreferenced EDCLPB 0223 EDEXI3 0233 EDEXI4 0231 unreferenced EDICH1 5006 EDICH2 5004 EDICH3 5013 unreferenced EDICHR 5000 EDIOP1 0210 EDITOR 0200 EDITOV 0207 EDMERG 0202 unreferenced EDMODE 0133 EDOCHR 0354 EDTMOD 1742 EFADPT 1556 EFADSP 1472 EFBKPT 2331 EFBKSP 1504 EFBZZR 1462 EFCASE 2026 EFCKAL 1535 EFCKMR 1600 EFCNTR 2600 EFCS01 2036 EFCS02 2053 EFCSEX 2052 EFCSMT 2047 EFGTBY 2400 EFINSR 1442 EFLDCH 1516 EFLDN1 2056 EFLDNT 2055 EFPOUT 2415 EFRSLN 1547 EFSCLU 1422 EFSECO 1432 EFSLMD 1452 EFSSPT 1530 EFTJST 2220 EIBAD 0400 EIBOTM 5346 unreferenced EICENT 1311 unreferenced EICHAR 0632 unreferenced EIDEAD 3152 unreferenced EIDICT 2170 unreferenced EIDLTC 1601 unreferenced EIDLTW 1600 unreferenced EIDNAR 4311 unreferenced EIENTR 0623 unreferenced EIFILE 0220 unreferenced EIFIND 2553 unreferenced EIFIX 0401 unreferenced EIFIX1 0402 unreferenced EIFXT1 1314 EIFXT2 0401 EIGADV 1765 unreferenced EIGBKP 3154 unreferenced EIGCUT 2363 unreferenced EIGLAR 5560 unreferenced EIGPST 5354 unreferenced EIGRAR 5556 unreferenced EIHELP 0554 unreferenced EIHYP1 1313 unreferenced EIHYPL 2751 unreferenced EIHYPS 4755 unreferenced EIINOV 4345 unreferenced EIINTB 0556 unreferenced EILINE 0631 unreferenced EINEXA 0413 EINEXB 0426 EINEXD 0430 unreferenced EINEXM 0442 EINEXT 0406 EINPAG 4004 unreferenced EINSRT 1314 EINWLN 1304 unreferenced EINXSC 3751 unreferenced EIPAGE 0624 unreferenced EIPARA 0625 unreferenced EIPCMD 4000 unreferenced EIPGRF 1303 unreferenced EIPMRK 4005 unreferenced EIPSTE 2365 unreferenced EIRBCH 0603 unreferenced EIRBLN 0602 unreferenced EIRBSE 0600 unreferenced EIRBWD 0601 unreferenced EIREPL 4305 unreferenced EIRQSP 2555 unreferenced EIRULR 5163 unreferenced EISCUT 3361 unreferenced EISENT 0627 unreferenced EISLCT 2545 unreferenced EISRCH 4751 unreferenced EISUBS 1552 unreferenced EISUPS 1553 unreferenced EISWAP 5562 unreferenced EITAB 1312 unreferenced EITABP 0626 unreferenced EITC 3156 unreferenced EITOP 0237 unreferenced EIUDLT 2747 unreferenced EIUPAR 4307 unreferenced EIWORD 0630 unreferenced ELOOP 5423 ESACHR 4400 ESAPT1 1225 ESAPT2 1231 ESAPT3 1243 ESAPT4 1227 ESAPTR 1213 ESASP1 1726 ESASP2 1731 ESASP3 1736 ESASPC 1717 ESATS1 4316 ESATS2 4333 ESATS3 4335 ESATST 4313 ESBPT1 1251 ESBPT2 1271 ESBPT3 1275 ESBPT4 1277 ESBPTR 1250 ESBSP1 1707 ESBSP2 1714 ESBSP3 1702 unreferenced ESBSPC 1701 ESCDF 5430 ESGETE 4014 ESGETS 4020 ESGETX 4034 ESICH1 2130 ESICH2 2131 ESICH3 2132 ESICH4 2133 ESICHA 2005 ESICHB 2123 ESICHC 2124 ESICHD 2125 unreferenced ESICHE 2013 ESICHF 2054 ESICHG 2063 ESICHH 2112 ESICHI 2127 ESICHJ 2070 ESICHK 2036 unreferenced ESICHR 4036 ESICHX 2025 ESICHY 2045 ESICHZ 2047 ESIMCH 5412 ESINOV 4134 ESINP1 4064 ESINP2 4076 ESINP3 4117 ESINP4 4120 ESINP5 4122 ESINP6 4126 ESINP7 4132 ESINPG 4100 ESITMP 4135 ESLCT4 3737 ESLCT6 3745 ESLCTD 1135 ESLCTS 3724 ESLMOD 3747 ESMODE 1200 ESMVC1 2710 ESMVC2 3026 ESMVCA 2651 ESMVCB 2645 ESMVCC 2617 ESMVCD 2654 ESMVCE 2667 ESMVCG 2672 ESMVCK 2635 ESMVCL 3000 ESMVCQ 2650 ESMVCR 2611 ESMVCT 2647 ESMVCU 2675 ESMVCV 2677 unreferenced ESMVCZ 2625 ESMVLA 3001 ESMVLB 3013 unreferenced ESMVLC 3016 ESMVLR 3024 ESMVLX 2706 ESMVLZ 2707 ESMVX1 2702 ESMVX2 2704 ESNP3A 4115 ESPTES 4147 ESPUTE 4024 ESPUTS 4030 ESPUTX 4035 unreferenced ESPUTY 4033 unreferenced ESTRIN 5441 ESXLUA 4300 ESXLUP 4270 ET1 5444 ETXBUF 6400 FILENO 0167 unreferenced FILOPT 0170 unreferenced FLDBN1 0717 FLDBN2 0724 FLDBNT 0720 FLDUN3 0731 FLDUNT 0725 FMSWAP 0251 FNTAB1 2202 FNTAB2 2326 FNTABS 2200 FORMNO 0166 FXSCRA 3517 FXSCRB 3541 FXSCRC 3436 FXSCRD 3466 FXSCRE 3534 FXSCRF 3415 FXSCRH 3473 FXSCRI 3430 FXSCRJ 3431 FXSCRK 3515 FXSCRL 3400 FXSCT1 3551 FXSCT2 3552 FXSCX1 3460 FXSCX2 3461 GETINP 4502 GETLEN 0126 GETLIN 4506 GETPSF 0154 unreferenced GETRPT 0465 GETTRM 0125 GETUNO 0520 GETUNP 0517 GETUNQ 0475 GETUNR 0532 GETUNT 0463 GETUNX 0472 GETUNY 0511 GETUNZ 0477 GLDPSF 0155 unreferenced GOTMRK 0621 unreferenced GRAMUN 0134 GSKILN 0411 unreferenced GSRF 0173 HAFRUL 0167 HDRBUF 6000 HDRFSZ 0005 unreferenced HDRPSZ 0015 unreferenced HDRPUT 1335 HLDCHR 0366 HLTTST 4501 INCHTM 4360 INCLR 1227 INDPOV 1222 unreferenced INOVDP 1213 INSCHR 4505 unreferenced INSERT 2000 INSOVF 4357 INSRL1 5260 INSRUL 5242 JCLEA1 3661 JCLEA2 3714 JCLEA3 3717 JCLEA4 3712 JCLEA6 3656 JCLEAN 3645 JCLEAX 3721 JCLEAY 3722 JCLGCT 3723 LF 0012 unreferenced LFTMAR 0157 LINAD1 0351 LINAD2 0354 LINBAR 1200 LINBNT 0741 LINBOT 0510 LINCHK 1000 LINCK1 1007 LINCLR 0250 LINCOL 0200 LINCUR 0246 LINDIF 0172 LINDN1 2125 LINDN2 2137 LINDN3 2104 LINDN4 2107 LINDN5 2112 LINDN6 2115 LINDN7 2075 LINDN8 2074 LINDN9 2114 LINDNL 1037 LINDNP 1027 LINDNR 1044 LINDNS 1040 LINDNT 0242 LINDNX 1041 LINDSP 0400 LINE23 0171 LINFLG 0170 LINFRE 0177 LINLIN 0467 LINLOP 0214 LINLOW 0463 LINM1 0561 LINM2 0562 LINM3 0563 LINMID 0277 LINMOD 0151 LINNCH 0223 LINNUM 0175 LINPGH 0174 LINPGL 0173 LINPOS 0225 LINREV 0557 LINRUL 0171 LINSAM 0534 LINSDN 1016 LINSET 0314 LINSIZ 0560 LINST1 0600 LINST2 0606 LINST3 0617 LINST4 0617 LINST5 0642 LINST6 0647 LINST7 0665 LINST8 0673 LINST9 0675 LINSTA 0700 LINSTB 0702 LINSTC 0702 LINSTE 0335 LINSTF 0337 LINSTG 0347 LINSTX 1254 LINSTY 1266 LINSUP 1053 LINTOP 0437 LINTS1 1127 LINTST 1104 LINTWO 0353 LINTXT 0334 LINUKN 0505 LINUN1 0740 LINUN2 0745 LINUNT 0741 LINUPH 1076 LINUPL 1074 LINUPP 1064 LINUPX 1101 LINUSD 0176 LINXIT 0550 LMRCH1 2742 LMRCH2 2743 unreferenced LMRCH3 2744 LMRCH4 2731 LNECH1 1513 LNECH2 2606 LNECH3 2645 LNECH4 2640 LNECH6 2615 LNECHA 2651 LNECHT 1501 LODCHR 4241 LODEXI 4250 LOWLIM 0047 LSTUNT 0752 MAKRL1 5460 MAKRLA 5463 MAKRLB 5513 MAKRLC 5514 MAKRUL 5447 MARG 1501 MGPTC1 4016 unreferenced MGPTC2 4021 unreferenced MGPTC3 4025 unreferenced MGPTC4 4031 unreferenced MNUGET 1643 MNUPUT 1655 MODSET 4504 MRGPT1 0155 MRGPT2 0156 unreferenced MRGRSF 0154 MRGSPC 4643 MVBTAB 0675 MVCODE 0670 MVCTAB 0705 MVJTAB 0641 MVMASK 0007 NBDMOD 0004 unreferenced NBDUNT 0337 NEWTCH 4230 NEXPC 5436 NINZRO 0033 unreferenced NORUPD 5550 NPTRS 0030 NUDMOD 0005 unreferenced NUDUNT 5351 NWCMAR 3174 unreferenced NWDT 3176 NWHMAR 3175 NWLMAR 3170 NWLN 4557 NWPMAR 3173 unreferenced NWRLND 3177 unreferenced NWRMAR 3171 unreferenced NWRUL 3000 NWWMAR 3172 unreferenced OLDHR 0235 unreferenced OLDMIN 0236 unreferenced OV2JMP 5124 OV2JRT 5135 unreferenced OVJMCM 5137 OVJRTN 5122 unreferenced OVJUMP 5111 OVLAYM 0400 unreferenced OVLJMP 4523 OVLOA1 5155 OVLOA2 5154 OVLOA3 5145 unreferenced OVLOA4 5151 OVRSCH 4355 OVSCHK 4347 OVSFLG 0540 OVTCLR 1234 OVTOVS 1241 PAGBN1 1122 PAGBNT 1123 PAGUN1 1126 PAGUNT 1127 PARCHK 1114 PARUN0 1064 PARUN1 1070 PARUN2 1106 PARUNT 1065 PCTLFL 0142 PCUR 1400 PGECHO 4340 PGFMAR 0162 PGMSG 4707 PGMSGB 4732 PGMSGX 4721 PQBLK 5067 PRICNT 0126 PRIST1 4537 PRISTR 4520 PROMP2 4514 PROMPT 4470 PROSTR 4504 PRTBUF 6000 PRTSIZ 1000 unreferenced PSBFOF 3052 unreferenced PSQBLK 5072 PSTBLK 0130 PSTEBF 7400 PSTEBG 0000 PSTEND 0036 unreferenced PSTIO 5030 PSTPTR 0131 PTDASH 1630 PTDSH1 1642 PTDSHA 1634 PUT4 4653 PUTAER 3115 unreferenced PUTESC 4515 PUTETX 4521 PUTLIN 4602 PUTLN1 4613 PUTLN2 4607 PUTLN3 4621 PUTLN4 4645 PUTLN6 4654 PUTLNB 4641 PUTLNG 2165 PUTLNL 4633 PUTLNP 4625 PUTLNR 4616 PUTLNU 4621 PUTLNV 4621 PUTLNW 4634 PUTLNX 4601 PUTLNZ 4600 unreferenced PUTOUT 4503 PUTPA1 3066 PUTPA2 3111 PUTSC0 3112 unreferenced PUTSC2 3107 PUTSC4 3105 PUTSC6 3027 PUTSC8 3104 PUTSCH 3054 PUTSPC 2147 PUTSTX 4522 RDNXN1 5215 RDNXNJ 5200 RECBUF 0010 unreferenced REEDIT 0215 REJCNT 0147 REJCP1 2542 REJCP2 2543 REJCP3 2544 REJFLG 0150 REJS99 2430 REJUSA 2450 REJUSB 2455 REJUSC 2502 REJUSD 2514 REJUSE 2507 REJUSF 2442 REJUSJ 2445 REJUSK 2460 REJUSL 2512 REJUSM 2465 REJUSN 2530 REJUSQ 2432 REJUST 2400 REJUSX 2406 REJUSY 2420 REJUSZ 2470 REMCUR 2362 RGTMAR 0160 RLDIRN 0155 unreferenced RLGET1 5275 RLGETS 5267 RLGETX 5301 RLNSTR 0000 RLPOSN 0125 RLRMOD 0124 RLSTOR 3170 RPBIN2 4302 unreferenced RPBOTF 3753 unreferenced RPCUBK 0761 unreferenced RPCUOF 2756 unreferenced RPGETU 0456 RPGOTO 4535 RPMTBK 3363 unreferenced RPMTRL 5162 unreferenced RPTOP 0541 unreferenced RRDIR 1764 unreferenced RRGOTO 4533 RSTRLN 4457 RSTRT2 4467 RULOFF 4675 unreferenced SAVLMD 2244 SCECHO 2346 SCHMOD 0010 SCNSZ 1474 SCRAD0 1752 SCRADJ 2314 SCRFS1 3121 SCRFS2 3145 SCRFSH 3115 SCRLCT 0137 SCRLCU 0145 SCRLD1 3213 SCRLDA 3231 SCRLDB 3255 SCRLDC 3263 SCRLDD 3301 SCRLDE 3266 SCRLDF 3334 SCRLDG 3274 SCRLDL 3310 SCRLDN 3200 SCRLDP 3331 SCRLDS 3317 SCRLDX 3333 SCRLFL 0141 SCRLIN 0146 SCRLP1 3610 unreferenced SCRLPX 1671 SCRLT1 1547 SCRLT2 1550 SCRLT3 1551 SCRLTM 3040 SCRLTX 1517 SCRLTY 1541 SCRLTZ 1546 SCRLU1 3035 SCRLUB 3632 SCRLUM 3027 SCRLUP 3600 SCRNFL 0140 SCRNLN 0176 SCRNMD 2267 SCRNSZ 2335 SCRTM1 3046 SCRTM2 3045 SCRTM3 3047 SCRTM4 3044 SETBNT 0671 SETCUR 1744 SETLMD 2255 SETLME 2302 SETLMF 2310 SETPST 5316 SETRL1 5625 SETRL3 5626 SETRLA 5633 SETRLB 5606 SETRUL 5600 SETSPT 3355 SETUNT 0650 SINZRO 0124 SLCRPT 1353 SLCTDR 0127 SLCTMD 0010 unreferenced SLNMOD 4514 SLTMOD 0020 SLTUN1 0754 SLTUN2 1143 SLTUN4 1144 SLTUNT 0755 SLXMOD 0622 SNTBNT 1046 SNTUN1 1027 SNTUN3 1033 SNTUNT 1050 SNTUNX 1025 SPACNG 0143 SPCCHK 0172 SPLTFL 2345 SRCDIR 0153 unreferenced STORMA 1334 STXBUF 7000 SVSLCR 1347 SWPEND 3200 unreferenced SWTHM1 1330 SWTHM2 1332 SWTHMA 1320 SYSIO 5041 SYSIO1 5061 TABBNT 1061 TABUN2 0750 TABUNT 1052 TBECH1 2326 TBECH2 2327 TBECH3 2330 TBECHB 2303 TBECHC 2244 TBECHD 2265 TBECHE 2307 TBECHF 2310 TBECHG 2316 TBECHX 2252 unreferenced TBJUST 0315 TCBKLP 2751 TCBKUP 2750 TCCHK 2424 TCCHR 2470 TCCHX 2534 TCCONT 2455 TCDED 2466 TCEX0 2527 TCEX1 2526 TCEX2 2525 unreferenced TCGS1 2446 TCGS2 2451 TCJMP 2436 TCRDED 2542 TCREQ 2465 TCRREQ 2541 TCTEC 2464 TCTEMP 2532 TCTMP1 2533 TRANTP 0600 TSTLIM 1426 TSTLMA 1467 TSTLMB 1472 unreferenced TSTLMD 1443 TSTLME 1457 TSTLMF 1453 TSTLMX 1473 TSTSLT 4511 UDLBIT 0154 UDLMOD 0003 unreferenced UDLUNT 5350 UNSLCT 2547 UPDRLC 5664 UPDRLD 5677 unreferenced UPDRLE 5705 UPDRLF 5672 UPDRUL 5634 USCMP1 0000 USCMP2 4266 USCMPR 4252 USHLTS 2753 WARN 4232 WIDEFL 3564 WIDNAR 0177 WIDSIZ 2344 WIDTH 0204 WRDBNT 1001 WRDTST 1016 WRDUN1 1000 WRDUN2 1004 WRDUN3 1010 WRDUNT 1005 WRPMAR 0161 X 5564 X7 0000 XLTUPR 4516 XTRLIN 6476 unreferenced ZZCASE 4500