<page-header>
AMPER SYSTEM                          OVERVIEW                       PRIME </page-header>
2.2
<page-footer>
</page-footer>
Page <page#>
Overview


     The following documentation is included for those individuals who may wish to attempt to modify their system, or to write programs designed to run on-line with the system.  You should not attempt to use the information provided in this section, or to modify your system in any way, unless you have a solid knowledge of ProDOS, Applesoft Basic, and your machine.

     If you do write sub-programs, or create modifications for your system, SmokeSignal Software encourages you to release same to the other PRIME sysops by uploading your work to the one of the support systems.  If you feel your program is of commercial quality, then feel free to contact SmokeSignal Software about current publishing and distribution details.  Remember, the Ampersand commands included in the product are copyrighted.  You may not distribute these Ampersand commands in return for money or any other consideration, in either independent or PRIME dependent programs without the written permission of SmokeSignal Software.

<page-break>Ampersand Command Listing


COMMAND   TOKEN    DESCRIPTION              

  ABS      212     Changes Upper Case to Lower Case
  AT       197     Set PREFIX
  CHR$     231     Trims Spaces, C/R's and Control Characters from both sides of a string variable
  CLEAR    189     Clear Word Wrap Buffer
  DEF      184     External Amper Interpreter Call ($035E)
  DEL      133     Deletes an Array from memory so it may be ReDIMed
  DIM      134     Returns the number of words found in a $ Variable
  END      128     Tests String for Special Codes
  EXP      221     Read Text from Buffer
  FN       194     Various Modem Funtions.
  FOR      129     Parses a sentence and finds a predefined word
  FRE      214     Checks Disk for Free Space
  GET      190     Gets from Modem & Keyboard
  GOSUB    176     Same as Basic GOSUB except Allows Variable
  GOTO     171     Same as Basic GOTO except Allows Variable
  HOME     151     Clears Screen and User's Screen
  IF       173     Used with & THEN for If-Then-Else emulation
  INPUT    132     Inputs from Modem & Keyboard
  INT      211     In Set, Check for a Character in a String
  LEFT$    232     Trims Spaces, C/R's, and Control Characters from the Left side of a string variable
  LEN      227     Returns Length of Data Pushed up to the Buffer
  LIST     188     Prints the menu
  LOAD     182     Similar to Get, but Does Not Wait for an Input
  LOG      220     Print-using statment.  Used for formatted output
  MID$     234     Replace Characters
  NEXT     130     Similar to ProDOS "TYPE" Command
  NOT      198     Same as ProDOS "DELETE" Command
  ON       180     Multiple condition GOTO. Emulates Pascal CASE statment
  ONERR    165     Clears Machine Stack, and Returns Error and Line
  OR       206     Print "where" Title
  PEEK     226     16 Bit Peek
  PLOT     141     Input with Word Wrap
  POKE     185     16 Bit Poke
  POP      161     Roll Array
  POS      217     Get Date, Time, & Time Remaining
  PRINT    186     Prints to Modem and Screen
  READ     135     Reads input from disk files ignoring commas and colons
  RECALL   167     Pulls User Password into Basic from Storage Buffer
  RESUME   166     Works with &READ to Return End of File before an error
  RETURN   177     Same as Basic.

<page-break>COMMAND   TOKEN    DESCRIPTION              

  RIGHT$   233     Trims Spaces, C/R's, and Control Characters from the Right side of a String variable
  SAVE     183     Pushes Text into the Buffer.
  SCALE    153     Returns Address of the Message Buffer
  SGN      210     Changes Lower Case to Upper Case
  SHLOAD   154     Clear Buffer
  SPEED=   169     Sets End of Line character for & READ
  STEP     199     Non-destructive/Input
  STOP     179     Check String for End
  STORE    168     Pushes User Password into Storage Buffer
  STR$     228     Sets up String Input Parameters
  TAN      224     Returns Text of "AT" Prefix
  TEXT     137     Extracts the word pointed to from a sentence
  THEN     196     Use with & IF for If-Then-Else emulation
  TRACE    155     Returns memory location of a variable
  USR      213     Get Y/N
  VLIN     143     Defines abort characters
  =        208     Swap contents of one $ variable with second $ variable
  >        207     Swaps one character in a string with another


<page-header>
AMPER SYSTEM                      THE COMMANDS                       PRIME </page-header>
2.2
<page-break>
& ABS string
     This command will convert all characters in the argument variable to lower case.  This will work only for the characters A to Z.

     Example:

     10  Z$="ABCDEFG" & ABS Z$
     20  & PRINT Z$: REM Z$ is now "abcdefg"

& AT numeric1,numeric2
     Sets the disk prefix to the global prefix as defined by numeric1.  Error code is returned in numeric2; if anything but 0, then an error was encountered.

     Example:

     10   & AT 6,A: REM Sets the current prefix to /SYSTEMS.

& CHR$ string1
     This command will strip all spaces and non-printing characters from both the beginning and end of the argument variable.

     Example:

     10  Z$="   This is a test   ": & CHR$ Z$
     20  & PRINT LEN(Z$): REM Was 20, should now be 14.

& CLEAR
     Clears the Word Wrap Buffer.  Good to do just before starting a word wrap input sequence.  See the & PLOT command for a practical example of this command's application.

     Example:

     10  & CLEAR

& DEF
     Vectors to address $035E (862 decimal) for use with a sub-amper interpreter.  You may link your own ML routines to the system using this command.

<page-break>& DEL string
     This amper will delete an Array from memory so that it may be "REDIMED".  Notice that the Array Pointer variable is not included in the argument of this command.  The command as shown here will delete the Array S$(x) from memory.  Before you can REDIM the Array you MUST use the ProDOS option "FRE".

     Example:

     10 & DEL S$: PRINT D$;"FRE": DIM S$(100)

& DIM string,num
     This amper will count the number of words, (Words are separated by spaces or most special characters except the apostrophe) in the Source variable, and return the count in the variable.

     Example:

     10 S$="This is a test": & DIM S$,R

     R will return a 4.

& END numeric
     Numeric returns the status of whether an abort has occurred.  Please refer to the & VLIN command for an example.

     0 = no abort occured.

& EXP = numeric
     Sets the address of the buffer where text is to be read in.

     Example:

     10  A=32768: & EXP=A

& EXP string
     Allows input from the buffer, but must first be initialized.  For instance, a text was pushed into a buffer, and let's assume the first line in this buffer, was "Hello Fred,".  Also, let's assume the buffer starts at location 32768 in memory.  The procedure for reading this in would be as follows.

     Example:

     10  & EXP=32768: & EXP Z$

     Z$ would then be equal to "Hello Fred," and every subsequent & EXP Z$ would read in the next line of the message buffer.  To test to see if you have reached the end of the buffer, test the first character of the string for a CHR$(0).  If this is found, then you have hit the end of the message.

