Symbian OS v6.0 OPL Runtime Release v1.00(129) (For "Crystal" Reference Design) =============================================================================== Copyright (c) Symbian Ltd. 1997-2003, All Rights Reserved. End-user Distribution Package - Document version 1.20(010), Last updated 01/01/2003 ============== =Introduction= ============== This package should contain the following files: DemoOPL.sis Sample OPL application OPL.sis 1.00 release of the OPL runtime Readme.txt This file OPL ("Organiser Programming Language") is a BASIC-like language designed to allow rapid application development on devices running Symbian OS, such as the Nokia 9210/9210c/9210i/9290 Communicator (see http://www.nokia.com/). OPL is present in all Symbian OS devices from the original Psion Series 5 (http://www.psion.com/) through to the last models based on Release 5 of the platform (e.g. Psion Series 5mx, Psion Revo, etc.). The Nokia 9210 Communicator was the first open phone based on Symbian OS to ship without OPL support. Symbian is releasing the OPL Runtime as an UNSUPPORTED product for phones running Symbian OS v6.0. Using the OPL.sis file included here you can install OPL onto your Nokia Communicator and begin using OPL programs written by third party software developers. ======================== =DISCLAIMER OF WARRANTY= ======================== SYMBIAN PROVIDES NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING, SYMBIAN PROVIDES THIS SOFTWARE AND/OR DOCUMENTATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THIS SOFTWARE AND/OR DOCUMENTATION IS LICENSED TO YOU WITHOUT FEE AND ACCORDINGLY YOU ACCEPT THAT THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE AND/OR DOCUMENTATION IS WITH YOU AND YOU AGREE NOT TO TAKE ANY INCONSISTENT POSITION. SHOULD THE SOFTWARE AND/OR DOCUMENTATION PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION OF THE SOFTWARE AND/OR DOCUMENTATION AND OF ANY PRODUCT OR APPLICATION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL SYMBIAN BE LIABLE TO YOU FOR DAMAGES, (WHETHER ARISING IN CONTRACT, TORT, NEGLIGENCE OR OTHERWISE) INCLUDING ANY LOST PROFITS, LOST MONIES, LOST TIME, LOSSES ATTRIBUTABLE IN WHOLE OR PART TO ANY DEFECTS IN THE DESIGN OR PERFORMANCE OF THE SOFTWARE AND/OR DOCUMENTATION OR ANY PRODUCT OR APPLICATION, OR SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE AND/OR DOCUMENTATION (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY SYMBIAN), EVEN IF SYMBIAN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. NOTHING IN THIS AGREEMENT LIMITS SYMBIAN'S LIABILITY FOR DEATH OR PERSONAL INJURY CAUSED BY ITS NEGLIGENCE. ==================== =TERMS & CONDITIONS= ==================== 1) This package and all files contained within are Copyright (c) 1997-2003 Symbian Ltd. All Rights Reserved. 2) You may NOT re-distribute this package as-is. It is currently being made available for download ONLY via the Symbian Developer Network (http://www.symbian.com/developer/). OPL developers can, however, include OPL.sis from this package in their own SIS files - please see the OPL Developer Package and Porting Guide document for more information. 3) You install and use this package, any other OPL-related packages created by Symbian, and any third party software written in OPL **ENTIRELY AT YOUR OWN RISK**. 4) These files should only be installed on a Nokia 9200 Communicator range (currently 9210/9210c/9210i/9290). Do NOT try to install them on any other devices running Symbian OS. 5) OPL is UNSUPPORTED by both Symbian and Nokia. If you find problems/defects please DO NOT try to contact Nokia about them. Symbian will READ all defect reports properly posted to the public discussion.epoc.OPL newsgroup hosted on the publicnews.symbiandevnet.com news server but we will NOT guarantee either to respond to posts or to address the issues in any future releases of OPL (see below). 6) Neither Symbian or Nokia guarantee any future releases of OPL will be made. By installing OPL.sis and any related OPL files from Symbian onto your PC and/or Nokia Communicator, you are agreeing to these terms & conditions and to the above disclaimer of warranty. =========================== =Installation Instructions= =========================== Please make sure you have read the 'Terms & Conditions' and 'Disclaimer Of Warranty' sections above before proceeding. To install the OPL runtime in order to allow you to run OPL applications you should connect your Nokia 9200 Communicator to your PC and install OPL.sis in the normal way as described in the manual. If you wish to verify your installation you can optionally install DemoOPL.sis which will allow you to test OPL is properly installed. NOTE: If your Communicator already contains the first Alpha Release of OPL (v0.10), you will need to properly remove it first. Because of issues with the font file supplied, this requires some extra steps. Before using the Add/remove applet in Control Panel, you need to disable the font file used by OPL (\System\Fonts\Eon14.gdr). If you previously installed the Alpha release on your MMC card (D:\ drive) as recommended, you should remove the MMC from your Communicator and then reboot the phone WITHOUT the MMC in it. When fully booted, re-insert the MMC and use File Manager to delete D:\System\Fonts\Eon14.gdr. Once this is done, you can proceed with an uninstall in the normal way. ============================= =Developing OPL Applications= ============================= This package allows you to run existing OPL applications only. Developers should download the Development Package from http://www.symbian.com/developer/. That package contains the files needed to develop OPL applications either on the PC emulator or on the Nokia Communicator itself. ============== =Known Issues= ============== The following issues are currently known to affect OPL. This is the complete list of notable issues at the time of release, some of this information will only be of interest to OPL Developers: 01) When OPL applications are running, the loaded font file (EON14.GDR) may cause compatibility problems with some C++/Java applications which use checkboxes. 02) Agenda OPX will cause a KERN-EXEC 3 crash on the target device if your program INCLUDEs it and the default Calendar file is open when your application starts. 03) SyLogonToThread: in System OPX does not work properly - it never returns the completion value, leading to an infinite loop. 04) The MediaServerOPX OPX is not complete - some functionality is missing in this release. ============================================================ =Fixes Since Beta 1 Included In This Release (by component)= ============================================================ DemoOPL ======= * Released as v1.00 (non-beta) OPL Runtime =========== * Fixed E32User-CBase 46 panic occurring in some situations (e.g. Out Of Memory) * Released as v1.00 (non-beta) OPXs ==== * Released core OPXs (AppFrame, SendAs, System) as v1.00 (non-beta) * Included all other OPXs in Development package * Spell OPX SIS files now depend on Spell itself being installed Porting Guide ============= * Minor changes after Beta 1 feedback =============================================================== =Fixes Since Alpha 1 Included In Beta 1 Release (by component)= =============================================================== DemoOPL ======= 01) Added an example of a system-wide hotkey implementation. 02) Updated to illustrate new ASCII/Unicode text file writing options. 03) Updated to illustrate new dCHOICE incremental matching options. 04) Key output view now resizes the console properly (using SCREEN) so that PRINT scrolls as intended when the AppFrame titlebar is on display. 05) Key output view no longer causes Overflow/Underflow errors when special events happen. 06) AIF and MBM bitmap mask colour depth reduced to 1bpp to save memory and space. 07) Minor changes to the help and build files. OPL Runtime =========== 01) EVAL should no longer crash with KERN-EXEC 3. 02) Fixed Not supported errors after using Help and SendAs OPX. 03) Fixed status pane redraw problems when switching between OPL applications and other applications on the system. 04) Fixed OPL application screens remaining "dimmed" when switching between applications under some circumstances. 05) OPL applications now close if you use Task List on the first menu pane to try and close the application itself. 06) OPL dialogs now fade the screen behind them like C++ dialogs do. 07) OPL now installs (and uses) EON14.GDR from \System\Libs\ instead of \System\Fonts\. This will help alleviate the "In use" problems during future install/uninstall, backup, etc. operations. It should also lessen the interference with checkboxes some C++ and Java applications use. 08) The system-wide Increase Brightness key now works from inside OPL applications. 09) OPL IOOPEN (text mode) and LOPEN now create Unicode-standard text files by default. 10) OPL now offers a new SETFLAGS option to let developers force output of ASCII text files instead of Unicode ones. 11) BEEP now works - albeit very quietly. This command is now deprecated in favour of the new MediaServerOPX OPX. 12) BEEP pitch argument is now treated in the same way as on ER5. 13) The OFF command will now raise a Not Supported error - this command is now deprecated in OPL v6.0. 14) The runtime and OPL launcher (shell) applications have been updated for compatibility with some subtle changes made in the Nokia 9210i. 15) The MENU command now stores the last used pane visited in the same way as C++ applications - i.e. even if the menu is cancelled. If for any reason developers wish to revert to the old OPL behaviour, a new SETFLAGS command is provided. 16) It's no longer possible to pass negative or zero values to SCREEN (which used to cause stack problems when scrolling). 17) CONST.OPH has a new value for the Increase Brightness key. 18) CONST.OPH has new values for the zoom in/zoom out keys. 19) CONST.OPH value for Help key has been corrected. 20) Minor code improvements for stability under low memory. 21) OPL now recognises some of the new System-wide launch arguments. 22) MENU(Init%) where Init%>Last card no longer causes a EIKCOCTL 25 panic. 23) Dialogs will now be properly bounded by the CBA and Status Pane. This also works in OPO files too. 24) dFILE no longer shows ghost cursors. 25) dFILE ROM viewing flag now works on the disk and folder browsers as intended. 26) dFILE folder browser now correctly updates dFILE disk selector if appropriate. OPXs ==== 01) New MediaServerOPX.opx is now available - this allows you to play sound clips and use the Symbian OS MediaServer to create beeps. 02) System OPX now allows you to get the IMEI number (and other basic phone information). 03) System OPX SyLogonToThread:() function should no longer crash WINS. 04) System OPX constants for HAL functions fixed. 05) System OPX now contains a new function for obtaining free and max RAM information. 06) System OPX RunApp function updated to cope with some new command values. 07) System OPX header file now includes CONSTs for SyRemoteLinkEnableWithOptions: 08) System OPX now provides a function to return the current Default Document Folder. 09) AppFrame OPX now provides access to the standard CKON Confirmation dialog (this function briefly appeared in System OPX in a post-alpha patch). 10) AppFrame OPX now provides access to the standard CKON Information dialog too. 11) AppFrame OPX no longer filters out Ctrl+M (or similar) events as the 'Enter' key. 12) AppFrame OPX now provides the facility for OPL developers to implement "Receive via Infrared" functionality. 13) AppFrame OPX now adds shortcuts to both documents and applications more reliably to Desk. 14) Locale OPX re-written and enhanced to fix bugs and provide more functionality. 15) Printer OPX no longer causes a 'Not supported' error on target devices. 16) Minor code improvements to SendAs OPX for stability under low memory. 17) All OPXs now depend on the current version of the OPL runtime to aid future version control. Additionally, all OPX SIS files now include a build number too. Porting Guide ============= 01) Added docs on new SETFLAGS options. 02) Missing ENDIF in SETHELP/SHOWHELP example code corrected. 03) New URL for OPL runtime download link [http://www.symbian.com/developer/downloads/v6oplrun.html] 04) CONST listing updated to be in line with the latest release 05) Updated to include a note about Fonts for TextEd (i.e. developers should install extra fonts (e.g. New Courier) from their Product CD if they want fonts more diverse than the default Terminal one for their own use). TextEd ====== 01) Import/Export functionality fixed/enhanced. TextEd now supported import and export of DOS ASCII, Unix ASCII and Unicode text files. The export format is set via a new Preference. 02) Find and Find & Replace functionality fixed. 03) TextEd no longer depends on EON14.GDR. Instead it picks up available fonts from the System directly (like Word does). 04) TextEd no longer saves to the current file on exit if it's unchanged. 05) Various updates to menus and dialogs to bring TextEd more in-line with other standard applications. 06) Fixed Print dialog causing a KERN-EXEC 3 when trying to change printer 07) Fixed SendAs functionality to ensure it shouldn't leave temporary files behind 08) Fixed SendAs functionality to make it behave more like Word does instead of (nearly) always trying to send content as an attachment Tools ===== 01) OPLTRAN no longer crashes with file extensions longer than 3 characters.