https://github.com/joakimwinum/bytecore-byte
ByteCore Byte is a simplified version of the ByteCore CPU showcased in a Jupyter notebook, using 1-byte addressing to operate within a 256-byte memory limit. This repository features demonstrations of ByteCore Assembly through both basic and advanced programming examples.
https://github.com/joakimwinum/bytecore-byte
8-bit-computing assembly-language byte-addressable bytecore compact-computing computer-architecture cpu-emulation low-level-programming microprocessor python software-development
Last synced: 4 months ago
JSON representation
ByteCore Byte is a simplified version of the ByteCore CPU showcased in a Jupyter notebook, using 1-byte addressing to operate within a 256-byte memory limit. This repository features demonstrations of ByteCore Assembly through both basic and advanced programming examples.
- Host: GitHub
- URL: https://github.com/joakimwinum/bytecore-byte
- Owner: joakimwinum
- License: mit
- Created: 2024-05-01T18:49:25.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-05T21:40:07.000Z (over 1 year ago)
- Last Synced: 2025-02-05T22:39:02.108Z (over 1 year ago)
- Topics: 8-bit-computing, assembly-language, byte-addressable, bytecore, compact-computing, computer-architecture, cpu-emulation, low-level-programming, microprocessor, python, software-development
- Language: Jupyter Notebook
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ByteCore Byte
[](https://mybinder.org/v2/gh/joakimwinum/bytecore-byte/main?labpath=bytecorebyte.ipynb)
ByteCore Byte is a specialized version of the ByteCore CPU that operates within the ByteCore Emulator. It is uniquely designed using the ByteCore Assembly language but uses only 1 byte for addressing instead of 2, thus reducing the available memory from 64KB to 256 bytes.
This compact CPU setup has been adapted to run both the simple and the advanced example programs originally developed for the standard ByteCore CPU.
The programs are integrated into a Jupyter notebook which includes:
- A main Python cell containing the source code for ByteCore Byte.
- Two additional code cells, each containing one of the example programs: Simple and Advanced.
To explore these programs, follow the setup instructions below, launch the Jupyter Lab, open the [`bytecorebyte.ipynb`](bytecorebyte.ipynb) notebook, and click 'Run All'. The notebook includes Python assertions to verify the CPU's state upon halting.
## ByteCore Packages
Here are the packages used to develop the ByteCore Byte CPU:
### ByteCore Emulator
- [GitHub](https://github.com/joakimwinum/bytecore)
- [PyPI](https://pypi.org/project/bytecore/)
### ByteCore Compiler
- [GitHub](https://github.com/joakimwinum/bytecorecompiler)
- [PyPI](https://pypi.org/project/bytecorecompiler/)
## Installation and Setup
### Prerequisites
Before installing, ensure you have Python 3.11 or newer. Clone the repository and navigate to the root directory. It is recommended to set up a Python virtual environment to manage dependencies efficiently.
### Dependencies
Install the necessary dependencies with the following command:
```bash
pip3 install -r requirements.txt
```
### Starting Jupyter Lab
To start Jupyter Lab, run:
```bash
jupyter lab
```
### Codespaces
For a pre-configured development environment, use Codespaces by clicking [here](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=joakimwinum/bytecore-byte).
### Binder
Alternatively, use Binder for a ready-to-use environment by clicking [here](https://mybinder.org/v2/gh/joakimwinum/bytecore-byte/main?labpath=bytecorebyte.ipynb).
## License
This project is licensed under the terms of the MIT License. See the [LICENSE](https://github.com/joakimwinum/bytecore-byte/blob/main/LICENSE) file for the full text.