& FN numeric1,numeric2
     Controls various modem functions.  Numeric1 defines the command to be executed and numeric2 returns the status of the modem (not always used).

     Function  Definition
        0      Tests the modem for a ring
        1      Informs the modem to answer the ring
        2      Looks for a carrier
        3      Chat mode
        4      Hang up the modem.
        5      Hang up the modem.
        6      Send the modem set up string (if required, external only)

     Example: 

     10  & FN 0,A: IF A=1 THEN & PRINT ,"Modem is ringing!"

& FOR string1,string2,num
     Searches the sentence in variable string1, looking for the word in variable string2.  The location, if found, is returned in num.  Num will be a 0 if the word was not found.

     Example:

     10  S$="This is a test.": T$="a"
     20  & FOR S$, T$, R

     R will return a 3

& FRE numeric
     Checks the amount of free space on the last storage device accessed.

     Example:

     10  & FRE A: & PRINT INT(A); " Blocks of disk space free"

<page-break>& GET string
     This command works the same as Basic's normal GET, with the exception of input is accepted from both the keyboard and the modem.  The command will wait for one character of input, and take the input  without printing the character after receiving it.

     Example:

     10 & PRINT "A-Change Name"
     20 & PRINT "B-Change City"
     30 & PRINT ,"Option:";
     40 & GET A$:IF A$ <> "A" or A$ <> "a" or A$ <> "B" or A$ <> "b"
        THEN 40
     50 & PRINT A$

& GOSUB line number or numeric variable
     Same as Basic, except a variable can also be used.  In addition, the machine stack is not used for this command and, as a result, the & RETURN must be used in order to return from an & GOSUB.

     Example:

     10  L=20: & GOSUB L: STOP
     20  & PRINT ,"HELLO!": & RETURN

     Note: POP does not function from inside an Amper generated subroutine.  Unlike with Applesoft, it is NOT necessary to "Return" from an & GOSUB.

& GOTO line number or numeric variable
     Same as Basic, except a variable can be used as well.

     Example:

     10  A=20: B=40
     20  IF A=20 THEN & GOTO B
     30  GOTO 10
     40  STOP

& HOME
     Clears both the system screen and the user's screen.

     Note:  May not send the proper clear screen code to non-Apple systems.

<page-break>& IF & THEN
     This command works like the "IF-THEN-ELSE" option found in some other Basics.

     Example:

     10 & IF S$="1" THEN: S$="2":GOTO 20: & THEN: S$="1"
     20 & PRINT S$

     Note the : after "THEN and & THEN".  These must be included for proper operation.  Also, the entire statement must be within one command line.

& INPUT string
     Same as Basic's INPUT; however, takes it's inputs from the modem and the keyboard.  Input is controlled with the prameters setup using the & STR$ command.  These controls should be set prior to using the & INPUT statment.

     Example:

     10  & STR$ 1,"09Q": & PRINT ,"Enter Selection (0-9,<Q>uit) ";
     20  & INPUT Z$: REM  Only allows 0-9 or the Q to be entered.

& INT string1,string2,numeric
     Searches for the character specified in string1, in string2.  If found, returns the position the character was found in the numeric variable.  If not found, the numeric will be equal to 0.  Please see the & VLIN command for an example.

& LEFT$ string1
     This command will trim all spaces and non-printing characters from the left side of the argument variable.

     Example:

     10  Z$="   Hello": & LEFT$ Z$
     20  & PRINT ,"I said ";Z$

<page-break>& LIST num1,str1,str2,num2,num3,num4,num5,num6,num7,num8
      This command is quite complex as this is the one that prints the menu to the screen and the modem.  If you wish to see exactly how commands are structured internally:

     num1 = The expert level that the menu should print at.
     str1 = The beginning point of a menu in the array.
     str2 = The prompt for the menu
     num2 = The level of access granted by the menu interpreter
          0 = No access or view granted
          1 = View granted, but access refused
          2 = Normal access
          3 = Sysop access

     num3 = The user's real security level (0-25).
     num4 = Type of command selected.
     num5 = Level of command selected.
     num6 = The "NAME" number of the command.
     num7 = The Prefix number for that command.
     num8 = The Time Remaining on the current call.

& LOAD string
     Similar to & GET, except the system does not wait for the input.  If there is no key on the buffer, a null string is returned.

     Example:

     10  & PRINT "Hello"
     20  & LOAD Z$: ON Z$="A" GOTO 40
     30  GOTO 10
     40  STOP

     The example will loop at lines 10 thru 30 until the letter "A" is pressed.

& LOG "$  0.00",num
     This statment acts alot like a "Print Using" command.  There are several ways you can use the command, some options are given below.

     Example:

     10  N=15.6 : & LOG "$  0.00";N: REM the result is "$ 15.60" printed to the screen and modem.
     20  DT=120286: & LOG "00/00/00",DT: REM The result is "12/02/86" printed to the screen and modem.
     30  TM=1430: & LOG "00:00",TM:REM The result is "14:30" printed to the screen and modem.

<page-break>& MID$ string1, string2, numeric1, numeric2
     Replaces the text in string2 with the text in string1 starting at position numeric1 and filling for the length in numeric2.  Similar to the MID$(Z$,5,12) where 5 is the position, and 12 is the length.

     Example:

     10  Z$="00": Y$="1111111111"
     20  & MID$ Z$,Y$,5,2
     30  & PRINT Y$: REM Y$ is now "1111001111"

& NEXT numeric1,string,numeric2
     Similar to the ProDOS "TYPE" command.  Numeric1 defines the aspect of the command to be performed, string defines the file name to be read and numeric2 returns the error code, if any.

     Function  Definition
        0      Loads the message into the message buffer and closes the file.
        1      Loads and prints the message, until the end of the file is reached.
        2      Loads the message defined in string (any legal name) into the message buffer, and closes the file.
        3      Loads and prints the message until the end of the file is reached.

     Example:

     10  Z$="WELCOME.MSG"
     20  & NEXT 3,Z$,R: ON R>0 GOTO 30: STOP: REM Error occured

     Note:

     Function 0 and 1 only work with bulletin board messages.
     Function 2 and 3 work with any name defined in the string.
     Numeric2 if anything other than 0, had some sort of DOS error.

& NOT string,numeric
     Similar to the DELETE command in ProDOS; however, only deletes bulletin board messages as defined from string.  Numeric returns the error code; if anything but 0, a disk error occured while deleting the file.

     Example:

     10  Z$="B.01234": & NOT Z$,A: IF A>0 THEN & PRINT "Error!"

     A will return the error code, if any.

