Cosmic is a fully simulated computer architecture that provides a full environment to use the Cosmic Processor, specialized devices, ROM, RAM, graphics, and more. The cosmic processor can also be used on a Raspberry Pi to interface with real-world devices. The cosmic system is all entirely accessible in a rich GUI interface that allows for full customization of the system environment and code execution.*
Cosmic is designed to act similar to a real, physical chip but take advantage of it being software-based and leaving some of the nuances of the physical world behind.*
With an instruction set that makes sense (and is fun), and simple memory-mapped I/O, Cosmic is an excellent "chip" to write for, using the cosmic assembler.*
* in deveopment
- A very interesting project
- A Proof of Concept
- Kinda cool
- A good way to learn assembly and how processors work
- Fun to play with
- Made by two guys learning as they went along
- An optimized, properly designed processor
- Free of mistakes or beginner errors
- Something to base a serious project off of
Cosmic is the Senior Project for Clay Buxton (@clbx) and Kevin Carman (@carmank) at Elizabethtown College. All academically required reports and documentation is in the /doc folder.
- Cosmic Processor Specification. This has information about how the processor works, the instruction set, and other general information
- Cosmic Assembler Specification. This has information about how to write assembly programs for Cosmic.
- Cosmic System Specifications This has information about other parts of the Cosmic system work (Video, Audio, etc.)
Install SDL2 using your distros package manager
cd Cosmic
cd src
make
Install SDL2
brew install sdl2
Then make
cd Cosmic
cd src
make
Windows requires MSYS2/MinGW Install the following packages:
pacman -S git mingw-w64-x86_64-toolchain mingw64/mingw-w64-x86_64-SDL2 mingw64/mingw-w64-x86_64-SDL2_mixer mingw64/mingw-w64-x86_64-SDL2_image mingw64/mingw-w64-x86_64-SDL2_ttf mingw64/mingw-w64-x86_64-SDL2_net mingw64/mingw-w64-x86_64-cmake make
Add MinGW to your Path
cd Cosmic
cd src
make
/lib contains some included software:
-
ImGui is a GUI library used for the interface, along with a slightly modified memory editor addon. This is under the MIT License and the license file is included accordingly
-
gl3w A OpenGL core loader. This is not under a license.
-
catch2 is used for testing. This is under the BSL Software License
SDL2 is also required to run Cosmic.
Cosmic is under the MIT License, feel free to use any part of it, but if you do please include the license file and a link to this repository.

