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

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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