A 16-bit memory address, 8-bit data bus emulator.
Project description
bus-16
A 16-bit data bus with memory bank support.
Introduction
This bus was created loosely to support another project of mine to emulate a MOS 6502 microprocessor. I initially was building this as part of the emulator but decided to separate it out into its own project. This felt right as this is a generic bus emulator, which can be used with any other 8-bit processor from that period. The bus has been build with memory bank support upto 256 banks, which is plenty.
Memory
Memory has been designed as a nested list, with the row index querying the bank and column index querying the memory address. Lots of checks have been put in place to ensure that user errors are caught and highlighted.
Logging
logging module has been extensively used to log information through the program. This is meant not only for logging issues but also is an educational tool when trying to understand how a bus runs while the CPU executes a bunch of commands.
Aspirations
The goal of this bus is to be ubiquitous to be deployed as the standard data bus and VPU/audio bus in future projects where I intend to emulate popular gaming consoles from the 80s. Also, I hope that the bus layout is generic enough to ensure that it can be used to develop a general purpose 8-bit computer, where I intend to create an 8-bit OS.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bus_16_manjevas-0.0.1.tar.gz.
File metadata
- Download URL: bus_16_manjevas-0.0.1.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cfc2afa79800397c8cb7c4a9115aa5201b0408e8528f63c06ae4e20f4710cd2
|
|
| MD5 |
aac014f7d6352efcd8e55a70f8c19365
|
|
| BLAKE2b-256 |
04b8c24b5ac0461be30bb413da7965116d4db81f33d6de563bb72749951c4fb8
|
File details
Details for the file bus_16_manjevas-0.0.1-py3-none-any.whl.
File metadata
- Download URL: bus_16_manjevas-0.0.1-py3-none-any.whl
- Upload date:
- Size: 45.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2056ad1a3c7a9929dc63e42c4a1324824950875cb650bce509d1c8beb00b9d52
|
|
| MD5 |
d852c5ed4b4aa4e0976b9f831da4acfa
|
|
| BLAKE2b-256 |
287044e76a1e565f1e4f808f4a885e4b7b30f47311fa2cb14e9fa1ca80590d8a
|