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

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.028
BTC 54396.77
ETH 2275.61
USDT 1.00
SBD 2.31