tranZPUter SW-700
Vorwort
Das erste Release fuer die v1.3-Hardware unter dem Git-Branch v2.2-tranZPUter-SW-HW_700_v1.3 zielte auf einen Sharp MZ-700 Host ab, der die Maschine in Bezug auf Funktionen und Funktionalitaet erheblich aufwertete und sich als zuverlaessig und ausgereift erwiesen hat.
Kuerzlich habe ich das tranZPUter SW-700 Projekt auf einen Sharp MZ-2000 portiert und die VHDL erheblich erweitert, um nicht nur einen MZ-2000-kompatiblen Videomodus bereitzustellen, sondern auch die Sharp MZ Serie FPGA Emulation einzubinden.
Der Vorteil eines MZ-2000-Grafikcontrollers auf dem tranZPUter SW-700 gegenueber dem originalen MZ-1R01 Grafikboard ist, dass der interne Monitor jetzt Farbe in Gruenstufen darstellen kann, sodass Grafiken und Spiele sowohl auf dem internen als auch dem externen Monitor voll nutzbar sind.
Uebersicht
Das Upgrade erweitert auch die Z80-Hardwarefaehigkeiten, indem zusaetzlicher RAM bereitgestellt wird, um eine 64K-Version von CP/M v2.2 (und bis zu 512K CP/M v3, wenn ich zur Portierung komme) zu ermoeglichen, und die Geschwindigkeit des Prozessors zu erhoehen, waehrend beim Zugriff auf die Sharp MZ-700 Hauptplatinen-Peripheriegeraete die Originalgeschwindigkeit beibehalten wird.
Dieses Design reift jetzt und ist stabil, obwohl die Entwicklung zur Erweiterung seiner Faehigkeiten fortgesetzt wird, z.B. Soft-CPUs, Video-Hardware-Verbesserungen usw.
tranZPUter SW-700
Der tranZPUter SW-700 folgt auf die tranZPUter / tranZPUter SW Designs und integriert zusaetzlich die Video Module Funktionalitaet zur Aufwertung des Host-Videos. Er erweitert auch die zugrunde liegende Z80-Hardware fuer hoehere Leistung und erhoehten Speicher. Er bettet einen Freescale K64F ARM Cortex-M4 anstelle des ZPU Evo ein, da der tranZPUter SW-700 eher eine Softwareloesung der Anforderung ist. Das Projekt fuegt das Suffix SW-700 fuer SoftWare fuer den MZ-700 hinzu, um die Designs zu unterscheiden.
Hardware
Bus-Mastering wird verwendet, um den Z80-Bus zu uebernehmen und Daten zwischen dem Hauptspeicher und einer SD-Karte zu uebertragen oder zwischen dem I/O-Prozessor und dem Video-Anzeigepuffer zur Darstellung von Menues. Es wird auch verwendet, wenn ein Soft-Prozessor den Hard-Z80 vollstaendig stilllegt und als Haupt-CPU des Computers agiert.
Das Design basiert darauf, den originalen Z80 auf eine Tochterkarte zu heben und mehrere seiner Signale umzuleiten, sodass sie nach Bedarf gesteuert werden koennen. Es nimmt auch den Videoausgang von der Hauptplatine und leitet ihn intern zum FPGA-basierten Videomodul weiter.
Automatisches Setup und Build (empfohlen)
--recurse-submodules (TZFS, zSoft/zOS, zpu) und bietet dann an, den ersten Build auszufuehren (./build.sh -t all). Quartus wird nicht auf dem Host installiert — die CPLD- und FPGA-Builds laufen innerhalb der Docker-Images. Jedes Skript ist eigenstaendig: Kopieren Sie die einzelne Datei fuer Ihre Plattform und fuehren Sie sie aus.
| Skript | Plattform | Hinweise |
|---|---|---|
setup_tranZPUter.sh |
Linux / macOS | Installiert Basis-Werkzeuge + Java (JRE) + Docker, baut die drei Quartus-Images, klont nach ~/tranZPUter, bietet ./build.sh -t all an. |
setup_tranZPUter_windows.cmd |
Windows 10 / 11 | Doppelklick-Starter — fuehrt die .ps1 nicht-interaktiv aus und protokolliert nach setup_tranZPUter_log.txt. |
setup_tranZPUter_windows_native.ps1 |
Windows 10 / 11 | winget installiert Git for Windows + Docker Desktop, baut die Quartus-Images, klont nach %HOME%\tranZPUter, fuehrt ./build.sh -t all ueber Git Bash aus. |
Linux / macOS:
chmod +x setup_tranZPUter.sh
./setup_tranZPUter.sh
Windows — Doppelklick auf setup_tranZPUter_windows.cmd oder aus PowerShell:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_tranZPUter_windows_native.ps1
Das Setup baut drei kostenlose (Web/Lite Edition, keine Lizenz) Quartus-Docker-Images, eines pro Geraetefamilie:
| Image | Quartus | Geraetefamilie | Verwendet fuer |
|---|---|---|---|
tzpu-quartus:13.0.1 |
13.0.1 | MAX7000AE CPLD | CPLD .pof |
tzpu-quartus:13.1 |
13.1 | Cyclone III (EP3C25) | SW-700 v1.2 FPGA |
tzpu-quartus:17.1 |
17.1 | Cyclone IV (EP4CE75 / EP4CE115) | SW-700 v1.3 / Fusion FPGA |
Nach der Einrichtung wird der Build von build.sh gesteuert, das Quartus nativ ausfuehrt, wenn eine passende Version gefunden wird, andernfalls innerhalb der obigen Docker-Images (Java/GLASS laeuft immer nativ):
./build.sh -t all # CPLD + FPGA + software (default: -V v1.3 -M all -D E115 -C emuMZ)
./build.sh -t fpga -V v1.2 # just the v1.2 (Cyclone III) FPGA bitstream
./build.sh -h # list all targets and options
Build-Ausgaben (.pof, .sof, .jic-Boot-Flash, ROM/TZFS/CP/M-Images) werden unter ./build/output/ gesammelt.
Nuetzliche Umgebungs-Overrides:
| Variable (Alias) | Zweck |
|---|---|
TZPU_REPO_URL (tranZPUter_REPO_URL) |
Zu klonende Repository-URL. Standard https://git.eaw.app/eaw/tranZPUter.git. |
TZPU_DIR (tranZPUter_DIR) |
In einem vorhandenen Checkout bauen, anstatt zu klonen. |
TZPU_ASSUME_YES (tranZPUter_ASSUME_YES)=1 |
Nicht-interaktiv; alle Standardwerte akzeptieren. |
TZPU_QUARTUS_CPLD_IMAGE (tranZPUter_CPLD_IMAGE) |
Ueberschreibt das CPLD-Image (Standard tzpu-quartus:13.0.1). |
TZPU_QUARTUS_C3_IMAGE (tranZPUter_FPGA_IMAGE) |
Ueberschreibt das Cyclone-III-Image (Standard tzpu-quartus:13.1). |
TZPU_QUARTUS_C4_IMAGE |
Ueberschreibt das Cyclone-IV-Image (Standard tzpu-quartus:17.1). |
Die manuellen, geraetespezifischen Quartus-Build-Schritte unten werden fuer fortgeschrittene Benutzer und Teil-Rebuilds weiterhin vollstaendig unterstuetzt.

