Skip to content

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.

License

Notifications You must be signed in to change notification settings

joakimwinum/bytecore-byte

Repository files navigation

ByteCore Byte

Binder

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 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

ByteCore Compiler

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:

pip3 install -r requirements.txt

Starting Jupyter Lab

To start Jupyter Lab, run:

jupyter lab

Gitpod

For a pre-configured development environment, use Gitpod by clicking here.

Binder

Alternatively, use Binder for a ready-to-use environment by clicking here.

License

This project is licensed under the terms of the MIT License. See the LICENSE file for the full text.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published