RaphMar2021 / Prism-OS

An operating system written in c#, Made possible by the cosmos community!

Home Page:https://project-prism.github.io/Prism-OS/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Created on May 11th, 2021, 1:26 AM UTC-8

About

Prism OS is a Cosmos Based Operating System Developed With C#.

This Project is Made Possible by Cosmos and the Community Around it, We Give a Huge Thanks to All of the Developers that Contribute to and Support it, Our Work Would Not be Possible Without it.

Have any problems? Found a bug? Just want to chat? Join the discord!


Media

2023-02-20.17-25-07.mp4

Demo of lerp animations in Prism OS.

2023-02-19.19-30-18.mp4

Demo of the 3D rasterizer with mouse controls in Prism OS.

2023-02-21.12-53-14.mp4

Demo of the 'bounce out' animation generated by an AnimationController.


    Prism OS's Feature List:

  • A Basic 3D Rasteriser
  • Parsing for Many File Formats (TAR, Bitmap, and Targa)
  • LZW Compression and Decompression
  • Good Graphics API
  • Animation & color fade support
  • Custom language lexer, compiler, and runtime
  • And more...
  • Note: Some Of These Items Might Not Be Implemented All The Way

Notable contributors

Name Contribution(s)
Cosmos team The entirety of Cosmos
Terminal.cs Founder, Main developer
theopcoder Website developer

Syscalls

These are the avalable syscalls Prism OS offers, the EAX value will always become the return value after calling.

All references to strings will be pointers to null-terminated strings in whatever format was used, typicaly it will be UTF-8.

Name EAX EBX ECX EDX ESI EDI Returns
Console.WriteLine 0x00 Message - - - - -
Console.Write 0x01 Message - - - - -
Console.Clear 0x02 - - - - - -
Console.SetColor 0x03 FG Color BG Color - - - -
Console.ResetColor 0x04 - - - - - -
Memory.Realloc 0x05 Old Address New Size - - - New Address
Memory.Alloc 0x06 Size - - - - Address
Memory.Free 0x07 Address - - - - -
Memory.Set 0x08 Address Value - - - -
Memory.Get 0x09 Address - - - - Value
Memory.Copy64 0x10 Destination Source Size - - -
Memory.Copy32 0x11 Destination Source Size - - -
Memory.Copy16 0x12 Destination Source Size - - -
Memory.Copy8 0x13 Destination Source Size - - -
Memory.Fill64 0x14 Destination Value Size - - -
Memory.Fill32 0x15 Destination Value Size - - -
Memory.Fill16 0x16 Destination Value Size - - -
Memory.Fill8 0x17 Destination Value Size - - -
File.Read 0x18 Full Path - - - - Binary
File.Write 0x19 Full Path Binary - - - -
File.Remove 0x20 Full Path Name - - - -
File.Create 0x21 Full Path Name Type - - -
File.Exists 0x22 Full Path - - - - 0 = False, 1 = File, 2 = Folder
File.GetSize 0x23 Full Path - - - - Size of the file

Drivers

Prism OS supports inclusion/exclusion of drivers at compile time, You can modify what is added when compiling by editing this file.

Available Constants
IncludeVMWARE
IncludeVBE

Contributing

Want to Add Something New to Prism OS? Simply Create a Pull Request and We'll Review it. (Your Code Should Preferably Follow These Guidelines)


See also:

SSharp documentation


Licensing

This project is licensed Under the GPL-2.0 licence.

This project's logo, 'Daimond', was created by Nicole Hammonds from The Noun Project.

About

An operating system written in c#, Made possible by the cosmos community!

https://project-prism.github.io/Prism-OS/

License:GNU General Public License v2.0


Languages

Language:C# 99.4%Language:Smalltalk 0.6%