OVAL - Object
based Visual Application Language
A few of us followed it through to end, I was involved in the design and development of most of the OVAL Development environment. The purpose of this page is to evangelise and explain about OVAL and as a support group for ex members of the OVAL project.
Cast your self back to 1994, in those days your average PC had between 4 and 8 MB of RAM, 250MB of hard disk and clocked in at around 33Mhz. We ran some Windows applications, Word and CC:Mail but still and to slip into DOS to a lot of things. Cool development environments at the time consisted of the awesome Borland C++, with it's lightning fast compiler, Visual C++ 1.0 and Visual Basic 3.0.
Psion at the time had three development environments, all DOS based. Two C based environments and OPL, Organiser Programmer Language, both C environments were difficult to use and OPL was not very good at large projects, although some people have proved that it can be used for large projects.
At the time Visual Basic was taking over the world as it provided an intuitive programming environment, easy to learn and even had a thriving 3rd party controls market. Psion saw an opportunity to develop a language based on the VB standard so the thousands of VB programmers could leverage, (very popular word at the time), their skills on the Psion platform.
The OVAL runtime is in the ROM of 3c, 3mx and in Workabout version 2 and above.
The OVAL IDE was written using both Microsoft's Visual C++ and Borland C++. Borland C++ in conjunction with pplib (misnamed Psion portable library) was used for the Engine components. Engine components included:
The Visual components were written using MFC in Visual C++ visual windows include:

The Series 3a contains an 8086 compatible processor, it is unable to access more than 64K directly. However the engineers at Intel permits the processor to access 16 banks, a total of 1024K. The ROM occupies the first 8 banks 512K, the RAM the other 8 banks. By means of more and trickery the EPOC operating was able to access an almost infinite amount of memory, by switching between active and inactive banks.
The OVAL Development environment translates Visual Basis code into V-Code. The V-Code is attached to a stub, in the OVAL directory there are 4 called SPLASH.IMG, SPLASHW.IMG, STUB.IMG and STUBW.IMG. The job of the stub is to load the OVAL runtime and then point the runtime in the direction of some V-Code. The OVAL runtime has to implement all the VB functions and OVAL controls, and due to the limitations of the SIBO architecture has to fit into 128K. The runtime by means of clever memory management allows programs to access more than 64K and permits programs to be larger than 64K too.
BYTE Magazine: Hand-Held
Development Options (April 1997)
"Psion (our BYTE Best pick) deserves praise for providing a variety of
well-engineered development avenues. Our favorite was, of course, OVAL. In fact, we'd like
to see something like OVAL for every hand-held system."
Click here to visit the OVAL message board.
Found on the Psion Russian web site, don't know why it's not available on the .uk or .com sites:
http://www.psionteklogix.ru/main/download.shtml
Simon East - Our leader, project manager of the OVAL, authored the OVAL translator, a dab hand at using the YACC tool.
Jezar Wakefield - Designed most of OVAL controls, describes the OVAL project as his toughest assignment, while working at Psion.
John Arundal - Wrote the OVAL help file and manual, an enormouse body of work.