
.CENTER
^^OMSI PILOT\\-TO-^^BASIC T\\RANSLATOR
.SKIP 2
.PA
^THE PURPOSE OF THESE PROGRAMS IS TO ALLOW ^^RSTS/E\\
TO UNDERSTAND THE PROGRAMMING LANGUAGE ^^PILOT\\. ^IT
ACCOMPLISHES THIS BY TAKING A FILE WHICH IS A ^^PILOT\\ PROGRAM
AND CREATING A ^^BASIC-PLUS\\ PROGRAM FILE. ^^RSTS/E\\ UNDERSTANDS
^^BASIC-PLUS\\, AND THROUGH THE TRANSLATION, INDIRECTLY
UNDERSTANDS ^^PILOT\\.
.PA
^TO RUN A ^^PILOT\\ PROGRAM, IS MUST FIRST BE TRANSLATED INTO ^^BASIC\\.
^AFTER THIS IS DONE, THE PROGRAM CAN LATER BE ACCESSED SIMPLY
BY TYPING "^^RUN\\ <FILNAME>". ^TO TRANSLATE A PROGRAM,
YOU MUST FIRST HAVE THE PROGRAMS ^^PILOT,PILGEN, AND PILEDT\\ ONLINE
IN THE METHOD DESCRIBED
ON THE NEXT PAGE. ^AFTER THIS IS DONE, TYPE "^^RUN PILOT\\", FOLLOWED
BY ^^RETURN\\, AND THEN TYPE THE ^^PILOT\\ PROGRAM NAME.
^BELOW IS AN EXAMPLE OF HOW TO TRANSLATE THE ^^PILOT\\
PROGRAM ^^IMAGIN.PI\\ INTO ^^BASIC-PLUS\\ AND THE HOW TO USE
IT AFTERWARDS. ^ASSUME THAT THE TRANSLATOR PROGRAMS ARE ALREADY
ONLINE.
.NO FILL
.SKIP 2  

^^RUN PILOT
PILOT PROGRAM NAME? IMAGIN
PILOT TO BASIC TRANSLATOR OMSI PILOT-73 V02-01
PASS 1
PASS 2
RUN TIME WAS 17.5 CPU SECONDS
EXECUTE ? EXIT
.SKIP 1
READY
.SKIP 1
RUN IMAGIN
 THERE ARE MANY FORMS OF THE_^^C
.SKIP 1
^READY
.FILL
.PAGE

.CENTER
^GETTING ^TRANSLATOR ^ONLINE
.SKIP 2
.PA
\\^AFTER LOGGING IN, TRANSFER ^^PILOT.BAS, PILGEN.BAS\\ AND
^^PILEDT.BAS\\ TO THE SYSTEM DEVICE. ^AS THIS IS DONE, LINE
THREE OF EACH PROGRAM SHOULD BE MODIFIED SO THAT ^W$
CONTAINS THE ACCOUNT NUMBER WHERE THE PROGRAMS WILL BE RESIDENT. ^FOR EXAMPLE IF
YOUR ACCOUNT NUMBER IS "[100,100]", YOU SHOULD MAKE LINE THREE
OF ALL THE PROGRAMS LOOK LIKE: 3 ^W$="[100,100]". ^THE 
PROGRAMS  SHOULD BE COMPILED WITH A PROTECTION CODE OF <104>.
.PA
^BELOW IS AN EXAMPLE OF HOW A USER WITH ACCOUNT NUMBER [100,100]
WOULD GET THE PROGRAMS ONLINE. ^ASSUME THAT THE ^^DEC\\TAPE 
CONTAINING THEM IS MOUNTED ON DRIVE 1.
.SKIP 2
^^HELLO
.SKIP 1
.NO FILL
^^RSTS V05B-24 OMSI SHARING  JOB 3 KB1  05-MAR-75  06:AM
_#100/100
PASSWORD:
.SKIP 1
READY
.SKIP 1
OLD DT1:PILOT
.SKIP 1
READY
.SKIP 1
3 W$="[100,100]"
COMPILE DK0:<104>
.SKIP 1
READY
.SKIP 1
OLD DT1:PILGEN
.SKIP 1
READY
.SKIP 1
3 W$="[100,100]"
COMPILE DK0:<104>
.SKIP 1
READY
.SKIP 1
OLD DT1:PILEDT
.SKIP 1
3 W$="[100,100]"
COMPILE DK0:<104>
.SKIP 1
READY
.SKIP 1
.PAGE
\\
.FILL

