-
Notifications
You must be signed in to change notification settings - Fork 5
Terminal
Terminals are normal windows. The cool thing is that ya can interact with em and enter commands. Also the commands are split into Tasks so ya could execute for example two sleep commands at different terminals and it should work no problemo.
There are a few commands already which do a lot of things.
You can also scroll in the terminal by pressing SHIFT + an arrow key. (on real hardware you sometimes need to toggle numlock or use the right shift)
You can also force quit running tasks by pressing ALT + F1. (This will not close the window)
commands usually look like this
(command) (argument 1) (argument 2) ...
if a command or an argument has spaces, you can use quotes. (Of course. escape sequences work in quotes too!)
Here is a list of the commands:
Clears the terminal screen.
Echoes a message.
Opens a game of connect four.
Starts a BF Interpreter with said code.
Sleeps for the given time.
runs the task manager. (Can be quit by pressing Q)
Tries to shut down the OS per ACPI.
Closes the Terminal window. (Same as ALT+F4)
Clears the music buffer.
Plays some test midi notes.
Plays part of a hardcoded mario midi.
Starts tetris. (Still WIP and bad)
Launches Doom. (WIP and has no audio) You can exit the window by holding ESC and CTRL. (Then you can also drag the window around)
Opens the Notepad.
Opens the Explorer.
Launches the Debug Ram Viewer.
Opens the Image Viewer with no Images.
Opens an MBIF image in the Image Viewer
Tries to run/open/whatever a file. (Only works with MBIF (Image) Files rn.
Runs a MAAB file.
Tries to run an object file. (Currently still very experimental)
Logs into some account. (Might require you to enter a password)
Sets a parameter to a value. Here is a list of parameters for the set command
Displays a paramater. Here is a list of parameters for the get command
Displays a string starting from that index. (for testing)
Mallocs like 20480 bytes of memory. (used for testing)
Crashes the OS. (very important, I know)
Crashes the OS in a fatal way, activating the Fatal GPF handler.
Attempts to play a beep using the PC-Speaker. (it plays something but it always sounds the same to me)
This is the disk command.
You can use it to read/write/get data about disks.
(use get "disk count"
to get the amount of disks)
there are a few subcommands within disk
This will read an arbitrary amount of bytes starting from sector 0 and will print it as ascii characters.
This will write the character an arbitrary amount of times into the disk starting from sector 0.
This will create a ram disk with an arbitrary amount of sectors. (1 Sector is 512 bytes)
This will create a file disk linked to the given file. The disk will have the size of the file.
This will get some data from the disk. Properties:
-
max sector count
- Maximum amount of sectors the disk has
This is the partition command/tool. With this command you can manage MRAPS Partitions. You can use partitions on any existing disk Interface.
This will create an MRAPS Partition Interface (Instance) for your Disk Interface.
This will initialize a default Partition Table and save it to the disk.
This will save the current Partition Table to the disk.
This will load the Partition Table from the disk.
This will create a Partition with a size and a name from an undefined (not in use) partition.
This will set the selected Partition to undefined. (It might get combined with neighbouring undefined Partitions)
This will wipe the contents of the selected Partition.
This will resize the selected Partition. The Partition size can (almost) always be decreased, but it can only be increased if the partition after it is undefined.
This will read an arbitrary amount of data from a partition and display it as ASCII Text.
This will write an ASCII string into an arbitrary address in the selected Partition.
This will edit a parameter of a Partition. Parameters:
-
name
- Partition Name -
description
- Partition Description -
drive name
- Drive Name -
hidden
- If the Partition is hidden
This is the filesystem command/tool. With this command you can directly manage a filesystem. You can use filesystems on any implemented partition (which is big enough) MRAFS needs a partition which is bigger than 5MB to store the partition table and have data for files.
This will create an MRAFS Filesystem Interface (Instance) for your Partition Interface.
This will initialise an empty MRAFS Filesystem and save the File table.
This will save the File table to the disk (most processes do this automatically).
This will load the File table from the disk.
This will list all file partitions, files and folders in the entire filesystem.
This will create an empty file/folder.
This will create an empty file with a given reserved size.
This will delete a file/folder. (Note: folder deletions will be recursive!)
This will read the entire file and print it.
This will read an arbitrary amount of bytes from a file.
This will write a string into a file. (Note: This will overwrite the file contents!)
This will check if a file/folder exists.
This will get all files/folders inside of a folder.
disk (ID) partition (PARTITION ID) fs copy file/folder (OLD FILE/FOLDER PATH) (NEW FILE/FOLDER PATH)
This will copy a file/folder with a new path.
disk (ID) partition (PARTITION ID) fs rename file/folder (OLD FILE/FOLDER PATH) (NEW FILE/FOLDER PATH)
This will rename (change the path of it) a file/folder to the new path.