tranZPUter FusionX Manual de Usuario
Descripcion general
El tranZPUterFusionX (FusionX) es un PCB compacto y de alto rendimiento que reemplaza la CPU Z80 en una gama de computadoras domesticas vintage. Al insertarse directamente en el zocalo DIP-40 Z80 de la maquina host, el FusionX toma el control total del bus host mientras proporciona un entorno de computacion moderno completo basado en Linux, todo invisible para el firmware y software original de la maquina host.
La placa esta construida alrededor del SigmaStar SSD202D System-on-Module (SOM), que integra un procesador ARM Cortex-A7 de doble nucleo a 1,2 GHz, 128 MB de LPDDR2 DRAM, 256 MB de SLC NAND Flash y una radio WiFi SSW101B 2,4 GHz 802.11 b/g/n integrada. El SOM ejecuta un kernel Linux 4.9-rt en tiempo real (con parche PREEMPT_RT), proporcionando simultaneamente un entorno Linux completamente funcional y la capa de emulacion Z80.
El emulador Z80 funciona exclusivamente en la CPU1, que se aisla del planificador Linux al inicio usando el mecanismo
isolcpus del kernel. Un modulo del kernel dedicado (z80drv) gestiona el ciclo de emulacion y proporciona la temporizacion precisa al ciclo requerida para ejecutar correctamente el software Z80 original. El emulador se controla desde el espacio de usuario a traves de la utilidad de linea de comandos z80ctrl.
La temporizacion a nivel de bus y la logica de interfaz estan implementadas en un CPLD Altera MAX7000AE, que proporciona una interfaz precisa al ciclo Z80 entre el SOM y los buses de direccion, datos y control de la maquina host.
Nota: La interfaz de gestion web esta actualmente en construccion y no esta disponible en el firmware distribuido. Todas las tareas de gestion y configuracion se realizan a traves de la consola USB-serial y la utilidad de linea de comandos z80ctrl.
Vision general de la placa
El FusionX es un PCB compacto de 4 capas en revision de hardware v1.0. Las dimensiones de la placa estan disenadas para caber dentro de la huella de un zocalo IC DIP-40 estandar mientras aloja el SOM SigmaStar SSD202D y el CPLD Altera MAX7000AE encima.
Conectores y cabezales
- Cabezal JTAG de 10 pines — Para programacion en sistema (ISP) del CPLD.
- Conector USB-Serial (CH340E) — Acceso directo a la consola serial Linux a 115200 baudios, 8N1.
- Puerto USB 2.0 (SOM) — Puerto host USB 2.0 Type-A estandar.
- Ranura de tarjeta SD (SOM) — Ranura micro-SD conectada a la interfaz SDIO del SOM.
- Conector de antena WiFi — Conector coaxial IPEX/U.FL para antena WiFi externa de 2,4 GHz.
Placas hija
- Placa hija MZ-80A — Interfaza las salidas de video y audio del FusionX con la pantalla interna y los circuitos de audio del Sharp MZ-80A.
- Placa hija MZ-700 — Interfaza las salidas de video y audio del FusionX con la pantalla interna y los circuitos de audio del Sharp MZ-700.
- Placa hija MZ-2000 — Interfaza las salidas de video y audio del FusionX con la pantalla interna y los circuitos de audio del Sharp MZ-2000.
El Amstrad PCW-8256 no requiere placa hija.
Maquinas host soportadas
| Maquina host | Placa hija | Variante CPLD | Notas |
|---|---|---|---|
| Sharp MZ-80A | Placa hija MZ-80A | MZ80A | Modos de pantalla 40/80 columnas; soporte ROM Filing System (RFS); carga de archivos MZF desde tarjeta SD |
| Sharp MZ-700 | Placa hija MZ-700 | MZ700 | Conmutacion de bancos; emulacion de video y teclado; mapa de memoria MZ-700 completo |
| Sharp MZ-2000 | Placa hija MZ-2000 | MZ2000 | Soporte de memoria extendida; modos de video avanzados; decodificacion I/O MZ-2000 |
| Amstrad PCW-8256 | No requerida | PCW8256 | Paginacion de memoria; I/O Z80 estandar; no se necesita placa hija de video/audio |
Configuracion inicial
Compilacion desde el codigo fuente (opcional). Una placa lista para usar llega con el firmware del CPLD y del SOM ya programado, por lo que la mayoria de los usuarios pueden pasar directamente al Paso 1. Si desea compilar usted mismo el firmware, las ROMs, los flujos de bits del CPLD o la imagen SD de Linux, el repositorio incluye un script de configuracion autonomo para cada plataforma —
setup_FusionX.sh (Linux / macOS) o setup_FusionX_windows.cmd / setup_FusionX_windows_native.ps1 (Windows 10/11, sin WSL2). Cada uno instala las herramientas, clona el repositorio con sus submodulos, descarga el paquete de contenido y ejecuta la primera compilacion mediante build.sh. Consulte la Guia tecnica y la Guia del desarrollador para la referencia completa de configuracion automatizada y compilacion.
Paso 1 — Verificar la variante CPLD [Comun]
Antes de instalar el FusionX, confirme que el CPLD esta programado con la variante correcta para su maquina host.
Paso 2 — Instalar la placa hija correcta [Especifico del host]
Si su maquina host es un Sharp MZ-80A, MZ-700 o MZ-2000, debe instalar la placa hija apropiada antes de la instalacion. Si su maquina host es un Amstrad PCW-8256, omita este paso.
Paso 3 — Instalar en la maquina host [Comun]
Apague completamente la maquina host y desconectela de la red electrica. Retire cuidadosamente la CPU Z80 de su zocalo DIP-40. Inserte la placa FusionX en el zocalo DIP-40 vacante. El pin 1 de la placa FusionX debe alinearse con el pin 1 del zocalo.
Paso 4 — Conectar el adaptador USB-Serial [Comun]
Conecte un cable USB desde su PC al conector USB-serial CH340E en la placa FusionX. Configure su emulador de terminal con:
- Velocidad en baudios: 115200
- Bits de datos: 8
- Paridad: Ninguna
- Bits de parada: 1
- Control de flujo: Ninguno
Paso 5 — Encendido [Comun]
La secuencia completa de arranque de Linux toma aproximadamente 10-15 segundos.
Modos de inicio de la maquina
sudo /opt/fusionx/start_FusionX.sh sudo /opt/fusionx/startZ80_RFS.sh sudo /opt/fusionx/startZ80_TZFS.sh
Uso del emulador Z80
La utilidad de linea de comandos
z80ctrl es la interfaz principal del espacio de usuario para controlar el motor de emulacion Z80.
z80ctrl --loadrom /path/to/rom.bin --addr 0xE800 --size 0x2000 z80ctrl --adddev --device mz80a z80ctrl --start z80ctrl --stop z80ctrl --dump --addr 0x0000 --size 256 z80ctrl --loadmzf /sd/programs/test.mzf
Conmutacion entre consola Z80 y Linux
El FusionX utiliza un enfoque en capas para compartir el teclado y la pantalla de la maquina host entre la sesion de emulacion Z80 y la consola Linux. El daemon arbitro
sharpbiter arbitra entre ambos consumidores.
sharpbiter --resume
Configuracion WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="YourNetworkName"
psk="YourNetworkPassword"
key_mgmt=WPA-PSK
}
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf sudo udhcpc -i wlan0
Tarjeta SD y gestion de archivos
sudo mkdir -p /mnt/sd sudo mount /dev/mmcblk1p1 /mnt/sd
Solucion de problemas
El host no inicia / pantalla en blanco
- Verifique que el pin 1 de la placa FusionX este alineado con el pin 1 del zocalo DIP-40.
- Confirme que los 40 pines de la placa FusionX esten completamente insertados en el zocalo.
- Si usa una placa hija, confirme que este correctamente instalada.
- Confirme que la variante CPLD coincida con la maquina host.
Sin consola Linux en USB-Serial
- Confirme que el controlador USB-serial CH340E/CH34x este instalado en su PC.
- Confirme 115200 baudios, 8 bits de datos, sin paridad, 1 bit de parada, sin control de flujo.
- Confirme que el cable USB sea capaz de transferir datos (no un cable de solo carga).
Sitios de referencia
| Recurso | Ubicacion |
|---|---|
| Pagina del proyecto tranZPUter FusionX | /tranzputer-fusionx/ |
| Guia tecnica FusionX | /tranzputer-fusionx-technicalguide/ |
| Guia del desarrollador FusionX | /tranzputer-fusionx-developersguide/ |
Aviso regulatorio inalambrico
Este dispositivo incorpora un transceptor inalambrico SSW101B 2,4 GHz IEEE 802.11 b/g/n (integrado en el SOM SigmaStar SSD202), lo que lo convierte en un emisor intencional bajo las regulaciones de radiofrecuencia a nivel mundial.
Responsabilidad del constructor
Es responsabilidad exclusiva del constructor asegurar que cualquier dispositivo construido a partir de estos disenos cumpla con todas las regulaciones de radiofrecuencia aplicables en su jurisdiccion.
Es responsabilidad exclusiva del constructor asegurar que cualquier dispositivo construido a partir de estos disenos cumpla con todas las regulaciones de radiofrecuencia aplicables en su jurisdiccion.