Operating system
RACE can support various operating systems, they must be compatible with the file structure.
Installation of a RACE-based Operating System
First, the BIOS search for a bootloader which will load the OS. Read Booting sequencefor more information.
The operating system can be everywhere in the file tree, but we recommend to locate it directly in the root C:/ .
The OS folder is ready
In this case, it means that the OS is ready for installation. It contains a table called installation with everything required to install the OS.
local extensions = require(script.Parent.RACE.neurox_interpreter.extensions)
local root = {}
root.file_structure = {
windows = {
name = "WINDOWS",
file_type = extensions.file_type.f,
parent = "root",
content = "",
installation = {
name = "Installation",
file_type = extensions.file_type.exe,
parent = "root",
content = "...",
}
}
}
return rootThe content of installation.exe is indeed a Neurox script
DEFINE NEUROX
SET os = "Windows" // system variable
MKDIR("C:/WINDOWS/COMMAND")
MKDIR("C:/WINDOWS/CONFIG")
MKDIR("C:/WINDOWS/DESKTOP")
MKDIR("C:/WINDOWS/FONTS")
MKDIR("C:/WINDOWS/HELP")
MKDIR("C:/WINDOWS/CONFIG_OS_INI") // bootloader
// etcAfter the installation, the system calls the bootloader and starts the OS.
The OS folder is not ready
In this case, the BIOS found that the OS was in C:/WINDOWS. Unfortunately, it does not contain the installation file or the bootloader. The BIOS will be stuck and the OS will not be loaded.
local extensions = require(script.Parent.RACE.neurox_interpreter.extensions)
local root = {}
root.file_structure = {
windows = {
name = "WINDOWS",
file_type = extensions.file_type.f,
parent = "root",
content = "",
-- empty or contain files except Installation and config_os_ini
}
}
return rootThe OS is installed
And finally, in this case, the OS is installed. The bootloader is config_os_ini. As it may be strange to have a .ini file as a bootloader, it actually sets some system variables which define the OS and then starts it.
local extensions = require(script.Parent.RACE.neurox_interpreter.extensions)
local root = {}
root.file_structure = {
windows = {
name = "WINDOWS",
file_type = extensions.file_type.f,
parent = "root",
content = "",
config_os_ini = {
name = "CONFIG.INI",
file_type = extensions.file_type.ini,
parent = "windows",
content = "...",
},
-- other files
}
}
return rootContent of config_os_ini
DEFINE NEUROX
//system variables
SET os = "WINDOWS"
SET OsName = "Windows 95 Fan Made"
SET OsVersion = "4.00.950C_2"
SET OSBuilderVersion = 2
SET BuildDate = "07/26/2024"
SET wallpaper = "DESKTOP.BMP"
SET theme = "DEFAULT.TXT"
START osSTART os will be actually the last BIOS operation, which will start the operating system.
Last updated