.CENTER
^USING THE ^^PILOT\\ TO ^^BASIC\\ ^TRANSLATOR
.SKIP 2
.PA
^THE BELOW TABLE IS A LIST OF QUESTIONS ASKED BY THE ^^PILOT\\ 
TO ^^BASIC\\ TRANSLATOR. ^REPLIES AND MEANINGS ARE GIVEN.
.SKIP 2
.NO JUSTIFY

^QUESTION: 
^^PILOT PROGRAM NAME?\\
.SKIP 0
^RESPONSE##################^MEANING
.SKIP 0
<FILENAME>################^THE ^^PILOT\\ PROGRAM <FILNAME> IS TRANSLATED TO
^^BASIC. ("^^.PI\\" IS DEFAULT EXTENSION.)
.SKIP 0
^RETURN\\####################^LIST OF OPTIONS
.SKIP 0
^LINE FEED#################^END PROGRAM
.SKIP 2
^QUESTION:
^^CORRECT LINE NOW?\\ (^ASKED IF ERROR FOUND IN ^^PILOT\\ PROGRAM)
.SKIP 0
^RESPONSE##################^MEANING
.SKIP 0
^RETURN\\####################^LIST OF OPTIONS
.SKIP 0
^LINE FEED OR ^^YES\\##########^ACCEPT NEW LINE
.SKIP 0
^NO\\########################^ASK QUESTION: "^CHAIN PILEDT?"
.SKIP 2
^QUESTION: ^^CHAIN PILEDT?\\
.SKIP 0
^RESPONSE##################^MEANING
.SKIP 0
^RETURN####################^LIST OF OPTIONS
.SKIP 0
^LINE FEED OR ^^YES\\##########^CHAIN ^^PILEDT\\ TO EDIT CURRENT FILE
.SKIP 0
^^NO\\########################^RETURN TO BEGINNING OF PROGRAM.
.SKIP 0
^EXIT######################^END PROGRAM
.SKIP 2
^QUESTION: ^EXECUTE?\\
.SKIP 0
^RESPONSE##################^MEANING
.SKIP 0
^RETURN####################^LIST OF OPTIONS
.SKIP 0
^LINE FOOD OR ^^YES\\##########^CHAIN TO NEWLY CREATED ^^BASIC\\ PROGRAM.
.SKIP 0
^NO########################^GO BACK TO BEGINNING OF PROGRAM.
.SKIP 0
^EXIT######################^END PROGRAM
.PAGE
.FILL


