Skip to content

reignstudios/CS2X

Repository files navigation

CS2X

C# subset compiled to non .NET languages or platforms. (Powered by Roslyn)

Goals

This project will focus on transpiling a C# subset with a modified type system for writing GPU programs.

  • Native C performance

  • C89: modern, legacy and embedded platforms (x86, x64, MIPS, SPARK, RISC-V, PPC, 68k, AVR, etc)

  • CC65: 6502 platforms (Atari, C64, NES, Apple II, etc)

  • SDCC: Many targets (ColecoVision, etc)

  • z88dk: Z80 platforms

  • Assembly: CP1610 (Intellivision)

  • Retarget: Custom assembly targets (FPGA CPU, 16bit bytes, etc)

  • Custom Standard lib(s) for various targets.

  • Other lang targets: Java, JS, ActionScript, etc (portability or framework targeting)

  • HLSL (DirectX Shader Assembly Language) [D3D9.0c +]

  • ALS (DirectX Shader Assembly Language) [D3D8.0 - D3D9.0c]

  • GLSL (OpenGL shading language) [OpenGL2.0 / GLES2 +]

  • ARB (ARB assembly language) [legacy / homebrew systems]

  • CG (Cg programming language) [PSVita, Nvidia / other]

  • PSSL (PlayStation Shader Language) [PS4]

  • MSL (Metal Shading Language) [macOS / iOS]

  • AGAL (Adobe Graphics Assembly Language)

Primary Project libraries

  • CS2X.Core: Compiler lib
  • CS2X.CLI: CLI interface for CS2X.Core
  • CS2X.Analyzer: C# syntax analyzer to limit unsuported features.
  • CS2X.CoreLib: Portable CoreLib subset

Building

  • Prerequisites
    • VS, vscode, Rider, etc
    • .NET 10

Is this project ready for general use?

No still experimental.

About

Compiles a C# subset to non .NET languages or platforms. (Powered by Roslyn)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages