Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adzierzanowski/z80
Zilog Z80 (and Intel 8080) assembler/disassembler for everyone and some other tools for my private Z80 stuff
https://github.com/adzierzanowski/z80
8080 arduino assembler disassembler z80 zilog
Last synced: 9 days ago
JSON representation
Zilog Z80 (and Intel 8080) assembler/disassembler for everyone and some other tools for my private Z80 stuff
- Host: GitHub
- URL: https://github.com/adzierzanowski/z80
- Owner: adzierzanowski
- Created: 2021-09-22T15:07:17.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-31T13:05:29.000Z (almost 2 years ago)
- Last Synced: 2023-03-05T01:53:31.257Z (over 1 year ago)
- Topics: 8080, arduino, assembler, disassembler, z80, zilog
- Language: C
- Homepage:
- Size: 17.9 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Zilog Z80 playground
This is a scratchpad repository containing my Z80 sandbox.
## Assembler
The most interesting for other people is most probably **[an assembler](z80asm)**
written in Python.The assembler is more-than-two-pass assembler to make code more readable than
optimized.I've also written a 2-pass Z80 assember in C which is much faster.
[Check it out here](https://github.com/adzierzanowski/zasm).## Z80 Minicomputer
For now the other part of the project consists of:
* a main board with 10 MHz Zilog Z80 CPU and some LEDs,
* a RAM board with two 62256 SRAM chips, 32 kiB of memory each
and 7-segment displays showing data and address bus state,
* a CLKMOD board acting as a clock and interrupt controller.Implying the following specs:
```
- Up to 1 MHZ Z80 CPU (because of bottleneck that is CLKMOD which will
be replaced with a crystal oscillator)
- 64 kiB SRAM
- No external non-volatile memory
- No IO at the moment
```At the moment I'm developing the new IO Controller and IO device modules:
* 128x160 TFT display module,
* PS/2 keyboard input module.In the `legacy/` directory there are some IO controller files which I used
for communicating with the CPU via serial port and low-resolution VGA output.# Files
* `z80asm` – Python dual-syntax (i8080, Z80) assembler/disassembler module
* `busctl/` – Bus controller (and RAM Uploader)
* `clkmod/` – Clock emulator
* `fontmaker/` – Little HTML/JS utility for creating fonts
* `legacy/` – Old unused controllers
* `lib/` – ASM libraries
* `schematics/` – KiCAD schematics
* `static/` and `templates/` – Flask assets
* `tft` – TFT Display Controller* `ctl.py` – Flask GUI for the clock emulator
* `prog.py` – Bus controller RAM programming interface
* `serialprompt.py` – Utility for fast testing of serial communication# Resources
* https://maker.pro/pic/projects/z80-computer-project-part-1-the-cpu
* https://istvannovak.net/2018/01/25/zx-spectrum-ide-part-3-a-brief-overview-of-the-z80a-cpu/