Block Operating System - Create your own computer!

About

Block Operting System (aka BOS) is an free and open source fantasy computer, you can write programs using LUA and some functions, or if you know of Studio you can create your own!

I’ve decided to start this project because of how cool looks the concept of ‘Fantasy Computer’, this is kinda inspirated on TIC-80 and PICO8 but its resources are expanded!

If you need help, message me a bug or feedback, my messages are always open :slight_smile:

Description

Features

  • An functional file system
  • Window system
  • I/O operations
  • Scripting support
  • And more!

Contribuiting

It’s very simple to contribute directly or indirectly.

You can contribute indirectly by:

  • Sharing it to your friends
  • Creating programs that improves the BOS experience

You can contribute directly by

  • Messaging me bugs and feedback
  • Becoming an official contribuitor (You need some scripting experience, then DM me on that blue chat plataform)
  • Alert me of malicious programs
  • Suggesting me features or built-in programs

Any contribuition is welcome!

TODO

  • Some built in programs (like calculator or notepad)
  • Graphics (For drawing on the screen i mean)
  • Make it compatible with multiplayer
  • Probably more API functions

Building a new system

BOS uses a distribuition system like linux, so before you start change the Info in the settings module.
And if you gonna make it public, PLEASE credit me.

The system needs(? means its optional):

  • A Desktop UI?
  • Package Manager?
  • Improvements from the original base
  • More stuff

Good luck!

Resources

Game link: Block Operating System - Roblox
My profile: https://www.roblox.com/users/466896302/profile
Blue chat platform tag: Lettuce Whitehead#4260

Notes

Sorry if i choosed the wrong category.
Any questions DM me on roblox or that blue chat platform

33 Likes

mircosoft better watch out, im about to make the new epic OS. All jokes aside this is cool. Keep up the great work!

5 Likes

oh yeah, one question. Which script and which line is the time command located? I’d really like to know how you did this.

3 Likes

This is cooler than I thought.

2 Likes

It’s on the API module, Commands module uses that function, to operate it.

3 Likes

thank you!!! I know now how to get the time!!!

1 Like

What do I do exactly? It’s just a command line.

1 Like

You can create some programs with lua, theres a TON of functions to use at your favour, if you wanna know what are them just check the API module.

2 Likes

On later versions ill add a notepad, to make more consize writing code instead of using write command. Or maybe you can do it yourself!

1 Like

It’s really cool, but one feature that would be cool to add, is a cls command, along side with clear. On windows, clear and cls do the same thing, clear the console, the only difference is that cls is easier to type.

Another really cool thing to add is the complete os library. In Lua 5.4.3, the os library has more methods than the one you get in Roblox, like os.execute(), and os.exit().

1 Like

Alias? Well its kinda easy to implement, ill do it now then!

Well the commands and the scripting uses both the same api module, i dont see a reason to add os.execute.

os.exit i dont even know how to make it, maybe trying to do an exit code system?

1 Like

Damn, this is cool, I would use this, but I am bad at scripting

2 Likes

Dont worry, ill create the API docs so anybody can create thier programs!

While its not here you can look at the Lua Docs (remembering that some stuff on roblox are disabled or changed like the os and debug lib)

2 Likes

Update

Added alias and fixed a bug related to commands.

1 Like

Doesn’t work on mobile sad :- it’s a shame

1 Like

Maybe i should add a custom keyboard and more support.

2 Likes

Basic tutorial on creating a program

I dont see much people doing programs, because its the main part of the project
Heres a basic tutorial on it:

Use the command mkfile (name) to create a file, then use write (name) content to write to it. (Remember that will overwrite old text.)

Lets create a simple program that prints “Hello, World!” to the screen.

Write this text to the file:

print("Hello, World!")

Now to run the file just type the file’s name on the command line, you should get this message:

Hello, World!

Now if you want to make it print colored we must use the cprint(color, message) color(r, g, b) function, it returns a table with a RGB value.

Write this to the file:

cprint(color(255), "Hello, World in red!") -- Omitting other parameters will set them to 0.

You should get the same message but in red.

Theres also the args table that allows you to get the arguments passed by the command line.

Write this to the file:

print("You typed: "..table.concat(args, " "))

It should print what you typed in the console incluiding the file name.

> testfile hello world
You typed: testfile hello world
>

Now that you know the basics of creating a program now unleash your imagination to create awesome programs!

– letiul 2021 :slight_smile:

2 Likes

Bug found, attempting to use the cmd mkdir results in an error.

Line 99
API.stringallowed is not a valid function in the API table but instead exists outside of the API table.

1 Like

Thanks ill fix it! But please dont report bugs here report on the blue chat app or my messages!

2 Likes

Update

Added a new syntax to windows (like html, examples in window.exe file)
Fixed a bug

1 Like