From CometWiki
Comet32
IB Enhancements for Comet32
The size of the user buffer (# buffer) has been increased to 8K.
Strings may be declared up to 64K in length.
You may declare a dynamic string that will allocate only the memory required for the current length of the data assigned to it. These strings may be up to 4gb in length. For performance, chunks of memory will be allocated in 64k increments. (Arrays may not be dynamic).
Numbers may include up to 64 digits; 32 integer and 32 fractional.
An extensive math package has been added including trig functions, factorial, logs, and exponents.
Editmasks rules regarding the length of the editmask and the length of the number have been relaxed to reduce runtime errors.
The maximum array size has been increased to 4.2gb.
User-defined procs have been implemented. For more info see User Defined Procs.
New instructions have been implemented:
NOEXCP has been added as an option to EXCP= on file system statements, NoExcp
SetTimer fires an event while the user is in an input from the keyboard.
The Map Statement
Comet32 introduces the MAP statement which looks much like a format statement but is used to associate names with variables in your program (Values). The MAP statement is used interchangably in the following new statements:
GetMap -- Using a MAP, retrieves values from a string.
CopyFormat -- Copies all values from one format or map to another. Converts strings from to numerics etc.
ClearFormat -- Clears all of the variables contained in a Map or Format.
StripFormat -- Trims (Strip) leading and trailing spaces from all of the variables contained in a Map or Format.
StripLFormat -- Trims (StripL) leading spaces from all of the variables contained in a Map or Format.
StripRFormat -- Trims (StripR) trailing spaces from all of the variables contained in a Map or Format.
PadFormat -- Pads all of the variables contained in a Map or Format.
UcaseFormat -- Converts all of the variables contained in a Map or Format to Upper case.
LcaseFormat -- Converts all of the variables contained in a Map or Format to Lower case.
TcaseFormat -- Converts all of the variables contained in a Map or Format to Title case.
New String Functions
Replace -- Replaces names in a string with corresponding values.
Tcase -- Title case.
XAP support Statements
UrlDecode -- Decodes a string which was URL Encoded by the Browser (for xap).
MapDecode -- URLDecodes all of the values in a MAP(or xap).
New XAP Controls
Get Cookies -- Gets all of the Cookies returned from the Browser.
Get Remote -- Returns the remote Browser address/name.
Known Problems that We Plan to Consider and/or Address
No debugger. Replaced with Trace statements
ODBC is not supported. Replaced with SQL interface.
Serial Gateway is not supported.
Functionality that Will Not Be Part of Comet32
The name of the clock is CL1. Comet16 allowed any name beginning with "CL" to be used.
The Spool driver has not been implemented. -- Not needed, replace with DocMgr
Image file support.
Q-emulation for QICBASIC objects.
The SORT driver will not be implemented. We have modified the Reporter (version 9.02) to work without it.
Invalid character substitution in file names
QSTARTX.
Inputting a numeric value from the screen works differently under Comet32 than under Comet16. For example if you declare a variable to be 6.2 and you input its value as "5", under Comet16 that would be interpreted as .05 whereas under Comet32 it would be 5.00.
Hallelujah, never could get operators to understand the old way.--badge 18:03, 19 May 2009 (UTC)
Background partitions have been partially implemented.
ACTIVATE and PSTAT have been implemented. =
TERMINATE, PCOMM and INTERRUPT have not been implemented.=
Some form of inter partition communication has yet to be designed.
LUN 0 is to be used solely for either the screen or the XAP driver depending on the configuration. For normal Comet programs, close of LUN 0 is ignored. The terminal may be opened on a LUN other than 0, but all actions on either LUN will apply to the other.
Differences Between Comet16 Objects and Comet32 Objects
It is our intention that your Comet16 objects will run under Comet32 exactly as they do under Comet16. IB has been enhanced for Comet32 so not only will you be able to do more things easier we also may decide to change the functionality of some of the legacy instructions. We welcome your input on these issues as they come up.