Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

PandorOS

Another attempt to create a small operating system. This time, more features, less fancy code.

Concept

The whole OS is created with the OS of the TI-83 Plus in mind.

The feature list is simple: - PandorOS Basic Command Shell - Flat File System - .PRG Program Files - .TXT Text Files - .DAT Data Files (similar to a binary file) - File Editor for .PRG and .TXT files. - Command Catalog with in-system-help - Character Map for printing every possible character

File System

PandorOS uses an In-RAM file system that allows the user to create programs and data files.

See filesystem.md for more details.

PandorOS Basic

The basic dialect of PandorOS. Quite restricted, quite simple.

Expressions

PandorOS Basic supports all basic expression types:

Expression Example
Number 10
String "Name"
Variable Access A
Negation -A
Parenthesis (A)
Addition A + B
Subtraction A - B
Multiplication A * B
Division A / B
Logic And A And B
Logic Or A Or B
Logic Not Not A
Function Call Mod(A,B)

Variables

Pandoros Basic only supports 26 distinct numeric variables and 10 string variables:

Variable Type
A - Z Number
Str0 - Str9 String

Assignments

Each expression returns a result that can be stored in a variable. An assignment is a postfix operation where an arrow (->) is followed by the variable name:

10 -> A
20 - A -> B
"Hello World!" -> Str0

Functions

A function is a command that takes a list of arguments and returns a value. It may be part of an expression.

Product(10, B, 20)

Orders

An order is a special type of function that must be the first component of a statement. It does not return any value and is separated from its argument list by a whitespace character instead of brackets.

Disp 10, 20

Example

Current status allows no multiline program execution, only single-line statements. Also, no control structures are implemented.

Input "Enter Variable 1: ", A
Input "Enter Variable 2: ", B
A - B -> D
A / B -> Q
Print "Sum        = ", A + B
Print "Difference = ", D
Print "Product    = ", Product(A, B, 1)
Print "Quotient   = ", Q

About

Another attempt to create a small operating system. This time, more features, less fancy code.

Resources

Releases

No releases published

Packages

No packages published