<page-break>& ON  GOTO
     This option provides a CASE like statement.

     Example:

     10  & ON DA=1, DA=2, DA=3, DA=4, DA=5, DA=6, DA=7 GOTO
         20,30,40,50,60,70,80:GOTO 10
     20  DA$ = "Monday": GOTO 90
     30  DA$ = "Tuesday": GOTO 90
     40  DA$ = "Wednesday": GOTO 90
     50  DA$ = "Thursday": GOTO 90
     60  DA$ = "Friday": GOTO 90
     70  DA$ = "Saturday": GOTO 90
     80  DA$ = "Sunday"
     90  & PRINT "Today is ";DA$

& ONERR = numeric1,numeric2
     Clears the last ONERR GOTO set from basic, as well as the machine stack.  Numeric1 will return the error code, and numeric2 will return the line number the error occurred in.  This command is much the same as a combination of the Basic commands; Poke 216,0: Peek(222): Peek(218): Peek(219)

     Example:

     3800  ONERR GOTO 3800: & ONERR = ER,LI
     3810  & PRINT,"There is an error ";ER;" in line ";LI;"."

& OR ,string
      Prints a "WHERE" title on the bottom of the display to show the sysop what section of the system the user is currently using.

     Example:

     10  Z$="Main BBS Menu": & OR,Z$

& PEEK numeric1,numeric2
     Similar to Basic's PEEK, except 16 bit.  Numeric1 equals the address to peek and numeric2 returns the 16 bit value.

     Example:

     10  A=769: & PEEK A,B: & PRINT B

<page-break>& PLOT string
     Similar to & STEP, except that, when the maximum allowable length has been reached, an automatic C/R is printed, and words that exceed the nominal length are placed into a Word Wrap Buffer.  When this command is encountered again, the words in the Wrap Buffer are sent to the screen, and included in the next input level.

     It is this option that is used in the Editor code instead of using Input statements.  Here is a small coding example of a simple editor.

     Example:

     10 & CLEAR: REM Clears wrap buffer.
     20 X=1
     30 & PLOT L$(X): IF L$(X)="/END" THEN 50
     40 X=X+1: GOTO 30
     50 & PRINT, "Saving Entry...": REM  GOTO message save routine.

& POKE numeric1,numeric2
     Similar to Basic's POKE, except this is a 16 bit poke, instead of an 8 bit poke.  Numeric1 is the address to poke, and numeric2 is the value to be poked.

     Example:

     10  Z=16000: & POKE 831,Z

& POP numeric1,numeric2,string
      This command is used to either delete or insert an element in an existing array.  Numeric1 defines the function, roll the array up or down.  Numeric2 is the number of array elements to be shifted up or down.  String is the array element to start the shift.

     Example:

     10  Z=6: REM This will delete element 6 of a 120 dimmed array.
     20  & POP 120-Z, 0 ,S$(120): S$(Z)=""

     10  Z=6: REM This will insert element 6 of a 120 dimmed array.
     20  & POP 120-Z, 1 ,S$(120): S$(Z)=""

     0 = Delete the element.
     1 = Insert an element.

<page-break>& POS number (ID),number (DATE),number (TIME),number (TIME REMAINING)
     This command returns the time and the date either current, or time and date of when the user has logged on, along with the time remaining on the call.  Which time and date are returned is determined by the I.D.  The I.D.s are as follows:

     0 = Updates User log on DATE/TIME.  This command is used to set the user's time limit when they first logon to the system.
     1 = Returns the current DATE/TIME.  This option is used to read current date and time, along with time remaining throughout the system.  This command must be used directly after any & POS commands that use the 0 I.D. option.
     2 = No update, returns the logon DATE/TIME

     Example:

     10  & POS 1,DT,TM,TR: REM  Returns the date, current time and time remaining.

     The Date is read in the following format: YYMMDD as a numeric value.  The Time is read in the following format: HHMMSS as a numeric value.  The time remaining is returned as the total number of minutes or bytes remaining, depending on which system is in effect.

& PRINT variable
      Prints the variable to both the modem and the screen.  This command also has a number of intrinsic commands associated with it.

! = allows the print to be aborted by the characters last defined with the & VLIN command.

     Example:

     10 & PRINT !; "Hello There!": REM  Note the ; MUST be after the ! or you will receive a syntax error.

@ = remove right spaces.

# = print the global text as defined by a numeric variable following the "#".

, = print a C/R

TAB(X) = Tabs to the X position by printing spaces until that position is reached.  If that position is already reached, or past, then this command is ignored.

SPC(X) = Print the number of spaces defined in "X".

<page-break>& READ string
     This command is designed to read disk files and accept any character for input.  This command will allow you to read commas and colons from disk files.  You must open the file first following normal ProDOS conventions.

     Example:

     10  D$=CHR$(4): F$="USR.FIL"
     20  PRINT D$;"OPEN";F$
     30  PRINT D$;"READ";F$
     40  & READ Z$
     50  PRINT D$;"CLOSE";F$

& RECALL string
     PRIME keeps the current user's record data in a special protected memory buffer.  This command option reads the data from this special buffer, and returns the information in a string variable, 127 bytes long.  See the & STORE command.

     Example:

     10  Z$="Happy Birthday"
     20  & RECALL Z$: & PRINT Z$: REM Z$ now prints "Your Name"

& RESUME numeric
     This amper will report the end of file before an Applesoft error is actually encountered.

     Example:

     10 PRINT D$;"OPEN FILE": L=0
     20 PRINT D$;"READ FILE"
     30 & READ IP$(R)
     40 & RESUME EOF: ON EOF <> 0 GOTO 60
     50 R=R+1: GOTO 30
     60 PRINT CHR$(4);"CLOSE FILE"

& RETURN
     Returns from the last & GOSUB.  You are not required to use an & RETURN when you use an & GOSUB.  See the & GOSUB command.

& RIGHT$ string1
     This command will trim all spaces and non-printing characters from the right side of the argument variable.

     Example:

     10  Z$="Hello   ": & RIGHT$ Z$
     20  & PRINT ,"I said ";Z$;"!"

& SAVE = numeric
     Sets the address point of the buffer where text is to be saved.  Please look at the & SAVE string command for an example.

& SAVE string
     Saves the string to the buffer defined from the & SAVE = num command.

     Example:

     10  & SAVE=32768: Z$="Hello There!"
     20  & SAVE Z$:

     "Hello There!" is now resident in memory starting at 32768.

& SCALE = numeric
     This command will return the address of the message buffer in numeric.

     Example:

     10  & SCALE = Z: & PRINT Z

& SGN string
     Converts all of the text in a string from lower case to upper case.  This only works for characters "a" through "z".

     Example:

     10  Z$="abcdefg": & SGN Z$
     20  & PRINT Z$: REM  Z$ is now "ABCDEFG"

& SHLOAD
     Clears the message buffer to all "0"'s.

     Example:

     10  & SHLOAD: REM Clears the buffer to 0's.

