.ENABLE SUBSTITUTION .ENABLE GLOBAL .SETT TSC .; .; .; Command file used to generate MTREK for an RSX-11M or .; RSX-11M+ system. .; .; ;=========================================================================== ; ; MTREKGEN ; ; MTREK-PLUS generation command file ; ;=========================================================================== .; .; GET DEVICE INFORMATION .; .GETIN: ; .ASKS INDEV Enter input device [D=SY0:] .IF EQ 0 .SETS INDEV "SY0:" .TESTDEVICE 'INDEV' .PARSE "," DEV OTHER .IF DEV NE "NSD" .GOTO GETOUT .GOSUB BADDEV .GOTO GETIN .; .GETOUT: ; .ASKS OUTDEV Enter output device [D=SY0:] .IF EQ 0 .SETS OUTDEV "SY0:" .TESTDEVICE 'OUTDEV' .PARSE "," DEV OTHER .IF DEV NE "NSD" .GOTO GETMAP .GOSUB BADDEV .GOTO GETOUT .; .GETMAP: ; .ASKS MAPDEV Enter map device [D=NL:] .IF EQ 0 .SETS MAPDEV "NL:" .TESTDEVICE 'MAPDEV' .PARSE "," DEV OTHER .IF DEV NE "NSD" .GOTO CHKFIL .GOSUB BADDEV .GOTO GETMAP .; .BADDEV: ; ; MTREKGEN ** Error ** Invalid device or unit .RETURN .CHKFIL: ; ;=========================================================================== ; ; Checking for required installation files ; ;=========================================================================== ; ASN 'INDEV'=IN: ASN 'OUTDEV'=OU: ASN 'MAPDEV'=MP: .TESTFILE IN:MTREK.ODL .IF NE 1 .GOTO NOTFND .TESTFILE IN:PLAYER.ODL .IF NE 1 .GOTO NOTFND .TESTFILE IN:DUMPER.ODL .IF NE 1 .GOTO NOTFND .TESTFILE IN:TRDEMO.ODL .IF NE 1 .GOTO NOTFND .TESTFILE IN:MTREK.OLB .IF NE 1 .GOTO NOTFND .TESTFILE IN:DUMPER.OLB .IF NE 1 .GOTO NOTFND .TESTFILE IN:PLAYER.OLB .IF NE 1 .GOTO NOTFND .TESTFILE IN:EXTRAS.OLB .IF NE 1 .GOTO NOTFND .SETF HLPAVL .SETF LBHLP .TESTFILE LB:[1,2]TREKHELP.HLP .IF EQ 1 .SETT LBHLP .IFF LBHLP .TESTFILE IN:TREKHELP.HLP .IF EQ 1 .SETT HLPAVL .IFT HLPAVL .OR .IFT LBHLP .GOTO HLPOK ; ; No help file found, help will not be available during game .GOTO GETSYS .HLPOK: .IFT LBHLP .GOTO GETSYS ; ; Copying help file to LB:[1,2]TREKHELP.HLP ; PIP LB:[1,2]/NV=IN:TREKHELP.HLP .GOTO GETSYS .NOTFND: ; ; All required installation files were not found. Please copy them ; from your distribution and continue this process. .PAUSE .GOTO CHKFIL .; .; Parse a copy of PLAYER.TKB to see all the defaults taken .; .GETSYS: .SETF BLDSUP .SETS SUPL "" .SETS APR ":6" .SETS MUSW "" .SETS IDSW "" .SETF BLDID .SETF BLDMU .SETS MMR "/-RO" .SETT PRO .SETF PCP .SETT YESNO .; ; ;=========================================================================== .TESTFILE PLAYER.TKB .IF EQ 1 .GOTO GOTONE ; ; No exiting configuration found... ; .GOTO GTSYS .GOTONE: ; ; Examining current configuration... ; .OPENR PLAYER.TKB .; .SETN PX 0 .GETRC: .INC PX .READ REC .IF PX LT 4 .GOTO GETRC .; .; Got the first good record .; .TEST REC .SETS PCHR REC['':''] .IF PCHR EQ "+" .SETT MPLUS .; .; Skip next record .; .READ REC .READ REC .PARSE REC "," STG OTHER .; .; At this point, parse out all the switches present, since all we .; are left with is the command line up to the map file specification. .; .PARSE STG "/" OTHER SW1 SW2 SW3 SW4 SW5 .; .; Now we just have the switches left .; .SETS TMP "'SW1'" .GOSUB CHECK .SETS TMP "'SW2'" .GOSUB CHECK .SETS TMP "'SW3'" .GOSUB CHECK .SETS TMP "'SW4'" .GOSUB CHECK .SETS TMP "'SW5'" ; ; Information found for current configuration: ; ------------------------------------------- ; .IFF MPLUS ; Built for RSX-11M .IFT MPLUS ; Built for RSX-11M-Plus .IFF BLDMU .GOTO CH1 .SETS MUSW "/MU" .SETS APR "" ; Multi-user .CH1: .IFT PRO .GOTO CH1A .SETS MMR "/-RO" ; Disk-resident overlays .GOTO CH2 .CH1A: .SETS MMR "" ; Memory-resident overlays .CH2: .IFF BLDID .GOTO CH3 .SETS IDSW "/ID" .SETS APR "" ; I/D space support .CH3: .IFF PCP .GOTO CHKSUP ; Checkpointable .; .; Last thing left is to check for supervisor mode library support .; .CHKSUP: .READ REC .IFT .GOTO DONE .PARSE REC ":" X REST .IF REST NE "SV" .GOTO CHKSUP .PARSE X "=" Y SUPL ; Supervisor-mode library = 'SUPL' .SETT BLDSUP .GOTO DONE .; .; Routine to check and see what a switch is .; .CHECK: .IF TMP EQ "ID" .SETT BLDID .IF TMP EQ "MU" .SETT BLDMU .IF TMP EQ "-RO" .SETF PRO .IF TMP EQ "CP" .SETT PCP .RETURN .; .; If no PLAYER.TKB found, or operator wants new configuration, ask .; the rest of the questions, or just skip down and build. .; .DONE: .CLOSE ; .ASK YESNO Do you wish to override the current configuration .IFF YESNO .GOTO BUILD .GTSYS: ; .SETS $SYS "RSX11M+" .IF EQ 1 .SETS $SYS "RSX11M" .ASKS SYS Enter target operating system [D='$SYS'] .SETF MPLUS .IF EQ 0 .SETS SYS "'$SYS'" .IF SYS EQ "RSX11M+" .SETT MPLUS .IF SYS NE "RSX11M" .AND .IF SYS NE "RSX11M+" .GOTO GETSYS .; .; GET MPLUS SWITCHES .; .IFF MPLUS .GOTO GETRES ; ;=========================================================================== ; .SETS SUPL "" .ASK BLDSUP Build task with supervisor mode FCS library .IFF BLDSUP .GOTO MUTASK ; .ASKS SUPL Enter supervisor mode FCS library name [D=FCSFSL] .IF EQ 0 .SETS SUPL "FCSFSL" .; .MUTASK: ; .ASK BLDID Build task with I/D space support .IFF BLDID .GOTO SKIPMU ; .ASK BLDMU Build task multi-user .SKIPMU: .IFT BLDMU .SETS MUSW "/MU" .IFT BLDID .SETS IDSW "/ID" .IFT BLDMU .OR .IFT BLDID .SETS APR "" .; .; BUILD PROPER COMMAND FILES .; .GETRES: .; .; See if memory resident overlays are desired .; .IFF BLDSUP .GOTO BUILD ; .ASK MEMRES Build tasks with memory resident overlays .IFT MEMRES .SETS MMR "" .; .BUILD: .; .SETF MTREK .SETF DUMPER .SETF PLAYER .SETF TRDEMO .SETF TRKCOM .SETF PLAYEM .SETF UNICOM .SETF NEWINS .; ; .ASK COMPON Performing a component-mode generation ; .ASK BLDNEW Supercede existing .TKB command files .IFT COMPON .GOTO DONSUP ; .ASK NEWINS Supercede existing TREK.CMD file .DONSUP: .IFF COMPON .GOTO DOALL ; .; .COMLOP: .ASKS NAMES Enter component name, one per line, to end .IF EQ 0 .GOTO BLDTKB .IF NAMES EQ "DUMPER" .SETT DUMPER .IF NAMES EQ "MTREK" .SETT MTREK .IF NAMES EQ "PLAYER" .SETT PLAYER .IF NAMES EQ "TRDEMO" .SETT TRDEMO .IF NAMES EQ "PLAYEM" .SETT PLAYEM .IF NAMES EQ "TRKCOM" .SETT TRKCOM .IF NAMES EQ "UNICOM" .SETT UNICOM .GOTO COMLOP .; .DOALL: .SETT DUMPER .SETT MTREK .SETT PLAYER .SETT TRDEMO .SETT TRKCOM .SETT PLAYEM .SETT UNICOM .; .BLDTKB: ; ;=========================================================================== ; ; Building taskbuild files ; ;=========================================================================== .IFF MTREK .GOTO TST1 .TESTFILE MTREK.TKB .IFF BLDNEW .IF EQ 1 .GOTO TST1 .OPEN MTREK.TKB .ENABLE DATA ; ; MTREK.TKB ; ; BUILT ON '' AT '