tranZPUter SW-700 — Benutzerhandbuch
tranZPUter SW-700 Benutzerhandbuch
Der tranZPUter SW-700 ist eine Hardware-Erweiterungsplatine fuer den Sharp MZ-700 (und in der aktuellen Version auch den Sharp MZ-2000), die einen 512 KB SRAM, einen ARM Cortex-M4 K64F I/O-Prozessor, ein MAX7000A CPLD und ein Altera FPGA zwischen die Host-Maschine und ihren Z80-Bus einfuegt. Diese Architektur ermoeglicht es, den integrierten Z80 durch Bus-Mastering zu ersetzen — in den Tristate-Zustand versetzt und durch FPGA-Soft-Core-CPUs ersetzt — waehrend gleichzeitig 512 KB gepagerter RAM, vom K64F verwalteter SD-Karten-Massenspeicher und ein FPGA-gesteuertes Videomodul mit VGA-Ausgabe bereitgestellt werden.
Die Platine wird mit der TZFS-Firmware (tranZPUter Filing System) ausgeliefert. TZFS faengt den Befehlsdispatcher des MZ-Monitors ab und erweitert ihn um mehr als vierzig neue Befehle fuer SD-Karten-Dateiverwaltung, CP/M 2.2, Soft-CPU-Umschaltung, Maschinentext-Emulationsmodi, VGA-Videosteuerung und Kassetten-/SD-Karten-Transfer — alles ohne das urspruengliche Erscheinungsbild oder Verhalten des Monitors zu stoeren.
Dieses Handbuch behandelt alles, was fuer die Installation und den taeglichen Gebrauch des tranZPUter SW-700 benoetigt wird. Fuer Hardware-Schaltplaene, FPGA-Architektur und Firmware-Interna siehe den Technischen Leitfaden und das Entwicklerhandbuch, verlinkt im Abschnitt Referenzseiten.
Unterstuetzte Hardware
Die aktuelle Version des tranZPUter SW-700 unterstuetzt zwei Host-Maschinen und ist in zwei Platinenrevisionen erhaeltlich:
| Board Revision | FPGA | Package | Notes |
|---|---|---|---|
| v1.2 | Altera Cyclone III (25K LE, 76 KB BRAM) | 144-pin TQFP | First official release. Smaller logic capacity. |
| v1.3 | Altera Cyclone IV (75K or 115K LE) | 484-pin BGA | Current mainstream production version. Recommended for all new builds. |
| Host Machine | Status |
|---|---|
| Sharp MZ-700 | Fully supported — primary target platform |
| Sharp MZ-2000 | Fully supported — added in the current firmware version |
Die v1.3-Platine wird fuer alle Neuinstallationen empfohlen. Ihr groesseres Cyclone-IV-FPGA bietet deutlich mehr Logikressourcen fuer Maschinenemulationskerne und das Videomodul. Die v1.2-Platine ist voll funktionsfaehig, aber ihr kleineres FPGA begrenzt die Anzahl der gleichzeitig verfuegbaren Emulationsziele.
Was Sie benoetigen
Stellen Sie vor Beginn sicher, dass Sie alle folgenden Gegenstaende zur Verfuegung haben:
- tranZPUter SW-700 PCB — vollstaendig bestueckte Platine; v1.3 wird empfohlen.
- Sharp MZ-700 oder MZ-2000 — die Host-Maschine, in die die Platine installiert wird.
- Altera USB-Blaster (oder kompatibler Klon) — JTAG-Programmer zum Laden des FPGA-Bitstreams.
- K64F USB-Kabel — Standard-Micro-USB-Kabel zum Flashen der ARM K64F-Firmware.
- SD-Karte — FAT32-formatiert, 2 GB oder groesser empfohlen.
- Vorgebauter FPGA-Bitstream —
.sofoder.jicDatei fuer Ihre Platinenrevision. - K64F-Firmware-Binary —
zOS_xxx.binaus dem Gitea-Repository. - Host-PC mit Quartus Programmer — fuer die FPGA-Programmierung.
Installation
Der tranZPUter SW-700 verbindet sich ueber den Erweiterungsbusanschluss an der Unterseite der Maschine mit dem Sharp MZ-700 (oder MZ-2000). Die Installationsprozedur erfordert kein Entfernen von ICs von der Host-Hauptplatine. Sowohl der SD-Kartenslot als auch der USB-Programmieranschluss bleiben nach der Installation zugaenglich.
Installationsschritte
- Host-Maschine ausschalten. Netzkabel abziehen und einige Sekunden warten, bis sich die Kondensatoren entladen haben.
- Erweiterungsanschluss lokalisieren. Beim MZ-700 ist dies der Kantenanschluss auf der Unterseite der Hauptplatine. Beim MZ-2000 ist es der hintere Erweiterungssteckplatz.
- tranZPUter SW-700 Platine ausrichten und fest in den Erweiterungsanschluss druecken. Sicherstellen, dass alle Pins gleichmaessig sitzen.
- Platine befestigen mit den entsprechenden Abstandshaltern oder Halterungen.
- SD-Karte einstecken in den SD-Kartenslot auf der tranZPUter-Platine.
- Noch nicht einschalten. Das FPGA muss programmiert und die K64F-Firmware geflasht werden — siehe folgende Abschnitte.
FPGA programmieren
Eigene Images bauen (optional). Die meisten Benutzer programmieren die vorgefertigten
.sof/.jic-Dateien aus dem Repository. Wenn Sie stattdessen den FPGA-Bitstream (sowie CPLD-, K64F- und Z80-Software) selbst bauen moechten, muessen Sie weder Quartus installieren noch die Werkzeugketten erlernen — fuehren Sie einfach das mitgelieferte automatisierte Setup-Skript fuer Ihre Plattform aus. Unter Linux / macOS fuehren Sie ./setup_tranZPUter.sh aus; unter Windows 10 / 11 doppelklicken Sie setup_tranZPUter_windows.cmd (oder fuehren setup_tranZPUter_windows_native.ps1 aus PowerShell aus). Das Skript installiert Java und Docker, baut drei kostenlose Quartus-Docker-Images, klont das Repository mit seinen Submodulen und kann den ersten Build (./build.sh -t all) fuer Sie ausfuehren; die fertigen .pof-, .sof- und .jic-Dateien erscheinen unter build/output/. Vollstaendige Details finden Sie im Entwicklerhandbuch und im Technischen Leitfaden.
Das Altera-FPGA muss mit dem entsprechenden Bitstream fuer Ihre Platinenrevision programmiert werden, bevor der tranZPUter SW-700 funktioniert. Zwei Methoden sind verfuegbar: JTAG-Programmierung (fluechtig — geht beim Ausschalten verloren) und Active Serial-Programmierung mit einer
JTAG-Programmierung (Fluechtig)
.jic-Datei (nichtfluechtig — uebersteht Aus-/Einschalten). Active Serial wird fuer den dauerhaften Einsatz empfohlen.
# Board revision v1.2 (Cyclone III): quartus_pgm -m JTAG -o "P;output_files/SW700_v1_2.sof@1" # Board revision v1.3 (Cyclone IV): quartus_pgm -m JTAG -o "P;output_files/SW700_v1_3.sof@1"Active Serial-Programmierung (Nichtfluechtig)
Um die FPGA-Konfiguration ueber Stromzyklen hinweg beizubehalten, programmieren Sie den eingebauten seriellen Konfigurationsbaustein mit einer
.jic-Konvertierung des Bitstreams.
K64F-Firmware flashen
Der ARM Cortex-M4 K64F-Prozessor verwaltet die SD-Karte, bearbeitet die TZFS-Befehlserweiterungen und stellt die Bruecke zwischen dem Z80-Bus und dem Massenspeicher her. Er muss vor dem ersten Gebrauch mit der zOS-Firmware-Binary programmiert werden.
- Micro-USB-Kabel zwischen dem K64F-Programmierport auf der tranZPUter-Platine und Ihrem Host-PC verbinden.
- Ein Wechseldatentraeger (bezeichnet als FRDM-K64F) erscheint im Dateimanager.
- Firmware-Binary — z.B.
zOS_v2.xx.bin— direkt auf das Stammverzeichnis dieses Laufwerks kopieren. - Warten, bis die LED auf der Platine schnell blinkt und dann aufhoert.
- USB-Kabel trennen. Der K64F startet automatisch mit der neuen Firmware neu.
Erster Start
Mit programmiertem FPGA, geflashter K64F-Firmware und eingesteckter SD-Karte schalten Sie den MZ-700 oder MZ-2000 ein. Die Maschine startet normal in ihren eingebauten Monitor. TZFS faengt den Befehlsdispatcher des Monitors transparent ab — der Standard-Monitor-Prompt wird mit dem TZFS-Versionsstring ergaenzt:
SHARP MZ-700 Monitor 1Z-013A * + TZFS v2.xx
Das
* ist der originale MZ-Monitor-Prompt. Das Suffix + TZFS v2.xx bestaetigt, dass TZFS erfolgreich initialisiert wurde und die SD-Karte verfuegbar ist. Alle originalen Monitor-Befehle bleiben unveraendert verfuegbar.
Geben Sie H ein, um den TZFS-Befehlshilfebildschirm anzuzeigen. Druecken Sie Leertaste, um durch die Seiten zu blaettern.
Monitor-Befehlsreferenz
Der vollstaendige TZFS-Befehlssatz ist unten aufgefuehrt. Befehle werden am
* Monitor-Prompt genau wie gezeigt eingegeben. Parameter in spitzen Klammern sind erforderlich; Parameter in eckigen Klammern sind optional.
| Command | Parameters | Description |
|---|---|---|
| 4 | — | Switch to 40-column display mode. |
| 8 | — | Switch to 80-column display mode. |
| 40A | — | Switch host to MZ-80A 40-column compatibility mode. |
| 80A | — | Switch host to MZ-80A 80-column compatibility mode. |
| 700 | — | Switch to MZ-700 mode (40-column). |
| ASM | <addr> |
Interactive Z80 assembler starting at the given hex address. |
| BASIC | — | Load BASIC SA-5510 from SD card and execute it. |
| CD | [<dir>] |
Change the active SD card directory. |
| CP | <src> <dst> <size> |
Copy a block of memory. |
| CPM | — | Boot CP/M 2.2 from SD card. |
| D | <addr> [<addr2>] |
Hex and ASCII dump of memory. |
| DASM | <addr> [<addr2>] |
Disassemble Z80 machine code. |
| DIR | [<wildcard>] |
SD card directory listing. |
| EC | <name or no.> |
Erase a file from the SD card. |
| EX | — | Exit TZFS and return to the original host monitor. |
| FREQ | <kHz> |
Set the CPU frequency in kHz. |
| H | — | Display the command help screen. |
| LC | <name or no.> [,M] |
Load a file from SD card and execute it. |
| LCNX | <name or no.> [,M] |
Load a file from SD card without executing. |
| MZ | [<mc>] |
Activate machine emulation mode. |
| SC | <start> <end> <exec> |
Save a memory range to the SD card. |
| T80 | — | Switch to T80 soft-core Z80 in the FPGA. |
| VGA | <mode> |
Set VGA output mode. |
| Z80 | — | Switch back to the hard Z80. |
| ZPU | — | Switch to ZPU Evolution soft CPU. |
SD-Karten-Operationen
Die SD-Karte ist das primaere Massenspeichermedium fuer TZFS. Sie muss FAT32-formatiert und mit Dateien im Sharp MZ Tape-Image-Format (
.MZF oder aehnlich) befuellt sein.
* DIR ; List all files in the current directory * DIR *.MZF ; List only .MZF files * CD GAMES ; Change to the GAMES subdirectory * LC INVADERS ; Load INVADERS from SD card and execute * SC120020001200 ; Save memory range to SD card
Kassetten-Operationen
TZFS behaelt die volle Kompatibilitaet mit der originalen CMT-Schnittstelle (Cassette Magnetic Tape). Alle Kassettenbefehle akzeptieren das optionale
,M-Maschinenmodell-Suffix zur Auswahl der korrekten Bandkodierung fuer Software verschiedener Sharp MZ-Varianten.
Referenzseiten
| Resource | Link |
|---|---|
| tranZPUter SW-700 project page | /tranzputer-sw-700/ |
| tranZPUter SW-700 Technical Guide | /tranzputer-sw-700-technicalguide/ |
| tranZPUter SW-700 Developer’s Guide | /tranzputer-sw-700-developersguide/ |