Releases: koder77/l1vm
Release list
L1VM - 3.6.3
L1VM (3.6.3)
Bugfixes in some modules. Marked return stpush for the new linter function tool.
-- Stefan Pietzonke info@midnight-coding.de Wed 3 June 2026 22:40 +020
L1VM (3.6.2)
Added "linter-autogen": l1vm-cfunc and l1vm-func.
With these tools a linter header file with the function definitions can be created.
Here is an example:
// (func args nanoid_create int64)
// (return args nanoid_create none)
// (func args nanoid_create_custom int64 int64 int64)
// (return args nanoid_create_custom none)
See the README file!
NetBSD install scripts update to use pkgin with "-4" IP version 4 flag.
-- Stefan Pietzonke info@midnight-coding.de Mon 25 May 2026 20:48 +020
L1VM (3.6.1)
Compiler: memory leak fixed.
-- Stefan Pietzonke info@midnight-coding.de Sat 16 May 2026 18:09 +020
L1VM - 3.6.0
L1VM (3.6.0)
VM: experimental "main-sched.c" virtual CPU task scheduler added.
See prog: "hello-sched.l1com".
I fixed a bug in the L1VM scheduler POSIX threading code start position.
NOTE: you can't start new POSIX threads in the L1VM scheduler VM.
I try to fix this, but it can take some time.
-- Stefan Pietzonke info@midnight-coding.de Tue 07 April 2026 17:46 +020
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
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!