& SPEED = num
     This command sets the end of line character for the & READ command.  The main use of this command is for reading the special files created by the message system into the editor to be changed.  For standard purposes users should NOT change the end of line character.  The end of line character should always be 13.  CHR$(13) = RETURN

     Example:

     10  & SPEED=13

& STEP string
     Same as & INPUT; however, the contents of the string are presented, and can be edited.

     Example:

     Let's assume that Z$ = "John Doe".  If presented with the Prompt; "Enter Name:", the user could enter a Ctrl-E instead of entering his name.  Here is a small program example.

      10 Z$="John Doe": P$="Enter your name:"
      20 & STR$ "19"," dd": REM d = Delete Key
      30 & PRINT ,P$;: & STEP Z$

& STOP string,numeric
      Returns the command number of a possible instruction that is entered into a string.  Used for "." and "/" related commands.

     Example:

     10  & STR$ WD,DF$
     20  & PLOT L$(I): & STOP L$(I),C: ON C>0 GOTO 40
     30  I=I+1: GOTO 10
     40  ON C GOTO 100,110,120,130,140

& STORE string
     Stores the information found in string, to a special user data buffer found at the top of the host computers screen.  Warning, this string must be no more than 127 characters in length.  Also, when this command is activated, the information screen is updated with the user's data.  See the & RECALL command.

     Example:

     10 Z$="Your Name": & STORE Z$

<page-break>& STR$ number,string
     Number = Defines the maximum Input length that can be input with a Range of 1 to 254

     String = 1st character = minimum range
              2nd character = maximum range
              3rd character = 1 exception

     Example:

     & STR$ 10,"09-"  When the program next asks for Input, this setup would limit the input to a maximum of 10 characters, and the string ("09-") defines that the following characters can be used "0123456789-".  All other characters will be out of range, and not allowed in the input.  You should keep an ASCII chart close at hand when using this command option.

     You should use this command to set up before each & INPUT is used.  This will ensure that no characters are received in the input that a sub-program might not be expecting.

& TAN number,string
     This command option is used exclusively by PRIME.  The command will read the Ascii Text prefix name from the Global Prefix table used by the BBS.  The number range for the command is 0 to 21.

     Example:

     10  F$ = "/TEXTFILE"
     20  & TAN 0,PH$: REM Read name for #0; the "USERS" prefix.
     30  F$ = PH$ + F$
     40  PRINT CHR$(4);"OPEN";F$
     50  PRINT CHR$(4);"READ";F$
     60  & READ I$
     70  PRINT CHR$(4);"CLOSE"

& TEXT num,string1,string2
     Moves to the word pointed to by num, in the sentence held in string1, and copies the word into string2.

     Example:

     10 R=2: S$="This is a test"
     20 & TEXT R,S$,T$

     T$ will return "is"

<page-break>& THEN:
     Used in conjunction with the & IF statement.  See the & IF command for an example.

& TRACE string,num%
     This command will search memory for the location of string (or any other variable type), and return that location in num%.  The return variable MUST be an integer.

     Example:

     10  & TRACE Z$,N%
     20  & PRINT N%

& USR number
     Similar to & GET, except it waits for either a "Y" or an "N" to be entered.

     Example:

     Using Standard Basic:

     10  GET Z$
     20  IF Z$="Y" OR Z$="y" OR Z$=CHR$(13) THEN Z=1: PRINT "Y": RETURN
     30  IF Z$="N" OR Z$="n" OR Z$=" " THEN Z=2: PRINT "N": RETURN
     40  PRINT CHR$(7);: GOTO 10

     Using PRIME Ampersands:

     10  & PRINT "Is this correct? (Y/N):";
     20  & USR X: ON X GOTO 30,40
     30  & PRINT ,"Yes!": END
     40  & PRINT ,"No!": END
<page-break>& VLIN  string
     This command will allow you to define the valid characters that will interrupt the text output flow.  This command must be used in conjuntion with the & END command.

     Example:

     10 C$="123Q": C=0
     20 & PRINT !; "1) First Choice": & END C: ON C>0 GOTO 80
     30 & PRINT !; "2) Second Choice": & END C: ON C>0 GOTO 80
     40 & PRINT !; "3) Third Choice": & END C: ON C>0 GOTO 80
     50 & PRINT !; "Q)uit Menu": & END C: ON C>0 GOTO 80
     60 & PRINT !; "Command? ";: & END C: ON C>0 GOTO 80
     70 & GET X$: & INT X$,C$,C: ON C>0 GOTO 80: GOTO 70
     80 & PRINT MID$(C$,C,1): & VLIN "NX": ON C GOTO 100,200,300,400

     The example in the above will print an interruptable menu from inside a Basic Program.  Note, you MUST reset & VLIN to "NX" so the program will resume normal operation.

& = string1,string2
     This command will swap the contents of string1 with those of string2.  This command is very handy for sorts.

     Example:

     10  S$ = "@" + CHR$(13)
     20  & > S$,T$

     Result:  All "@"'s in T$ will be converted to CHR$(13)'s.

& > string1,string2
      This command will swap one character for another one.  String1 must contain 2 characters, the first character will be switched with the second character in all occurrences in string2.


<page-header>
PRIME BBS                            INDEX                           PRIME </page-header>
2.2
<page-break>Acknowledgments ........................................................ i
Activity Window ........................................................ 6
Amper Command Listing .................................................. 72
Amper Descriptions ..................................................... 74
AppleWorks Utility ..................................................... 30
Ascii Code Chart ....................................................... A-10
Assigned Disk Prefixes ................................................. A-12
Back Out ............................................................... 29
Board Global Settings .................................................. 54
Board Level Command .................................................... 47
Byte Limits ............................................................ 24
Call The Sysop ......................................................... 13
Class Codes ............................................................ 66
Command Structure ...................................................... A-8
Commands
   Main Menu ........................................................... 9
   Menu & Boards ....................................................... 36
Common Variables ....................................................... A-7
Control-C Interrupt Menu ............................................... 63
Control Keys
   A ................................................................... 17
   B ................................................................... 17
   C ................................................................... 63
   D ................................................................... 17
   E ................................................................... 17
   F ................................................................... 17
   H ................................................................... 17
   I ................................................................... 17
   L ................................................................... 63
   N ................................................................... 18
   O ................................................................... 64
   P ................................................................... 64
   R ................................................................... 17
   T ................................................................... 18
   U ................................................................... 17
   V ................................................................... 18
   W ................................................................... 18
   Y ................................................................... 64
   Z ................................................................... 64
