Sistema di archiviazione tranZPUter (TZFS)
Panoramica
Il TranZputer Filing System e un porting del Rom Filing System utilizzato sulla scheda di aggiornamento hardware Rom Disk. Riutilizza molte delle stesse funzionalita software e fornisce di conseguenza gli stessi servizi -- le differenze risiedono nell'utilizzo di un modello di memoria diverso. Il suo scopo e fornire metodi per manipolare i file memorizzati sulla scheda SD e offrire un'interfaccia a riga di comando estesa, il monitor TZFS.
L'avvento del tranZPUter FusionX con il suo processore I/O virtuale ha motivato la separazione di questo software dal repository tranZPUter in un modulo autonomo. TZFS funziona su tutta la gamma tranZPUter, inclusi i dispositivi tranZPUterFusionX e tranZPUterFusion piu recenti.
La scheda SD e le ROM sono gestite dal processore I/O K64F. E stata scritta un'API di richiesta servizio che utilizza un blocco di memoria condivisa comune (640 byte) in combinazione con una richiesta I/O fisica per passare comandi e dati tra lo Z80 e il K64F.
Monitor TZFS
All'accensione dello Sharp MZ-700, il monitor presenta un'interfaccia a riga di comando. Il monitor TZFS e un'estensione del monitor base. Dopo aver inserito la scheda tranZPUter SW, il seguente comando avvia TZFS:
JE800<cr>
E possibile automatizzare l'avvio direttamente in TZFS creando un file vuoto
TZFSBOOT.FLG nella radice della scheda SD. Un file AUTOEXEC.BAT puo essere creato per eseguire comandi automaticamente all'avvio.
| Comando | Parametri | Descrizione |
|---|---|---|
| 4 / 8 | n/a | Passare a modalita 40 o 80 colonne. |
| ASM | <addr> | Assemblare mnemonici Z80. |
| BASIC | n/a | Caricare ed eseguire l’interprete BASIC dalla scheda SD. |
| CD | [<directory>] | Cambiare directory sulla scheda SD. |
| CPM | n/a | Caricare e avviare CP/M 2.23 dalla scheda SD. |
| D | <address> | Dump esadecimale e ASCII della memoria. |
| DASM | <start>,<end> | Disassemblare codice macchina Z80. |
| DIR | <wildcard> | Elencare la directory della scheda SD. |
| LC | <name> o <file number> | Caricare ed eseguire dalla scheda SD. |
| MZ | [<machine>] | Avviare l’emulatore hardware Sharp MZ. |
| MZ80K … MZ2500 | n/a | Attivare l’emulazione hardware corrispondente. (solo tranZPUter SW) |
| T80 | n/a | Passare al CPU T80 software. |
| VGA | <vga mode> | Selezionare la modalita di uscita VGA. |
| Z80 | n/a | Tornare al processore Z80 hardware. |
| ZPU | n/a | Passare al processore ZPU Evolution e avviare zOS. |
Comandi nastro
Tutti i formati nastro della serie Sharp MZ possono essere letti e scritti tramite i comandi TZFS. Il parametro
,M specifica il modello di macchina per il 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.
Applicazioni aggiornate
Sharp BASIC SA-5510
L'interprete SA-5510 BASIC e stato disassemblato e reso compatibile con l'uso della scheda SD sotto TZFS. La nuova versione e denominata "BASIC SA-5510-TZ".
| Comando | Parametri | Descrizione |
|---|---|---|
| LOAD | ”[<filename>]” | Caricare un programma dalla scheda SD o CMT. |
| SAVE | ”[<filename>]” | Salvare un programma sulla scheda SD o CMT. |
| DIR | ”[<wildcard>]” | Elencare la directory attuale della scheda SD. |
| CD | [<path>] | Cambiare la directory SD attiva. |
| FREQ | [<freq>] | Modificare la frequenza CPU (in KHz). |
Microsoft BASIC
Una versione di Microsoft NASCOM 4.7b BASIC e stata portata sulla piattaforma tranZPUter con comandi TZFS estesi.
Configurazione e compilazione automatizzate (consigliato)
Il modo consigliato per compilare TZFS e lo script di configurazione autonomo per la propria piattaforma. Installa i prerequisiti (un JRE Java per l'assemblatore GLASS Z80, una toolchain C +
make per compilare il sottomodulo cpmtools incluso, oltre a perl/git/coreutils; su Windows, Git Bash + Java), clona il repository, scarica il bundle di contenuti da ~110 MB (TZFS_Files.zip) e puo compilare le immagini ROM — il tutto in modo interattivo, con valori predefiniti sensati che si possono accettare premendo Enter. E sufficiente copiare il singolo file per la propria piattaforma ed eseguirlo.
| Script | Piattaforma | Note |
|---|---|---|
setup_TZFS.sh |
macOS / Linux / WSL | Installa Java, una toolchain C + make, perl, git; su macOS anche GNU coreutils e bash 4 tramite un tzfs_env.sh generato. |
setup_TZFS_windows.ps1 |
Windows 10 / 11 — Git Bash nativo, senza WSL | Usa winget per installare Git for Windows (bash, coreutils, perl, curl) e un JRE Temurin 17. Un tools\cpmcp.exe precompilato e incluso, quindi non e richiesto alcun compilatore C. |
macOS / Linux / WSL — setup_TZFS.sh
chmod +x setup_TZFS.sh
./setup_TZFS.sh
Windows 10 / 11 (Git Bash nativo) — setup_TZFS_windows.ps1, da un prompt PowerShell:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_TZFS_windows.ps1
Impostare la variabile d'ambiente
TZFS_REPO_URL per sovrascrivere l'URL del repository predefinito (https://git.eaw.app/eaw/TZFS.git) senza modificare lo script, e TZFS_FILES_URL per puntare a un bundle di contenuti alternativo.
Output e ricompilazione. Le immagini ROM e le immagini disco CP/M vengono scritte in
roms/. Per ricompilare in seguito, entrare nel checkout; su macOS eseguire prima source ./tzfs_env.sh; quindi eseguire ./build.sh (oppure ./build.sh -m per rielaborare anche i sorgenti MZF). Una volta compilato, copiare l'output su una scheda SD formattata FAT32 con tools/copytosd.sh (vedere Una compilazione tipica piu sotto per la procedura completa).
Compilazione TZFS
cd <software>
./build.sh
tools/copytosd.sh -D$(pwd) -M/media/user/K64F -tMZ-700
Dettagli di progettazione
API K64F Z80 Host
L'API si basa su un blocco comune di RAM nello spazio di memoria 64K dello Z80. Lo Z80 scrive un comando e attiva un interrupt al K64F tramite la porta 0x68. Il K64F elabora il comando e restituisce il risultato.
| Comando | Cmd# | Descrizione |
|---|---|---|
| TZSVC_CMD_READDIR | 0x01 | Aprire una directory. |
| TZSVC_CMD_LOADFILE | 0x08 | Caricare un file nella memoria tranZPUter. |
| TZSVC_CMD_SAVEFILE | 0x09 | Salvare un file. |
| TZSVC_CMD_LOAD40ABIOS | 0x20 | Caricare il BIOS SA1510 40 colonne. |
| TZSVC_CMD_LOADBDOS | 0x30 | Ricaricare CPM BDOS+CCP. |
| TZSVC_CMD_CPU_SETZ80 | 0x50 | Passare al CPU Z80 hardware. |
| TZSVC_CMD_CPU_SETT80 | 0x51 | Passare al CPU T80 software. |
| TZSVC_CMD_EMU_SETMZ80K … | 0x53-0x5A | Attivare l’emulazione del modello Sharp MZ corrispondente. |
| TZSVC_CMD_EXIT | 0x7F | Terminare TZFS. |
Modi di memoria Z80
I modi di memoria definiti includono il modo Originale (0), modi TZFS (2-5), modi CP/M (6-7), modi di compatibilita MZ-700 (10-14), modi MZ-800/MZ-2000 (15-16) e modi di accesso K64F (21-31). Consultare la tabella completa dei modi nella versione inglese.
Licenze
Questo design e licenziato sotto la GNU Public Licence v3.