tranZPUter FusionX Manuel Utilisateur
Presentation
Le tranZPUterFusionX (FusionX) est un PCB compact et haute performance qui remplace le processeur Z80 dans une gamme d'ordinateurs personnels vintage. En s'inserant directement dans le socle DIP-40 Z80 de la machine hote, le FusionX prend le controle total du bus hote tout en fournissant un environnement informatique moderne complet base sur Linux — le tout invisible pour le firmware et les logiciels d'origine de la machine hote.
La carte est construite autour du SigmaStar SSD202D System-on-Module (SOM), qui integre un processeur ARM Cortex-A7 double coeur fonctionnant a 1,2 GHz, 128 Mo de LPDDR2 DRAM, 256 Mo de SLC NAND Flash et une radio WiFi SSW101B 2,4 GHz 802.11 b/g/n integree. Le SOM execute un noyau Linux 4.9-rt temps reel (patche PREEMPT_RT), fournissant simultanement un environnement Linux pleinement fonctionnel et la couche d'emulation Z80.
L'emulateur Z80 fonctionne exclusivement sur le CPU1, qui est isole du planificateur Linux au demarrage en utilisant le mecanisme
isolcpus du noyau. Un module noyau dedie (z80drv) gere la boucle d'emulation et fournit la synchronisation precise au cycle pres necessaire pour executer correctement les logiciels Z80 d'origine. L'emulateur est controle depuis l'espace utilisateur via l'utilitaire en ligne de commande z80ctrl.
La synchronisation au niveau du bus et la logique d'interface sont implementees dans un CPLD Altera MAX7000AE, qui fournit une interface precise au cycle Z80 pres entre le SOM et les bus d'adresses, de donnees et de controle de la machine hote. Le CPLD est compile en variantes separees pour chaque machine hote supportee, garantissant une synchronisation de bus et un conditionnement de signal corrects pour chaque plateforme cible.
Le FusionX supporte plusieurs personas de machine — la variante CPLD et la configuration logicielle determinent quelle machine hote est emulee au niveau materiel. Des cartes filles optionnelles connectent les sorties video et audio du FusionX aux circuits d'affichage et au haut-parleur interne de la machine hote, en utilisant des multiplexeurs analogiques SPDT pour commuter proprement entre la sortie native de l'hote et celle generee par le FusionX.
Remarque : L'interface de gestion web est actuellement en cours de construction et n'est pas disponible dans le firmware livre. Toutes les taches de gestion et de configuration sont effectuees via la console USB-serie et l'utilitaire en ligne de commande z80ctrl.
Presentation de la carte
Le FusionX est un PCB compact a 4 couches en revision materielle v1.0. Les dimensions de la carte sont concues pour s'inscrire dans l'empreinte d'un socle CI DIP-40 standard tout en accueillant le SOM SigmaStar SSD202D et le CPLD Altera MAX7000AE au-dessus. Tous les connecteurs et broches sont accessibles depuis le dessus ou l'arriere de la carte une fois installee dans la machine hote.
Connecteurs et broches
- Connecteur JTAG 10 broches — Utilise pour la programmation en systeme (ISP) du CPLD Altera MAX7000AE via un programmateur JTAG compatible (par ex. USB-Blaster). Ce connecteur est egalement utilise pour la programmation initiale lorsqu'un CPLD vierge ou incorrectement programme doit etre flashe avec une nouvelle variante. Voir le Guide technique pour les details de programmation.
- Connecteur USB-Serie (CH340E) — Un connecteur micro-USB ou un connecteur a broches route a travers un pont USB vers UART CH340E embarque. Cela fournit un acces direct a la console serie Linux a 115200 bauds, 8N1. Cote SOM, il se connecte au UART principal. C'est l'interface de gestion principale lors de la configuration initiale et de l'administration quotidienne.
- Port USB 2.0 (SOM) — Un port hote USB 2.0 Type-A standard expose depuis le SOM SSD202D. Ce port peut etre utilise pour connecter un stockage de masse USB, des adaptateurs USB-Ethernet ou d'autres peripheriques USB supportes par le noyau Linux.
- Emplacement carte SD (SOM) — Un emplacement micro-SD connecte a l'interface SDIO du SOM. La carte SD est utilisee pour le stockage supplementaire, contenant des images ROM, des fichiers programme MZF et des images de mise a jour firmware OTA. Le SOM detectera une carte SD correctement preparee au demarrage et effectuera automatiquement une mise a jour OTA si une image firmware valide est presente.
- Connecteur d'antenne WiFi — Un connecteur coaxial IPEX/U.FL pour une antenne WiFi 2,4 GHz externe, connecte au module sans fil SSW101B integre du SSD202D. Une antenne appropriee doit etre installee pour une connectivite sans fil fiable.
Indicateurs d'etat
La carte FusionX comporte un petit nombre de LEDs d'etat pour aider au diagnostic et confirmer le bon fonctionnement :
- LED d'alimentation — S'allume lorsque l'alimentation 3,3 V est presente sur la carte, confirmant que le convertisseur abaisseur TLV62569DBV fonctionne correctement.
- LED d'activite — Pilotee par le SOM ; indique l'activite du noyau Linux et de l'emulation Z80. Clignote pendant le demarrage et pendant les cycles d'emulation Z80 actifs.
- LED CPLD — Pilotee par le CPLD ; indique l'activite du bus sur le bus Z80 hote. Utile pour confirmer que le CPLD interface activement avec la machine hote.
Alimentation
Le FusionX tire toute son alimentation de l'alimentation 5 V de la machine hote, disponible sur la broche VCC DIP-40 Z80 (broche 11). Un convertisseur abaisseur synchrone TLV62569DBV regule l'entree 5 V a 3,3 V pour le SOM, le CPLD et toute la logique embarquee. Le TLV62569DBV est un composant haute efficacite a faible courant de repos capable de fournir les demandes de courant de pointe du SOM SSD202D pendant la transmission WiFi et l'emulation Z80.
La machine hote doit etre capable de fournir un courant adequat sur son rail 5 V pour alimenter le FusionX en plus de ses propres circuits. En pratique, toutes les machines hotes supportees ont des rails 5 V avec une marge suffisante pour le fonctionnement normal du FusionX.
Cartes filles
Trois cartes filles specifiques a l'hote sont disponibles pour le FusionX :
- Carte fille MZ-80A — Interface les sorties video et audio du FusionX avec l'ecran interne et les circuits audio du Sharp MZ-80A.
- Carte fille MZ-700 — Interface les sorties video et audio du FusionX avec l'ecran interne et les circuits audio du Sharp MZ-700.
- Carte fille MZ-2000 — Interface les sorties video et audio du FusionX avec l'ecran interne et les circuits audio du Sharp MZ-2000.
Chaque carte fille contient des multiplexeurs analogiques SPDT qui commutent les signaux d'affichage et audio entre la source native de l'hote (depuis le materiel video/audio propre de la machine hote) et la source generee par le FusionX (depuis le SOM). Cela permet au FusionX de presenter sa propre sortie video et audio a travers l'ecran et le haut-parleur integres de la machine hote sans modifier definitivement les circuits de l'hote.
La carte fille se connecte a la carte principale FusionX via un cable plat et/ou des connecteurs dedies, puis se connecte aux circuits video et audio de la machine hote en utilisant des connecteurs specifiques a l'hote decrits dans les sections d'installation specifiques ci-dessous.
L'Amstrad PCW-8256 ne necessite pas de carte fille. La variante CPLD PCW-8256 s'interface directement avec la pagination memoire et les E/S Z80 standard du PCW sans necessiter de multiplexage video ou audio.
La carte fille correcte doit etre installee avant l'installation dans la machine hote. Installer la mauvaise carte fille, ou ne pas installer de carte fille sur un hote de la serie MZ, entrainera l'absence de sortie video ou audio du FusionX.
Machines hotes supportees
Le FusionX supporte actuellement les machines hotes suivantes. La variante CPLD doit correspondre exactement a la machine hote cible — chaque variante est compilee separement dans Quartus II et implemente la synchronisation de bus precise, la carte memoire et le decodage d'E/S requis pour cet hote.
| Machine hote | Carte fille | Variante CPLD | Remarques |
|---|---|---|---|
| Sharp MZ-80A | Carte fille MZ-80A | MZ80A | Modes d’affichage 40/80 colonnes ; support ROM Filing System (RFS) ; chargement de fichiers MZF depuis carte SD |
| Sharp MZ-700 | Carte fille MZ-700 | MZ700 | Commutation de banques ; emulation video et clavier ; carte memoire MZ-700 complete |
| Sharp MZ-2000 | Carte fille MZ-2000 | MZ2000 | Support memoire etendue ; modes video avances ; decodage E/S MZ-2000 |
| Amstrad PCW-8256 | Aucune requise | PCW8256 | Pagination memoire ; E/S Z80 standard ; pas de carte fille video/audio necessaire |
Si vous n'etes pas sur de la variante CPLD programmee sur votre carte, consultez le Guide technique pour les instructions de lecture de l'identifiant du composant CPLD et de confirmation de la conception programmee. Une carte FusionX correctement livree est pre-programmee avec la variante CPLD correspondant a la configuration de machine hote commandee.
Configuration initiale
Suivez attentivement ces etapes pour installer et configurer le FusionX dans votre machine hote pour la premiere fois. Les etapes marquees [Specifique a l'hote] varient selon votre machine hote cible. Les etapes marquees [Commun] s'appliquent a tous les hotes supportes.
Construction a partir des sources (optionnel). Une carte prete a l'emploi arrive avec le CPLD et le firmware du SOM deja programmes, de sorte que la plupart des utilisateurs peuvent passer directement a l'Etape 1. Si vous souhaitez construire vous-meme le firmware, les ROMs, les bit streams du CPLD ou l'image SD Linux, le depot fournit un script d'installation autonome pour chaque plateforme —
setup_FusionX.sh (Linux / macOS) ou setup_FusionX_windows.cmd / setup_FusionX_windows_native.ps1 (Windows 10/11, sans WSL2). Chacun installe les outils, clone le depot avec ses sous-modules, recupere le bundle de contenu et lance la premiere construction via build.sh. Consultez le Guide technique et le Guide du developpeur pour la reference complete de la configuration automatisee et de la construction.
Etape 1 — Verifier la variante CPLD [Commun]
Avant d'installer le FusionX, confirmez que le CPLD est programme avec la variante correcte pour votre machine hote. Chaque variante CPLD (MZ80A, MZ700, MZ2000, PCW8256) est compilee comme un projet Quartus II separe et produit un fichier de programmation
.pof different. Une carte livree avec une variante CPLD incorrecte ne s'interfacera pas correctement avec le bus de la machine hote et pourra produire un comportement inattendu ou aucune sortie.
Une carte FusionX correctement livree a le CPLD pre-programme pour votre machine hote commandee. Si vous avez construit a partir des sources, recu une carte vierge ou devez changer la machine hote cible, consultez le Guide technique pour les instructions de programmation du CPLD en utilisant le connecteur JTAG 10 broches et un USB-Blaster ou un programmateur compatible.
Etape 2 — Installer la carte fille correcte [Specifique a l'hote]
Si votre machine hote est un Sharp MZ-80A, MZ-700 ou MZ-2000, vous devez installer la carte fille appropriee sur la carte principale FusionX avant l'installation. La carte fille doit correspondre exactement a votre machine hote — consultez le tableau dans la section Machines hotes supportees ci-dessus.
Connectez le cable plat de la carte fille et les connecteurs discrets a la carte principale FusionX comme indique par les marquages serigraphiques sur les deux cartes. Ensuite, routez les connecteurs cote hote de la carte fille vers les points appropriés sur les circuits video et audio de la machine hote. Les points de connexion specifiques pour chaque machine hote sont decrits dans la documentation specifique a l'hote disponible depuis les pages du projet liees dans la section Sites de reference.
Si votre machine hote est un Amstrad PCW-8256, sautez cette etape — aucune carte fille n'est requise.
Etape 3 — Installer dans la machine hote [Commun]
Eteignez completement la machine hote et debranchez-la du secteur.
Ouvrez le boitier de la machine hote pour acceder a la carte mere. Localisez le processeur Z80 dans son socle DIP-40. Retirez soigneusement le processeur Z80 en utilisant un outil d'extraction de CI, en prenant soin de ne pas plier les broches du processeur (que vous souhaiterez peut-etre conserver) ou d'endommager le socle.
Inserez la carte FusionX dans le socle DIP-40 libere. La broche 1 de la carte FusionX doit etre alignee avec la broche 1 du socle. La broche 1 est clairement marquee sur la serigraphie du PCB FusionX. Un mauvais alignement de la broche 1 causera un fonctionnement incorrect et pourra endommager la machine hote ou la carte FusionX.
Appuyez fermement et uniformement la carte FusionX dans le socle, en vous assurant que les 40 broches sont completement inserees. Inspectez visuellement les quatre cotes du socle DIP-40 pour confirmer qu'aucune broche n'est pliee ou manquante dans le socle.
Etape 4 — Connecter l'adaptateur USB-Serie [Commun]
Pour la configuration initiale et l'administration continue, connectez un cable USB de votre PC au connecteur USB-serie CH340E sur la carte FusionX. Ce cable fournit l'acces a la console Linux fonctionnant sur le SOM.
Votre PC doit avoir le pilote USB-serie CH340E (ou CH34x) installe. Sous Linux et macOS, ce pilote est generalement inclus dans le noyau. Sous Windows, vous devrez peut-etre installer le pilote CH340 depuis le fabricant ou une source tierce.
Configurez votre emulateur de terminal (par ex. PuTTY, minicom, screen) avec les parametres suivants :
- Debit en bauds : 115200
- Bits de donnees : 8
- Parite : Aucune
- Bits d'arret : 1
- Controle de flux : Aucun
Etape 5 — Mise sous tension [Commun]
Avec le FusionX installe, la carte fille connectee (si applicable) et le cable USB-serie branche, rebranchez la machine hote au secteur et allumez-la.
Le SOM FusionX commencera immediatement le demarrage de Linux. La sequence de demarrage Linux complete prend environ 10 a 15 secondes. Pendant ce temps, vous verrez des messages de demarrage sur la console USB-serie. Une fois la sequence de demarrage terminee, l'ecran et le clavier de la machine hote seront initialises sous le controle de la couche d'emulation Z80.
L'ecran de la machine hote devrait afficher l'ecran de demarrage attendu pour votre hote (par ex. l'invite du moniteur Sharp MZ-80A ou l'ecran de demarrage du MZ-700), selon l'image ROM chargee par le script de demarrage.
Etape 6 — Acceder a la console Linux [Commun]
Une fois que le SOM a termine le demarrage, ouvrez votre emulateur de terminal et connectez-vous au port USB-serie. Vous devriez voir l'invite de connexion Linux.
Le clavier et l'ecran de la machine hote sont egalement mappes sur un peripherique terminal virtuel Linux
/dev/ttymz0 via le pilote noyau ttymzdrv. Cela signifie que le clavier et l'ecran de l'hote peuvent servir de console Linux ainsi que de terminal d'emulation Z80. Le daemon arbitre sharpbiter gere la commutation entre la session d'emulation Z80 et la console Linux sur ce materiel partage.
Connectez-vous en utilisant les identifiants Linux configures. Depuis le shell, vous pouvez gerer l'emulation Z80, configurer le WiFi, acceder a la carte SD et effectuer toutes les taches administratives.
Modes de demarrage de la machine
Le FusionX fournit trois scripts de demarrage qui configurent l'environnement d'emulation Z80 pour differents modes operationnels. Chaque script charge les modules noyau et images ROM appropries, puis demarre l'emulation Z80 avec le mode selectionne actif.
Demarrage general — start_FusionX.sh
Le script de demarrage general effectue la sequence suivante :
- Charge le module noyau
ttymzdrv, qui mappe le clavier et l'ecran de l'hote sur/dev/ttymz0. - Isole le CPU1 du planificateur Linux en utilisant
isolcpus, le reservant exclusivement pour la boucle d'emulation Z80. - Charge le module noyau
z80drv, qui initialise le moteur d'emulation Z80 et l'interface de bus CPLD. - Demarre l'emulation Z80 en utilisant l'image ROM par defaut et la configuration materielle pour la variante CPLD installee.
Ce mode convient a une utilisation generale ou vous souhaitez que la machine hote demarre dans son environnement firmware standard (par ex. le moniteur MZ-80A, le BASIC MZ-700 ou le moniteur MZ-2000).
sudo /opt/fusionx/start_FusionX.sh
Mode ROM Filing System — startZ80_RFS.sh
Ce script demarre l'emulation Z80 en mode ROM Filing System (RFS), principalement concu pour le Sharp MZ-80A. En mode RFS :
- Les pages ROM commutables sont activees, permettant de commuter plusieurs images ROM dans et hors de l'espace d'adressage Z80 a l'execution.
- Les fichiers programme MZF stockes sur la carte SD peuvent etre charges directement en memoire Z80 et executes sans necessiter une interface de cassette.
- Le systeme de fichiers ROM fournit une interface pilotee par menu sur l'ecran de l'hote pour selectionner et charger des programmes.
sudo /opt/fusionx/startZ80_RFS.sh
Mode tranZPUter Filing System — startZ80_TZFS.sh
Ce script demarre l'emulation Z80 en mode tranZPUter Filing System (TZFS), qui implemente le comportement du coprocesseur virtuel K64F du materiel tranZPUter d'origine. En mode TZFS, le FusionX emule les fonctionnalites etendues de systeme de fichiers et de gestion memoire originalement fournies par le microcontroleur K64F sur la carte tranZPUter SW.
sudo /opt/fusionx/startZ80_TZFS.sh
Basculer entre les modes de demarrage
Pour passer d'un mode de demarrage a un autre, arretez l'emulation Z80 et le module noyau en cours d'execution, puis executez le script de demarrage souhaite :
z80ctrl --stop sudo rmmod z80drv sudo /opt/fusionx/startZ80_TZFS.sh
Le module
ttymzdrv n'a pas besoin d'etre decharge entre les changements de mode — seul z80drv doit etre recharge avec la nouvelle configuration.
Utilisation de l'emulateur Z80
L'utilitaire en ligne de commande
z80ctrl est l'interface espace utilisateur principale pour controler le moteur d'emulation Z80 fonctionnant dans le module noyau z80drv. Il communique avec le module noyau via un peripherique caractere et expose un ensemble complet de commandes pour charger des images ROM, gerer les peripheriques materiels virtuels, controler l'etat de l'emulation, inspecter la memoire et charger des fichiers programme MZF.
Charger une image ROM
Chargez une image ROM binaire dans l'espace d'adressage Z80 emule a une adresse specifiee. Le parametre
--size specifie la taille de la region ROM en octets (hexadecimal).
z80ctrl --loadrom /path/to/rom.bin --addr 0xE800 --size 0x2000
Ajouter un peripherique materiel virtuel
Enregistrez un module de peripherique materiel virtuel aupres du moteur d'emulation Z80. Le parametre
--device specifie le nom du module de peripherique, qui doit correspondre a un module materiel virtuel compile pour la machine hote cible.
z80ctrl --adddev --device mz80a
Demarrer et arreter l'emulation
Demarrez la boucle d'emulation Z80 sur le CPU1. L'emulateur commencera a recuperer et executer les instructions Z80 depuis l'espace d'adressage, avec les cycles de bus reflechis a travers le CPLD vers le bus de la machine hote.
z80ctrl --start
Arretez la boucle d'emulation Z80. Le bus de la machine hote sera libere et le CPLD mettra ses sorties en tri-etat.
z80ctrl --stop
Inspecter la memoire
Affichez une region de l'espace d'adressage Z80 emule sur la console au format hexadecimal et ASCII. C'est utile pour deboguer le contenu des ROM, inspecter l'etat de la RAM ou verifier qu'une image ROM a ete chargee correctement.
z80ctrl --dump --addr 0x0000 --size 256
Charger un programme MZF
Chargez un fichier programme au format Sharp MZF directement dans l'espace d'adressage Z80 emule. L'en-tete MZF est analyse pour determiner l'adresse de chargement et le point d'entree. Apres le chargement, le compteur de programme Z80 est positionne au point d'entree MZF et l'execution commence a partir de la.
z80ctrl --loadmzf /sd/programs/test.mzf
Basculer entre la console Z80 et Linux
Le FusionX utilise une approche en couches pour partager le clavier et l'ecran de la machine hote entre la session d'emulation Z80 et la console Linux.
Le pilote noyau
ttymzdrv presente le clavier et l'ecran de la machine hote comme le peripherique terminal Linux /dev/ttymz0. Le moteur d'emulation Z80 et la console Linux peuvent tous deux adresser ce peripherique. Le daemon arbitre sharpbiter arbitre entre ces deux consommateurs, garantissant qu'un seul est actif a la fois et que la commutation entre eux est propre et non destructive pour l'une ou l'autre session.
Suspendre la session Z80 pour acceder a la console Linux
Pour suspendre la session d'emulation Z80 et basculer vers la console Linux sur le clavier/ecran de l'hote, appuyez sur la sequence de touches d'echappement specifique a l'hote. La sequence de touches varie selon la machine hote et est configuree dans le fichier de configuration du daemon
sharpbiter. Consultez la documentation specifique a votre hote pour la sequence exacte.
Alternativement, vous pouvez toujours acceder a la console Linux a tout moment via la connexion USB-serie, quel que soit l'etat actuel de la session Z80 sur l'ecran de l'hote.
Retourner a la session Z80
Pour redonner le controle de l'ecran et du clavier de l'hote a la session d'emulation Z80, emettez la commande de reprise depuis la console Linux :
sharpbiter --resume
L'ecran de l'hote retournera immediatement a la session Z80. Toute activite de la console Linux pendant la periode de suspension est preservee dans le tampon du terminal et peut etre consultee apres la prochaine suspension.
Configuration WiFi
Le SOM SigmaStar SSD202D integre le module WiFi SSW101B 802.11 b/g/n (2,4 GHz). Une fois configure, le WiFi fournit un acces SSH a l'environnement Linux du FusionX, permettant une gestion sans fil sans necessiter le cable USB-serie pour l'administration de routine.
La configuration WiFi est effectuee via la console USB-serie en utilisant les outils reseau Linux standard. Assurez-vous que l'antenne WiFi externe est connectee au connecteur IPEX/U.FL sur la carte FusionX avant de tenter la configuration WiFi.
Configurer le WiFi avec wpa_supplicant
Editez le fichier de configuration wpa_supplicant pour ajouter vos identifiants reseau :
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ajoutez un bloc reseau pour votre point d'acces :
network={
ssid="YourNetworkName"
psk="YourNetworkPassword"
key_mgmt=WPA-PSK
}
Enregistrez le fichier et activez l'interface sans fil :
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf sudo udhcpc -i wlan0
Acces SSH
Une fois que l'interface WiFi est associee et a obtenu une adresse IP, le serveur OpenSSH fonctionnant sur le FusionX est accessible depuis tout hote sur le meme reseau. Determinez l'adresse IP attribuee :
ip addr show wlan0
Puis connectez-vous depuis votre PC :
ssh fusionx@<ip-address>
Pour rendre la configuration WiFi persistante entre les redemarrages, ajoutez les commandes
wpa_supplicant et udhcpc au script de demarrage systeme ou a la configuration init appropriee de votre distribution Linux.
Carte SD et gestion des fichiers
Le SOM SigmaStar SSD202D comprend un emplacement micro-SD connecte via l'interface SDIO. La carte SD fournit un stockage extensible pour les images ROM, les fichiers programme MZF et les images de mise a jour firmware OTA. Elle n'est pas requise pour le fonctionnement de base mais est fortement recommandee pour stocker les bibliotheques de programmes et pour effectuer les mises a jour OTA.
Montage de la carte SD
Inserez une carte micro-SD formatee (FAT32 ou ext4) dans l'emplacement carte SD du SOM. Le SOM detectera la carte et creera un peripherique bloc, typiquement
/dev/mmcblk1 avec la premiere partition a /dev/mmcblk1p1.
Montez la carte SD au point de montage /mnt/sd :
sudo mkdir -p /mnt/sd sudo mount /dev/mmcblk1p1 /mnt/sd
Pour monter automatiquement la carte SD au demarrage, ajoutez une entree dans
/etc/fstab :
/dev/mmcblk1p1 /mnt/sd vfat defaults,noatime 0 2
Organisation des fichiers
La structure de repertoire recommandee sur la carte SD est :
/mnt/sd/ roms/ - Images ROM binaires (.bin) programs/ - Fichiers programme au format MZF (.mzf) firmware/ - Images de mise a jour firmware OTA
Les images ROM stockees dans
/mnt/sd/roms/ peuvent etre chargees a tout moment en utilisant z80ctrl --loadrom. Les fichiers MZF stockes dans /mnt/sd/programs/ peuvent etre charges en utilisant z80ctrl --loadmzf.
Mises a jour firmware OTA
Les mises a jour firmware over-the-air (OTA) pour le SOM FusionX sont livrees sous forme de fichier image firmware place sur la carte SD. Le processus de demarrage du SOM verifie la presence d'une image firmware valide sur la carte SD au demarrage et effectue automatiquement la mise a jour si une est trouvee.
Pour effectuer une mise a jour OTA :
- Telechargez l'image de mise a jour firmware depuis la page des versions du projet.
- Copiez l'image firmware dans le repertoire
firmware/sur la carte SD. - Inserez la carte SD dans l'emplacement carte SD du SOM.
- Redemarrez la machine hote. Le processus de demarrage du SOM detectera l'image firmware, l'ecrira sur la Flash NAND et redemarrera automatiquement.
- Apres la mise a jour, l'image firmware sur la carte SD est renommee ou supprimee pour empecher les mises a jour repetees lors des demarrages suivants.
N'eteignez pas la machine hote pendant une mise a jour OTA. Interrompre le processus d'ecriture de la Flash NAND peut rendre le SOM non demarrable, necessitant une recuperation via JTAG ou le mode de demarrage serie.
Depannage
L'hote ne demarre pas / ecran vide
Si la machine hote s'allume mais l'ecran reste vide ou affiche une sortie brouillee :
- Verifiez que la broche 1 de la carte FusionX est alignee avec la broche 1 du socle DIP-40. Une orientation incorrecte empechera la carte de fonctionner et pourra endommager la machine hote.
- Confirmez que les 40 broches de la carte FusionX sont completement et correctement inserees dans le socle. Une seule broche pliee ou manquee peut causer une defaillance complete.
- Si vous utilisez une carte fille, confirmez qu'elle est correctement installee et que ses connecteurs cote hote sont attaches aux bons points sur la carte mere de l'hote. Une carte fille mal routee entraînera l'absence de sortie video.
- Confirmez que la variante CPLD correspond a la machine hote. Un CPLD programme avec la mauvaise variante produira une synchronisation de bus incorrecte, resultant en l'absence d'affichage ou une sortie corrompue. Consultez le Guide technique pour la verification de la variante CPLD.
Pas de console Linux sur USB-Serie
Si vous ne voyez aucune sortie sur le terminal USB-serie apres la mise sous tension :
- Confirmez que le pilote USB-serie CH340E/CH34x est installe sur votre PC. Sous Windows, telechargez et installez le pilote depuis la page du fabricant CH340. Sous Linux, executez
lsmod | grep ch341pour confirmer que le pilote est charge. - Confirmez que l'emulateur de terminal est configure a 115200 bauds, 8 bits de donnees, pas de parite, 1 bit d'arret, pas de controle de flux.
- Confirmez que le cable USB est capable de transferer des donnees (pas un cable de charge uniquement). Les cables de charge uniquement ne portent pas les lignes de donnees D+ et D-.
- Verifiez que le port USB-serie n'est pas deja ouvert dans une autre application sur votre PC.
- Essayez un autre port USB sur votre PC. Certains controleurs USB gerent les peripheriques USB-serie pleine vitesse avec plus de fiabilite que d'autres.
L'emulation Z80 ne demarre pas
Si la console Linux est accessible mais l'emulation Z80 ne demarre pas, ou l'ecran de l'hote n'affiche pas l'ecran de demarrage attendu :
- Verifiez si le module noyau
z80drvest charge : executezlsmod | grep z80drv. S'il n'est pas liste, le script de demarrage n'a pas reussi a charger le module. - Consultez le journal du noyau pour les messages d'erreur lors du chargement du module : executez
dmesg | tail -50et recherchez les messages relatifs az80drvouttymzdrv. - Verifiez le script de demarrage pour les erreurs. Executez le script manuellement depuis la console serie et observez toute sortie d'erreur.
- Confirmez que le chemin de l'image ROM specifie dans le script de demarrage est correct et que le fichier existe et est lisible.
Le programme MZF ne se charge pas
Si
z80ctrl --loadmzf echoue ou si le programme ne fonctionne pas correctement apres le chargement :
- Confirmez que la carte SD est montee : executez
mount | grep mmcblk1. Si elle n'est pas montee, montez-la avecsudo mount /dev/mmcblk1p1 /mnt/sd. - Confirmez que le chemin du fichier passe a
z80ctrl --loadmzfest correct et que le fichier existe : executezls -la /mnt/sd/programs/. - Verifiez que le fichier MZF n'est pas corrompu. Un fichier MZF valide a un en-tete de 128 octets commencant par un octet de type de fichier de
0x01(code machine) ou0x02(BASIC). Utilisezxxd /mnt/sd/programs/test.mzf | head -8pour inspecter l'en-tete. - Assurez-vous que l'emulation Z80 est en cours d'execution avant de tenter de charger et d'executer un fichier MZF.
Le WiFi ne se connecte pas
Si l'interface WiFi ne parvient pas a s'associer a votre point d'acces :
- Confirmez que l'antenne WiFi externe est connectee au connecteur IPEX/U.FL sur la carte FusionX. Utiliser le module SSW101B sans antenne peut resulter en un signal extremement faible ou une incapacite totale a s'associer.
- Verifiez que le SSID et la phrase secrete dans
/etc/wpa_supplicant/wpa_supplicant.confsont corrects. Les deux sont sensibles a la casse. - Verifiez le journal wpa_supplicant pour les erreurs d'association : executez
wpa_cli statusou inspectezdmesg | grep -i wlanpour les messages d'erreur. - Confirmez que votre point d'acces fonctionne sur la bande 2,4 GHz. Le SSW101B ne supporte pas les reseaux 5 GHz.
La machine fonctionne trop vite / erreurs de timing
Si la machine hote presente des anomalies de timing — telles que des programmes fonctionnant a des vitesses incorrectes, une repetition automatique du clavier anormale ou des defaillances de timing des E/S materielles — la cause la plus probable est une non-correspondance de variante CPLD :
- Confirmez que la variante CPLD correspond exactement a la machine hote. Chaque machine hote supportee necessite une variante CPLD specifique compilee dans Quartus II. Consultez le tableau des machines hotes supportees ci-dessus pour l'identifiant de variante correct.
- Si le CPLD a ete recemment reprogramme, confirmez que le fichier
.pofcorrect a ete utilise. Consultez le Guide technique pour les procedures de programmation et de verification de variante CPLD. - Si la variante CPLD correcte est confirmee, verifiez la configuration d'horloge de l'emulation Z80. Le module
z80drvpeut necessiter un ajustement de son parametre de diviseur d'horloge pour la frequence d'horloge Z80 attendue de votre machine hote specifique.
Sites de reference
Les ressources suivantes fournissent des informations techniques supplementaires, de la documentation de projet et des references externes pertinentes pour le tranZPUter FusionX.
| Ressource | Emplacement |
|---|---|
| Page du projet tranZPUter FusionX | /tranzputer-fusionx/ |
| Guide technique FusionX | /tranzputer-fusionx-technicalguide/ |
| Guide du developpeur FusionX | /tranzputer-fusionx-developersguide/ |
| Page produit SigmaStar SSD202 | www.sigmastar.com.tw |
| Fiche technique Altera MAX7000AE | Documentation Intel/Altera Legacy |
| Bibliotheque d’emulation Zeta Z80 | github.com/redcode/Zeta |
| Reference serie Sharp MZ | sharpmz.org |
Avis reglementaire sans fil
Cet appareil integre un emetteur-recepteur sans fil SSW101B 2,4 GHz IEEE 802.11 b/g/n (integre dans le SOM SigmaStar SSD202), ce qui en fait un emetteur intentionnel au regard des reglementations radiofrequences mondiales (y compris la FCC Part 15 Subpart C aux Etats-Unis et la Directive sur les equipements radioelectriques 2014/53/EU dans l'Union europeenne).
Bien que le module SOM porte des certifications reglementaires preexistantes, ces certifications au niveau du module ne s'etendent pas automatiquement a un produit fini qui incorpore le module. L'exemption de module pre-certifie permet aux hobbyistes individuels de construire un nombre limite d'appareils a des fins personnelles, experimentales ou educatives sans obtenir une autorisation d'equipement separee.
Limitations importantes
Il est de la seule responsabilite du constructeur de s'assurer que tout appareil construit a partir de ces conceptions est conforme a toutes les reglementations radiofrequences applicables dans sa juridiction. L'auteur fournit ces conceptions a des fins personnelles, educatives et de loisir et ne fait aucune declaration indiquant qu'un appareil construit a partir de celles-ci satisfait aux exigences reglementaires pour la distribution commerciale.
- Les appareils assembles ne doivent pas etre vendus, proposes a la vente, offerts ou autrement distribues a des tiers a moins que le produit fini n'ait ete teste independamment et n'ait obtenu sa propre autorisation d'equipement (par ex. FCC ID, marquage CE avec evaluation par un organisme notifie) dans la juridiction concernee.
- La construction de ce projet a des fins personnelles en quantites limitees est generalement autorisee en vertu des dispositions pour hobbyistes et usage experimental (par ex. FCC § 15.23), a condition que l'appareil ne cause pas d'interference nuisible.
- Les exigences reglementaires varient selon les pays. Les constructeurs en dehors des Etats-Unis doivent consulter leur autorite nationale de radiofrequences pour les regles applicables.
Il est de la seule responsabilite du constructeur de s'assurer que tout appareil construit a partir de ces conceptions est conforme a toutes les reglementations radiofrequences applicables dans sa juridiction. L'auteur fournit ces conceptions a des fins personnelles, educatives et de loisir et ne fait aucune declaration indiquant qu'un appareil construit a partir de celles-ci satisfait aux exigences reglementaires pour la distribution commerciale.