Controls, System Messages & Paramaters ................................. 20
Copyright Information .................................................. iii
Counters ............................................................... 23
Create Menus & Boards .................................................. 33
Daily Call Limit ....................................................... 68
Delete Menus & Boards .................................................. 34
Disk Prefix Utility .................................................... 21
Downloads .............................................................. 11
Edit Commands (Menus & Boards) ......................................... 39
Edit Global Text ....................................................... 27
Edit Menus & Boards .................................................... 35
Edit Phone Numbers ..................................................... 62
Editor
   Delete Lines ........................................................ 16
   Edit Lines .......................................................... 15
   Insert Lines ........................................................ 16
   List Lines .......................................................... 15
   Prompt Option ....................................................... 16
   Text File Option .................................................... 16
Error Codes ............................................................ A-11
External Programs ...................................................... 65
Feedback ............................................................... 10
Find Class Codes ....................................................... 68
General Files .......................................................... 13
Global Settings ........................................................ 54
Installation ........................................................... 1
  Overview ............................................................. 3
Line Editor ............................................................ 17
Log/Back Out ........................................................... 29
Logging On ............................................................. 8
Log-On Messages ........................................................ 26
Main System Utilities .................................................. 19
Maintenance Options (Menus & Boards) ................................... 33
Menu & Board Utilities ................................................. 31
Menu Interpreter ....................................................... A-9
Menu Types ............................................................. 52
Menu Utility Items ..................................................... 53
Message Editor ......................................................... 15
Message File Fields .................................................... A-6
Messages Posted ........................................................ 69
Modem Cable Wiring ..................................................... A-1
Name Mirrors ........................................................... 18
New Message Scan ....................................................... 10
New User Log-On Menu ................................................... 60
New User Paramaters .................................................... 28
Options Menu ........................................................... 58
Page 3 Locations ....................................................... A-3
Parameters
   System .............................................................. 11
   System .............................................................. 20
   New User ............................................................ 28
Phone Number Editing ................................................... 62
Prefix Listing  ........................................................ A-12
Prefix Utility ......................................................... 21
Product Support ........................................................ iv
Prompts ................................................................ 50
Relog User ............................................................. 70
Reset Message Board Pointers ........................................... 34
Screen Display (80 & 40 cols) .......................................... 5
Special Functions ...................................................... 22
System Counters ........................................................ 23
System Information Window .............................................. 6
System Level Command ................................................... 43
System Utilities ....................................................... 19
Telegrams .............................................................. 69
Time Limits ............................................................ 24
Toggle Time Remaining .................................................. 14
Total Calls ............................................................ 69
Update Where File ...................................................... 29
Uploads ................................................................ 65
User Class Codes ....................................................... 66
User File Fields ....................................................... A-5
User File Purge & AppleWorks Utility ................................... 30
User Utility 
   Commands ............................................................ 11
   Program Information ................................................. 66
Utility Menu ........................................................... 53
Validate New Users ..................................................... 68
Warranty Information ................................................... ii
Where File Update ...................................................... 29
& ABS .................................................................. 74
& AT ................................................................... 74
& CHR$ ................................................................. 74
& CLEAR ................................................................ 74
& DEF .................................................................. 74
& DEL .................................................................. 75
& DIM .................................................................. 75
& END .................................................................. 75
& EXP num .............................................................. 75
& EXP string ........................................................... 75
& FN ................................................................... 76
& FOR .................................................................. 76
& FRE .................................................................. 76
& GET .................................................................. 77
& GOSUB ................................................................ 77
& GOTO ................................................................. 77
& HOME ................................................................. 77
& IF ................................................................... 78
& INPUT ................................................................ 78
& INT .................................................................. 78
& LEFT$ ................................................................ 78
& LIST ................................................................. 79
& LOAD ................................................................. 79
& LOG .................................................................. 79
& MID$ ................................................................. 80
& NEXT ................................................................. 80
& NOT .................................................................. 80
& ON ................................................................... 81
& ONERR ................................................................ 81
& OR ................................................................... 81
& PEEK ................................................................. 81
& PLOT ................................................................. 82
& POKE ................................................................. 82
& POP .................................................................. 82
& POS .................................................................. 83
& PRINT ................................................................ 83
& READ ................................................................. 84
& RECALL ............................................................... 84
& RESUME ............................................................... 84
& RETURN ............................................................... 84
& RIGHT$ ............................................................... 84
& SAVE num ............................................................. 85
& SAVE string .......................................................... 85
& SCALE ................................................................ 85
& SGN .................................................................. 85
& SHLOAD ............................................................... 85
& SPEED ................................................................ 85
& STEP ................................................................. 86
& STOP ................................................................. 86
& STORE ................................................................ 86
& STR$ ................................................................. 87
& TAN .................................................................. 87
& TEXT ................................................................. 87
& THEN ................................................................. 88
& TRACE ................................................................ 88
& USR .................................................................. 88
& VLIN ................................................................. 89
& = .................................................................... 89
& > .................................................................... 89

<page-header>
APPENDIX A                       MODEM INFORMATION                  PRIME </page-header>
2.2
<page-break><page-footer>
</page-footer>
A-<page#>

MODEMS


     Prime will support three different RS-232 cable configurations for use with your modem.  The cable configurations are as follows.

                        RS-232                MODEM

Prime Cable #1:
                        2,3,4,5               2,3,4,5
                        6,7,8,20              6,7,8,20

Prime Cable #2:
                        2,3,4,5               2,3,4,5
                        6                     12
                        7,8,20                7,8,20
Prime Cable #3:
                        2,3,4,5               2,3,4,5
                        6                     8
                        7                     7
                        8 TO 20               20

     The drivers that use these cables are generic to most modems.  Cable number 1 is a standard RS-232 cable.  Cable number 2 is modified to support those modems with a "high speed" pin.  All Hayes modems have this pin, but some of the "compatibles" don't.  If your particular modem has the high speed pin then we advise that you use this cable, and the driver marked "Std. Cable 2 Driver" in the installation menu.

     All of the drivers in the installation menu that are marked with the name of an external modem are "manually syncing" drivers.  These drivers ALL work with Standard Cable #1 ONLY.  You must set the dip switchs on your modem so that the following conditions will apply.

     1: DTR must follow the RS-232 condition.  NOT FAKED ON!
     2: DCD must follow the RS-232 condition.  NOT FAKED ON!
     3: Auto-Answer must be ON.

     At this time there are a few "non-smart" modems that can be supported by using cable #3.  SmokeSignal Software does not make any guarantee that the software will support any "non-smart" modem.  A "non-smart" modem in this case means any modem that does not support the Hayes "AT" command set.

     If you are using the U.S. Robotics Courier 2400, or the Hayes Smartmodem 2400, or a compatible, we recommend that you use Cable #3, and appropriate driver from the installation menu.

     If you have selected the proper driver for your modem and cable, and are experiencing problems, it is recommended that you change the switch settings on your modem before you attempt to use other drivers found on the installation menu.  If you cannot find a driver on the disk with a modem name that works with your modem, as a last resort, try the Standard Text Driver.  This driver is not the best, but will work with some otherwise non-supportable modems.  The Apple Personal Modem (APM) is one of these; as such, the Standard Text Driver should be used with this modem.  If you have the enhanced //e, we recommend that you turn the interrupts on your serial interface card to the ON position.  The interrupts are turned ON with Switch 2-6 on the Apple Super Serial Card.  We do NOT recommend you use interrupts with the //+ or a unenhanced //e, as you will experience erratic results.

     If you need further information about modem drivers or cables you should contact SmokeSignal Software on one of the support systems.  We are constantly adding new drivers, and one may be available for your particular configuration.

