diff --git a/README.md b/README.md new file mode 100644 index 0000000..ed4406c --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# SplitBit Emulator + +## Overview: +SplitBit is a custom CPU designed for hobbyist projects and experimentation. The SplitBit Emulator is an emulator 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 +``` +2) Build the Emulator: You'll need gcc and make or similar. +``` +make +``` +3) Run the emulator: +``` +./SplitBit 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](http://www.apache.org/licenses/LICENSE-2.0).