OWBasic for Pocketviewer

Home INTRO Group INTRO Alphabetical Index

New in Version 5.0

New features in version 5.0 are:

The graphical user interface (GUI) has changed; OWBasic now has the look that is usual for PV applications. The start-up of OWBasic is faster now.

To change the options and settings of OWBasic, you need the additional OWBasic-program "OWBasic Settings" that is included in the OWBasic Standard Library.

You can store a pre-compiled program to the SHARED file ( caching).
ATTENTION: The setting "Caching" has to be enabled, otherwise OWBasic does not search for cached programs in the SHARED file!

If a runtime error appears, OWBasic offers to search for the position. If OWBasic was called from IEdit, IEdit also goes to the error position.

Some error messages contain additional information; f.e. the error message "Index out of range" also shows the wrong index.

The compiler optimizes the access to variables and arrays so they require less codes. Constant expressions like indexing a global array with a constant index are evaluated at compile time so they need as much codes as a standard variable access.

User procedures are stored in the symbol table so they are not limited to 250 (PV-S1600: 1000) any more.

The capacity for data and codes increased (not on PV-S1600). OWBasic now provides 16128 words (12288 before) for data and maximal 5632 codes (5392 before). The maximal string length is 220 now (150 before). The limit of nested control structures is 19 now instead of 15; the maximal identifier length increased from 17 to 30.

The Function pointer declaration was changed.

The type system has changed; pointers are type-safe now, the programmer can create own types using ENUM or FPTR.

Conversions between pointers und integers are possible.

The operator '*' allows to dereference a pointer explicitly.

Functions can return pointers.

The global constant #INTSIZE contains the size of an integer variable in byte (old PVs: 2, PV-S1600: 4)

The hardicon "Menu Bar" does not call the Abort dialogue any more so it can be queried in OWBasic programs.

SETJUMP% stores the code pointer and some additional data to an array; JUMP jumps to a position stored in an array (comparable to setjmp () und longjmp () in ANSI C).

The global array ERRORHANDLER can be assigned a code pointer by using SETJUMP%. If a runtime error occurs, the interpreter jumps to the stored position.

It is possible to catch program aborts by using the global variable EXITHANDLER.

The function APOTIME% queries the APO time; it can be set by SETAPOTIME.

The "Light" and "Off" buttons are queried by OWBasic. This feature can be deactivated by SYS.

The AutoPowerOff mechanism can be (de-)activated by SYS.

POWEROFF switches off the PV.

SYSDLG can also call system dialogues (contrast, format etc.).

FILEREAD got an additional optional parameter that gives the amount of blocks to load into the filebuffer.

POLYGON draws a polygon.

MSGBOX draws a message box.

If TOUCHED! is called without parameters, it works like NEWTOUCH!.

LIGHT! queries the backlight status.

DRAWICON can draw an icon partially.

Initialized arrays of data/function pointers can be defined with CONST.

Procedures and functions may have default arguments.

ENUM declares a enumeration type.

XCHGS swaps two strings.

The system language can be queried by using SYSLANG .

The name of the program started in autorun mode can be changed via OWBasic Settings.

SYSDLG offers two new dialogues.

The mode version can be queried by MODEVER$.

KBDRAW draws a keyboard to the screen; the keyboard can be queried by using KBWAIT!.


  • NEW44 - New in Version 4.4
Home INTRO Group INTRO Alphabetical Index