-
0.0.7 Pre-release
released this
2026-08-31 22:58:22 +00:00 | 5 commits to main since this releaseThis is the second public release of SystemK!
RAM usage has been dropped to around 1900-2000KB on boot which should mean that SystemK on 4096KB of RAM is now viable again.
HOWEVER, this will probably rise again as I implement more and more stuff, so don't get your hopes up.
Warning
The
drawcommand appears to be very rarely unstable and cause weird color palette issues with the shell. Currently not sure of the cause and/or a fix.It seems to be stable 99.9% of the time though so I'm not sure what to do.
Full changelog (turns out I missed some stuff I forgot to mention in the actual 0.0.7 commit):
- The current keyboard layout can now be changed at runtime using the
kblcommand. The following layouts are currently supported:- en-US (ANSI)
- en-GB (ISO)
- fr-FR (AZERTY)
- de-DE (QWERTZ)
- en-US-DV (Dvorak)
- The user can now draw shapes and lines on the screen using the
drawcommand.- Drawings are drawn on a separate layer above the console output, so they will not interfere with the text output.
- The following commands are currently supported:
draw line <sx>,<sy> <ex>,<ey> <hex color> [thickness]- Draws a line.
- , refers to the first coordinate to start drawing from
- , refers to the last coordinate to stop drawing at
- [thickness] is the thickness of the line in px, default 1px
draw rshape <x>,<y> <sides> <size> <rotation> <color> (border <bordersize> (<bordercolor>))- Draws a regular shape.
- , is the middle point of the regular shape
- is the number of sides
- is the size of the shape in px
- is a rotation in any direction (positive for clockwise, negative for anticlockwise)
- specify d for degrees, r for radians
- if border is specified at the end but not anything else, by default 2px border of color white
- is the thickness of the border in px, default 2px
- is the color of the border, default white
draw star(small yellow star in the center of the screen)draw tree(small coloured tree in the center of the screen)draw demo(SystemK text demo in the center of the screen)draw reset(reset the drawing layer to a blank state)draw blank <color>(set the drawing layer to one colour)
drawaccepts variables as arguments too
hexcommand has been added: convert integers to hexadecimal and vice versa.- Usage:
hex <number>orhex "<string>" - Examples:
hex 32->"20"hex "2C"->44hex "ff00ff"->16711935hex 15790320->"F0F0F0"
- Strings that contain non-hexadecimal characters will be treated as converting the string to its hexadecimal representation, e.g.
hex "hello"->"68656C6C6F". hexwill interpret every input given to it as a number or string UNLESS the input happens to be the name of a variable, in which case it will convert the value of that variable to hexadecimal instead, e.g. ifmyvaris set to42, thenhex myvarwill return"2A".
- Usage:
%command%substitutions now include all commands instead of predefined ones- In functions,
returncan now return the output of commands (a laecho) using the same%command%substitution. - Fixed a weird issue where the default palette was stored differently in two different places, causing the palette on boot and the palette defined as
defaultto be different. - Fixed a regression where changing the color palette would not update the entire screen but only cells updated after the command was run.
- Fixed an issue where the
ramcommand would not recompute how much RAM the system was actually using. - RAM usage has been optimised (boot usage dropped from ~9MB during testing to 1.9MB).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The current keyboard layout can now be changed at runtime using the