LuaComputers(-OS) Progress!

in #programming7 years ago

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

snip.png
(NOTE: I drew that weird thing after the cells have been redrawn, that's why you can see it)

Links

The repo of LuaComputers
The repo of LCOS