Releases: koder77/l1vm
L1VM - 3.5.4
L1VM (3.5.4)
VM: Added function epoch ms interrupt: get the time after UNIX epoch in ms.
VM: Added gps module to read GPS from the gpsd server.
See "lib/gps.l1com" example.
NEW: The linter has now a "strict" flag. With it set the result variables must end by a uppercase "R" ending.
They are not alowed as function arguments. See "linter/math-inc-strict.l1com".
Added VM/string: "string_format_num" function to print strings formatted: 1,000,000.12345.
-- Stefan Pietzonke info@midnight-coding.de Sun 27 December 2025 18:26 +010
L1VM - 3.5.2
Example programs updates.
L1VM - 3.5.1
L1VM (3.5.1)
Compiler: NEW flag -savecode to put the Brackets code line into the assembly output.
VM: modules: I added support for Bluetooth BLE with the SimpleBLE library.
Note: If you use the SimpleBLE library commercially, then you have to pay a license!
I did check the Bluetooth BLE read and write functions. They both are working!
NEW: support for NetBSD and also MidnightBSD.
-- Stefan Pietzonke info@midnight-coding.de Thu 07 August 2025 20:37 +020
L1VM (3.5.0)
Compiler, assembler MAXLINELEN fixes.
AsmJIT compiler finally updated to the current GitHub version.
NEW: SDL 3.0 module: gfx primitives like lines, pixel and GUI are working.
I added camera support. See in "prog/sdl" example.
-- Stefan Pietzonke info@midnight-coding.de Sat 31 May 2025 17:54 +020
L1VM - 3.4.2
L1VM (3.4.2)
In settings header LOW RAM limits changed.
The compiler needs then only 11 MiB to compile.
Compiler fixes.
NEW: now in Brackets code a new flag "(linter)" can be set to make sure the code was "linted"!
NEW: added contracts into the compiler. Now "preconditions" and "postconditions" can be set in a function.
See example "prog/lint/math-inc.l1com"!
-- Stefan Pietzonke info@midnight-coding.de Thu 08 May 2025 18:12 +020
L1VM (3.4.1)
Added new string-unicode module for unicode support.
See lib/string-unicode.l1com example.
-- Stefan Pietzonke info@midnight-coding.de Sat 05 Apr 2025 23:42 +010
L1VM - 3.4.0
L1VM (3.4.0)
Changed the -pack bzip2 bytecode compression to bzip3, which generates more compact files.
-- Stefan Pietzonke info@midnight-coding.de Sat 22 Mar 2025 21:38 +010
L1VM (3.3.8)
Preprocesso: show line number in macro errors.
Preprocessor: second pass removed. Now error messages show the right line numbers!
VM: added two new interrupts to switch memory bounds check on push/pull opcodes:
(:memory_bounds_off !)
(:memory_bounds_on !)
If it is switched off then the execution speed can increase a lot.
But the overflow checking is disabled for push/pull opcodes!
Added "unsafe" and "unsafe-end" code blocks.
Inside a unsafe block the memory bounds checking can set on/off.
See example "prog/little-vm.l1com".
Added variable prefixes:
(\num\x * \num\y \num\z :=)
So here is the prefix: \num\
All variables must have the same prefix like the target variable \num\z.
So here \num\ is a special type all variables in the math expression must have.
See "prog/type.l1com".
-- Stefan Pietzonke info@midnight-coding.de Sat 08 Mar 2025 12:57 +010
L1VM - 3.3.7
L1VM (3.3.7)
VM/MPFR module Windows and macOS build scripts: memory bounds added.
-- Stefan Pietzonke info@midnight-coding.de Fri 21 Feb 2025 32:00 +010
L1VM - 3.3.6
Added "repair multi spaces" function to compiler.
It fixes the two or more spaces problem between tokens.
(set string 13 hello "Hello world!")
will be changed to:
(set string 13 hello "Hello world!")
For the other changes see ChangeLog!
L1VM - 3.1.5
L1VM (3.1.5)
Compiler: added := as assign operator for expressions too.
So you now should use := as the assign operator for new programs.
The old way of using = still works. This is backwards compatible
and older programs still compile.
-- Stefan Pietzonke info@midnight-coding.de Tue 21 May 2024 15:57 +020
For older changes see ChangeLog!
L1VM - 3.1.0
L1VM (3.1.0)
NEW: linter now checks if function arguments are in right order at "stpop" call.
-- Stefan Pietzonke info@midnight-coding.de Wed 24 Apr 2024 21:14 +020
L1VM (3.0.10)
NEW: preprocessor reuse alredy set defines bugfixes.
-- Stefan Pietzonke info@midnight-coding.de Sat 06 Apr 2024 22:00 +020
L1VM - 3.0.0
L1VM (3.0.0)
NEW: now math expressions can be written like this in Brackets:
{i = xd + yd}
The () brackets are not longer needed for this, to work.
The old way was:
{i = (xd + yd)}
-- Stefan Pietzonke jay-t@gmx.net Thur 1 Feb 2024 21:18 +0100
L1VM (2.9.0)
Added "return" to compiler. See "prog/return.l1com".
-- Stefan Pietzonke jay-t@gmx.net Thur 1 Feb 2024 15:54 +0100
L1VM (2.8.8)
NEW: Added "tab" to SDL multiline string gadget. With the "tab" key you can insert spaces to "wrap" to the next input line.
See program "lib/sdl-lib-test.l1com".
-- Stefan Pietzonke jay-t@gmx.net Sun 28 Jan 2024 20:05 +0100