home *** CD-ROM | disk | FTP | other *** search
/ Boot Disc 8 / boot-disc-1997-04.iso / PDA_Soft / Psion / utils / Jpcli161 / JPCLI.TXT < prev    next >
Text File  |  1995-06-04  |  31KB  |  662 lines

  1. JPcli v1.61
  2. A command line interface for the Psion 3a
  3. By John Portwin
  4.  
  5. * What is JPcli?
  6.     JPcli is, basically, an MS-DOS emulator for the Psion 3a. You will find that lots of the commands of MS-DOS are available, as well as many more. See later in this file for a command by command list.
  7.     So why would you want to turn your multitasking, GUI based Psion into a single process, CLI (i.e. user unfriendly) machine? There are a number of reasons. Firstly, it is much quicker. There are also a lot of more advanced commands available (do you see an encryption facility in the system screen?). You can easily run a number of applications from the command line - such as Word, Agenda - in fact, all of the internal applications, including Script and Comms - and you can also run OPA, OPO and APP files. Other powerful commands are available - the encoding program already mentioned, a facility to copy files over from the ROM:: device (such as the internal applications!), ability to play .WVE files and dial telephone numbers, full online help, full compatibility with MS-DOS filing systems, ability to view PIC files, a string search facility, binary file views and editing, file type identification, seamless interfacing with your own type 2+ apps, complete battery checking facilities, sound setting control, and much, much more!
  8.  
  9. * What files should I have?
  10.  
  11.     If you have the internal help version, you should have the following files:
  12.  
  13.     JPCLI.OPA         - JPcli main program
  14.     JPCLI.WRD        - This file
  15.     JPCLI.TXT        - This file in .TXT (ASCII) format
  16.     JPPRINT.OPL    - A background print spooler (An example on using JPcli
  17.                    dropfiles!)
  18.     FILE_ID.DIZ    - Description file
  19.     
  20.     If you have the external help version:
  21.  
  22.     JPCLI.OPA        - JPcli main program
  23.     JPCLI.WRD        - This file
  24.     JPCLI.TXT        - This file in .TXT (ASCII) format
  25.     JPPRINT.OPL    - A background print spooler (An example on using JPcli
  26.                    dropfiles!)
  27.     FILE_ID.DIZ    - Description file
  28.     JPCLI.HLP        - Help file
  29.  
  30. * So how do I install this wonderful program?
  31.  
  32.     Simple. Just make a directory on your LOC::M: drive called JPCLI, and copy JPCLI.OPA into it. Then go to the system screen and press PSION-I - change to the M:\JPCLI directory and select JPCLI.OPA. If you have the external help version, copy JPCLI.HLP into the \JPCLI directory as well. This file can be deleted and JPCLI will still run (with more limited help!)
  33.  
  34. * OK, Now what do I do?
  35.  
  36.     Select the JPcli icon (the picture of a Psion 3a with JPcli on the screen - sorry, but I'm not a particularly good .PIC file artist) and press enter. The JPcli welcome screen will come up and ask you for your name. Enter your name as you would like it to be when you register (if you register - WHICH YOU WILL!!). You will be asked to confirm. JPcli will then exit. (Don't worry - it will be back in a minute).
  37.  
  38. * Now what?
  39.     Once again, run JPcli. It will display some blurb about registering and then display a single M:\> prompt, which as MS-DOS fanatics will know means that you are in the root (\) directory of drive M:. JPcli is now waiting for you to input commands.
  40.     Of course, I hope you know how to use MS-DOS - this program isn't going to be much use to you if you don't!
  41.     Each time JPcli loads, it checks your internal battery, backup battery, and then checks A: and B: for RAM SSDs and, if it finds any, checks their batteries as well. This is dependant on the semaphore NOBATT.SEM not existing (see later).
  42.  
  43. * Help!!
  44.     A brief summary of all the available commands is accessible by entering HELP, or by pressing the HELP key and pressing enter. If you have the internal help version, or the external version with JPCI.HLP, full help for each command is available by typing HELP <commandname> where <commandname> is the name of the command you want help on (duh...). If you have the external help version of JPcli and don't have JPCLI.HLP, only a brief summary of commands is available.
  45.  
  46. * Preamble by the author
  47.     I wrote JPcli in about 4 months of on-and-off work. I'm 15, and spend far too much time in lessons and at home writing this program. ;)
  48.     The source code for JPcli is huge - over  3,838 lines of OPL, roughly 73 pages of A4. There aren't any major bugs, and expect more updates soon. Probably. :)
  49.     If you don't like the manual, blame me. Never ask the programmer to write the manuals. (any offers??)
  50.     Thanks to the Beta testers:
  51.  
  52.     Matthew Horsnell
  53.     Kenneth Wright
  54.     Neil Worton
  55.     and the others...
  56.     
  57.     With special thanks to Ken Wright - who supplied me with the source code when I accidentally deleted it. I am forever in your debt!!
  58.  
  59. * Artificial Intelligence?
  60.     JPcli is a very intelligent program. It will automatically detect the date format and time format that is set in the time application, as well as the separators and the am/pm format. It will also check your batteries each time you start off. It will resize the cache it uses depending upon the amount of memory free. And it knows how long it has been unregistered!
  61.  
  62. * Warranty and technical support
  63.     There is no warranty. If JPcli wipes your internal disk, blows up your speaker, destroys your screen, crashes, causes world war III, or whatever, I am not to be held responsible (although I'd appreciate knowing about it!)
  64.     Any questions? Email me at john@lyster.demon.co.uk, or netmail me (John Portwin) at 2:252/337@fidonet or 405:110/7@bbsnet.
  65.  
  66. * What can I do, anyway?
  67.     The following commands are available:
  68.  
  69. ATTRIB (file) [one of -r +r -h +h -s +s -m +m]
  70.     Sets file attributes (read only, system, hidden, modified)
  71. BACK
  72.     Sends JPcli to the background. Press CTRL-Z to bring it back.
  73. BATT
  74.     Shows battery power levels. 
  75. CD
  76.     Show current directory.
  77. CD (directory)
  78.     Change to specified directory.
  79. CFILE (filename)
  80.     Load the SLE (single line editor) and create the specified file. See later.
  81. CHARMAP
  82.     Displays a character map.
  83. CLS
  84.     Clear screen. If the /G optional switch is used, the screen is cleared but the
  85.     current position remains unchanged.
  86. CRASH
  87.     Emergency stop!
  88. COMPARE (file 1) (file 2)
  89.     Sees if the two specified files are indentical, and if not, shows where and what the
  90.     differences are.
  91. COMPRESS (file)
  92.     Compresses the specified data (.DBF) file.
  93. COPY (file 1) (file 2/directory)
  94.     Copies file 1 to file 2 or to the specified directory. If you specify a directory it
  95.     must have an \ on the end i.e. \APP\.
  96. CURDEF
  97.     View current JPcli settings.
  98. CURPROC
  99.     Sees which processes are currently running
  100. DATE 
  101.     Shows the current date
  102. DECODE (file) (file-to-write)
  103.     Decodes the specfied file and asks for the two encryption keys. This command only
  104.     decodes RUF (Rotary Unit Fixing) files.
  105. DELETE (file)
  106. DEL (file)
  107. ERASE (file)
  108.     Erases the specified file.
  109. DIAL (number)
  110.     Dials the given telephone number. (Sound must be on). The number may consist of
  111.     the following: (0123456789ABCDEF#*)
  112. DINFO
  113.     Displays information about the current drive.
  114. DINFO (device)(drive)
  115.     Displays information about the specified drive and/or device.
  116. DIR
  117.     Shows a listing of files in current directory. See later in the manual.
  118. DOS
  119.     Exits to DOS (only if you are running on the PC emulator) - WARNING - you will lose
  120.     all unsaved data in all applications.
  121. EDIT (file)
  122.     Loads the word processor in text mode, editing the specified file.
  123. ENCODE (file) (file-to-write)
  124.     Encodes a file using the Rotary Unit Fixing (RUF) method. You will be asked for two
  125.     encoding keys. Don't forget them! See later in the manual.
  126. ENVINFO
  127.     Dislays misc. s3a user defaults.
  128. EVAL (string)
  129.     Evaluates the specified string.
  130. EXIT
  131.     Returns to the System screen. Optional switch /B does the same as the command
  132.     BACK.
  133. FINFO [filing system]
  134.     Shows information about the specified filing system (default is the current)
  135. FONT (font)
  136.     Sets the font used by JPcli. The font can be any of the internal fonts or one
  137.     loaded by LOADF.
  138. GETENV
  139.     Shows what the environment variables are set to.
  140. GETFTYPE (filename)
  141.     Makes JPcli says what it thinks the file format is.
  142. GETLANG
  143.     Shows the language your s3a is set to.
  144. GETUSER
  145.     Shows who JPcli is registered (or not registered) to.
  146. HELP
  147.     Shows brief help.
  148. HELP (command)
  149.     Shows help on a command.
  150. KILL (Process ID)
  151.     Kills the specified process. See later for details.
  152. LOADF (font name)
  153.     Loads the font specified and returns the font number to use with FONT.
  154. LOADM (.OPO file)
  155.     Loads an .OPO file into memory. A maximum of three can be loaded at any one time.
  156.     (Two with the external help version). The loaded procedures in the file can be
  157.     run with RP.
  158. LOC::
  159.     Change to the local filing system - this will change to the M:\ directory.
  160. MCOPY (file 1) (file 2)
  161.     Copies file 1 to file 2, however, this appends files (if file 2 already exists,
  162.     file 1 will be added after the existing code)
  163. MD (directory)
  164.     Makes a directory with the given name.
  165. MEM [/c]
  166.     Sees how much memory is available (/c switch sees which processes are running)
  167. MOVE (filename) (directory to move to)
  168.     Moves a file to another location
  169. NEWSIZE (filename) (new size in bytes)
  170.     Changes the specified file's size to the new size.
  171. OFF [time]
  172.     Turns the s3a off, optionally for the specifed time.
  173. PATH
  174.     Shows the current path
  175. PATH (path)
  176.     Sets the path to the specified one.
  177. PAUSE
  178.     Pauses JPcli and waits for a keypress.
  179. PINFO (Process ID)
  180.     Shows information on the specified process.
  181. PRINTF (file)
  182.     Prints the specified file to another file.
  183. PRINTP (file)
  184.     Prints the specified file to the parallel port.
  185. PRINTS (file)
  186.     Prints the specified file to the serial port.
  187. PROMPT
  188.     Shows the current prompt.
  189. PROMPT (prompt)
  190.     Sets the prompt.
  191. RD (directory name)
  192.     Removes a directory.
  193. REM::
  194.     Changes to an external filing system and returns to the  \ directory.
  195. RENAME (file 1) (file 2)
  196.     Renames file 1 to file 2. File 2 must not already exist. You can also rename
  197.     directories with this command.
  198. ROM::
  199.     Change to s3a internal ROM - you cannot change drive or path.
  200. RP
  201.     Runs a procedure previously loaded in a module loaded with LOADM. Don't put a :
  202.     after the procedure name.
  203. RUNAPP (app) (file)
  204.     Runs another application (app) using the specified file (file). See later in the
  205.     manual for this.
  206. RUNJPC (.JPC file)
  207.     Run a .JPC batch file. See later in the manual.
  208. SET
  209.     Shows help on setting JPcli default.
  210. SET [default=value]
  211.     Lets you set JPcli defaults. 
  212. SSEARCH (filename) (string to find)
  213.     Searches the filename specified for the specified string, and gives offset 
  214.     positions for occurences.
  215. SINFO
  216.     Shows the current sound settings.
  217. SSOUND (any of +KL +KS -K +P -P +S -S +O -O)
  218.     Sets the sound settings. See later.
  219. STATUSWIN [on/off/small]
  220.     Sets the status window to the specified size.
  221. STYLE (style)
  222.     Sets the text style to use.
  223. SWOFF (time)
  224.     Sets the auto-off timer. Time should be in seconds, or OFF to disable
  225.     auto-switch-off.
  226. SWOFFM (ON/OFF)
  227.     Turns on/off switchoff if external power is present.
  228. SYSINFO
  229.     Displays system info.
  230. TIME
  231.     Shows the current time.
  232. TYPE (text file)
  233.     Views a file (text mode)
  234. ULOADF (font number)
  235.     Unloads a font previously loaded with LOADF.
  236. ULOADM (name)
  237.      Unloads an .OPO module previously loded with LOADM.
  238. VER
  239.     Displays the current version of JPcli.
  240. VFILE (file)
  241.     Views a file (binary mode/byte-by-byte)
  242. VPIC (file)
  243.     Views a .PIC file.
  244. VPICG (file)
  245.     Views a .PIC file in grey mode.
  246. WAIT (time)
  247.     Pauses JPcli for the specified time.
  248. WPLAY (full path+.WVE file)
  249.     Plays a .WVE file (sound must be on).
  250.  
  251. More help is available in JPcli by typing HELP (command)..
  252.  
  253. * DIR (Directory)
  254.     The DIR command in JPcli is quite easy to use - just type DIR and a listing of the files in the current directory, along with sizes, flags, and date of last modification.
  255. To only view certain files, type DIR (filespec), ie DIR *.JPC would list only .JPC files, etc.
  256. Here is an example dir listing:
  257.  
  258. JPCLI.OPA   22775        -R-S-M        08:43:50 09/03/95
  259.  
  260. This shows the file JPCLI.OPA is 22775 bytes long, is read only (R), a system file (S), has been modified (M), and was last changed at 8:43am on the 9th March '95.
  261.  
  262. The flags are as follows:
  263.  
  264. D - Shows that the entry is a directory
  265. R - Shows the file is read only
  266. H - Shows the file is hidden
  267. S - Shows the file is a system file
  268. V - The file is a volume label (PC/DOS only)
  269. M - Shows the file has been modified since it was first written.
  270.  
  271. DIR can have five optional switches:
  272.  
  273. /1 - Formats list to 1 column (default)
  274. /2 - Formats list to 2 columns 
  275. /W - Formats list to widescreen format
  276. /G - Shows first 16 bytes of each file
  277. /T - Makes JPcli ID each file (like GETFTYPE)
  278.  
  279. The default format can be set with the SET DIRCMD command.
  280.  
  281.     
  282. * Keys to press
  283.     In many places you can either press ESC or Control-C to stop commands continuing (like DIR, VFILE, TYPE etc). If you want to temporarily halt screen output, press Control-S to pause the screen and then press a key to resume. You can also press Control-Shift-Psion-s together to save \SCREEN.PIC, a copy of the current screen. Registered versions of JPcli can also quick exit by pressing Psion-ESC.
  284.  
  285. * The ROM:: device
  286.     Using JPcli, you can see all the files that are on the s3a's internal rom. Simply change to the ROM device (enter ROM:: and press enter). All of the internal apps are there - WORD.APP, AGENDA.APP, DATA.APP - as well as some .WVE and .FON files. You can grab a copy of some of these files with the COPY command.
  287.  
  288. * Setting sound
  289.     The SSOUND command is very similar to the Psion-S command from the system screen.
  290. The optional parameters are:
  291.  
  292. +KL Sets loud key clicks
  293. +KS Sets soft key clicks
  294. -K Turns off key clicks
  295. +P Sets piezo buzzer on
  296. -P Turns it off
  297. +S Sets loudspeaker on
  298. -S Turns it off
  299. +O All sound on (obey individual flags)
  300. -O All sound off
  301.  
  302. Prefix each parameter with a + to turn it on, and a - to turn it off. JPcli will ignore a parameter if it is already set.
  303.  
  304. * Cache tradeoffs
  305.     If you want to use the cache, JPcli runs faster, but uses *lots* more memory (almost twice as much). If you don't want to, use the appropriate semaphore file.
  306.  
  307. * Killing apps
  308.     Although this is a useful command, it can cause problems. Firstly, make sure that
  309. the application has saved all its data. And it is very important that you do not kill SYS$WSRV.$04 - if you do, your s3a will lock up and crash, and you will have to reset it or leave it for five minutes (after which time it will reset itself). Also, if you kill SYS$SHLL.$05, it will appear as if your s3a has reset, but it hasn't really - only the System screen will have exited, so you lose the icons of installed applications, but just re-install them and they will still be running. In theory. :) There don't seem to be any drawbacks to killing the Time app - you will, however, lose any alarms that are set.
  310.  
  311. * The PATH command
  312.     Using the path command, you can give JPcli a list of directories to search for valid files. A path must contain a list of directories, each separated by a ;
  313. This is what a valid path may look like:
  314.  
  315. PATH \;\APP\;\OPO\;\JPCLI\;
  316.  
  317. The path can be up to 128 characters long. A long path can really slow JPcli down.
  318. To clear the path, type PATH CLEAR or PATH OFF.
  319.  
  320. * The PROMPT command
  321.     The default M:\> prompt can be changed to suit your needs. Simply set the prompt, using the PROMPT command, as follows:
  322.  
  323. PROMPT (new prompt).
  324.  
  325.     The new prompt can be whatever you like - there are some shortcuts that can be intermingled with the text:
  326.  
  327. $P - Drive and Path
  328. $F - Filing System
  329. $D - Drive
  330. $I - Path
  331. $G - >
  332. $$ - Dollar sign
  333. $T - Time (24hr format)
  334. $A - Date
  335. $* - Carriage return
  336. $M - Memory free
  337. $W - Day of week
  338. $V - Version of JPcli
  339.  
  340. * The SLE (Single Line Editor)
  341.     The single line editor provides an easy way to create your own textfiles. To use it, just type CFILE (filename). Then, enter the data as normal, pressing enter at the end of each line. If you make a mistake, press Delete. When you have finished, press ESC. Any existing file with the same name will be deleted.
  342.  
  343. * COM.DAT
  344.     The COM.DAT provides an easy way of getting JPcli and other JP applications (like JPprint, the background print spooler) - to run your serial port correctly.
  345. If COM.DAT exists in your \JPCLI directory, it will be read and the serial port set correctly. It has the following format:
  346.  
  347. Line 1:Baud rate (value between 1-16)
  348. Line 2:Parity (value between 0 and 2)
  349. Line 3:Data bits (5,6,7,8)
  350. Line 4:Stop bits (2,1)
  351. Line 5:Handshaking (11,4,7,0,3,12,15,8)
  352.  
  353. For an explanation of the values, see your s3a programming manual, pages 237 and 238.
  354.  
  355. * Semaphore files
  356.     JPcli can recognise the following files. If they are present in your \JPCLI directory, they will do something..
  357.  
  358.     NOENV.SEM - Won't create environment dropfile
  359.     NOCACHE.SEM - Won't create the cache
  360.     NOBATT.SEM - Won't do initial battery checking
  361.     SMCACHE.SEM - Makes JPcli always use a small, 5k cache.
  362.     MDCACHE.SEM - Makes JPcli always use a medium, 10k cache.
  363.     LGCACHE.SEM - Makes JPcli always use a large, 20k cache.
  364.  
  365. NOCACHE.SEM overrides the three other cache semaphores. If the relevant ??CACHE.SEM file exists then that cache will always be created, no matter how much memory is free.
  366.  
  367. * File redirection/output
  368.     If you want to redirect output of a command (e.g. DIR, HELP, ENVINFO, etc.) to a file, there are two ways of doing it. Use a single > to create a file and a >> to append to the end of the file. ie:
  369.  
  370. DIR *.APP >DIR.TXT
  371.  
  372. Does a DIR *.APP but redirects all screen output to DIR.TXT. If DIR.TXT already exists it will be overwritten.
  373.  
  374. DIR *.APP >>DIR.TXT
  375.  
  376. Does a DIR *.APP but redirects all screen output to DIR.TXT. If that file exists then new data will be added to the end.
  377.  
  378.     Redirection works with most commands, except <MORE> prompts aren't redirected so you can see what to do.
  379.  
  380. * Error messages
  381.     Following is a description of some of the more.. freqent.. errors, and why they occur.
  382.  
  383. Bad command or file name
  384.     This is when JPcli cannot find the command or filename you just entered. If you were trying to do a command, check your spelling. If you were trying to run a file, check the file exists, that ARIA is set to on if you are trying to run an internal app, and that the file is in the current directory or path.
  385.     
  386. Invalid arguments
  387.     This is when you don't specify the right amount of arguments for a command, or specify a name when JPcli expects a number (and vce versa).
  388.  
  389. In use
  390.     This is usually when you are trying to use the serial/parallel port when it's being used by another program.
  391.  
  392. Insufficient Memory
  393.     JPcli does not have enough memory to continue the current command. Free up some memory and try again.
  394.  
  395. End of file
  396.     This can happen when trying to view a single plane .PIC file with VPICG. Use VPIC to view single plane .PICs.
  397.  
  398. File system not found
  399.     Usually when you unplug the PC cable.
  400.  
  401. Font not loaded
  402.     You have not loaded the specified font. Check you got the right font number, and use LOADF to load the font into memory.
  403.  
  404. File already exists
  405. File does not exist
  406. Directory does not exist
  407. File or device in use
  408. Invalid name
  409.     These are obvious. (!!)
  410.  
  411. Record too large
  412.     Ths usually happens with TYPE. Make sure each line in your text file is less than 255 characters long and that the file is a text file.
  413.  
  414. Access denied
  415.     This happens if you try to delete a file that is write protected. It also happens if you do not specify a correct filename for use with VFILE.
  416.  
  417. Read only file
  418.     This happens usually when you try to change a file with VFILE that is in use. To edit the fie JPcli must be the only app using the file.
  419.  
  420. Invalid volume/Media is corrupt/Unknown media
  421.     Your disk needs reformatting as it is corrupt. :(
  422.  
  423. You shouldn't get any other errors, but if you do.. well.. e-mail me and say so.
  424.  
  425. * The SET command
  426.     Using the set command, you can set a variety of JPcli defaults. To set a command, do the following:
  427.  
  428. SET <command>=<value>
  429.  
  430.     The following commands can be set:
  431.  
  432. CHARSUB
  433.     1 - Sets Low-ASCII character substitution on
  434.     0 - Turns it off again
  435. DRVACD
  436.     1 - Turns on the "virtual drive access light"
  437.     0 - Turns it off again
  438. DIRCMD
  439.     4 - Sets default DIR format to /T
  440.     3 - Sets default DIR format to /G
  441.     2 - Sets default DIR format to two-column format
  442.     1 - Sets default DIR format to widescreen format
  443.     0 - Sets default DIR format to single column format
  444. RUNINT
  445.     0 - Turns off default running of internal apps
  446.     1 - Turns it on
  447. SETVOL
  448.     0-5 - Default volume for playing .WVE files
  449.  
  450. * Batch Files
  451.     JPcli lets you run groups of commands together, in one batch, from a file. This file is called a batch file. An example batch file might consist of:
  452.  
  453. @ECHO OFF
  454. CD \APP
  455. DIR
  456. CD \
  457.  
  458.     Each command is executed, one after the other. The first command, @ECHO, has two parts to it. The @ means that the command itself will not be printed on the screen, and ECHO OFF makes sure no further commands are printed on the screen. This is the same:
  459.  
  460. @CD \APP
  461. @DIR
  462. @CD \
  463.  
  464.  If it sounds quite complicated, just try it for yourself. You'll soon find out. You can create batch files using the CFILE command, and make sure that the file has a .JPC extension. Either run it by typing RUNJPC (filename) or by just typing the filename.
  465.     A file called AUTOEXEC.JPC, if it exists in your LOC::M:\ directory, will be run each time JPcli is started.
  466.  
  467. * External Help
  468.     If you have the external help version of JPcli, you can delete the JPCLI.HLP file, but then you won't be able to get complete help (only just a listing of commands)    
  469.  
  470. * PC linking
  471.     If you have the 3-link, you can connect JPcli to a PC and use the PC drives as if they were on the s3a themselves. Make sure you turn the link on at both ends.
  472.     Due to the fact that Macs use a *completely* different filing system to the PC, JPcli can't be used with the Mac. Sorry. :( Large changes would be necessary before this would be an option.
  473.  
  474. * Running External Applications
  475.     The RUNAPP command is the most powerful command in JPcli. With it, you can run any of the internal applications, and indeed any of your own programs, and specify your own file to use. The following internal programs can be run from JPcli (and they don't need to be installed on the system screen):
  476.  
  477. Application            Appcode
  478. - Data                 DATA
  479. - Word                WORD
  480. - Agenda                AGENDA
  481. - World                WORLD
  482. - Calc                CALC
  483. - Sheet                SH3
  484. - Comms                COMMS
  485. - Record                RECORD
  486. - Script                SCRIPT
  487. - RunOpl                EXTAPP
  488. - APP and IMG files        APPIMG
  489. - Program                PROGRAM
  490.  
  491. All but Calc require a filename to load or run - simply enter RUNAPP <appcode> <file>, so, for example, to load word with the file \WRD\JPCLI.WRD, simply enter (at the prompt):
  492.  
  493. RUNAPP WORD \WRD\JPCLI.WRD
  494.  
  495. If you want to run your own applications (.OPO, .OPA or .APP files), you can by entering the following (this example runs a file \APP\JPCLI.OPA)
  496.  
  497. RUNAPP EXTAPP \APP\JPCLI.OPA
  498.  
  499. It's all rather easy to use. (!!). So there are some shortcuts. If you just enter the name of the file (with no extension), JPcli will run it if it can find an application that will load it.
  500.  
  501. JPcli searches the current directory and then each directory in the path (see the path section in this manual) for files matching that name. For example, if you are in the \WRD directory, and you type README, JPcli will search for README.*, and if it matches a valid extension then it will automatically run WORD with the file README.WRD (assuming the README file was a .WRD file!)
  502.  
  503. However, if the file README.WVE existed in the \WRD directory or any of the path directories then it would automatically run record with file README.WVE. JPcli searches in the following order:
  504.  
  505. - .JPC (JPcli batch file)
  506. - .OPA
  507. - .OPO (runs first procedure)
  508. - .APP
  509. - .IMG
  510. - .OPL
  511. - .WRD
  512. - .WVE
  513. - .AGN
  514. - .DBF
  515. - .SPR
  516. - .WLD
  517. - .SCR
  518. - .SCO
  519.  
  520. (Make sure RUNINT is set to on, or this won't work! See the SET command for further info on RUNINT.)
  521.  
  522. It's a lot easier than all that RUNAPP stuff!
  523.  
  524. You can also run your own applications with their own data files - for example, if you want to load \APP\TYPE2.OPA with the file \APP\DATA.DAT, you can type:
  525.  
  526. RUNAPP \APP\TYPE2.OPA \APP\DATA.DAT
  527.  
  528. And JPcli will load it for you.
  529.  
  530. Another useful thing you can do is directly specify the name of the file to load on the command line - so if you wanted to load \APP\TYPE2.OPA with the file \APP\DATA.DAT, you could just enter (at the command line)
  531.  
  532. TYPE2 \APP\DATA.DAT
  533.  
  534. Presuming that TYPE2.OPA was in the path or current directory.
  535.  
  536. ** NEVER even THINK about trying to run an .IMG file using the extapp command - your s3a WILL (in most cases) reset **
  537.  
  538. * The RUNEXT.DAT file
  539.     This file basically provides JPcli with a way of running files. If it exists in your \JPCLI\ directory, JPcli will read it and look at its contents. It is set up as follows: the first word per line is an extension and the second word is a file to run specifiying the file you first entered plus the first word... if you see what I mean. It's easier with an example. Say your RUNEXT.DAT file had the following:
  540.  
  541. ; Lines starting with this are a comment and are ignored
  542.  
  543. ZIP LOC::M:\APP\UNZIP.OPA
  544.  
  545. (remember the space between ZIP and LOC...)
  546.  
  547. Now, if you typed JPCLIZ, and the file JPCLIZ.ZIP was in the current directory/path, JPcli would run LOC:M:\APP\UNZIP.OPA specifying JPCLIZ.ZIP as the file to load.
  548.  
  549. * The VFILE command
  550.     The VFILE command views a file, byte-by-byte. Press ESC or Ctrl-C to abort and return to the prompt at any time. To jump to a position in the file, press J, and you will be asked to enter a number. This is the offset you want to jump to - to move to byte number 4505, enter 4505 here, or -1 not to jump at all.
  551.     Press C to change a byte, enter the offset you want to change and then enter the new value (must be in the range 0-255, or -1 to abort the edit)
  552.  
  553. * Encoding your data
  554.     The ENCODE word encodes any type of file using Rotary Unit Fixing - an extremely efficient system that, using two code keys, can encode in lots of different combinations. Simply encode a file by the following:
  555.  
  556. ENCODE (file to encode) (file to write)
  557.  
  558. and then enter your two encryption keys (both must be in a range of -255 to 255)
  559. Don't forget the two keys! There is no way of knowing which key was used, so without them, your encoded file is useless! Then, to decode your files:
  560.  
  561. DECODE (file to decode) (file to write)
  562.  
  563. and then enter your two keys again.
  564.  
  565. * The JP environment variable
  566.     The JP environment variable provides external applications with a link to JPcli. It has the following info:
  567.  
  568.     · Command line and switches
  569.     · Current path
  570.     · Current drive
  571.     · Current file system
  572.     · JPcli's Process ID
  573.  
  574. The commands are simply stored one after the other, separated by character code 174.
  575.  
  576. Command line«current path«file system (LOC, ROM or REM)«current drive (1 character)«process ID
  577.  
  578. The environment variable is deleted whenever you exit JPcli.
  579.  
  580. * Updates
  581.  
  582. v1.0        First version of JPcli. Very limited. Only two commands (DIR and SETDIR).
  583. v1.1        More commands added.
  584. v1.2        Even more commands added. More of a command line interface.
  585. v1.3        RUNAPP command added. Major bugs in DIR command revealed.
  586. v1.35     Encode command added. Now shareware. JPCOMMND.DAT.
  587. v1.39    DIR problems fixed. RUNAPP revised - now runs external apps.
  588. v1.4        Can run batch files and view text files and binary files. 
  589. v1.5        Most/all bugs now fixed. First public release. Able to run type 2 apps w.files.
  590. v1.6        Too many to list (but REM:: now works!!)
  591. v1.61    v1.6 updates reapplied after I lost the source code. :( JPCOMMND.DAT
  592.         removed - all one file.
  593.     
  594. * Registration
  595.     Of course, like many other good quality programs, JPcli is shareware. That means that if you like it you have to register it after a thirty day period. After that, you must either delete it or register. Just £15! The benefits of registering are just two things:
  596.  
  597. - The delay at the start is removed, as is the messages that occasionally come up.
  598. - The quick exit system is enabled, letting you just press Psion-ESC to exit.
  599.  
  600.     I don't really agree with some current shareware that is limited-until-registered, as you don't really get a good idea of what you are paying for. That's why shareware JPcli is as close to the registered JPcli as possible.
  601.  
  602.     Of course, registering JPcli makes sure that brilliant programs like this are available (and written!) in the future. Not registering JPcli after 30 days is illegal!
  603.  
  604.     This program is not public domain - I still hold the copyright to this program (and have proof) - so do not break the law by stealing this program (by leaving it unregistered for more that 30 days) or by passing it off as your own.
  605.  
  606. You can send registrations, enclosing £15 in UK sterling (cash or cheque) to:
  607.  
  608. John Portwin
  609. Shareware Registrations Department
  610. Beechwood Farm
  611. Buckland Common
  612. Nr Tring
  613. Herts
  614. HP23 6PB
  615.  
  616.  
  617. ***    Make sure you enclose your name as you entered it when you first used JPcli - if the two differ then the registration key will be invalid!! ***
  618.  
  619. * How to get your key: **
  620.  
  621. For those of you with modems:
  622.  
  623. 1) If you send me an e-mail address with your cash+name, I will uuencode your file
  624.     and return it to you.
  625. 2) If you send me a netmail address, I will uuencode you file and send it that way.
  626. 3) I can put the file 'on hold' at my BBS - a message will be sent to you with the password
  627.     required to access it.
  628.  
  629. For those of you with mailers:
  630.  
  631. 4) For £1 extra (£2 outside UK), I will crash the file to your mailer (remember to enclose
  632.     hours that your mailer is up and your telephone no or fido netmail address). If I
  633.     cannot transfer the key in four tries:
  634. 5) I will put it on hold at my BBS' mailer (Fidonet 2:252/337, 01494758998) for you to
  635.      poll.
  636.  
  637. For those of you without either:
  638.  
  639. 6) I can send you the file on an SSD, but you must send an SAE with the SSD inside it.
  640.  
  641. * Remember to specify which method you want to use!!! * 
  642.  
  643. Whichever method you use, you will end up with a new JPCLI.OPA file. Copy that into your JPCLI directory and you're registered!
  644.  
  645. * Contacting the author
  646. E-mail:    john@lyster.demon.co.uk
  647. Complaints: bin@lyster.demon.co.uk
  648. Netmail:    John Portwin @ 2:252/337
  649. BBS:        +44 (0) 1494758998 
  650.         Psychotic Mouse BBS, where everyone gets the latest in Psion files! It's
  651.         the home of the Psion mail network PsionNet! All users get access to E-mail
  652.         (with their own e-mail address) and Usenet newsgroups, like comp.sys.psion,
  653.         and comp.binaries.psion.
  654.         For more information about PMB, finger bbs@lyster.demon.co.uk or send a
  655.         blank e-mail to info@lyster.demon.co.uk.
  656.  
  657.         (Cheap plug over)
  658.  
  659.  
  660. --- * ---
  661. JPcli is copyright John Portwin, 1995. Please do not modify and distribute, or try to pass this off as your own.
  662.