Skip to main content

Command line tool to build, emulate and load programs for the HaDLOC 8-bit computer

Project description

HaDLOC

Command line tool containing several utilities for HADLoC.

HADLoC (Harvard Architecture Discrete Logic Computer) is an 8-bit computer I constructed, primarily out of 7400 series TTL integrated circuits. It contains 32KB of ROM, which is preloaded with the machine code of the program to be executed.

20201012_134659

I also built a EEPROM writer to load machine code onto the ROM. The serialports, load and read commands are intended to interface with this circuit

PXL_20230410_042727776~2

This tool currently provides 5 commands

  • assemble: Assembles the provided assembly file and writes the assembled machine code into a binary file of the same name
  • read: Reads data from a connected EEPROM
  • load: Loads the data in the given file onto a connected EEPROM
  • serialports: Displays a list of the currently available serial ports
  • emulator: Starts the emulator running the given binary file. In debug mode, instructions can be stepped through one by one, and register/memory contents are shown

At the moment, I have created an assembly language, with an assembler to convert it into machine language. Checkout the examples folder for examples of this. In the future I plan to create a virtual machine language, that compiles down to assembly, and also a higher level language that compiles down to the VM language. I have yet to name the high level language, but it will most likely be inspired by Kotlin. In the resources folder, you can see an example of the computer running the fib.bin file, which computes the fibonacci sequence and displays the next value each time an input is recieved

For more details about the languages and computer checkout the Specifications folder. At the moment it only contains the machine language specification, which provides a bit more detail about the computer and how to program it in raw binary machine code. I plan to create a specification for the computer architecture, which describes how it works, and I will also create specifications for the three languages I plan to create, assembly, the VM language, and the high level language.

Installation

TODO

Usage

Type hadloc -h for details on how to use the tool

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

hadloc-0.1.1.tar.gz (74.0 kB view details)

Uploaded Source

Built Distribution

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

hadloc-0.1.1-py3-none-any.whl (83.2 kB view details)

Uploaded Python 3

File details

Details for the file hadloc-0.1.1.tar.gz.

File metadata

  • Download URL: hadloc-0.1.1.tar.gz
  • Upload date:
  • Size: 74.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for hadloc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 016597554f2285e9dc25ea4665b5f00fe8cd70d474ec9eb9eb2af93bc35e729f
MD5 d1ef980aff57b4f1a28d81836d3f074f
BLAKE2b-256 5ca3f28bd65278d181b7ad8fab16a0f0a10c844e8028aa9be1416c10912694fe

See more details on using hashes here.

File details

Details for the file hadloc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: hadloc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 83.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for hadloc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cf454687813b8aa88eb0792201e884ba9d924630b0ad804d9ebe49385f5df0d0
MD5 f4c39224235ad5eb8ab3d5fa93c6ec65
BLAKE2b-256 9d53b8b844c4e491f07f1e694bde2b2fb671a3ec4261cd2585bb47130ed59f11

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