MZ-80A RomDisk — Manuale Utente
Manuale Utente RomDisk
Il Sharp MZ-80A RomDisk e una scheda figlia PCB che si inserisce direttamente negli zoccoli della ROM Monitor e della ROM Utente dello Sharp MZ-80A, o dello Sharp MZ-1200 se dotato di uno zoccolo ROM Utente. Sostituisce queste due memorie di sola lettura con fino a quattro Flash RAM SST39SF040 da 512KB e una RAM Statica AS6C4008 opzionale da 512KB, fornendo alla macchina un'unita ROM paginata fino a 2MB, un'interfaccia SPI hardware e uno slot micro SD per l'archiviazione di massa. Il firmware che vi gira -- il Rom Filing System (RFS) -- offre un monitor potenziato, un file system su scheda SD con dieci unita da 16MB ciascuna, l'avvio di CP/M 2.2 e oltre trenta nuovi comandi monitor, mantenendo il familiare prompt SA-1510
* e tutti i comandi originali.
Questo manuale tratta l'hardware fisico: cosa e la scheda RomDisk, come installarla, come programmare i chip Flash, come preparare una scheda SD e come utilizzare il firmware RFS nell'uso quotidiano. Per i dettagli sull'architettura del firmware e sul sistema di compilazione consultare la Guida Tecnica RFS. Per i dettagli interni del codice sorgente consultare la Guida per Sviluppatori RFS.
Cosa serve
Prima di iniziare, raccogliere i seguenti materiali:
| Elemento | Note |
|---|---|
| RomDisk PCB | v2.1 raccomandata (assemblata o in kit). v1.1 e v2.0 sono supportate con la versione firmware appropriata. |
| Sharp MZ-80A o MZ-1200 | Il RomDisk si adatta fisicamente solo al MZ-80A o al MZ-1200 (il MZ-1200 richiede uno zoccolo ROM Utente installato). Il MZ-700 ha un’architettura software simile ma non dispone degli zoccoli ROM fisici e dello spazio interno per la scheda. |
| Programmatore EPROM TL866 II+ o compatibile | Necessario per scrivere i chip Flash ROM al di fuori della scheda. L’utility open-source minipro viene utilizzata negli esempi seguenti. |
| Scheda micro SD (minimo 1 GB, formattata FAT) | L’immagine SD precostruita e di circa 512MB. Qualsiasi scheda micro SD standard da 1GB o superiore funziona. |
| Immagini ROM e SD precostruite | Disponibili nella directory releases/ del repository Gitea. |
| Precauzioni antistatiche | Braccialetto o tappetino antistatico. Manipolare i chip Flash e la scheda solo dopo essersi messi a terra. |
| Estrattore per chip o piccolo cacciavite a lama piatta | Per rimuovere i chip ROM esistenti dagli zoccoli della scheda madre. |
Installazione fisica
La scheda RomDisk si installa nello Sharp MZ-80A al posto dei due chip ROM di fabbrica. La procedura seguente si applica al modello desktop standard MZ-80A. Procedere con calma -- il processo e semplice ma richiede attenzione intorno agli zoccoli dei chip.
Apertura della macchina
- Spegnere l'MZ-80A e scollegare il cavo di alimentazione.
- Capovolgere la macchina. Rimuovere le due viti sul lato inferiore del contenitore.
- Sollevare con cautela il coperchio superiore e metterlo da parte. La scheda madre e ora esposta.
- Localizzare IC2 (la ROM Monitor, un DIP a 24 pin vicino al centro-sinistra della scheda, mappata su 0x0000-0x0FFF) e IC3 (la ROM Utente, un DIP a 24 pin mappata su 0xE800-0xEFFF).
Utilizzando un estrattore per chip o un cacciavite a lama piatta, estrarre con cautela IC2 e IC3 dai loro zoccoli. Lavorare da entrambe le estremita a piccoli incrementi -- sollevare un'estremita leggermente, poi l'altra, alternando fino a quando il chip scivola fuori. Forzare da un solo lato pieghera i pin. Conservare entrambi i chip in un luogo sicuro e antistatico; non saranno necessari dopo l'installazione del RomDisk, ma vale la pena conservarli come fallback.
Inserimento della scheda RomDisk
- La scheda RomDisk porta sul lato inferiore due set di array di pin DIP rialzati -- un array a 24 pin per lo zoccolo ROM Monitor (IC2) e uno per lo zoccolo ROM Utente (IC3). Si inseriscono direttamente negli zoccoli vuoti lasciati dalle ROM rimosse.
- Verificare l'orientamento del pin 1 prima dell'inserimento. Il pin 1 di ogni array deve allinearsi con il marcatore pin 1 (tacca o punto) sullo zoccolo corrispondente della scheda madre. Inserire la scheda al contrario impedira l'avvio della macchina e puo danneggiare i componenti.
- Premere la scheda saldamente e uniformemente in entrambi gli zoccoli simultaneamente fino a quando gli array di pin sono completamente inseriti. La scheda sara rialzata sopra la superficie della scheda madre -- e normale.
- Ispezionare entrambi i connettori di lato per confermare che tutti i pin sono inseriti e nessuno e piegato o cortocircuita pin adiacenti.
- La scheda RomDisk sporge sopra la scheda madre. Verificare che nessun cavo, connettore o componente sul lato inferiore del coperchio superiore prema contro la scheda quando il contenitore viene riassemblato.
Le schede RomDisk v2.0 e v2.1 includono uno slot micro SD. Poiche il contenitore dell'MZ-80A e quasi completamente chiuso, lo slot deve essere accessibile dall'esterno o attraverso un'apertura nel contenitore. Gli approcci comuni includono:
Chiusura della macchina
- Instradamento del cavo dello slot verso l'apertura esistente del lettore di cassette sul lato destro della macchina.
- Taglio di una piccola fessura nel pannello laterale sinistro o posteriore del contenitore (tipicamente 15 x 2 mm) e incollaggio a caldo dello slot a filo con la superficie esterna.
Prima di chiudere, effettuare un controllo visivo finale: la scheda RomDisk e completamente inserita in entrambi gli zoccoli, il pin 1 e allineato su entrambi i connettori, e nulla interferira con il lato inferiore del coperchio superiore. Rimettere il coperchio superiore e riavvitare le due viti inferiori. Non stringere eccessivamente -- i distanziatori in plastica sono delicati sulle macchine piu vecchie.
Programmazione dei Flash ROM
I chip Flash ROM sulla scheda RomDisk devono essere programmati prima dell'installazione della scheda. Il Flash ROM Monitor (U1/SST39SF040 nello zoccolo Monitor) non puo essere scritto in-circuit perche l'hardware dello Sharp MZ-80A blocca i cicli di scrittura del bus verso lo spazio di indirizzamento della ROM Monitor. Tutti i chip devono essere programmati in un programmatore EPROM esterno.
Le immagini ROM precostruite sono disponibili nella directory
releases/ del repository Gitea RFS. Scaricare i seguenti file:
| File | Chip | Zoccolo |
|---|---|---|
MROM_ROMDISK_256.bin |
SST39SF040 | U1 — Monitor ROM Flash (obbligatorio) |
USER_ROM_256.bin |
SST39SF040 | U4 — User ROM Flash 1 (obbligatorio) |
USER_ROM_II_256.bin |
SST39SF040 | U5 — User ROM Flash 2 (opzionale, v2.0+) |
USER_ROM_III_256.bin |
SST39SF040 | U6 — User ROM Flash 3 (opzionale, v2.0+) |
Utilizzare un programmatore TL866 II+ o compatibile con l'utility da riga di comando
minipro. Rimuovere ogni chip Flash dalla scheda RomDisk, inserirlo nello zoccolo ZIF del programmatore ed eseguire il comando appropriato:
# Programmare il Monitor ROM Flash (U1): minipro -p SST39SF040 -w MROM_ROMDISK_256.bin # Programmare il User ROM Flash 1 (U4): minipro -p SST39SF040 -w USER_ROM_256.bin # Programmare il User ROM Flash 2 (U5) — opzionale: minipro -p SST39SF040 -w USER_ROM_II_256.bin # Programmare il User ROM Flash 3 (U6) — opzionale: minipro -p SST39SF040 -w USER_ROM_III_256.bin
Dopo la programmazione di ogni chip,
Note sulle versioni hardware
minipro verifica automaticamente i dati scritti rispetto al file sorgente. Un messaggio Verification OK conferma che il chip e stato scritto correttamente. Reinstallare ogni chip programmato nel suo zoccolo sulla scheda RomDisk.
Il Flash Monitor contiene otto banchi da 4KB. I chip Flash ROM Utente contengono ciascuno dodici banchi da 2KB. Insieme forniscono il firmware RFS completo, i programmi dell'unita ROM (BASIC, loader CP/M, assemblatore, ecc.) e l'area di lavoro paginata utilizzata durante le operazioni SD e CP/M.
Esistono tre versioni della scheda RomDisk. Le immagini ROM sono compatibili tra tutte le versioni, ma le caratteristiche hardware differiscono:
| Versione | Caratteristiche principali |
|---|---|
| v1.1 | Un Flash da 512KB nello zoccolo Monitor, uno nello zoccolo Utente. Un semplice latch gestisce la selezione del banco. Nessuna scheda SD. Adatto solo per l’uso come unita ROM. |
| v2.0 | Aggiunge un coded latch (contatore 74HCT191 che richiede 16 letture consecutive agli indirizzi 0xEFF8-0xEFFF per sbloccare i registri di controllo), secondo e terzo slot Flash ROM Utente (U5, U6), SRAM opzionale da 512KB (AS6C4008), e slot scheda SD con SPI bitbang software e circuito SPI hardware dedicato a 8MHz. |
| v2.1 | Rilascio di correzione bug. Corregge un’interferenza tra la decodifica dell’indirizzo di refresh DRAM e il segnale di reset del coded latch aggiungendo una porta AND (costruita con diodi) e ricablando 0xEFF9 come linea di cancellazione del latch. Tutte le funzionalita v2.0 sono mantenute. Questa e la versione raccomandata per le nuove costruzioni. |
Scrittura dell'immagine scheda SD
L'immagine SD precostruita raggruppa dieci unita RFS (ciascuna da 16MB, numerate 0-9) e sette immagini disco CP/M 2.2 in un singolo file binario grezzo. Viene scritta direttamente sulla scheda SD a partire dal settore 0 -- nessuna tabella delle partizioni viene creata e nessun passaggio di formattazione e richiesto prima della scrittura.
Scaricare
SHARP_MZ80A_RFS_CPM_IMAGE_1.img dalla directory releases/ del repository Gitea. Inserire la scheda micro SD nel computer e identificare il nodo del dispositivo (es. /dev/sdb su Linux). Verificare attentamente il nodo del dispositivo -- scrivere sul dispositivo sbagliato sovrascrivera i dati irreversibilmente.
# Linux / macOS — sostituire /dev/sdX con il nodo del dispositivo scheda SD: dd if=SHARP_MZ80A_RFS_CPM_IMAGE_1.img of=/dev/sdX bs=4M status=progress sync
Il flag
Layout della scheda SD
status=progress stampa un contatore di byte in tempo reale per confermare che la scrittura sta procedendo. Il comando sync scarica tutte le scritture in sospeso prima della rimozione della scheda. Su macOS, usare bs=4m (minuscolo) e omettere status=progress se la versione di dd non lo supporta.
Una volta completata la scrittura, espellere la scheda in sicurezza dal computer e inserirla nello slot SD del RomDisk.
L'immagine organizza l'archiviazione come segue:
| Regione | Offset | Contenuto |
|---|---|---|
| RFS Drive 0 | 0 MB | Programmi in codice macchina comuni e MZ-80A |
| RFS Drive 1 | 16 MB | Programmi in codice macchina MZ-80K |
| RFS Drive 2 | 32 MB | Programmi in codice macchina MZ-700 |
| RFS Drive 3 | 48 MB | Programmi in codice macchina MZ-800 / MZ-1500 |
| RFS Drive 4 | 64 MB | Programmi in codice macchina MZ-80B / MZ-2000 |
| RFS Drive 5 | 80 MB | Programmi BASIC, tipo 2 (MZ-80A) |
| RFS Drive 6 | 96 MB | Programmi BASIC, tipo 2 (MZ-80K) |
| RFS Drive 7 | 112 MB | Programmi BASIC, tipo 5 (MZ-700 / MZ-800) |
| RFS Drive 8 | 128 MB | Programmi vari |
| RFS Drive 9 | 144 MB | Programmi vari |
| Immagini disco CP/M | 256 MB | Unita A:-G: (Turbo Pascal, Hi-Soft C, WordStar, collezione Grant Searle, ecc.) |
Primo avvio
Con i chip Flash programmati e la scheda RomDisk inserita in entrambi gli zoccoli ROM, accendere l'MZ-80A. La ROM Monitor rileva il firmware RFS all'indirizzo 0xE800 e lo esegue. RFS si inizializza e aggiunge "
+ RFS vx.xx" al banner di avvio SA-1510:
SHARP MZ-80A Monitor SA-1510 + RFS *
Il
* e il prompt del monitor. Ogni comando originale SA-1510 e disponibile senza modifiche. Digitare H e premere Invio per visualizzare la schermata di aiuto dei comandi RFS paginata. Premere Spazio per avanzare tra le pagine.
La riga + RFS appare ogni volta che RFS si inizializza -- non dipende dalla scheda SD. Dopo la visualizzazione del banner, RFS tenta di inizializzare la scheda SD. Se la scheda e assente o l'inizializzazione fallisce, un codice di errore viene stampato sotto il banner. Il prompt * appare comunque e tutti i comandi basati su ROM (IR, LR, ecc.) rimangono disponibili anche senza una scheda SD funzionante.
Comandi del Monitor RFS
L'elenco completo dei comandi del monitor RFS e riportato di seguito. Tutti i comandi originali SA-1510 rimangono disponibili e non sono mostrati qui. Gli indirizzi e i contatori vengono sempre inseriti come valori esadecimali a 4 cifre salvo diversa indicazione.
| Comando | Parametri | Descrizione |
|---|---|---|
| 0 .. 9 | — | Cambia l’unita SD attiva al numero indicato (0-9). Digitare la cifra e premere Invio. |
| 40 | — | Passa alla modalita di visualizzazione a 40 colonne. Richiede un’estensione Kuma 40/80 colonne o un Modulo Video. |
| 80 | — | Passa alla modalita di visualizzazione a 80 colonne. Richiede un’estensione Kuma 40/80 colonne o un Modulo Video. |
| B | — | Attiva o disattiva il beep di inserimento tastiera (alterna ad ogni comando). |
| BASIC | — | Localizza l’interprete BASIC SA-5510 sull’unita SD attiva o in ROM, lo carica e lo esegue. |
| C | [valore] |
Cancella (inizializza) la memoria da 0x1200 a 0xD000 con 0x00, o con il valore hex a 8 bit fornito. |
| CP | sorg dest dim |
Copia un blocco di memoria. Tutti e tre gli argomenti sono hex a 4 cifre: indirizzo sorgente, indirizzo destinazione, conteggio byte. |
| CPM | — | Localizza CP/M 2.2 sull’unita SD attiva o in ROM, lo carica e lo avvia. |
| D | ind [ind2] |
Dump esadecimale e ASCII della memoria da ind a ind2 (o 20 righe senza indirizzo finale). |
| EC | nome o no. |
Cancella un file dall’unita SD attiva, identificato per nome o numero file hex a due cifre. |
| F | [unita] |
Avvio da floppy disk. Senza numero unita viene richiesto l’inserimento. |
| f | — | Esegue direttamente il codice ROM di avvio floppy AFI originale all’indirizzo 0xF000. |
| H | — | Visualizza la schermata di aiuto dei comandi paginata. Spazio per avanzare, X per uscire. |
| IC | — | Elenco paginato del contenuto dell’unita SD attiva. Mostra numero file e nome file. |
| IR | — | Elenco paginato dei programmi memorizzati nelle unita Flash ROM. Sempre disponibili in sola lettura. |
| J | indirizzo |
Salta a (esegue da) l’indirizzo hex indicato. |
| L / LT | [nome] |
Carica un file dal nastro (CMT) e lo esegue. |
| LTNX | [nome] |
Carica un file dal nastro (CMT) senza eseguirlo. |
| LR | nome o no. |
Carica un programma dall’unita Flash ROM per nome o numero e lo esegue. |
| LRNX | nome o no. |
Carica un programma dall’unita Flash ROM per nome o numero senza eseguirlo. |
| LC | nome o no. |
Carica un programma dall’unita SD attiva per nome o numero e lo esegue. |
| LCNX | nome o no. |
Carica un programma dall’unita SD attiva per nome o numero senza eseguirlo. |
| M | indirizzo |
Editor di memoria interattivo. |
| P | — | Esegue un test sulla stampante collegata. |
| R | — | Esegue un test completo della memoria DRAM sull’intervallo 0x1200-0xCFFF. |
| S / ST | inizio fine exec |
Salva un intervallo di memoria su nastro (CMT). |
| SC | inizio fine exec |
Salva un intervallo di memoria sull’unita SD attiva. |
| SD2T | nome o no. |
Copia un file dall’unita SD attiva al nastro (CMT). |
| T | — | Testa il chip timer 8253. |
| T2SD | — | Carica un programma dal nastro (CMT) e lo scrive sull’unita SD attiva. |
| V | — | Verifica un file appena salvato su nastro rispetto ai dati attualmente in memoria. |
| X | — | Passa alla variante ROM hi-load, modificando il mapping DRAM per coprire 0x0000-0xCFFF. |
Utilizzo delle unita scheda SD
RFS fornisce dieci unita SD logiche numerate da 0 a 9. Ogni unita occupa una regione di 16MB sulla scheda SD e contiene una directory piatta di fino a 256 file, ciascuno memorizzato in formato Sharp MZF. I file possono essere fino a 64KB.
Digitare il numero dell'unita (0-9) al prompt del monitor e premere Invio per attivare quell'unita. I comandi IC e IR operano sempre sull'unita attualmente attiva.
Elencare i file
Digitare IC per visualizzare la directory dell'unita SD attiva. Ogni voce mostra un numero file hex a due cifre seguito dal nome file. In modalita 80 colonne, vengono visualizzate quattro colonne simultaneamente.
* IC 00 INVADERS 01 DEFENDER 02 GALAXIANS 03 SPACE ATTACK 04 PACMAN 05 SNAKE 06 FROGGER 07 BREAKOUT ... Premere SPAZIO per continuare, X per uscireCaricare programmi
I programmi possono essere caricati per nome o per numero file hex a due cifre mostrato nella directory IC:
* LC INVADERS ; Caricare ed eseguire INVADERS dall'unita SD attiva * LCNX INVADERS ; Caricare senza eseguire * LC 04 ; Caricare ed eseguire il file numero 04 * LR SA-5510RFS ; Caricare ed eseguire SA-5510RFS dall'unita ROMSalvare programmi
Usare SC per salvare una regione di memoria sull'unita SD attiva:
* SC120020001200 FILE NAME? MYPROG SAVEDCancellare file
Usare EC seguito da un nome file o un numero per cancellare un file dall'unita SD attiva. L'operazione non puo essere annullata.
* EC MYPROG ; Cancellare per nome * EC 04 ; Cancellare per numero
Modalita di visualizzazione
Se un'estensione Kuma 40/80 colonne o il Modulo Video colore 40/80 e installato nell'MZ-80A, RFS puo passare tra le modalita di visualizzazione a 40 e 80 colonne al prompt del monitor:
* 40 ; Passare alla visualizzazione a 40 colonne * 80 ; Passare alla visualizzazione a 80 colonne
In modalita 80 colonne, i comandi di directory IC e IR visualizzano quattro colonne di nomi file simultaneamente. Senza l'estensione 40/80 installata, i comandi
40 e 80 vengono accettati ma non hanno effetto visibile.
Operazioni su nastro
RFS mantiene tutti i comandi originali SA-1510 per il nastro (CMT) e aggiunge due nuovi comandi per il trasferimento di file tra nastro e scheda SD.
Caricamento e salvataggio su nastro
I comandi nastro standard funzionano esattamente come nel monitor SA-1510 originale:
Trasferimento da nastro a scheda SD
- L o LT -- Carica il file successivo dal nastro e lo esegue.
- LTNX -- Come sopra ma carica senza eseguire.
- S o ST -- Salva un intervallo di memoria su nastro.
- V -- Verifica l'ultimo salvataggio su nastro rispetto alla memoria.
T2SD legge il programma successivo dal nastro e lo scrive direttamente sull'unita SD attiva.
* T2SD PRESS PLAY ...Trasferimento da scheda SD a nastro
SD2T legge un file dall'unita SD attiva e lo scrive su nastro, riproducendo esattamente il formato originale del nastro.
* SD2T INVADERS PRESS REC ...
Utilizzo di BASIC SA-5510
Digitare BASIC al prompt del monitor per caricare e avviare l'interprete Sharp SA-5510 BASIC. I comandi BASIC estesi RFS includono
LOAD, SAVE e DIR che funzionano con il file system SD RFS.
* BASIC SHARP MZ-80A BASIC SA-5510RFS READY
| Comando | Esempio | Descrizione |
|---|---|---|
| LOAD | LOAD "TEST" |
Carica ed esegue il programma BASIC TEST dall’unita SD attiva. |
| LOAD | LOAD "3:TEST" |
Carica TEST dall’unita SD 3. |
| SAVE | SAVE "TEST" |
Salva il programma BASIC corrente sull’unita SD attiva. |
| DIR | DIR |
Elenca la directory dell’unita SD attiva. |
Esecuzione di CP/M 2.2
Digitare CPM al prompt del monitor per avviare CP/M 2.2. L'implementazione CBIOS risiede interamente nella Flash ROM, lasciando i 47KB TPA completi liberi per i programmi applicativi.
* CPM CP/M 2.2 - SHARP MZ-80A A>
| Unita CP/M | Contenuto |
|---|---|
| A: | Scheda SD — programmi di sistema CP/M, Turbo Pascal, Hi-Soft C, ecc. |
| B: | Scheda SD — utility Pascal e dischi Pascal User Group |
| C: | Scheda SD — PLI, PLM, WordStar |
| D:-G: | Scheda SD — collezione CP/M Grant Searle |
L'emulatore di terminale ANSI integrato mappa le sequenze di escape ANSI standard sullo schermo dell'MZ-80A. Per tornare al monitor RFS da CP/M, eseguire un avvio a caldo con Ctrl+C. Un ritorno completo al monitor SA-1510 richiede un reset hardware.
Risoluzione dei problemi
Nessun testo "+ RFS" dopo il banner di avvio
- Flash ROM non programmate o programmate in modo errato -- verificare che
MROM_ROMDISK_256.binsia stato scritto sul chip Flash Monitor (U1) eUSER_ROM_256.binsu U4. - PCB non completamente inserita -- premere entrambi gli array DIP fermamente nei loro zoccoli.
- Coded latch attivato dai cicli di refresh (solo v2.0) -- la scheda v2.1 aggiunge una porta AND (D1/D2) per prevenire questo problema.
Codice di errore scheda SD dopo la riga "+ RFS"
- Scheda SD non inserita -- verificare che la scheda sia completamente inserita nello slot.
- Immagine SD non scritta -- riscrivere con
dd. - Scheda SD incompatibile -- una scheda SD o SDHC standard da 2GB-8GB e la piu affidabile.
La macchina non si avvia affatto
- PCB inserita al contrario -- verificare l'allineamento del pin 1. Spegnere immediatamente se si sospetta questo problema.
- Pin piegati o mancanti -- rimuovere la scheda e ispezionare tutti i pin.
- Immagine ROM errata per l'hardware -- verificare che il Flash Monitor sia stato programmato con
MROM_ROMDISK_256.bin.
IC mostra una directory vuota o "SD ERROR"
- Scheda SD scritta in modo errato -- l'immagine deve essere scritta come binario grezzo al settore 0 senza tabella delle partizioni.
- Scheda SD non inserita -- premere la scheda fermamente fino al clic.
CP/M non si avvia o mostra errori disco
- Unita attiva errata -- selezionare l'unita 0 prima di digitare CPM.
- Immagine SD incompleta -- riscrivere con una scheda di almeno 512MB.
Il caricamento o il salvataggio su nastro fallisce
- Il timing del nastro sull'MZ-80A e sensibile all'allineamento della testina CMT e alla qualita del nastro. Usare il comando TC per regolare la compensazione del ritardo di lettura.
Siti di riferimento
| Risorsa | Link |
|---|---|
| Pagina del progetto RomDisk | /sharpmz-upgrades-romdisk/ |
| Manuale Utente RFS | /sharpmz-upgrades-rfs-usermanual/ |
| Guida Tecnica RFS | /sharpmz-upgrades-rfs-technicalguide/ |
| Guida per Sviluppatori RFS | /sharpmz-upgrades-rfs-developersguide/ |
| Galleria RFS | /sharpmz-upgrades-rfs-gallery/ |
| picoZ80 (sostituzione Z80 RP2350) | /picoz80/ |
| tranZPUter FusionX | /transzputer-fusionx/ |
| minipro (utility TL866 open-source) | https://gitlab.com/DavidGriffith/minipro |