<page-break><page-header>
APPENDIX B                          PAGE 3 DATA                     PRIME </page-header>
2.2
<page-break>PAGE 3 LOCATIONS


Interrupt:           $0300   768   Sysop entry.
Off Hook:            $0301   769   Phone off hook.
New Messages Today   $0302   770   Number New Msgs Posted Today
Modem Slot:          $0303   771   Modem slot
Baud Rate:           $0304   772   Modem Baud rate.
Sysop In/Out Stat:   $0305   773   4 levels
Sysop Page Stat:     $0306   774   4 levels
Caller Number Low:   $0307   775   Current call # low byte
Caller Number Hi:    $0308   776   Current call # high byte
Mess. Number Low:    $0309   777   Current Mess. # low byte
Mess. Number Hi:     $030A   778   Current Mess. # hi byte
Post Mode:           $030B   779   Timer ON/OFF during POST mode
Download:            $030C   780   Files downloaded today
Upload:              $030D   781   Files uploaded today
Date.Hi:             $030E   782   Log-on Date high
Date Low:            $030F   783   Log-on Date low
Time Hi:             $0310   784   Log-on Time high
Time Low:            $0311   785   Log-on Time low
Date Hi:             $0312   786   Current Date high
Date Low:            $0313   787   Current Date low
Time Hi:             $0314   788   Current Time high
Time low:            $0315   789   Current Time low
Chat Pages:          $0316   790   Times chat was requested
Line Feed Flag:      $0317   791   0 = no line feeds
Lower Case.Flag:     $0318   792   0 = no lower case
Mode:                $0319   793   Program mode
Menu Level:          $031A   794   Level of last menu
Pushed Menu Num:     $031B   795   Last Menu number
High Msg Read low:   $031C   796
High Msg Read hi:    $031D   797
Msg Posted low:      $031E   798   Msgs. posted low
Msg Posted hi:       $031F   799   Msgs posted high
Tbuff:               $0320   800   Temporary buffer
System Lower Case:   $0321   801   0 = allow lower case
LstChar:             $0322   802   Last character sent.
Modem:               $0323   803   0 = no output to modem
Screen:              $0324   804   0 = no output to screen
Linefeeds:           $0325   805   0 = no line feeds
Slot:                $0326   806   Modem slot

<page-break>Modemcase            $0327   807   Utility Mode        $0328   808
Utility Number       $0329   809   Count               $032A   810
User Column Width    $032B   811   Time Remaining      $032C   812
Timer On/Off         $032D   813   Byte Limit 0        $032E   814
Byte Limit 1         $032F   815   Byte Limit 2        $0330   816
Byte Limit 3         $0331   817   Byte Limit 4        $0332   818
Byte Limit 5         $0333   819   Byte Limit 6        $0334   820
Byte Limit 7         $0335   821   Byte Limit 8        $0336   822
Byte Limit 9         $0337   823   Nulls               $0338   824
Output Mask Flag     $0339   825   Output Mask Char    $033A   826
TBUFF1               $033B   827   MCHAR               $033C   828
Chat Char            $033D   829   Chat Mode Flag      $033E   830
Upload Blocks Low    $033F   831   Upload Blocks High  $0340   832
Private Flag         $0341   833   Xfer Protocol       $0342   834
Right Clear Flag     $0343   835   Access Lvl Granted  $0344   836
Reserved             $0345   837   Reserved            $0346   838
Reserved             $0347   839   Active Download Lbr $0348   840
Caller Log Line Cnt  $0349   841   Upload File Type    $034A   842
Upload Error Count   $034B   843   Speed-Up Card Flag  $034C   844
Serial Interface     $034D   845   Baud Capabilities   $034E   846
Run Errors           $034F   847   Screen Mask         $0350   848
Amper Sub-system     $0351   849   Amper System        $0352   850
Machine ID           $0353   851   Amount of Memory    $0354   852
80 Columns           $0355   853   Clock Card          $0356   854
Programs Prefix #    $0357   855   Ram Disk #          $0358   856
1st Bell Interval    $0359   857   Nth Bell Interval   $035A   858
Total Bells          $035B   859   Alias's             $035C   860
Modem Number         $035D   861   Sub amper Address   $035E   862
Sub amper Address    $035F   863   New User call limit $0360   864
Board number         $0361   865   New User byte limit $0362   866
New Usr Class code   $0363   867   Msg log on flag     $0364   868
Msg log on number    $0365   869   New User Exp Level  $0366   870
New Usr Telex Num    $0367   871   Bell stop           $0368   872
Caller Log Status    $0369   873   Do Pre Logon Msg.   $036A   874
Pre logon Msg. #     $036B   875   Do Pre New User Msg $036C   876
Pre New User Msg. #  $036D   877   Do Post New Usr Msg $036E   878
Post New User Msg #  $036F   879   1st Call Time Limit $0370   880
Allow Spc Char Inp   $0371   881   Allow Spc Char Out  $0372   882
Reserved, Don't Use  $0373   883   <<---  thru  ---->> $0380   896
New User Index Set   $0381   897   <<---  thru  ---->> $0394   916
Binary // Xfer Flag  $03E4   996

<page-break><page-header>
APPENDIX C                        USER FILE FIELDS                  PRIME </page-header>
2.2
USER FILE FIELDS


CL - Class Code..................................MID$(NM$, 1, 1)
NM - Name........................................MID$(NM$, 2,20)
AL - Alias.......................................MID$(NM$,22,20)
PH - Phone number................................MID$(NM$,42,12)
        Area code................................MID$(NM$,42, 3)
        Prefix...................................MID$(NM$,46, 3)
        Suffix...................................MID$(NM$,50, 4)
ST - State Abbreviation..........................MID$(NM$,54, 2)
PW - Password....................................MID$(NM$,56, 7)
CL - Call Limit (daily)..........................MID$(NM$,63, 1)
TY - Computer Type...............................MID$(NM$,64, 1)
TR - Time Remaining Display Flag (On/Off)........MID$(NM$,65, 1)
BX - Box Number For User.........................MID$(NM$,66, 4)
LC - Last Date Called............................MID$(NM$,70, 6)
        Year.....................................MID$(NM$,70, 2)
        Month....................................MID$(NM$,72, 2)
        Day......................................MID$(NM$,74, 2)
