Updated 29 September 2008
H2O development ongoing
minor fixes: segment overrides and direct 16 bit shifts on mem operands
Updated 22 September 2008
These additions are required for H2O but also help to make cleaner structures
exit 2 3 .. exit more than one nesting level
jmp fwd abc jump or call to a forward label (prevents linking to earlier label)
indexers static indexers local (locals are offset from the ebp register)
colon statement separators (like BASIC)
typeof structureof scriptof string literals for inspecting types, classes etc
fix negative literal macro params: mydef -2 -0.1 -.1 etc
Updated 17 September 2008
Creating dynamic objects using &:
var &myclass myobj
myobj=getmemory sizeof myclass
...
freememory myobj
Updated 7 September 2008
Private Members: indicated by -
Abstract Members: - 0-byte members
defs equate sets
improved assignments.
(fix hash table carryover)
Updated 5 September 2008
Adaptations for COM programming - of ... single inheritance option
Updated 2 September 2008
typeof offsetof sizeof Info constants extended for named inherited structures.
Bug fix for comments in defs and types.
Updated 1 September 2008
static scopes to improve encapsulation
kernel const pointer to Oxygen runtime functions
Include source code for Oxygen.dll as well as thinBasic_Oxygen
Updated 31 August 2008
Overloading for OOP methods (system for matching function signatures: same name, several methods)
Also new with instruction
Updated 28 August 2008
OOP model with virtual tables and multiple inheritance
Indirect assignments **a=*b address assignments c=&d
Unions: type tvecs 4 x 4 y 4 z 4 w = 4 red 4 green 4 blue 4 alpha
Updated 22 August 2008
TOMDK for developin thinBasic modules using Oxygen.
(fixed code buffer overflow caused by large macros. - also spurious recursion error)
fixed anomalies caused by mixing %a %b and %e / several instances in same macro.
Updated 16 August 2008
Assembly speed enhancement using hash tables.
new o2 instruction to specify an exact location for a label.
Example demonstrating creation of StandAlone EXEs or DLLs
Updated 12 July 2008
Correction to support multiline Type defs.
Procs accept floating point literals (single precision).
Multiline procs will now allow comments.
Var arrays allow comments at end of line.
Reportable run-time errors: dll bind failures.
Updated 4 July 2008
Reincorporate soft-coded instructions back into oxygen module
no need for o2asm.data - (this simplifies bundling)
Updated 29 June 2008
multi symbol and multiword names
def `` 3
def `old mick` 666
Updated 24 June 2008
vald and strd functions for converting strings/doubles
symbol pair macros ++ == += etc
Updated 22 June 2008
Performance improvements
Updated 21 June 2008
reprogrammable symbols
Experimental OOP model
%b %a %e multi word parameters for macros
+minor updates to both Oxygen and manual
Updated 16 June 2008
Update to manual: first draft of Omerlin code spells.
Updated 11 June 2008
Using own allocation system instead of SysAllocString/SysFreeString for getmemory/freememory functions
Updated 10 June 2008
Data structures : Macro params : Runtime intrinsic functions : Fast Entry points
DLL proc binding : Fully relocatable/storable code
(remove $ suffix on all macros)
Updated 30April 2008
Soft coding with 250 opcodes held in editable data file
Improvement in Assembly parsing speed
Corrections to 3DNOW codings.
Updated 23 April 2008
Added O2_VIEW_FILE(src).
Support def #variable overrides (overriding parent binding)
Fixed Hexadecimal and octal literals
Updated 15 April 2008
Instruction Set with SSE3 (Prescott) SSE4 3DNOW
operand corrections for pmovmskb pshupfs and pextrb/w pinsrw
Updated 13 April 2008
Full instruction set to SSE2
Execute files as well as inline scripts
Separate preprocessor layer
Update 29 March 2008
Bookmarks