/Cosmos

ascpixi's fork of Cosmos, mainly used to contribute code to the main project

Primary LanguageC#BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause


Cosmos (C# Open Source Managed Operating System) is an operating system development kit which uses .NET, alongside the custom IL2CPU compiler to convert (most) C# code into a working bare-metal OS. Despite C# in the name, any .NET-based language can be used, which includes: VB.NET, IronPython, F# and more. Cosmos itself and its kernel routines are primarily written in C#, and thus the Cosmos name.

In a project, Cosmos can be thought of as a compiler and a sort-of standard library for a project. It gives the user access to often hard to find or otherwise difficult to understand tools.


Features

The following is a non-exhaustive list of features that Cosmos offers:

  • Low level assembly access and pointer memory control
  • A basic (and unstable at the moment) filesystem
  • Most features found in the .NET core library
  • A CPU/FPU accelerated math library
  • A basic graphics interface
  • A basic network interface
  • A basic audio interface

Note Use embeded resources instead of the VFS for now for assets.

Setting it up

Cosmos has an article here on how to do that.

Documentation

The Cosmos documentation can be found here.

If you still have any questions on how to use Cosmos, you can open a discussion or you can join the Discord server!

The devkit changelog can be found here.

Reporting an issue

If you think you found a bug in Cosmos, please check existing issues first before opening a new one. Do not open an issue if you need help with something in Cosmos that is not a bug, if you don't know how to code it's not a Cosmos issue for example.