TC - Total Calls.................................MID$(NM$,76, 3)
CT - Calls Made Today............................MID$(NM$,79, 1)
XC - Xfer Credits (Download Credits).............MID$(NM$,80, 1)
EX - Expert Level Of Menu Display................MID$(NM$,81, 1)
MC - Menu Columns................................MID$(NM$,82, 1)
SW - Screen Width................................MID$(NM$,83, 3)
TL - Time Limit Per Call.........................MID$(NM$,86, 1)
MP - Messages Posted.............................MID$(NM$,87, 3)
     Line Feeds..................................MID$(NM$,90, 1)
     Lower Case Capability.......................MID$(NM$,91, 1)
TL - Telegram....................................MID$(NM$,92, 1)
     Last Message Read...........................MID$(NM$,93, 5)
     Modem Nulls.................................MID$(NM$,98, 3)
     Security Indexs.............................MID$(NM$,101,20)
     Message Prompt Bar Setting..................MID$(NM$,121, 1)
     File Transfer Default Protocol..............MID$(NM$,122, 1)
     RESERVED DO NOT USE.........................MID$(NM$,123, 1)
     Download Credits (Xpress System Only).......MID$(NM$,124, 2)
     Upload Credits (Xpress System Only..........MID$(NM$,126, 2)

<page-header>
APPENDIX D                         MESSAGE FIELDS                   PRIME </page-header>
2.2
<page-break>MESSAGE FILE STRUCTURE


Message No.......................................MID$(M$(N), 1,5)
Posting User's Box #.............................MID$(M$(N), 6,4)
Addressee's Box #................................MID$(M$(N),10,4)
Private Flag.....................................MID$(M$(N),14,1)
Hi/Lo Directory Pointer..........................MID$(M$(N),15,1)
Reserved DO NOT USE..............................MID$(M$(N),16,1)
Delete Protect Flag..............................MID$(M$(N),17,1)
Edit Protect Flag................................MID$(M$(N),18,1)

<page-header>
APPENDIX E                      COMMON VARIABLES                     PRIME </page-header>
2.2
<page-break>COMMON VARIABLE EQUATES


AD - Auto delete.  1 = no auto delete
AL - Auto delete flag, 0=on 1=off
AL%- Auto-Sign, 1=Auto-Sign On
B0$- Default msg for subject
B1$- Default msg for "To"
B2$- Default msg for "To"
BD - Board section number
BK%- New message back-up
CT - Caller Number
DP - Show privates, 1=off
DT - Date
ER - Program error number
HL - Maximum messages that can be posted in any single message section
HM - Hi-memory locate for saving and loading messages.  Always equal to 26624 ($6800).
HP - High Sub-directory pointer/counter for msgs
LI - Program error line number.
LM - Number of last message that is loaded.
LP - Low Sub-directory pointer/counter for msgs
M1 - Delete security level
M2 - Read private security level
MD - Mode register.  0 = Main menu stuff.  1 = Message section
MM - Total messages in a message file.
MS - Message number
NM - Command Name
NA%- From Flag, 0=Show From
NN%- New message flag, 1=on
P  - File Location
P1$- Message protect flag, "P"=on
PP$- Private flag global
PV - Private Flag.  1 = all messages posted are private.
SP%- Special Private, 1=Ask if Private
TM - Time
TY - Command Type
WH - Command What
WD - User's column width

Arrays:
B$(- Message and prompts array.  Array size varies.
M$(- Posted Message headers.  Array usually set at 200.
S$(- Internal menus.  Array usually set at 120.


<page-header>
</page-header>
APPENDIX F                         COMMAND STRUCTURE                 PRIME 2.2
<page-break>BASIC COMMAND STRUCTURE


       00000000011111111112222222222
 Pos - 12345678901234567890123456789
S$(9)="B@@AA@@@0[B]ulletin Boards"

The individual fields are as follows:
Position    Description
   1        Prompt
   2        View Level
   3        Access Level (normal)
   4        Command Type
   5        Command Level
   6        Name
   7        Disk Prefix
   8        Index Pointer
   9        Sysop Level

10 - 49:
     The actual text that is displayed for the command.  As you can see, there is quite a bit of information required to execute any command.  I must also point out that not all of the information is  required for each command.  For example, if all you intend to do is switch between menus, no disk access is required, and as a result, the information about the disk prefix is not required for the command to execute properly.  You must, however, maintain the proper overall length of the string.

<page-header>
APPENDIX G                        MENU INTERPRETER                   PRIME </page-header>
2.2
<page-break>MENU INTERPRETER


System Level:
1-01:AA?? = Redisplay the menu
1-02:ABn? = Change menus.  n = the menu level to change to.
1-03:AC?? = Log-off
1-04:AD?? = Page Sysop
1-05:AEnw = Run another program. n=program number, w=path number
1-06:AF?? = Section not up.
1-07:AGnw = Load and display a system message.
1-08:AHnw = Load a message board.
1-09:AInw = Load a menu file and return to the last level used.
1-10:AJnw = Load menu at level 0.
1-11:AK?? = Flip menu to last level.
1-12:AL?w = Display unprefixed message.
1-13:AM?? = List sysops.
1-14:ANnw = Load and display G.FILE
1-15:AOnw = Load a message board & display theme message.
1-16:AP?? = Display Feedback List and allow feedback.
1-17:AQ?? = Toggle Time Remaining display.
1-18:ARnw = Run the New Msg Scan Program.  n=menu # (20), w=prefix (0).

Board Level:
2-01:BA?? = Post a message.
2-02:BB?? = Delete a message.
2-03:BC?? = Edit a message.
2-04:BD?? = Enter Read message mode.
2-05:BE?? = Message Protect toggle.
2-06:BF?? = Message Private toggle.
2-07:BG?? = Message Edit toggle.
2-08:BH?? = Save Fil. msg due to updates.
2-09:BI?? = Read New Messages.

System Program Level:
3-01:CA?? = Run Electronic Mail.
3-02:CB?? = Run Remote System Utility.
3-03:CC?? = Run System User Utility.
3-04:CD?? = Run Remote Validate.
3-05:CE?? = Run User's Utility.
3-06:CF?? = Run System Statistics.
3-07:CG?? = Run Transfer (Upload/Download) Section.
3-08:CHnw = Run On-line GAM.# program.

<page-header>
APPENDIX H                          ASCII CODES                     PRIME </page-header>
2.2
<page-break>                                  ASCII CODE CHART

           Dec  Hex  Char   Dec  Hex  Char   Dec  Hex  Char   Dec  Hex  Char
           ---  ---  ----   ---  ---  ----   ===  ===  ====   ===  ===  ====
             0  $00  NUL     32  $20   Sp     64  $40   @      96  $60   `
             1  $01  SOH     33  $21   !      65  $41   A      97  $61   a
             2  $02  STX     34  $22   "      66  $42   B      98  $62   b
             3  $03  ETX     35  $23   #      67  $43   C      99  $63   c
             4  $04  EOT     36  $24   $      68  $44   D     100  $64   d
             5  $05  ENQ     37  $25   %      69  $45   E     101  $65   e
             6  $06  ACK     38  $26   &      70  $46   F     102  $66   f
             7  $07  BEL     39  $27   '      71  $47   G     103  $67   g
             8  $08  BS      40  $28   (      72  $48   H     104  $68   h
             9  $09  HT      41  $29   )      73  $49   I     105  $69   i
            10  $0A  LF      42  $2A   *      74  $4A   J     106  $6A   j
            11  $0B  VT      43  $2B   +      75  $4B   K     107  $6B   k
            12  $0C  FF      44  $2C   ,      76  $4C   L     108  $6C   l
            13  $0D  CR      45  $2D   -      77  $4D   M     109  $6D   m
            14  $0E  SO      46  $2E   .      78  $4E   N     110  $6E   n
            15  $0F  SI      47  $2F   /      79  $4F   O     111  $6F   o

            16  $10  DLE     48  $30   0      80  $50   P     112  $70   p
            17  $11  DC1     49  $31   1      81  $51   Q     113  $71   q
            18  $12  DC2     50  $32   2      82  $52   R     114  $72   r
            19  $13  DC3     51  $33   3      83  $53   S     115  $73   s
            20  $14  DC4     52  $34   4      84  $54   T     116  $74   t
            21  $15  NAK     53  $35   5      85  $55   U     117  $75   u
            22  $16  SYN     54  $36   6      86  $56   V     118  $76   v
            23  $17  ETB     55  $37   7      87  $57   W     119  $77   w
            24  $18  CAN     56  $38   8      88  $58   X     120  $78   x
            25  $19  EM      57  $39   9      89  $59   Y     121  $79   y
            26  $1A  SUB     58  $3A   :      90  $5A   Z     122  $7A   z
            27  $1B  ESC     59  $3B   ;      91  $5B   [     123  $7B   {
            28  $1C  FS      60  $3C   <      92  $5C   \     124  $7C   |
            29  $1D  GS      61  $3D   =      93  $5D   ]     125  $7D   }
            30  $1E  RS      62  $3E   >      94  $5E   ^     126  $7E   ~
            31  $1F  US      63  $3F   ?      95  $5F   _     127  $7F   DEL
<page-break><page-header>
APPENDIX H                           ERROR CODES                    PRIME </page-header>
2.2
<page-break>ERROR CODES


 0 -- BAS  Next Without For             2 -- DOS  Range Error
 3 -- DOS  No Device Connected          4 -- DOS  Write Protected
 5 -- DOS  End of Data                  6 -- DOS  Path Not Found
 7 -- DOS  Path Not Found               8 -- DOS  I/O Error
 9 -- DOS  Disk Full                   10 -- DOS  File Locked
11 -- DOS  Invalid Option              12 -- DOS  No Buffers Available
13 -- DOS  File Type Mismatch          14 -- DOS  Program Too Large
15 -- DOS  Not Direct Command          16 -- D/B  Syntax Error
17 -- DOS  Directory Full              18 -- DOS  File Not Open
19 -- DOS  Duplicate File Name         20 -- DOS  File Busy
21 -- DOS  File(s) Still Open          22 -- BAS  Return Without Gosub
42 -- BAS  Out of Data                 53 -- BAS  Illegal Quantity
69 -- BAS  Overflow                    77 -- BAS  Out of Memory
90 -- BAS  Undef'd Statement           107 - BAS  Bad Subscript
120 - BAS  Redim'd Array               133 - BAS  Division By Zero
163 - BAS  Type Mismatch               176 - BAS  String Too Long
191 - BAS  Formula Too Complex         224 - BAS  Undef'd Function
253 - MOD  Lost Carrier                254 - BAS  Bad Response to Input
255 - BAS  Interrupt attempted
           (Control-C)

BAS = BASIC, DOS = DOS, MOD = MODEM, B/D = BASIC & DOS

Normal ProDOS command set:

APPEND  BLOAD  BRUN  BSAVE  CAT  CATALOG  CHAIN  CLOSE  CREATE  DELETE  EXEC FLUSH  FP  FRE  INT IN#  LOAD  LOCK  OPEN  POSITION  PREFIX  PR#  READ  RENAME  RESTORE  RUN  SAVE  STORE  UNLOCK  WRITE

<page-break><page-header>
APPENDIX I                       ASSIGNED PREFIXS                    PRIME </page-header>
2.2
<page-break>Assigned Disk Directories

     The location of certain system files has been standardized with the Prime system.  The install program will create a table of ProDOS disk directories and store it in your system.  The prefixes found in this table are standardized along with the files that are located in them.  Should you find a need to move these locations around, you must move the entire contents of the directory.  In other words, all files placed in system Prefix #0 by the installation program must always be found in the prefix that is named in the zero line of the prefix table.  The prefix table is documentated else-where in this manual.  Please note, the physical prefix name has no bearing on the program, just the number assigned in the prefix table.

     The standardized files and their locations after installation are as follows:

 Prefix     Assigned #          Files
 --------   ------------        -------

/USERS          0               Fil.Usr, Page.3, MNU.0.

/BOARDS         1               BRD.0 is the E-Mail section, and is a special type of section.  This board must be located in the #1 directory.  Other boards may be located as you please on any vaild system directory.

/EXTERNAL       2               PRG.# files (External other programs). Note: These files may be located anywhere, but we recomend that you keep them all in one place.  This directory has been provided for that purpose.

/UTILITY        3               All System Utility files must be on this directory.  If you are running a Floppy drive system, then this disk will not be on-line when the system is running.  If you need to use the system utilities, then you must "swap" this disk in and out of the drive.

/BOOT           4               ProDOS, Basic.System, Startup, Ampers, Config, Text, Prefixs.

/COMMON         5               NEWS must be found here, as well as any MSG.# files being used as Pre or Post Logon or Pre or Post New user files.  G.Fil.# files should also be located in this prefix.

/SYSTEM         6               Log, BBS.1, BBS.2, Email.Sys, User.Utility, SysUser.Util, OVR.Usrutil, Sys.Stats, Var.Log, Rmt.Validate, Special.ED.

/XFER           7               This directory is dedicated to the transfer library, and its sub- directories and files.

/GAMES          8               This is the dedicated directory for any PRIME games you may have on-line.  They are usually called GAM.XX where XX is a number from 0-63.

