2024-10-26 13:50:10 -04:00
2024-10-16 23:12:59 -04:00
2024-10-26 13:50:10 -04:00
2024-10-18 18:16:30 -04:00
2024-10-20 16:02:52 -04:00
2024-10-16 23:21:10 -04:00
2024-10-18 18:06:08 -04:00

SplitBit Emulator

Overview:

SplitBit is a custom CPU designed for hobbyist projects and experimentation. The SplitBit Emulator is a C implementation of its bespoke instruction set architecture. It allows users to load and run binary programs created for the SplitBit CPU interactively from the command line.

Features:

  • 8-bit Harvard Architecture: The system memory is separated into two 64k banks, one for the Program Memory and another for the Data Memory.
  • Custom ISA: A fully implemented instruction set architecture optimized for simplicity and easy assembly programming.
  • Debug Mode: Single-step through instructions and monitor the CPU's registers as they change through each cycle.
  • CLI Based: Debug messages and CPU input and output are supported through the command line.
  • Binary File Support: Load programs and data from binary files.
  • Modular Codebase: Mostly clean separation of CPU, I/O, and utility functions for easy modification.

Installation:

  1. Clone the repository:
git clone https://github.com/RealBusinessAccount/SplitBit-Emulator.git
cd SplitBit-Emulator
  1. Build the Emulator: You'll need gcc and make or similar.
make
  1. Run the emulator:
./SplitBit Programs/hello.bin

Usage:

./SplitBit [options] [binary file]

Options:

  • -d, --debug: Enable debug mode to single step through cycles.
  • -h, --help: Show help and usage information.

Additional Info:

For more information on the custom ISA and programming for SplitBit, see the Programming Manual.

License:

This project is licensed under the Apache License, Version 2.0. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

S
Description
The modern version of the SplitBit emulator and assembler, along with the system's OS, CosmOS.
Readme Apache-2.0
5.3 MiB
Languages
Assembly 49.4%
C 28.5%
Shell 20%
Makefile 1.7%
Python 0.4%