LuaComputers(-OS) Progress!
What is new
LuaComputers
Well there isn't much new stuff in LuaComputers that I made, because I was making the OS (well, to be able to test out new stuff easier I guess) for it first, but hey, at least I fixed some bugs, right? ..right?
Seriously, I have some stuff planned, like:
- Loading a configuration file to allow customizing things (not sure about customizing the resolution yet....)
- Maybe allow to load a custom bios.lua?
- The HTTP API (didn't look into it yet...)
- Clean the code (Seriously, I need to do that)
- Maybe allow custom ports for the networking? (The current one is 6969.... I know, creative)
LCOS
So basically I am currently trying to develop the basic "operating system" for LuaComputers called "LCOS" (LuaComputers-Operating System), which would act as a kind of shell for the computer, allowing you to browse the filesystem and execute commands just like in a Terminal on Windows/Linux/Whatever!
However, as I made LuaComputers have a kind-of low-level graphics API (manipulate Pixels), that made it harder to display text on the screen, but that indeed is what I intended.
This basically needed me to first create another "graphics"-API for the OS to allow writing text.
(Note: Every directory I am naming here is inside the LuaComputers' "filesystem", located in [HOME]/Documents/LuaComputers/)
My current system goes like this:
- Load up a specified font in the directory /sys/fonts/
- (Fonts are a folder containing files for each character they have)
- (Character files contain the character on the first line and the following 8 lines are all 8 characters long and contain 0s or 1s with 1 meaning "pixel on" and 0 meaning "pixel off")
- Create a grid ontop of the screen containing 8x8 cells (with the current resolution of 320x200 -> 40cells x 25cells)
- Allow drawing characters on each cell containing information about the char, background- and foreground-color (each cell can only have ONE of each)
- Calling these functions redraws every cell (Yes, this overrides individual pixels you have drawn as there is no transparency)
A screenshot of what it looks like
(NOTE: I drew that weird thing after the cells have been redrawn, that's why you can see it)