Cosmic

A 𝒔𝒕𝒆𝒍𝒍𝒂𝒓 simulated 8-bit computer architecture

View the Project on GitHub clbx/Cosmic

Cosmic

Cosmic Logo


CodeFactor GitHub repo size </br>

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 GUI

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

What is Cosmic?


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.

Special thanks to @Gwarks, who did a lot of base work on the graphics.


Documentation

Installation Instructions

Be sure to clone recursively, Cosmic uses git submodules

git clone --recursive https://github.com/clbx/Cosmic

If you have already cloned:

git submodule init
git submodule update

Linux

Install SDL2 using your distributions package manager

make

macOS

Install SDL2 using brew. Get brew here if you don’t already have it.

brew install sdl2
make

Windows

A pre-compiled binary can be downloaded from the release page. You will still need to install MinGW and SDL2 Be sure to add both MinGW and SDL2.dll to your path

Compilation Instructions:

Get Chocolatey if you don’t have it already, it helps for installing tools

Install MinGW choco install mingw

Install make choco install make

Download SDL2 Development Library

Untar SDL to the MinGW install directory

make

Make sure any missing .dll’s are in your path

Assembler

The assembler is written in Python, so if you plan on assembling anything for Cosmic, Python 3 is required


/lib contains some included software:

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.