.CENTER
^^PILEDT\\
.SKIP 2
.PA
^^PILEDT\\ IS USED TO CREATE AND MODIFY ^^PILOT\\ PROGRAMS.
^IT IS SET UP FOR A MINIMUM OF TYPING AND THEREFORE
USES SINGLE CHARACTER INPUT MODE WHENEVER POSSIBLE. ^IF YOU HAVEN'T
USED THE PROGRAM BEFORE, IT IS SUGGESTED THAT YOU TYPE
"^Y" IN RESPONCE TO THE QUESTION: "^^INSTRUCTION OPTION?\\".
.PA
^WHEN USING ^^PILEDT\\, EACH LINE OF THE ^^PILOT\\ PROGRAM IS
ASSIGNED A LINE NUMBER. ^THE LINE NUMBERS ARE NOT PART
OF THE PROGRAM, THEY ARE JUST AN AID FOR EDITING.
.PA
^AFTER ^^PILEDT\\ PRINTS A POUND SIGN (_#), IT IS READY
TO ACCEPT A COMMAND, AND IS IN WHAT WILL BE REFERED TO
AS "COMMAND MODE". 
 ^COMMANDS CONSIST OF A SINGLE LETTER, WITHOUT
A ^^RETURN\\.
.SKIP 2
.CENTER
^COMMAND ^SUMMARY
.SKIP 1
.NOFILL
^COMMAND     ^MEANING
^A            ^ADD LINES TO END OF FILE
^I            ^INSERT A LINE BETWEEN TWO EXISTING
^F            ^FINISHED EDITING
^L            ^LIST LINES
^R            ^REPLACE A LINE
^E            ^EDIT A LINE
^D            ^DELETE A LINE

.SKIP 2
.FILL
.PA
^THE NEXT TWO PAGES DESCRIBE WHAT TO DO AFTER YOU
HAVE TYPED ONE OF THE ABOVE COMMANDS.
.PAGE
.CENTER
^PILEDT ^COMMANDS
.SKIP 2
.TAB STOPS 10
.LEFT MARGIN 10
.INDENT -10
^ADD	^THE NEXT LINE NUMBER (ONE PLUS THE CURRENT
NUMBER OF LINES IN THE FILE) IS PRINTED. ^TYPE THE LINE YOU
WISH TO ADD, FOLLOWED BY ^^RETURN\\. ^IT WILL BE
ADDED TO THE END OF YOUR FILE. ^WHEN YOU ARE FINISHED ADDING
LINES, TYPE A BLANK LINE FOLLOWED BY ^^RETURN\\.
.SKIP 1
.INDENT -10
^INSERT	^YOU WILL BE ASKED WHAT LINE TO INSERT AFTER. ^THAT
NUMBER PLUS ONE WILL BE PRINTED, FOLLOWED BY A
QUESTION MARK. ^TYPE THE LINE, TO BE INSERTED FOLLOWED BY ^^RETURN\\.
^YOU WILL THEN BE ASKED: "^NEXT?". ^TYPING A ZERO OR A
BLANK LINE FOLLOWED BY ^^RETURN\\, IS INTERPRETED
AS MEANING ONE PLUS THE LINE YOU JUST ENTERED. ^TO RETURN TO
COMMAND MODE, TYPE A _^^Z (^CONTROL ^Z).
.SKIP 1
.INDENT -10
^DELETE	^SPECIFY THE LINES YOU WISH TO DELETE,
IN THE WAY YOU WOULD FOR THE ^LIST COMMAND,
EXCEPT THAT A BLANK LINE FOLLOWED
BY ^^RETURN\\ WILL EXIT TO COMMAND MODE.
^EACH LINE YOU SPECIFIED WILL BE PRINTED FOLLOWED BY A
QUESTION MARK. ^YOU MUST CONFIRM THE DELETION OF EACH LINE
BY TYPING "^Y", ANYTHING ELSE AND THE LINE WILL NOT BE DELETED.
.SKIP 1
.INDENT -10
^FINISHED	^YOU WILL BE ASKED IF YOU ARE REALLY FINISHED, TO
WHICH YOU MUST RESPOND "^Y" UNLESS YOU 
WISH TO RETURN TO COMMAND MODE. ^THE NEXT QUESTION:
"^^CHAIN PILEDT?\\", INQUIRES 
WHETHER YOU WOULD LIKE THE ^^PILOT\\ PROGRAM YOU HAVE JUST
FINISHED EDITING TO BE TRANSLATED TO ^^BASIC\\.
.SKIP 1
.INDENT -10
^LIST	^SPECIFY THE LINES YOU WANT LISTED IN THE
FOLLOWING WAY: "^A-^B" MEANS LINES ^A THROUGH ^B;
"^A,^B,^C,^D" MEANS LIST LINES ^A,^B,^C,AND ^D; "^A-^B,^C,^D-^E"
IS ALSO AN ACCEPTABLE FORM; A BLANK LINE FOLLOWED BY ^^RETURN\\ MEANS
ALL LINES.
.SKIP 1
.INDENT -10
^REPLACE	^TYPE THE NUMBER OF THE LINE YOU WANT TO
REPLACE. ^THE LINE CURRENTLY ASSIGNED THAT NUMBER, WILL
BE PRINTED AND YOU WILL BE ASKED FOR A NEW LINE. ^IF YOU TYPE A BLANK
LINE FOLLOWED BY ^^RETURN\\, THE LINE WILL NOT
BE CHANGED. ^YOU WILL AGAIN BE ASKED FOR A LINE NUMBER, TYPING
A BLANK LINE FOLLOWED BY ^^RETURN\\ WILL EXIT TO COMMAND MODE.
.PAGE
.LEFT MARGIN 7
.PAGE
.CENTER
^PILEDT ^COMMANDS ^CONTINUED
.SKIP 2
.INDENT -7
^EDIT	^TYPE THE NUMBER OF THE LINE YOU WISH TO EDIT FOLLOWED BY
^^RETURN\\. ^WHEN USING THIS COMMAND, THERE ARE TWO DIFFERENT MODES,
IN WHICH THE SAME CHARACTER MAY HAVE DIFFERENT MEANINGS. ^AFTER YOU
TYPE THE LINE NUMBER, AN ASTERISK (*) WILL BE PRINTED; THIS POINT
WILL BE REFERED TO AS MODE 1.  ^MODE 2 IS WHEN YOU ARE IN
THE MIDDLE OF A LINE.
.SKIP 1
^IN MODE 1, THE FOLLOWING CHARACTERS HAVE THE ASSOCIATED MEANINGS:
.TAB STOPS 34
.NO JUSTIFY
.LEFT MARGIN 34
.INDENT -22
_^^V (^CONTROL ^V)	^VERIFIES LINE, RETURNS TO MODE 1.
.INDENT -22
_^^K (^CONTROL ^K)	^RESTORES LINE TO STATE BEFORE EDITING, AND RETURNS TO
MODE 1.
.INDENT -22
$ (^^ALTMODE\\)	^REPLACES LINE, ASKS FOR NEXT ONE TO EDIT.
.INDENT -22
^ANYTHING ELSE	^CAUSES A SEARCH FOR TYPED CHARACTER, AND
IF SUCCESSFUL, PRINTS LINE UP TO THE FIRST OCCURANCE, PUTTING YOU
IN MODE 2.
^THIS CHARACTER IS REFERED TO AS THE ORIGINAL SEARCH CHARACTER.

.SKIP 1
.INDENT -27
^IN MODE 2, THE FOLLOWING CHARACTERS AND MEANINGS APPLY:
.SKIP 1
.INDENT -22
_^^G_^^G (^TWO ^CONTROL ^G'S)	^ADD REST OF THE LINE, RETURN
TO MODE 1
.INDENT -22
_^^V (^CONTROL ^V)	^VERIFY LINE
.INDENT -22
_^^U (^CONTROL ^U)	^RESTORES LINE TO IT'S STATE THE LAST TIME YOU WERE IN MODE 1
.INDENT -22
^^RUNOUT\\	^DELETE CHARACTER PRECEDING CURRENT POSITION ON LINE
.INDENT -22
_^^L (^CONTROL ^L)	^SEARCHES FOR THE NEXT OCCURANCE OF THE ORIGINAL SEARCH CHARACTER. ^IF NOT FOUND, THE REST OF THE LINE WILL BE ADDED
AND IT RETURNS TO MODE 1.
.INDENT -22
^^RETURN\\	^TERMINATE LINE AT CURRENT POSITION, RETURN
TO MODE 1
.INDENT -22
^ANYTHING ELSE	^ADD CHARACTER TO LINE A CURRENT POSITION.
.SKIP 2
.JUSTIFY
