astieber@csd4.csd.uwm.edu (Anthony J Stieber) (02/23/90)
Here is a review of OPL the Psion Organiser's programming language and the machine itself. A list of OPL functions and commands: functions abs, addr, asc, atan, cos, count, day, deg, disp, eof, err, exist, exp, find, flt, free, get, hour, iabs, int, intf, key, len, ln, loc, log, menu, minute, month, peekb, peekw, pi, pos, rad, recsize, rnd, second, sin, space, sqr, tan, usr, val, view, year string functions chr$, datim$, dir$, err$, fix$, gen$, get$, hex$, key$, left$, lowers$, mid$, num$, right$, rept$, sci$, upper$, usr$ commands append, at, beep, break, close, cls, continue, copy, create, cursor on/off, delete, do/until, edit, erase, escape on/off, first, global, goto, if/elseif/else/endif, input, kstat, local, next, off, open, onerr, pause, pokeb, pokew,position, print/lprint, raise, randomize, rem, rename, return, stop, trap, update, use, while/endwh Only the functions are available in calc mode, of those, the file handling functions cannot be used. here is the function to calculate factorials from the manual: fact:(n) if n=0 return 1 endif return n*fact:(n-1) Since it's recursive, it runs out of memory fast. The Maths pak should have a better version. If I did a lot of math I might write a BCD package or get the Math pak. Functions can only return one value: 16 bit integer, real, or string. The maximum paramter list length is not defined, but you can use any mix of the three. I don't think string arrays can be used as aruguments, but I don't know for sure. Strings are limited to 255 characters, integers are signed 16 bit, floating points have 12 digit mantissa with an exponent of +/- 100. Varible names are up to 8 alphanumerics, the first character must be alpha. The calculator variables I mentioned are m0..m9 and are floating point. They don't have to be declared and always retain their value. You could think of them as super-global variables. All variable except for mX have to be defined either in an parameter list or in a GLOBAL or LOCAL declaration. Functions can called from any other function even if in another source code file. The language is compiled so it's possible to delete source code to save space. For some reason source code files are not part of the regular file system. There are a bunch of other programs in the book as well, including a password program (it warns to be careful as it cannot be broken if you forget the password), a prime generator, some financial programs, a game called Chase which uses custom graphics characters (I haven't typed it in yet), and some functions to implement a one dimesional spreadsheet. Overall I'd say the Organiser Programming Language is a mix of C, Pascal, and BASIC. The editors in the machine leave something to be desired. The database only allows you to delete carridge returns, not insert them. The editors used in the programming menu and the database are inconsistant with each other. The editor primitives are directly accesable through OPL commands though. My first project might be to write a better editor. The machine is sluggish at times, it has a Hitachi HD6303X running at 36.864 KHz. The LCD driver is sometimes slow as well, but can be driven quite fast depending on the program. I've been impressed by the manual, it's well written and seems to be good enough for the complete novice yet has technical information including technical specifications and a memory map. I would wish for a ROM entry point list, a machine language manual, and more information on the internals. The machine seems to have the entire ASCII character set plus what looks some Japanse katagana characters and some Greek symbols in the upper 128 characters. The keyboard can't generate all of them though. The shift key selects either the top or bottom character, CAP switches between upper and lower case, the NUM key selects between the numbers/symbols and the alphabetics. All keys except the shift key click from it's internal piezospeaker. The shift really shifts it's not like one of those calculator toggle keys. The ON button turns it on and is used like an escape key, EXE is used to execute and as a carriage return. You turn it off either from the OFF entry on the main menu or with the OFF command in OPL. If you use the OPL command, when it's turned back on the program continues where it left off. +-----------------------------------------------+ | | | | | 16x2 LCD goes here | | | | | | | +-------+-------+-------+-------+-------+-------+ | Clear | | CAP | NUM | | | | ON | MODE | ^ | v | <- | -> | +-------+-------+-------+-------+-------+-------+ | < | > | ( | ) | % | / | | A | B | C | D | E | F | +-------+-------+-------+-------+-------+-------+ | = | " | 7 | 8 | 9 | * | | G | H | I | J | K | L | +-------+-------+-------+-------+-------+-------+ | , | $ | 4 | 5 | 6 | - | | M | N | O | P | Q | R | +-------+-------+-------+-------+-------+-------+ | ; | : | 1 | 2 | 3 | + | | S | T | U | V | W | X | +-------+-------+-------+-------+-------+-------+ | | | 0 | . | | | | SHFT | DEL | Y | Z | SPACE | EXE | +-------+-------+-------+-------+-------+-------+ Overall I really like the machine, however the model CM is too limiting for me. I'm going to return the one I have and buy the model XP, it has 32K and the ability to use 32K RAMPaks, 128K DataPaks, bar code and mag card readers. -- <-:(= Tony Stieber astieber@csd4.csd.uwm.edu att!uwm!uwmcsd4!astieber
avolk@juliet.caltech.edu (Volk, Andrew Robert) (07/30/90)
I own a pocket computer called a Psion Organiser. It has programming capabilities (in a modified QuickBasic), and uses Eprom ports for storage. It is an English computer, and I can't find any accessories/dealers for it over here in the states. Can anyone give me any information on it? -Andrew
avolk@juliet.caltech.edu (Volk, Andrew Robert) (08/06/90)
in my search for Psion distributors. In case any other Psion owners want this information the address is... Psion Inc. Phone: 203-274-7521 320 Sylan Lake Rd. Watertown, CT. 06779 Thanks Again! :-) This Bit o' News Coming to you from..... Andrew Volk, live and direct from Caltech at Avolk@Iago.Caltech.Edu