Sistema di archiviazione ROM (RFS) — Manuale utente
Manuale utente RFS
Il Rom Filing System (RFS) e un pacchetto firmware scritto in assemblatore Z80 che trasforma uno Sharp MZ-80A (e hardware compatibile) in un computer retro dall'aspetto moderno. Sostituisce la ROM Monitor e la ROM Utente originali con un firmware esteso che aggiunge un file system su scheda SD, avvio CP/M 2.2, molteplici interpreti BASIC, un assemblatore e disassemblatore Z80 integrati e oltre 30 nuovi comandi del monitor — il tutto mantenendo il familiare prompt
* del SA-1510 e tutti i comandi originali intatti.
Questo manuale copre tutto il necessario per installare e utilizzare RFS quotidianamente. Per i dettagli dell'architettura hardware e del sistema di build, vedere la Guida tecnica. Per i dettagli interni del codice sorgente e lo sviluppo firmware, vedere la Guida per sviluppatori.
Hardware supportato
RFS supporta quattro piattaforme hardware, ciascuna selezionata al momento della compilazione. Le immagini ROM e il set di funzionalita risultanti differiscono leggermente tra le piattaforme:
| Piattaforma | Descrizione | Funzionalita principali |
|---|---|---|
| Scheda RomDisk | Target RFS originale. Un PCB che si inserisce nell’espansione MZ-80A e sostituisce i socket ROM Monitor e Utente con fino a 4x512 KB Flash RAM, 512 KB SRAM e un lettore di schede SDXC. | Set completo di funzionalita: scheda SD, tutti i comandi del monitor, CP/M, varianti BASIC, operazioni su nastro |
| SFD-700 | La scheda di interfaccia floppy disk SFD-700 mkII. RFS occupa lo spazio Flash ROM della scheda. | Avvio floppy, directory floppy, programmi basati su ROM, assemblatore/disassemblatore Z80; nessun comando scheda SD |
| picoZ80 | La scheda di sostituzione Z80 basata su RP2350. RFS viene eseguito nel suo spazio ROM emulato, sotto la persona macchina presentata all’host — MZ-80A oppure, ora, lo Sharp MZ-80K (che puo usare le stesse schede di interfaccia Sharp dell’MZ-80A oltre al suo floppy nativo MZ-80FD/T3444M). | Set completo di funzionalita equivalente a RomDisk; sulla persona MZ-80A/MZ-80K con una scheda MZ80AFI, CP/M puo leggere dischi MZ-80K originali come C:/D: |
| tranZPUter FusionX | Scheda di potenziamento Z80 basata su FPGA. RFS viene eseguito nel suo spazio Flash ROM. | Set completo di funzionalita |
I comandi contrassegnati con (R) nella referenza comandi del monitor sottostante sono presenti solo nella build RomDisk / picoZ80.
Ottenere RFS
Immagini ROM e immagini di scheda SD precostruite sono disponibili nella directory
Programmazione delle Flash ROM
releases/ del repository Gitea. Possono essere programmate direttamente senza strumenti di build. Se si desidera compilare dai sorgenti, il modo piu semplice e lo script di setup automatizzato per la propria piattaforma: setup_RFS.sh (macOS / Linux / WSL), setup_RFS_windows_native.ps1 (Windows, nativo — senza WSL, consigliato) oppure setup_RFS_windows.ps1 (Windows tramite WSL2 / Ubuntu). Ciascuno e autonomo — copiare l'unico file per la propria piattaforma ed eseguirlo; installa gli strumenti richiesti, scarica i contenuti e puo eseguire la prima build per voi, senza richiedere una conoscenza approfondita della toolchain. Vedere la Guida tecnica — Sistema di build per la procedura passo passo (incluse le domande poste da ciascuno script).
Per le build RomDisk e picoZ80 sono necessari i seguenti file:
MROM_ROMDISK_256.binoMROM_PICOZ80_256.bin— Immagine Monitor ROM (programmare nel chip Flash Monitor ROM).USER_ROM_256.bin,USER_ROM_II_256.bin,USER_ROM_III_256.bin— Immagini User ROM (programmare nei chip Flash User ROM 1–3).SHARP_MZ80A_RFS_CPM_IMAGE_1.img— Immagine scheda SD (scrivere su una scheda micro/standard SD condd).
SFD700_256.bin— Immagine ROM SFD-700 combinata (programmare nella Flash ROM del SFD-700 mkII).
Le immagini ROM vengono scritte su chip Flash SST39SF040 (512 KB) usando un programmatore TL866 II+ o compatibile con l'utility
minipro:
# Monitor ROM (build RomDisk): minipro --infoic /path/to/minipro/infoic.xml -p SST39SF040 -s -w roms/MROM_ROMDISK_256.bin # User ROM 1: minipro --infoic /path/to/minipro/infoic.xml -p SST39SF040 -s -w roms/USER_ROM_256.bin # SFD-700: minipro --infoic /path/to/minipro/infoic.xml -p SST39SF040 -s -w roms/SFD700_256.binScrittura della scheda SD
Scrivere l'immagine combinata della scheda SD direttamente sulla scheda usando
dd su Linux. Non e necessario alcun partizionamento — l'immagine SDCFS inizia al settore 0:
# Sostituire /dev/sdX con il nodo dispositivo della scheda SD: dd if=roms/SHARP_MZ80A_RFS_CPM_IMAGE_1.img of=/dev/sdX bs=512 sync
Primo avvio
Dopo aver inserito i chip ROM programmati e (per RomDisk) la scheda SD, accendere lo Sharp MZ-80A. Apparira il familiare banner di accesso SA-1510. Quando RFS ha inizializzato con successo il file system della scheda SD, il banner viene integrato con "
+ RFS":
SHARP MZ-80A Monitor SA-1510 + RFS *
Il
* e il prompt del monitor. Tutti i comandi SA-1510 originali sono disponibili invariati. Digitare H per visualizzare una schermata di aiuto paginata con tutti i comandi RFS. Premere Spazio per avanzare nelle pagine.
Se il testo + RFS e assente, la scheda SD non e stata rilevata — controllare che la scheda sia correttamente inserita, formattata e contenga l'immagine SDCFS al settore 0.
Riferimento comandi del monitor
Il set completo dei comandi RFS e elencato di seguito. I comandi portano (R) se sono presenti solo nella build RomDisk / picoZ80. Tutti gli altri comandi sono disponibili in ogni build.
| Comando | Parametri | Descrizione |
|---|---|---|
| 0 .. 9 (R) | — | Selezionare l’unita scheda SD RFS attiva (0–9). Il numero di unita selezionato e mostrato nel prompt. |
| 40 (R) | — | Passare alla modalita di visualizzazione a 40 colonne (richiede l’upgrade Kuma 40/80 o il Video Module). |
| 80 (R) | — | Passare alla modalita di visualizzazione a 80 colonne (richiede l’upgrade Kuma 40/80 o il Video Module). |
| ASM | <address> |
Assemblatore Z80 interattivo. Inserire mnemonici assembly direttamente in memoria a partire dall’indirizzo esadecimale indicato. Premere Invio su una riga vuota per uscire. |
| B | — | Attivare/disattivare il segnale acustico della tastiera. |
| BASIC | — | Cercare Sharp BASIC SA-5510RFS sull’unita SD attiva o ROM, caricarlo ed eseguirlo. |
| C | [<byte>] |
Cancellare (inizializzare) la memoria da 0x1200 alla cima della RAM con 0x00 o il valore esadecimale a 8 bit fornito. |
| CP | <src> <dst> <size> |
Copiare un blocco di memoria. Tutti gli argomenti sono valori esadecimali a 4 cifre: indirizzo sorgente, indirizzo destinazione, conteggio byte. |
| CPM | — | Cercare CP/M 2.2 sull’unita SD attiva o ROM, caricarlo e avviarlo. |
| D | <addr> [<addr2>] |
Dump esadecimale e ASCII della memoria da <addr> a <addr2> (o 20 righe senza indirizzo di fine). Premere un tasto per continuare, U per pagina precedente, X per uscire. Ripetere D senza indirizzo per continuare dall’ultima posizione. |
| DASM | <addr> [<addr2>] |
Disassemblare il codice macchina Z80 a partire da <addr>. |
| DUC (R) | [H\|T] <name> o <file#> |
Visualizzare il contenuto di un file della scheda SD. Predefinito: dump esadecimale. DUCH: esadecimale con info header MZF. DUCT: dump testo (solo ASCII stampabile). |
| EC (R) | <name> o <file#> |
Cancellare un file dall’unita scheda SD attiva per nome o numero di file. |
| F / FL | [<drive>] |
Avviare dall’unita floppy specificata. Se omesso, viene richiesto di inserire un numero di unita. Legge il settore di avvio, carica il programma di avvio in memoria e lo esegue. |
| FD | [<drive>] |
Visualizzare l’elenco della directory di un floppy disk. Il numero di unita opzionale seleziona l’unita 1–4 (predefinito: 1). Mostra nome file, indirizzo di caricamento, indirizzo di esecuzione e dimensione file per ogni file sul disco. |
| FC | <start> <end> <exec> |
Salvare un’area di memoria in un file su floppy disk. Viene richiesto un nome file e numero di unita. |
| FD2T | <name> o <file#> |
Copiare un file dal floppy disk al nastro cassetta (CMT). |
| T2FD | — | Caricare un programma dal nastro (CMT) e salvarlo su floppy disk. |
| f | — | Eseguire il codice di avvio floppy AFI originale a 0xF000. |
| H | — | Visualizzare la schermata di aiuto dei comandi (paginata; premere Spazio per avanzare). |
| IC (R) | — | Elenco paginato dei file sull’unita scheda SD attiva. Mostra numero file e nome. |
| IN | <port>[,<port>...] |
Leggere una o piu porte I/O. Ogni porta e un indirizzo esadecimale a 2 o 4 cifre. I valori sono stampati come esadecimale a 2 cifre. Esempio: IN00E8 legge la porta 0x00E8; IN00,01,02 legge le porte 0x00, 0x01 e 0x02. |
| IR | — | Elenco paginato dei programmi memorizzati nelle unita Flash ROM. |
| J | <address> |
Saltare a (eseguire da) l’indirizzo esadecimale indicato. |
| L / LT | [<filename>] |
Caricare un file dal nastro (CMT) ed eseguirlo. |
| LTNX | [<filename>] |
Caricare un file dal nastro (CMT) senza eseguirlo. |
| LR | <name> o <file#> |
Caricare un programma dalla ROM per nome o numero di file ed eseguirlo. |
| LRNX | <name> o <file#> |
Caricare un programma dalla ROM per nome o numero di file senza eseguirlo. |
| LC (R) | <name> o <file#> |
Caricare un programma dall’unita SD attiva ed eseguirlo. |
| LCNX (R) | <name> o <file#> |
Caricare un programma dall’unita SD attiva senza eseguirlo. |
| M | <address> |
Editor di memoria interattivo. Mostra il valore byte corrente; digitare un nuovo valore esadecimale e Invio, o solo Invio per saltare. Premere X per uscire. |
| OUT | <port>:<value>[,<port>:<value>...] |
Scrivere su una o piu porte I/O. Ogni porta e un indirizzo esadecimale a 2 o 4 cifre, seguito da due punti e un valore esadecimale a 2 cifre. Esempio: OUT00E8:FF scrive 0xFF sulla porta 0x00E8; OUTD0:01,D1:80 scrive 0x01 sulla porta 0xD0 e 0x80 sulla porta 0xD1. |
| P | — | Eseguire un test sulla stampante collegata. |
| R | — | Eseguire un test della memoria DRAM. |
| S / ST | <start> <end> <exec> |
Salvare un’area di memoria su nastro (CMT). Viene richiesto un nome file. Esempio: S120020001203 salva 0x1200–0x2000, indirizzo di esecuzione 0x1203. |
| SC (R) | <start> <end> <exec> |
Salvare un’area di memoria sull’unita scheda SD attiva. Viene richiesto un nome file. |
| SD2T (R) | <name> o <file#> |
Copiare un file dall’unita SD attiva al nastro (CMT). |
| T | — | Testare il chip timer 8253. |
| T2SD (R) | — | Caricare un programma dal nastro (CMT) e scriverlo sull’unita scheda SD attiva. |
| V | — | Verificare un salvataggio su nastro confrontandolo con i dati attualmente in memoria. |
| X (R) | — | Passare alla variante ROM hi-load affinche la DRAM copra 0x0000–0xCFFF. |
Utilizzo delle unita scheda SD
RFS fornisce dieci unita logiche (0–9) memorizzate sequenzialmente sulla scheda SD. Ogni unita contiene fino a 256 file di massimo 64 KB ciascuno. L'unita attualmente attiva e mostrata nel prompt del monitor — digitare una singola cifra (0–9) per cambiare unita.
Visualizzazione della directory
Digitare IC per elencare i file sull'unita SD attiva. Ogni voce mostra un numero di file esadecimale a due cifre seguito dal nome file. In modalita a 80 colonne, vengono mostrate quattro colonne contemporaneamente.
* IC 00 INVADERS 01 DEFENDER 02 GALAXIANS 03 SPACE ATTACK 04 PACMAN 05 SNAKE ... Press SPACE to continue, X to exit
Digitare IR per elencare i programmi memorizzati nelle unita Flash ROM. Questi sono di sola lettura e disponibili indipendentemente dalla presenza di una scheda SD.
Caricamento programmi
I programmi possono essere caricati per nome o per numero di file. Il caricamento per numero e piu veloce poiche non e richiesta alcuna corrispondenza di stringhe:
* LC INVADERS ; Caricare INVADERS dall'unita SD attiva ed eseguire * LCNX INVADERS ; Caricare senza eseguire (utile per il debug) * LC 04 ; Caricare il file numero 04 dall'unita SD attiva * LR SA-5510RFS ; Caricare SA-5510RFS dall'unita ROM ed eseguireSalvataggio programmi
Usare SC per salvare un'area di memoria sull'unita scheda SD attiva. La sintassi e identica al comando nastro S — indirizzo di inizio, indirizzo di fine e indirizzo di esecuzione come valori esadecimali a 4 cifre uniti, poi viene richiesto un nome file:
* SC120020001200 FILE NAME? MYPROG SAVEDTrasferimento nastro ↔ scheda SD
I file possono essere copiati tra nastro (CMT) e scheda SD in entrambe le direzioni:
- T2SD — carica il prossimo file dal nastro e lo salva sull'unita scheda SD attiva. Verra richiesto di premere Play sul lettore di nastro prima dell'inizio del caricamento.
- SD2T
<name>— carica il file specificato dall'unita scheda SD attiva e lo scrive su nastro esattamente come se fosse una copia da nastro a nastro. Premere Record sul lettore di nastro quando richiesto.
Utilizzo di BASIC
Sharp SA-5510RFS BASIC
L'interprete Sharp SA-5510 BASIC originale e stato esteso con comandi LOAD, SAVE e DIR compatibili con RFS. E memorizzato nell'unita ROM come SA-5510RFS. Avviarlo con:
* BASIC
Una volta in BASIC, sono disponibili i seguenti comandi estesi:
| Comando | Esempio | Descrizione |
|---|---|---|
| LOAD | LOAD "TEST" |
Caricare il programma TEST dall’unita attiva ed eseguirlo. |
| LOAD | LOAD "3:TEST" |
Caricare TEST dall’unita RFS 3, rendendo l’unita 3 attiva. |
| LOAD | LOAD "C:TEST" |
Caricare TEST dalla cassetta interna (CMT). |
| LOAD | LOAD |
Caricare il prossimo file sequenziale dall’unita attiva. |
| SAVE | SAVE "TEST" |
Sovrascrivere un file esistente TEST sull’unita attiva o crearlo. |
| SAVE | SAVE "3:TEST" |
Salvare sull’unita RFS 3 e renderla attiva. |
| SAVE | SAVE "C:TEST" |
Salvare su CMT con il nome TEST. |
| DIR | DIR |
Elencare la directory della scheda SD per l’unita attiva. |
| DIR | DIR "3:" |
Elencare l’unita 3 e renderla attiva. |
Microsoft BASIC (basato su NASCOM BASIC v4.7b) e incluso in tre varianti:
- MS-BASIC(MZ-80A) — hardware MZ-80A standard, solo archiviazione su cassetta.
- MS-BASIC(RFS40) — RFS con display a 40 colonne; aggiunge comandi CLOAD, CSAVE, DIR su scheda SD.
- MS-BASIC(RFS80) — RFS con display a 80 colonne; aggiunge comandi CLOAD, CSAVE, DIR su scheda SD.
* LR MS-BASIC(RFS40)
Le estensioni RFS in MS-BASIC funzionano in modo simile a SA-5510RFS — il prefisso qualificatore di unita seleziona un numero di unita RFS prima del nome file:
CLOAD "8:STARTREK" ; Caricare STARTREK dall'unita RFS 8 CSAVE "8:MYPROG" ; Salvare sull'unita RFS 8 DIR "5:" ; Elencare l'unita 5
Il comando ANSITERM abilita o disabilita il processore terminale ANSI integrato (attivo per impostazione predefinita). Questo permette ai programmi BASIC che usano sequenze di escape ANSI per il posizionamento del cursore e i colori di funzionare senza modifiche:
ANSITERM 0 ; Disabilitare l'elaborazione ANSI ANSITERM 1 ; Abilitare l'elaborazione ANSI (predefinito)Conversione di programmi cassetta NASCOM
I programmi NASCOM BASIC distribuiti come file immagine cassetta (
.cas) possono essere convertiti per l'uso sull'MZ-80A con lo strumento nasconv fornito. Rimuove i dati di framing del nastro e rimappa i valori dei token per corrispondere all'estensione RFS MS-BASIC:
nasconv --image startrek.cas --output startrek.bas \
--nasaddr 0x10fa --loadaddr 0x4341
BASIC MZ-5Z008 (Quick Disk)
Il BASIC Sharp MZ-5Z008 Quick Disk originale e stato aggiornato per supportare lo storage su scheda SD RFS e l'accesso ai file di rete accanto ai suoi dispositivi nativi Floppy Disk, Quick Disk e Cassette Tape. La versione RFS si avvia con il titolo "
BASIC 5Z-008BRFS". Questo BASIC funziona anche sull'MZ-1500 tramite la persona MZ-1500 del picoZ80, fornendo lo stesso supporto dispositivi incluso l'accesso di rete NETx:. Usare un prefisso di dispositivo per selezionare il dispositivo di archiviazione di destinazione:
| Comando | Esempio | Descrizione |
|---|---|---|
| LOAD | LOAD "RFS1:MYPROG" |
Caricare un programma BASIC dall’unita scheda SD RFS 1 (mappata sull’unita SD 4). Le unita RFS 1–7 sono disponibili. |
| SAVE | SAVE "RFS1:MYPROG" |
Salvare il programma corrente sull’unita scheda SD RFS 1. |
| DIR | DIR RFS1: |
Elencare la directory dell’unita scheda SD RFS 1. |
| LOAD | LOAD "FD1:MYPROG" |
Caricare un programma BASIC dall’unita floppy disk 1. |
| SAVE | SAVE "FD1:MYPROG" |
Salvare il programma corrente sull’unita floppy disk 1. |
| DIR | DIR FD1: |
Elencare la directory del floppy disk per l’unita 1. |
| LOAD | LOAD "QD:MYPROG" |
Caricare un programma BASIC dal Quick Disk. |
| SAVE | SAVE "QD:MYPROG" |
Salvare il programma corrente sul Quick Disk. |
| DIR | DIR QD: |
Elencare la directory del Quick Disk. |
| LOAD | LOAD "NET1:MYPROG" |
Caricare un programma BASIC dall’unita 1 del file server di rete. Unita 1–7 disponibili. Richiede la scheda Celestite e netfs.py sul PC. |
| SAVE | SAVE "NET1:MYPROG" |
Salvare il programma corrente sull’unita 1 del file server di rete. |
| DIR | DIR NET1: |
Elencare la directory dall’unita 1 del file server di rete. |
| LOAD | LOAD "CMT:MYPROG" |
Caricare un programma BASIC dal nastro cassetta. |
| SAVE | SAVE "CMT:MYPROG" |
Salvare il programma corrente sul nastro cassetta. |
Il BASIC Sharp MZ-2Z009E Floppy Disk originale e stato aggiornato per supportare lo storage su scheda SD RFS accanto ai suoi dispositivi nativi Floppy Disk e Quick Disk. La versione RFS si avvia con il titolo "
BASIC 2Z-009ERFS". Usare un prefisso di dispositivo per selezionare il dispositivo di archiviazione di destinazione:
| Comando | Esempio | Descrizione |
|---|---|---|
| LOAD | LOAD "RFS1:MYPROG" |
Caricare un programma BASIC dall’unita scheda SD RFS 1 (mappata sull’unita SD 4). Le unita RFS 1–7 sono disponibili. |
| SAVE | SAVE "RFS1:MYPROG" |
Salvare il programma corrente sull’unita scheda SD RFS 1. |
| DIR | DIR RFS1: |
Elencare la directory dell’unita scheda SD RFS 1. |
| LOAD | LOAD "FD1:MYPROG" |
Caricare un programma BASIC dall’unita floppy disk 1. |
| SAVE | SAVE "FD1:MYPROG" |
Salvare il programma corrente sull’unita floppy disk 1. |
| DIR | DIR FD1: |
Elencare la directory del floppy disk per l’unita 1. |
| LOAD | LOAD "QD:MYPROG" |
Caricare un programma BASIC dal Quick Disk. |
| SAVE | SAVE "QD:MYPROG" |
Salvare il programma corrente sul Quick Disk. |
| DIR | DIR QD: |
Elencare la directory del Quick Disk. |
Esecuzione di CP/M 2.2
CP/M 2.2 e disponibile su tutte le piattaforme RFS. Dal prompt del monitor:
* CPM
RFS cerchera CP/M sull'unita scheda SD attiva o ROM, lo carichera e trasferira il controllo al CCP CP/M. Il prompt cambia in
A>.
CP/M fornisce 47 KB di RAM programma. Il CBIOS risiede interamente in ROM, lasciando tutti i 47 KB liberi per le applicazioni. Fino a sette unita disco CP/M (A:–G:) sono disponibili a seconda dell'hardware:
| Unita CP/M | Contenuto |
|---|---|
| A: | Scheda SD — programmi di sistema CP/M, Turbo Pascal, Hi-Soft C, ecc. |
| B: | Scheda SD — utilita Pascal e dischi Pascal User Group |
| C: | Scheda SD — PLI, PLM, WordStar |
| D:–G: | Scheda SD — collezione Grant Searle CP/M (C0–F9) |
Lettura di dischi CP/M MZ-80K originali. Quando l'host e dotato di una scheda floppy MZ80AFI (su un vero MZ-80A, oppure sul picoZ80 in esecuzione con la persona MZ-80A o MZ-80K), il CP/M RFS puo ora avviare e leggere direttamente dischi CP/M MZ-80K originali, non convertiti. Il formato del disco viene rilevato automaticamente dalla sua dimensione di settore a 128 byte e dai dati non invertiti; tali dischi vengono montati come le unita CP/M floppy, tipicamente C: e D:, cosi che i loro file possano essere elencati e letti dal prompt CP/M (
DIR C:, DIR D:) senza alcuna conversione preliminare. Le lettere di unita esatte dipendono da quali altre unita (ROM, scheda SD) sono presenti — vedere la guida CP/M per RFS.
L'emulatore terminale ANSI integrato mappa le sequenze di escape ANSI standard sullo schermo MZ-80A, facendo funzionare correttamente senza modifiche la maggior parte delle applicazioni CP/M che si basano sul controllo dello schermo. La tastiera include l'auto-ripetizione e una corretta mappatura di tutti i tasti MZ-80A in ASCII.
Per tornare al monitor RFS da CP/M, usare un warm boot (Ctrl+C dal CCP) che ricarica il CCP. Un'uscita completa al monitor SA-1510 richiede un reset hardware.
Modalita di visualizzazione
Se un upgrade Kuma 40/80 colonne o il Video Module colore 40/80 e installato sull'MZ-80A, RFS puo passare tra le modalita di visualizzazione a 40 e 80 colonne dal prompt del monitor:
* 40 ; Passare al display a 40 colonne * 80 ; Passare al display a 80 colonne
In modalita a 80 colonne i comandi directory IC e IR visualizzano quattro colonne, rendendo molto piu rapido trovare i programmi a occhio. La variante MS-BASIC(RFS80) e costruita specificamente per l'uso a 80 colonne, con tutto l'output a schermo che assume 80 colonne.
Senza l'upgrade 40/80, il firmware RFS si avvia e funziona comunque normalmente — questi comandi sono semplicemente non disponibili.
Organizzazione della scheda SD
L'immagine precostruita della scheda SD organizza i programmi in dieci unita RFS e sette immagini disco CP/M:
| Unita RFS | Contenuto |
|---|---|
| 0 | Programmi in codice macchina comuni e MZ-80A |
| 1 | Programmi in codice macchina MZ-80K |
| 2 | Programmi in codice macchina MZ-700 |
| 3 | Programmi in codice macchina MZ-800 / MZ-1500 |
| 4 | Programmi in codice macchina MZ-80B / MZ-2000 |
| 5 | Programmi BASIC, tipo 2 (MZ-80A) |
| 6 | Programmi BASIC, tipo 2 (MZ-80K) |
| 7 | Programmi BASIC, tipo 5 (MZ-700 / MZ-800) |
| 8 | Programmi vari |
| 9 | Programmi vari |
Risoluzione dei problemi
Il monitor si avvia ma "RFS" non e mostrato nel banner
- Scheda SD non inserita — controllare che la scheda sia inserita nel lettore sulla scheda RomDisk.
- Scheda SD non formattata correttamente — l'immagine SDCFS deve iniziare al settore 0, senza tabella partizioni. Riscrivere con
ddcome descritto sopra. - Immagine ROM errata — verificare di aver programmato i chip Monitor ROM e User ROM con le immagini corrette per la piattaforma hardware di destinazione (RomDisk vs picoZ80).
- SPI non collegato — sulle schede RomDisk v2+, assicurarsi che
HW_SPI_ENA = 1inrfs_definitions.asmprima della compilazione. Sulle schede v1 usarePP_SPI_ENA = 1.
La macchina si blocca o si comporta in modo erratico dopo il caricamento di un programma
- Incompatibilita delle immagini ROM — la Monitor ROM e la User ROM devono essere compilate dallo stesso albero sorgente e per lo stesso target. Mescolare immagini di build diverse puo produrre indirizzi di commutazione banchi imprevedibili.
- Il programma sovrascrive lo spazio di lavoro RFS — i programmi che usano tutto lo spazio 0x1200–0xCFFF possono sovrascrivere gli stub di commutazione banchi RFS a 0xE800. I programmi progettati per il monitor originale generalmente non dovrebbero essere influenzati; i programmi automodificanti o quelli che saltano a indirizzi arbitrari potrebbero esserlo.
CP/M non si avvia o mostra errori
- Immagine scheda SD incompleta — le immagini disco CP/M iniziano al limite di 256 MB sulla scheda SD. Assicurarsi che l'immagine completa
SHARP_MZ80A_RFS_CPM_IMAGE_1.imgsia stata scritta — scritture parziali lasceranno l'area disco CP/M non inizializzata. - L'unita attiva non ha un settore di avvio CP/M — selezionare l'unita 0 prima di digitare CPM, poiche l'immagine precostruita colloca il settore di avvio CP/M sull'unita 0.
- Floppy non collegato — se si usa la build SFD-700 senza floppy collegato, le operazioni CBIOS relative al floppy andranno in timeout. Usare invece l'avvio CPM dalla scheda SD.
Link di riferimento
| Risorsa | Link |
|---|---|
| Pagina del progetto RFS | /it/sharpmz-upgrades-rfs/ |
| Guida tecnica RFS | /it/sharpmz-upgrades-rfs-technicalguide/ |
| Guida per sviluppatori RFS | /it/sharpmz-upgrades-rfs-developersguide/ |
| Galleria RFS | /it/sharpmz-upgrades-rfs-gallery/ |
| SFD-700 mkII (controller floppy) | /it/sfd700/ |
| picoZ80 (sostituzione Z80 RP2350) | /it/picoz80/ |
| Assemblatore GLASS Z80 | Incluso in tools/glass.jar |
| Manuale NASCOM Basic | Incluso nella directory docs/ del repository |