/ / / / / / / / / / /COPYRIGHT (C) 1978,1979 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / /VERSION=1 / .TITLE RTSGEN BUILD PRGRAM .SBTTL MAIN1 - THE PASS1 MAINLINE PROGRAM /THIS PROGRAM ACTS AS THE MAINLINE MONITOR FOR THE RTSGEN /BUILD PROGRAM. UTILIZING SOME 30 SUBROUTINES, THIS /PROGRAM PROVIDES THE CAPABILITIES TO CREATE THE VARIOUS /TABLES REQUIRED TO MEET THE INFORMATION NEED OF MAIN2 AND /MAIN3. IT IS INTENDED TO PROVIDE A CONGENIAL ATMOSPHERE /IN WHICH THE NON-BUILD EXPERT CAN BE ASSISTED IN PRODUCING /AN RTS/8 BUILD. .RSECT MAIN1 .START MAIN .ENTRY MAIN .ENTRY MAIN11 .ENTRY MAIN12 .EXTERNAL INIT,TBLBLD,GETREC,TYPE,UQUES,NULLJ,NULL,IQUES .EXTERNAL TTYDVR,TTYPTR,TABLE1,TEMP1,EXITFG,TEMP2,STASKS .EXTERNAL TYPE,FLDBLD,GETR,TYP,UQ,TTYIO,ERR1,MAIN13 .EXTERNAL YESN,OCTD,ASC,BRN,RMK,DIRLOC,TFLAG,LOGNUM,PAGEFG .EXTERNAL QUES,CQUES,YESNO,OFLAG,OCTDEC,IFLAG .EXTERNAL ASCII,BRANCH,REMARK,TYPET,T,INIT1,CFLAG MAIN, CLA CLL CDF .FLD CIF INIT1 /INITIALIZE THE SYTEM TABLES JMS I SUBR1 CDF .FLD CIF FLDBLD /BUILD PSENDOFIELD VS STARTING JMS I SUBR2 /BLOCK TABLE AND BRING /IN TWO BLOCKS OF DIRECTORY MAIN11, CDF .FLD /GET THE FIRST RECORD INTO CIF GETR /TABLE TOVER JMS I SUBR3 CDF .FLD /DETERMINE THE TYPE OF CIF TYP /RECORD JMS I SUBR4 CDF .FLD /FORM THE USER QUESTION CIF UQ /NUMBER AND UPDATE THE JMS I SUBR5 /UQUES TABLE IF I TYPE, /DON'T SEND IT. CDF .FLD CIF TTYIO JMS I SUBR6 MAIN12, CDF TABLE1 /JUMP TO MAIN12 TO AVOID CLA TAD TTYPTR /TTY OUTPUT DCA 10 /POINT TO ANSWER IN TTY BUFFER TAD EXITFG SZA JMP PSS2 TAD I 10 DCA TEMP1 /GET FIRST CHARACTER & SAVE TAD TEMP1 CIA TAD (243 /IS IT A "#"? SNA JMP C /GO HANDLE CHANGE REQUEST TAD (277-243) /IS IT A QUESTION MARK? SNA /SEND EXPLANATION JMP EXP /SEND EXPLANATION CLA CLA TAD TYPE CIA DCA MAIN10 TAD MAIN10 TAD (331 /IS IT YES/NO TYPE? SNA JMP Y CLA TAD MAIN10 TAD (317 /IS IT A OCTAL TYPE? SNA JMP O CLA TAD MAIN10 TAD (304 /IS IT A DECIMAL TYPE? SNA JMP D CLA TAD MAIN10 /IS IT AN ASCII TYPE? TAD (301 SNA JMP A CLA TAD MAIN10 TAD (311 /IS IT A CONDITIONAL TYPE? SNA JMP IREC CLA TAD MAIN10 TAD (322 /IS IT A REMARK RECORD? SNA JMP R CLA TAD MAIN10 TAD (324 SNA JMP TTYPE /IS IT A RECORD HANDLED BY /A SPECIAL ROUTINE? CLA TAD MAIN10 TAD (316 /IS IT A NULL RECORD? SNA JMP N JMP ERR200 /NO RECOGNIZABLE SCRIPT /RECORD TYPE WILL CAUSE A /FATAL ERROR MESSAGE AND /CONTROL TO BE RETURNED TO /KEYBOARD MONITOR. PSS2, CDF .FLD CIF MAIN13 JMP I SUBR25 /TEMPORARY PATCH TO RETURN TO MONITOR WHEN /EXIT FLAG SET ERR200, CLA TAD (200 CDF .FLD CIF ERR1 JMS I RETU 2 /ILLEGAL SCRIPT RECORD ENCOUNTERED . /OUTPUT ERROR MESSAGE AND RETURN TO MAIN. RETU,ERR1 /LINK TO ERROR ROUTINE SUBR1, INIT1 /INITIALIZATION ROUTINE SUBR2, FLDBLD /PSEUDOFILED VS STARTING BLOCK BUILDER SUBR3, GETR /RECORD SWAP HANDLER SUBR4, TYP /RECORD TYPE DETERMINATION ROUTINE SUBR5, UQ /USER QUESTION NUMBER GENERATOR SUBR6, TTYIO /TTY DRIVER MAIN10, 0 /STORAGE FOR (-TYPE SUBR25,MAIN13 PAGE EXP, CLA TAD QUES DCA CQUES /SAVE CURRENT Q. NO. FOR RETURN CDF .FLD /GET THE EXPLANATION CIF GETR JMS I SUBR16 CDF .FLD /SUBROUTINE TYPE CHECKS CIF TYP /FOR REMARKS AND UQUES BLANKS JMS I SUBR21 /QUESTION NUMBER. NO ENTRY /IN UQUES CDF TABLE1 CLA TAD TYPE TAD (-322 SZA /IF NEXT ENTRY IN TREC IS TYPE R, SEND /IT. IF NOT, IGNORE IT. JMP EXP1 CDF .FLD /TYPE R. GO BLANK RECORD NUMBER CIF UQ /NO ENTRY IN TABLE UQUES JMS I SUBR17 CDF .FLD /SEND THE EXPLANATION TO CIF TTYIO /THE USER'S TERMINAL. JMS I SUBR20 EXP1, CDF TABLE1 /NOW BACK UP TO QUESTION STA DCA LOGNUM /SET PHASE BACK TO ZERO TAD (200 DCA PAGEFG /INITIALIZE PHASE PAGE ISZ IFLAG /SET THE BRANCH FLAG ISZ IQUES /SET ? FLAG TO PREVENT INCREMENTING /USER NUMBER, WHEN QUESTION REPEATED JMP MAIN11 C, CLA TAD TFLAG SZA JMP ERR201 /# FUNCTION NOT SERVICED AFTER PRIORITY /CHANGES HAVE OCCURED. ISZ CFLAG /SET THE CHANGE REQUEST FLAG JMP MAIN11 /CONTINUE RECORD PROCESSING Y, CDF .FLD /ANSWER EXPECTED IS YES/NO. CIF YESN /SET1 IN ANSWER TABLE IF JMS I SUBR7 /YES. CDF TABLE1 /GO ON TO NEXT QUESTION TAD DIRLOC TAD (3 DCA DIRLOC JMP MAIN11 /CONTINUE PROCESSING O, ISZ OFLAG /OCTAL AND DECIMAL ANSWERS D, CDF .FLD /ARE HANDLED BY THE SAME CIF OCTD /ROUTINE OCTDEC. POINTER JMS I SUBR10 /IS PLACED IN TANS, AND CDF TABLE1 /ANSWER IS PACKED AND TAD DIRLOC /PLACED IN TNUM. TAD (3 /BYPASS REMARK DCA DIRLOC JMP MAIN11 /CONTINUE PROCESISNG A, CDF .FLD /ASC ANSWER EXPECTED CIF ASC /POINTER TO ASCII ANSWER JMS I SUBR11 /IN TANS, ANSWER IN CDF TABLE1 /TASCI TAD DIRLOC TAD (3 /BYPASS REMARK DCA DIRLOC JMP MAIN11 /CONTINUE PROCESSING IREC, CDF .FLD /HANDLES I RECORDS. IF TEST CIF BRN /IS TRUE, SETS I-FLAG AND JMS I SUBR12 /CQUES CAUSING GETREC TO JMP MAIN11 /GO TO NEW QUESTION SEQUENCE CDF TABLE1 TAD DIRLOC /IF TEST IS FALSE, BYPASS TAD (3 /IF TYPE TO NEXT RECORD. DCA DIRLOC /NO INTERVEING REMARK SCRIPT JMP MAIN11 /EXPECTED. R, CDF .FLD /INF REMARK ENCOUNTERED NOT CIF RMK /PROMPTED BY ? FROM USER JMS I SUBR13 /THEN REMARK IS SENT TO JMP MAIN11 /TERMINAL AND PROCESSING CONTINUES TTYPE, CDF .FLD /ENTRY OR CONTROL FILES CIF T JMS I SUBR14 /GO HANDLE T-TYPE RECORD /AS A FUNCTION OF SUBTYPE, /UP TO 26 OTHER ROUTINES /MAY BE BRANCHED TO JMP MAIN11 /CONTINUE PROCESSING N, CDF .FLD CIF NULL JMS I SUBR15 /NULL ROUTINE INCREMENTS RECORD /DIRECTORY TO NEXT RECORD ENTRY JMP MAIN11 /CONTINUE PROCESSING SUBR15,NULL SUBR7, YESN /YESNO ANSWER HANDLER SUBR10, OCTD /OCTAL/DECIMAL ANSWER HANDLER SUBR11, ASC /ASCII ANSWER HANDLER SUBR12, BRN /BRANCH HANDLER SUBR13, RMK /REMARK RECORD HANDLER SUBR14, T /SPECIAL ROUTINE MAIN BUS. SUBR16,GETR SUBR17,UQ SUBR20,TTYIO SUBR21,TYP /TYPE ROUTINE ERR201, CLA /NO # FEATURE AFTER PRIORITY SCRAMBLE ISZ IQUES /KEEP SAME USER QUESTION NUMBER TAD (201 CDF .FLD CIF ERR1 JMS I RETU1 1 /OUTPUT MESSAGE AND RETURN TO QUESTION. RETU1,ERR1 /LINK TO ERROR ROUTINE