tranZPUter-Dateisystem (TZFS)
Uebersicht
TZFS-Monitor
JE800<cr>
TZFSBOOT.FLG. Zusaetzlich kann eine Datei AUTOEXEC.BAT erstellt werden, die Befehle enthaelt, die TZFS nach dem Start automatisch ausfuehrt.
Sobald TZFS gebootet ist, erscheint das typische 1Z-013A-Monitor-Anmeldebanner mit dem Anhang "+ TZFS". Der vollstaendige Befehlssatz ist in der folgenden Tabelle aufgefuehrt:
| Befehl | Parameter | Beschreibung |
|---|---|---|
| 4 | n/a | Umschaltung auf 40-Zeichen-Modus. |
| 8 | n/a | Umschaltung auf 80-Zeichen-Modus. |
| ASM | <addr> | Z80-Mnemonics in die angegebene Speicheradresse assemblieren. |
| B | n/a | Tastendruck-Piepton aktivieren/deaktivieren. |
| BASIC | n/a | Ersten BASIC-Interpreter auf der SD-Karte finden, laden und ausfuehren. |
| CD | [<directory>] | In das angegebene SD-Karten-Verzeichnis wechseln. |
| CP | <start>,<end>,<dest> | Speicherblock kopieren. |
| CPM | n/a | CP/M 2.23 von der SD-Karte laden und ausfuehren. |
| D | <address>[<address2>] | Hex- und ASCII-Dump des Speichers. |
| DASM | <start>,<end> | Z80-Maschinencode disassemblieren. |
| DIR | <wildcard> | Verzeichnisauflistung der SD-Karte. |
| EC | <name> oder <file number> | Datei von der SD-Karte loeschen. |
| EX | n/a | TZFS verlassen und Maschine in den Originalzustand zurueckversetzen. |
| FREQ | <frequency in KHz> | CPU-Frequenz aendern. 0 fuer Standard. |
| L | LT | [,<hardware mode>] | Von Band laden und ausfuehren. |
| LC | <name> oder <file number> | Von SD-Karte laden und ausfuehren. |
| M | <address> | Speicher bearbeiten. |
| MZ | [<machine>] | Sharp MZ-Serie Hardwareemulator starten. |
| MZ80K … MZ2500 | n/a | Zur jeweiligen Hardwareemulation wechseln. (nur tranZPUter SW) |
| S / ST | <start> <end> <exec> | Speicherblock auf Band speichern. |
| SC | <start> <end> <exec> | Speicherblock auf SD-Karte speichern. |
| T80 | n/a | Zum Soft-T80-CPU wechseln. |
| VGA | <vga mode> | VGA-Ausgangsmodus waehlen. |
| Z80 | n/a | Zum originalen Hardware-Z80-Prozessor wechseln. |
| ZPU | n/a | Zum ZPU Evolution-Prozessor im FPGA wechseln und zOS booten. |
Bandbefehle
,M-Parameter gibt das Maschinenmodell fuer das Tape-Timing an: K=MZ-80K, C=MZ-80C, 1=MZ-1200, A=MZ-80A, 7=MZ-700, 8=MZ-800, B=MZ-80B, 2=MZ-2000.
Auf dem picoZ80 steuern diese Bandbefehle das virtuelle Kassettendeck des picoZ80, wenn eine Virtual CMT-Schnittstelle aktiviert ist: L / LT laden aus der ueber die GUI konfigurierten virtuellen Bandwarteschlange, und Bandspeicherungen werden auf die SD-Karte als CMT/taperecord_<name>_<timestamp>.mzf geschrieben. Wechseln Sie mit dem Eintrag CMT: Virtual / Real im Aktionsmenue der Web-GUI zwischen dem virtuellen Deck und einem physisch angeschlossenen Rekorder – Einzelheiten finden Sie in der Dokumentation zum picoZ80 Virtual Cassette (CMT).
Floppy-Disketten booten (TZFS v1.8.3)
TZFS v1.8.3 kann MZ-80A / MZ-700 / MZ-800 Floppy-Disketten – einschliesslich MZ-800 CP/M – direkt aus TZFS heraus mit dem Befehl F booten und kehrt zu TZFS zurueck, wenn der Hardware-RESET-Schalter gedrueckt wird, nachdem ein von Diskette gebootetes Betriebssystem gelaufen ist (zuvor landete man mit RESET im blanken Host-Monitor).
Die Aenderungen, die dies ermoeglichen, sind:
- GETBOOTDSK akzeptiert nun jede Sharp-Maschinen-ID (01/02/03) zusammen mit der “IPLPRO”-Boot-Signatur, blendet vorab Block 7 des DRAM in 0000:0FFF ein fuer Betriebssysteme, die unterhalb von 1000H laden (wie MZ-800 CP/M), und uebergibt dem geladenen Programm BC=0200H genau so, wie es das native 9Z-504M IPL tut, sodass ein Lader der zweiten Stufe seinen eigenen Verzeichnis-Lesevorgang steuern kann.
- Vor dem Sprung zum Boot-Lader (JP (HL)) zaehmt TZFS den 8253-Taktgeber – Counter 2 wird auf ~1Hz umprogrammiert und 8255 Port C Bit 2 maskiert – und bildet damit die SORES-Routine des IPL nach. Dies verhindert, dass ein frei laufender Zaehler den Z80 mit RST 38H-Interrupts ueberflutet und einen Lader abbricht, der Interrupts frueh wieder aktiviert, und behebt den frueheren Fehler “P-CP/M80 → No system file”.
- Wenn ein von Diskette gebootetes Betriebssystem endet oder der RESET-Schalter gedrueckt wird, laedt TZFS den unveraenderten Block-0-Monitor und das TZFS-User-ROM neu (die das gebootete Betriebssystem ueberschrieben haben koennte) und fuehrt einen Kaltstart von TZFS durch, sodass RESET zu TZFS zurueckkehrt statt zum blanken Host-Monitor.
Erweiterte Anwendungen
Sharp BASIC SA-5510
| Befehl | Parameter | Beschreibung |
|---|---|---|
| LOAD | ”[<filename>]” | Programm von SD-Karte oder CMT laden. |
| SAVE | ”[<filename>]” | Programm auf SD-Karte oder CMT speichern. |
| DIR | ”[<wildcard>]” | Aktuelles SD-Karten-Verzeichnis auflisten. |
| CD | [<path>] | Aktives SD-Verzeichnis wechseln. |
| FREQ | [<freq>] | CPU-Frequenz aendern (in KHz). |
Microsoft BASIC
| Befehl | Parameter | Beschreibung |
|---|---|---|
| CLOAD | ”<filename>” | Kassettenimage von SD-Karte laden. |
| CSAVE | ”<filename>” | BASIC-Programm als Kassettenimage auf SD-Karte speichern. |
| LOAD | ”<filename>” | ASCII-BASIC-Programm von SD-Karte laden. |
| SAVE | ”<filename>” | BASIC-Programm als ASCII-Text auf SD-Karte speichern. |
| DIR | <wildcard> | Verzeichnis auflisten. |
| CD | <FAT32 PATH> | Arbeitsverzeichnis aendern. |
| FREQ | <frequency in KHz> | CPU-Frequenz setzen. |
Automatische Einrichtung und Erstellung (empfohlen)
make zum Kompilieren des mitgelieferten cpmtools-Submoduls sowie perl/git/coreutils; unter Windows Git Bash + Java), klont das Repository, laedt das ~110 MB grosse Inhaltspaket (TZFS_Files.zip) herunter und kann die ROM-Images bauen -- alles interaktiv, mit sinnvollen Standardwerten, die Sie durch Druecken der Eingabetaste uebernehmen koennen. Kopieren Sie einfach die einzelne Datei fuer Ihre Plattform und fuehren Sie sie aus.
| Skript | Plattform | Hinweise |
|---|---|---|
setup_TZFS.sh |
macOS / Linux / WSL | Installiert Java, eine C-Toolchain + make, perl, git; unter macOS zusaetzlich GNU coreutils und bash 4 ueber ein generiertes tzfs_env.sh. |
setup_TZFS_windows.ps1 |
Windows 10 / 11 – natives Git Bash, kein WSL | Verwendet winget, um Git for Windows (bash, coreutils, perl, curl) und eine Temurin-17-JRE zu installieren. Ein vorgefertigtes tools\cpmcp.exe ist enthalten, sodass kein C-Compiler erforderlich ist. |
macOS / Linux / WSL – setup_TZFS.sh
chmod +x setup_TZFS.sh
./setup_TZFS.sh
Windows 10 / 11 (natives Git Bash) – setup_TZFS_windows.ps1, an einer PowerShell-Eingabeaufforderung:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_TZFS_windows.ps1
TZFS_REPO_URL, um die Standard-Repository-URL (https://git.eaw.app/eaw/TZFS.git) zu ueberschreiben, ohne das Skript zu bearbeiten, und TZFS_FILES_URL, um auf ein alternatives Inhaltspaket zu verweisen.
roms/ geschrieben. Um spaeter neu zu bauen, wechseln Sie in das Checkout-Verzeichnis; unter macOS fuehren Sie zuerst source ./tzfs_env.sh aus; dann fuehren Sie ./build.sh aus (oder ./build.sh -m, um auch die MZF-Quellen erneut zu verarbeiten). Nach dem Bau kopieren Sie die Ausgabe mit tools/copytosd.sh auf eine FAT32-formatierte SD-Karte (siehe A Typical Build unten fuer die vollstaendige Anleitung).
TZFS erstellen
cd <software>
./build.sh
# Auf SD-Karte kopieren:
tools/copytosd.sh -D$(pwd) -M/media/user/K64F -tMZ-700
Design-Detail
K64F Z80 Host API
API-Befehlsliste
| Befehl | Cmd# | Beschreibung |
|---|---|---|
| TZSVC_CMD_READDIR | 0x01 | Verzeichnis oeffnen und ersten Block zurueckgeben. |
| TZSVC_CMD_READFILE | 0x03 | Datei oeffnen und ersten Block zurueckgeben. |
| TZSVC_CMD_LOADFILE | 0x08 | Datei direkt in tranZPUter-Speicher laden. |
| TZSVC_CMD_SAVEFILE | 0x09 | Datei aus tranZPUter-Speicher speichern. |
| TZSVC_CMD_ERASEFILE | 0x0a | Datei auf der SD-Karte loeschen. |
| TZSVC_CMD_CHANGEDIR | 0x0b | Aktives Verzeichnis aendern. |
| TZSVC_CMD_LOAD40ABIOS | 0x20 | 40-Spalten SA1510-BIOS laden. |
| TZSVC_CMD_LOADBDOS | 0x30 | CPM BDOS+CCP neu laden. |
| TZSVC_CMD_CPU_SETZ80 | 0x50 | Zum externen Z80-Hard-CPU wechseln. |
| TZSVC_CMD_CPU_SETT80 | 0x51 | Zum internen T80-Soft-CPU wechseln. |
| TZSVC_CMD_CPU_SETZPUEVO | 0x52 | Zum internen ZPU Evolution-CPU wechseln. |
| TZSVC_CMD_EMU_SETMZ80K … | 0x53-0x5A | Hardwareemulation des entsprechenden Sharp MZ-Modells aktivieren. |
| TZSVC_CMD_EXIT | 0x7F | TZFS beenden und Maschine im Originalmodus neu starten. |
Z80-Speichermodi
Lizenzen
Dieses Design, Hardware und Software, ist unter der GNU Public Licence v3 lizenziert.