************************************************** 1) DR1:[311,100]HELP.MAC;1 25 ;+ *************** 2) DR3:[311,100]HELP.MAC;16 24 ; 002 02-AUG-82 FRANK BORGER UPDATE TO WORK WITH MCR SYSTEMS 25 ; 26 ; 003 21-DEC-83 FRANK BORGER UPDATE DEFAULT TO MORE COLUMNS 27 ; AND MOD TO RESET DEPTH SMALLER 29 ;+ ************************************************** 1) DR1:[311,100]HELP.MAC;1 31 ; FROM THE USERS KEYBOARD IT IS INVOKED *************** 2) DR3:[311,100]HELP.MAC;16 35 ; TO AVOID CONFLICT WITH THE MCR "HELLO" COMMAND, ITS NAME WAS CHANGED 36 ; TO "AID" 37 ; FROM THE USERS KEYBOARD IT IS INVOKED ************************************************** 1) DR1:[311,100]HELP.MAC;1 34 ; PDS>HELP OR PDS>HELP KEY-WORD-LIST 35 ; 36 ; WITH NO KEY-WORD-LIST, HELP WILL LIST ALL 37 ; THE VALID PDS AND BATCH COMMANDS. 38 ; A NUMBER OF OTHER KEY-WORDS WILL 39 ; BE LISTED WHICH ARE TOPICS ABOUT WHICH "HELP" 40 ; MAY PROVIDE SOME LEVEL OF EXPLANATION. 41 ; 42 ; TYPING A KEY-WORD AFTER THE HELP COMMAND 43 ; WILL FURNISH THE USER WITH THE SKELETON FORM OF *************** 2) DR3:[311,100]HELP.MAC;16 40 ; PDS>AID OR PDS>AID KEY-WORD-LIST 41 ; 42 ; WITH NO KEY-WORD-LIST, AID WILL LIST ALL 43 ; THE VALID MCR AND BATCH COMMANDS. 44 ; A NUMBER OF OTHER KEY-WORDS WILL 45 ; BE LISTED WHICH ARE TOPICS ABOUT WHICH "AID" 46 ; MAY PROVIDE SOME LEVEL OF EXPLANATION. 47 ; 48 ; TYPING A KEY-WORD AFTER THE AID COMMAND 49 ; WILL FURNISH THE USER WITH THE SKELETON FORM OF ************************************************** 1) DR1:[311,100]HELP.MAC;1 69 ; LUN 2 -- SY:HELP.TXT 70 ; LUN 3 -- SY:QIOSYM.DAT 71 NCOLS = 6. 72 CHARSPERCOL = 12. 73 LINELENGTH = NCOLS*CHARSPERCOL *************** 2) DR3:[311,100]HELP.MAC;16 75 ; LUN 2 -- SY:MCR.HLP 76 ; LUN 3 -- SY:QIOSYM.DAT 77 NCOLS = 9. 78 CHARSPERCOL = 9. 79 LINELENGTH = NCOLS*CHARSPERCOL ************************************************** 1) DR1:[311,100]HELP.MAC;1 111 GMCR: GMCR$ *************** 2) DR3:[311,100]HELP.MAC;16 117 MCRFLG: .WORD 0 ;FLAG FOR WE'RE USING MCR.HLP FILE 118 GMCR: GMCR$ ************************************************** 1) DR1:[311,100]HELP.MAC;1 142 MOV (R4)+,(R0)+ ;++001 GET NAME OF FILE 143 MOVB (R4)+,(R0)+ ;++001 ( 3 CHARS LONG ) 144 OPEN$ #FDHELP ;++001 OPEN THE HELP FILE 145 BCS 1$ ;++001 QUIT IF FAILED 146 BR 25$ ;++001 147 20$: INC R4 *************** 2) DR3:[311,100]HELP.MAC;16 149 MOV (R4),(R0)+ ;++001 GET NAME OF FILE ++002 150 MOVB 2(R4),(R0)+ ;++001 ( 3 CHARS LONG ) ++002 151 OPEN$ #FDHELP ;++001 OPEN THE HELP FILE 152 BCC 25$ ;++002 BR IF OK 153 MOV #"MC,HLPNM ;++002 ELSE DEFAULT TO MCR 154 MOVB #'R,HLPNM+2 ;++002 HELP FILE 155 INC MCRFLG ;++002 SHOW WE'RE WORKING WITH MCR 156 OPEN$ #FDHELP ;++002 TRY AGAIN 157 BCC 25$ ;++002 BR IF OK 158 BR 1$ ;++002 ELSE GIVE UP 159 20$: INC R4 ************************************************** 1) DR1:[311,100]HELP.MAC;1 154 CMPB (R4),#CH.DOL ; SKIP OVER DOLLAR *************** 2) DR3:[311,100]HELP.MAC;16 166 TSTB (R4) ;++002 AND ON NULL LINE 167 BEQ NULL 168 CMPB (R4),#CH.DOL ; SKIP OVER DOLLAR ************************************************** 1) DR1:[311,100]HELP.MAC;1 187 JMP MISSING ; WE'RE LOST. HELP AS MUCH AS POSSIBLE 188 ; *************** 2) DR3:[311,100]HELP.MAC;16 201 ; JMP MISSING ; WE'RE LOST. HELP AS MUCH AS POSSIBLE 202 MOVB (R0),DEPTH ; F. B. ELSE RESET DEPTH 203 BR NXTREC ; F. B. AND TRY FOR MORE 204 ; ************************************************** 1) DR1:[311,100]HELP.MAC;1 195 COMPCH: MOVB (R4),R3 ; GET CHARACTER FROM SEARCH STRING 196 MOV R3,R5 ; SEE IF IT'S LOWER CASE 197 CALL LCASE ; 198 BCC 20$ ; IT'S NOT SO LEAVE IT ALONE 199 BICB #CH.SP,R3 ; CLEAR OUT 'SHIFT' BIT 200 20$: 201 MOVB (R0),R1 ; GET CHARACTER OUT OF RECORD 202 ; THAT MIGHT BE SHIFTED TOO !! 203 MOV R3,R5 204 CALL LCASE 205 BCC 30$ ; IT WAS NOT 206 BICB #CH.SP,R1 ; CLEAR OUT SHIFT 207 30$: 208 CMP R1,R3 ; COMPARE 'EM 209 BNE NXTREC ; RATS! THE'RE DIFFERENT !! *************** 2) DR3:[311,100]HELP.MAC;16 211 ;COMPCH: MOVB (R4),R3 ; GET CHARACTER FROM SEARCH STRING 212 ; MOV R3,R5 ; SEE IF IT'S LOWER CASE 213 ; CALL LCASE ; 214 ; BCC 20$ ; IT'S NOT SO LEAVE IT ALONE 215 ; BICB #CH.SP,R3 ; CLEAR OUT 'SHIFT' BIT 216 ;20$: 217 ; MOVB (R0),R1 ; GET CHARACTER OUT OF RECORD 218 ; ; THAT MIGHT BE SHIFTED TOO !! 219 ; MOV R3,R5 220 ; CALL LCASE 221 ; BCC 30$ ; IT WAS NOT 222 ; BICB #CH.SP,R1 ; CLEAR OUT SHIFT 223 ;30$: 224 ; CMP R1,R3 ; COMPARE 'EM 225 ; ;099FB ABOVE CHANGED FOR VERS 3.1 TO: 226 COMPCH: CMPB (R0),#'A ;099FB LOWER CASE 227 BCS 30$ ;099FB BR IF NOT 228 BICB #CH.SP,(R0) ;099FB ELSE CHANGE TO UPPER 229 30$: CMPB (R0),(R4) ;099FB DO THEY MATCH ? 230 BNE NXTREC ; RATS! THE'RE DIFFERENT !! ************************************************** 1) DR1:[311,100]HELP.MAC;1 273 LCASE: CMPB R5,#CH.BA 274 BLO 10$ 275 CMPB R5,#CH.BZ 276 BHI 10$ 277 CLC 278 RETURN 279 10$: SEC 280 RETURN 281 ; *************** 2) DR3:[311,100]HELP.MAC;16 294 LCASE: CMPB R5,#CH.BA ;BELOW SMALL A 295 BLO 10$ ;RETURN C-BIT IF YES 296 ; CMPB R5,#CH.BZ 297 ; BHI 10$ 298 ; CLC 299 ; RETURN 300 ;10$: SEC 301 CMPB #CH.BZ,R5 ;099FB ABOVE SMALL Z ? 302 10$: RTS PC ;099FB RETURN WITH C-SET IF NOT LOWER CASE 303 ; ************************************************** 1) DR1:[311,100]HELP.MAC;1 284 ALPHA: CALL LCASE ; IS IT LOWER CASE ? 285 BCC 10$ ; YES, WELL THATS O.K 286 BIS #CH.SP,R5 ; JUST PRETEND SHIFT 287 CALL LCASE 288 10$: RETURN 289 ; *************** 2) DR3:[311,100]HELP.MAC;16 306 ;ALPHA: CALL LCASE ; IS IT LOWER CASE ? 307 ; BCC 10$ ; YES, WELL THATS O.K 308 ; BIS #CH.SP,R5 ; JUST PRETEND SHIFT 309 ; CALL LCASE 310 ALPHA: CMPB R5,#'0 ;099FB BELOW DIGIT RANGE ? 311 BCS 10$ ;099FB RETURN C-BIT IF YES 312 CMPB #'9,R5 ;099FB OR ABOVE DIGIT RANGE 313 BCC 10$ ;099FB RETURN C-CLEAR IF ABOVE 314 CMPB R5,#'A ;099FB BELOW UPPER-CASE A ? 315 BCS 10$ ;099FB RETURN C-BIT SET 316 CMPB #'Z,R5 ;099FB OR BIGGER THAN Z ? 317 10$: RETURN ;099FB RETURN CHARACTER STATUS 318 ; ************************************************** 1) DR1:[311,100]HELP.MAC;1 344 PUT$ #FDCONS,#LINE,R4 ; PRINT OUT ALL WE CAN 345 10$: PUT$ #FDCONS,#CHAT2,#LCHAT2 ; INVITE MORE *************** 2) DR3:[311,100]HELP.MAC;16 373 CMP R4,#79. ; F B LIMIT TO SCOPE SCREEN SIZE 374 BLE 99$ 375 MOV #79.,R4 376 99$: PUT$ #FDCONS,#LINE,R4 ; PRINT OUT ALL WE CAN 377 10$: PUT$ #FDCONS,#CHAT2,#LCHAT2 ; INVITE MORE ************************************************** 1) DR1:[311,100]HELP.MAC;1 358 ; COPY LINE INTO LINE BUFFER. TRUNCATE IF NECESSARY TO 9 CHARACTERS 359 ; IF THE LINE BUFFER IS FULL ( IE. WE'VE DONE IT 7 TIMES ) THEN 360 ; OUTPUT THE LINE AND RE-INITIALISE THE BUFFER. *************** 2) DR3:[311,100]HELP.MAC;16 390 ; COPY LINE INTO LINE BUFFER. TRUNCATE IF NECESSARY TO CHARSPERCOL-1 CHARACTERS 391 ; IF THE LINE BUFFER IS FULL ( IE. WE'VE DONE IT 9 TIMES ) THEN 392 ; OUTPUT THE LINE AND RE-INITIALISE THE BUFFER. ************************************************** 1) DR1:[311,100]HELP.MAC;1 369 CMP CHRSIN,#CHARSPERCOL-1 ; DONE NINE CHARACTERS ? 370 BNE 10$ ; NO, NEXT PLEASE. 371 20$: SUB #CHARSPERCOL,CHRSIN ; CALC BY HOW MANY WE MUST SHIFT R4 372 SUB CHRSIN,R4 ; NOW CHECK IF WE HAVE FILLED *************** 2) DR3:[311,100]HELP.MAC;16 401 CMP CHRSIN,#CHARSPERCOL-1 ; DONE ALL FOR ONE COLUMN ? 402 BNE 10$ ; NO, NEXT PLEASE. 403 20$: SUB #CHARSPERCOL,CHRSIN ; CALC BY HOW MANY WE MUST SHIFT R4 404 SUB CHRSIN,R4 ; NOW CHECK IF WE HAVE FILLED ************************************************** 1) DR1:[311,100]HELP.MAC;1 375 PUT$ #FDCONS,#LINE,R4 ; ELSE, DUMP LINE 376 CALL INIT ; RE-INITIALISE LINE BUFFER *************** 2) DR3:[311,100]HELP.MAC;16 407 CMP R4,#79. ; F B LIMIT TO SCOPE SCREEN SIZE 408 BLE 98$ 409 MOV #79.,R4 410 98$: PUT$ #FDCONS,#LINE,R4 ; ELSE, DUMP LINE 411 CALL INIT ; RE-INITIALISE LINE BUFFER ************************************************** 1) DR1:[311,100]HELP.MAC;1 412 .ASCII " The following commands are available" 413 .ASCII <15><12> *************** 2) DR3:[311,100]HELP.MAC;16 447 .ASCII " The following commands and/or switches are available" 448 .ASCII <15><12> ************************************************** 1) DR1:[311,100]HELP.MAC;1 416 .ASCII " For more information, type HELP followed by keywords" 417 LCHAT2=.-CHAT2 *************** 2) DR3:[311,100]HELP.MAC;16 451 .ASCII " For more information, type AID followed by keywords" 452 LCHAT2=.-CHAT2 17 differences found HELP.DIF=DR1:[311,100]HELP.MAC,DR3:[311,100]HELP.MAC