Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bus_16_manjevas-0.0.1.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bus_16_manjevas-0.0.1-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

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

Hashes for bus_16_manjevas-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5cfc2afa79800397c8cb7c4a9115aa5201b0408e8528f63c06ae4e20f4710cd2
MD5 aac014f7d6352efcd8e55a70f8c19365
BLAKE2b-256 04b8c24b5ac0461be30bb413da7965116d4db81f33d6de563bb72749951c4fb8

See more details on using hashes here.

File details

Details for the file bus_16_manjevas-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bus_16_manjevas-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2056ad1a3c7a9929dc63e42c4a1324824950875cb650bce509d1c8beb00b9d52
MD5 d852c5ed4b4aa4e0976b9f831da4acfa
BLAKE2b-256 287044e76a1e565f1e4f808f4a885e4b7b30f47311fa2cb14e9fa1ca80590d8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page