Skip to content

Custom 16-bit homebrew CPU, emulator, renderer, circuit, and language

License

Notifications You must be signed in to change notification settings

sam-astro/Astro8-Computer

Repository files navigation

Badge License   Button Discord


The Astro-8 is a 16-bit computer design. It has a (almost) working Logisim Evolution circuit, along with an emulator on Windows, Mac, and Linux, for running code at full speed. There is an assembly language, along with a higher level language called Armstrong, plus more which are actively being built by the community.

I created a video about the creation of this and how it works, which you can view here:

Button Video

Demos

There are some demos for the Astro-8, such as the pong game and a typing program. You can locate those in the folder /example_armstrong_programs/.

Go here for the documentation and more previews for some other demos

image

Programming

The two most supported ways to program for the computer is using the assembly language or Armstrong.

Documentation

Button Documentation

Installation

Windows

  1. Navigate to the most recent release, and download the Windows version
  2. Unzip the downloaded file

Linux

  1. Make sure you have SDL2 installed on your system

    For debian based operating systems, you can do this with:

sudo apt-get install -y libsdl2-2.0-0 libsdl2-mixer-2.0-0
  1. Navigate to the most recent release, and download the Linux version
  2. Unzip the downloaded file

From Source

  1. Clone this repository in a command line using git clone https://github.com/sam-astro/Astro8-Computer.git OR by downloading the repository as a .ZIP file and unzipping it to your location of choice
  2. Make sure you have SDL2 installed on your system
  3. Enter the directory Astro8-Computer/Astro8-Emulator/linux-build
  4. Run CMake using cmake .. to generate Unix Makefile
  5. Run make -j5 to generate executable
  6. The executable is Astro8-Computer/Astro8-Emulator/linux-build/Astro8-Emulator


Other projects related to the Astro-8:

These projects are not always compatable with the main branch of the official Astro8-Computer repository. Please read the instructions in their project's repo before using.