Systeme de fichiers tranZPUter (TZFS)
Apercu
Le TranZputer Filing System est un portage du Rom Filing System utilise sur la carte d'extension Rom Disk. Il reutilise une grande partie des memes fonctionnalites logicielles et fournit par consequent les memes services -- les differences resident dans l'utilisation d'un modele de memoire different. Son but est de fournir des methodes pour manipuler les fichiers stockes sur la carte SD et offrir une interface en ligne de commande etendue, le moniteur TZFS.
L'avenement du tranZPUter FusionX avec son processeur E/S virtuel a motive la separation de ce logiciel du depot tranZPUter en un module autonome. TZFS fonctionne sur toute la gamme tranZPUter, y compris les appareils tranZPUterFusionX et tranZPUterFusion plus recents.
La carte SD et les ROMs sont gerees par le processeur E/S K64F. Une API de requete de service a ete ecrite utilisant un bloc de memoire partagee commun (640 octets) en conjonction avec une requete E/S physique pour transmettre des commandes et des donnees entre le Z80 et le K64F.
Moniteur TZFS
Lors de la mise sous tension du Sharp MZ-700, le moniteur presente une interface en ligne de commande. Le moniteur TZFS est une extension du moniteur de base. Apres insertion de la carte tranZPUter SW, la commande suivante demarre TZFS :
JE800<cr>
Il est possible d'automatiser le demarrage directement dans TZFS en creant un fichier vide
TZFSBOOT.FLG a la racine de la carte SD. Un fichier AUTOEXEC.BAT peut egalement etre cree pour executer des commandes automatiquement au demarrage.
| Commande | Parametres | Description |
|---|---|---|
| 4 / 8 | n/a | Basculer en mode 40 ou 80 colonnes. |
| ASM | <addr> | Assembler des mnemoniques Z80. |
| BASIC | n/a | Charger et executer l’interpreteur BASIC depuis la carte SD. |
| CD | [<directory>] | Changer de repertoire sur la carte SD. |
| CPM | n/a | Charger et demarrer CP/M 2.23 depuis la carte SD. |
| D | <address> | Vidage hexadecimal et ASCII de la memoire. |
| DASM | <start>,<end> | Desassembler du code machine Z80. |
| DIR | <wildcard> | Lister le repertoire de la carte SD. |
| LC | <name> ou <file number> | Charger et executer depuis la carte SD. |
| MZ | [<machine>] | Demarrer l’emulateur materiel Sharp MZ. |
| MZ80K … MZ2500 | n/a | Activer l’emulation materielle correspondante. (tranZPUter SW uniquement) |
| T80 | n/a | Basculer vers le CPU T80 soft. |
| VGA | <vga mode> | Selectionner le mode de sortie VGA. |
| Z80 | n/a | Revenir au processeur Z80 materiel. |
| ZPU | n/a | Basculer vers le processeur ZPU Evolution et demarrer zOS. |
Commandes de bande
Tous les formats de bande de la serie Sharp MZ peuvent etre lus et ecrits via les commandes TZFS. Le parametre
,M specifie le modele de machine pour le timing : K=MZ-80K, C=MZ-80C, 1=MZ-1200, A=MZ-80A, 7=MZ-700, 8=MZ-800, B=MZ-80B, 2=MZ-2000.
Applications mises a jour
Sharp BASIC SA-5510
L'interpreteur SA-5510 BASIC a ete desassemble et rendu compatible avec l'utilisation de la carte SD sous TZFS. La nouvelle version est nommee "BASIC SA-5510-TZ".
| Commande | Parametres | Description |
|---|---|---|
| LOAD | ”[<filename>]” | Charger un programme depuis la carte SD ou CMT. |
| SAVE | ”[<filename>]” | Sauvegarder un programme sur la carte SD ou CMT. |
| DIR | ”[<wildcard>]” | Lister le repertoire actuel de la carte SD. |
| CD | [<path>] | Changer le repertoire SD actif. |
| FREQ | [<freq>] | Modifier la frequence CPU (en KHz). |
Microsoft BASIC
Une version de Microsoft NASCOM 4.7b BASIC a ete portee sur la plateforme tranZPUter avec des commandes TZFS etendues.
Installation et compilation automatisees (recommande)
La methode recommandee pour compiler TZFS est le script d'installation autonome correspondant a votre plateforme. Il installe les prerequis (un JRE Java pour l'assembleur GLASS Z80, une chaine d'outils C +
make pour compiler le sous-module cpmtools integre, ainsi que perl/git/coreutils ; sous Windows, Git Bash + Java), clone le depot, telecharge le paquet de contenu d'environ 110 Mo (TZFS_Files.zip) et peut compiler les images ROM -- le tout de maniere interactive, avec des valeurs par defaut raisonnables que vous pouvez accepter en appuyant sur Entree. Copiez uniquement le fichier correspondant a votre plateforme et executez-le.
| Script | Plateforme | Notes |
|---|---|---|
setup_TZFS.sh |
macOS / Linux / WSL | Installe Java, une chaine d’outils C + make, perl, git ; sous macOS egalement GNU coreutils et bash 4 via un fichier tzfs_env.sh genere. |
setup_TZFS_windows.ps1 |
Windows 10 / 11 – Git Bash natif, sans WSL | Utilise winget pour installer Git for Windows (bash, coreutils, perl, curl) et un JRE Temurin 17. Un tools\cpmcp.exe precompile est fourni, aucun compilateur C n’est donc requis. |
macOS / Linux / WSL – setup_TZFS.sh
chmod +x setup_TZFS.sh
./setup_TZFS.sh
Windows 10 / 11 (Git Bash natif) – setup_TZFS_windows.ps1, depuis une invite PowerShell :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_TZFS_windows.ps1
Definissez la variable d'environnement
TZFS_REPO_URL pour remplacer l'URL du depot par defaut (https://git.eaw.app/eaw/TZFS.git) sans modifier le script, et TZFS_FILES_URL pour pointer vers un autre paquet de contenu.
Sortie et recompilation. Les images ROM et les images de disque CP/M sont ecrites dans
roms/. Pour recompiler ulterieurement, placez-vous dans le depot clone ; sous macOS executez d'abord source ./tzfs_env.sh ; puis lancez ./build.sh (ou ./build.sh -m pour retraiter egalement les sources MZF). Une fois compile, copiez la sortie sur une carte SD formatee en FAT32 avec tools/copytosd.sh.
Compilation TZFS
cd <software>
./build.sh
tools/copytosd.sh -D$(pwd) -M/media/user/K64F -tMZ-700
Detail de conception
API K64F Z80 Host
L'API est basee sur un bloc commun de RAM dans l'espace memoire 64K du Z80 a travers lequel les communications interprocesseur ont lieu. Le Z80 ecrit une commande et declenche une interruption au K64F via le port 0x68. Le K64F traite la commande et retourne le resultat.
| Commande | Cmd# | Description |
|---|---|---|
| TZSVC_CMD_READDIR | 0x01 | Ouvrir un repertoire. |
| TZSVC_CMD_LOADFILE | 0x08 | Charger un fichier dans la memoire tranZPUter. |
| TZSVC_CMD_SAVEFILE | 0x09 | Sauvegarder un fichier. |
| TZSVC_CMD_LOAD40ABIOS | 0x20 | Charger le BIOS SA1510 40 colonnes. |
| TZSVC_CMD_LOADBDOS | 0x30 | Recharger CPM BDOS+CCP. |
| TZSVC_CMD_CPU_SETZ80 | 0x50 | Basculer vers le CPU Z80 materiel. |
| TZSVC_CMD_CPU_SETT80 | 0x51 | Basculer vers le CPU T80 soft. |
| TZSVC_CMD_EMU_SETMZ80K … | 0x53-0x5A | Activer l’emulation du modele Sharp MZ correspondant. |
| TZSVC_CMD_EXIT | 0x7F | Terminer TZFS. |
Modes memoire Z80
Les modes de memoire definis comprennent le mode Original (0), les modes TZFS (2-5), les modes CP/M (6-7), les modes de compatibilite MZ-700 (10-14), les modes MZ-800/MZ-2000 (15-16) et les modes d'acces K64F (21-31). Consultez la table complete des modes dans la version anglaise.
Licences
Ce design est sous licence GNU Public Licence v3.