Skip to content

shadowww345/AiraOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AiraOS

This is my first attempt at creating an operating system. It is a minimal OS project and is not intended for actual use.

Note:

If you want to boot AiraOS on a physical computer:

1-First, type lspci -v -s 00:02.0 into the terminal.

2-Take the resulting hex values (such as E00... or FD000...).

3-Place them into the vesa variable in graphics.c and compile.

If using rufus:

1-Select MBR

2.and select bios boot

Features

Minimal kernel with a terminal prompt (>)

Simple nano-like editor

Has a mini language (.aira)

Sound Device, Sound Blaster 16 and PC Speaker

Screen color changes

VESA Graphics 1024x768

FAT12 FS

WAV sound play

Notes

This is just a hobby project / OS experiment.

Images

Booting Normal menu Colors Nano Compile Panic Screen

Build

EFI-compatible GRUB is needed to boot the ISO:

Note:If you are using Windows, install WSL to build.

Type in the terminal:

sudo apt update
sudo apt install grub-efi-amd64-bin grub-common
sudo apt install qemu qemu-system-x86
make
make run

Commands

nano

Opens nano editor

compile filename.aira

It interprets the code written in the nano editor.

clear

Clears all screen

color a

Sets color to green

color b

Sets color to blue

color c

Sets color to red

color 7

Sets color to white

beep

440hz beep sound

reboot

Reboots pc

testpanic

Test panic screen

ls

list directory

Aira Proggraming Language Tutorial

print("hello world")

prints string or variable

set varstr = "hello"
set varint = 10

variable definition

loop 10
  print("hello world")
endloop

loops

beep(440)
beep(440,10)

beeps freq or freq and duration

color a
color b
color c
color 7

changes color a/b/c/7

sleep(50)

cpu sleeps miliseconds

add 1,1
sub 1,1
mul 1,1
div 10,0

mathematichs

Example

set freq = 10
color a
loop 100
  beep(freq,50)
  add freq,10
  print("freq is:")
  print(freq)
  sleep(30)
endloop

If you like the project, give it a ⭐!

The project is mainly for learning and experimentation.