AUDACIA Software

OWBasic 5.0 Beta 6


OWBasic 5.01 Beta 4 - Main menu


Changes in OWBasic 5.00 Beta 1:

  • 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.
  • 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.

Changes in OWBasic 5.00 Beta 2:

  • All bugs I know about are fixed (default parameters, serial communication/remote mode, INPUT, complications with IF and NOT, FORMTOUCH, WAITTOUCH, overlays, problems with string and float type VAR parameters etc.).
  • The size of the question dialogue is now adapted to the text; the buttons are bigger
  • The filter in the filemenu does not regard upper or lower case.
  • The behaviour of MSGBOX can be specified by an optional parameter now
  • POS has an optional parameter that specifies whether upper and lower case are differentiated
  • The option "Search runtime error" enables or disables the runtime error search question dialogue

Changes in OWBasic 5.00 Beta 3:

  • Remote mode works now (I hope so)
  • MSGBOX now accepts the last  parameter
  • EXP10# works correctly on PV-S1600 now
  • FOR can handle any datatype of integer size, f.e. pointers
  • IEdit jumps to the correct code position now
  • Cached programs may use overlays now
  • It is possible to catch a program abort by using EXITHANDLER
  • XCHGS exchanges two strings very fast

Changes in OWBasic 5.01 Beta 4:

  • INPUTF works with periodic numbers
  • Several bugs in Bool variable and array functions fixed
  • CLEAR, CLEARF und CLEARS work correctly on the PV-S1600 now
  • The name of the program started in Autorun mode can be changed in OWBasic Settings
  • The switches Autorun and Restart do not block each other anymore
  • SYSLANG%() returns a value representing the system language

Changes in OWBasic 5.02 Beta 5:

  • SYSDLG offers two new dialogues
  • The list icon of a mode can be queried by MODELISTICON
  • MODEVER$() returns the mode version
  • Bug in DUP$ fixed
  • The zip archives are created by a batch file now

Changes in OWBasic 5.03 Beta 6:

  • Several bugs (EXEC and caching, PARAMETER$, PIXEL%(), AutoPowerOff) fixed
  • MODEJUMP does not hang anymore if a invalid mode is given
  • SCROLL throws a runtime error if diff is greater than the given screen area
  • INPUTTEXT can be used to edit a string variable in a user-defined area
  • KBDRAW draws a keyboard to the screen that can be queried by KBWAIT!()


Downloads:


OWBbaseE503.zip - program binaries for old PV models

OWBbaseE503a.zip - program binaries PV-S1600

OWBsrc503.zip - source code

OWBhsrc503.zip - HTML-/Pocket Referencer-documentation source

OWBhtmlE503.zip - HTML documentation


buildarchives.zip - batch files for archive creation and necessary files (extract to OWBasic\release_archives)



Note: To view or to change the OWBasic options you require the OWBasic program OWBasic Settings and the OWBasic Standard Library.