tranZPUter SW-700

English

Este es un documento actualizado sobre el tranZPUter SW-700. Debido a numerosos cambios (por ejemplo, reasignacion de puertos de E/S) en el VHDL y el software de soporte, se considero mejor dejar el documento antiguo intacto y producir un documento actualizado para los cambios mas recientes.

El primer lanzamiento para el hardware v1.3 bajo la rama Git v2.2-tranZPUter-SW-HW_700_v1.3 estaba dirigido a un host Sharp MZ-700 y mejoro significativamente la maquina en terminos de funciones y funcionalidad, demostrando ser confiable y maduro.

Recientemente he portado el proyecto tranZPUter SW-700 a un Sharp MZ-2000 y actualizado significativamente el VHDL para proporcionar no solo un modo de video compatible con MZ-2000 sino tambien la inclusion de la emulacion FPGA de la serie Sharp MZ.

Como el controlador de video se comparte con la emulacion FPGA de la serie Sharp MZ, hereda todas las nuevas capacidades del MZ-2000.

     


Descripcion General

El Sharp MZ-700 esta basado en la CPU Z80 a 3,54 MHz. Es vintage y de bajo rendimiento comparado con los computadores modernos. Ademas de ser parte de la historia, tiene una base de software aun util. Muchos emuladores de software han sido escritos para el Sharp MZ-700, pero hay algo especial en usar el hardware original. Esta es una alternativa que mantiene la maquina original mientras proporciona capacidades de procesamiento adicionales via bus mastering.

tranZPUter SW-700

El tranZPUter obtiene su nombre de: Un compuTADOR ZPU TRANsformable. El tranZPUter SW-700 sigue los disenos tranZPUter / tranZPUter SW e integra adicionalmente la funcionalidad del modulo de video para mejorar el video del host.

Hardware

La base de este diseno radica en el bus mastering del Z80, es decir, la capacidad de desconectar el Z80 del circuito y controlar el hardware del computador restante segun sea necesario. El bus mastering se utiliza para tomar el control del bus Z80 y transferir datos entre la memoria principal y una tarjeta SD o entre el procesador de E/S y el buffer de visualizacion de video.

La forma recomendada de compilar cada bitstream y binario es el script de configuracion automatizada para su plataforma — consulte Configuracion y compilacion automatizada justo debajo. Instala las herramientas, construye las imagenes Docker de Quartus, obtiene las fuentes con los submodulos, y puede ejecutar la primera compilacion por usted. Los pasos manuales de Quartus por dispositivo que siguen son para usuarios avanzados y recompilaciones parciales.

Configuracion y compilacion automatizada (recomendado)

En lugar de instalar las tres versiones diferentes de Quartus, las cadenas de herramientas ARM/Java y Docker manualmente, use el script de configuracion incluido para su plataforma. Comprueba e instala las herramientas base, instala Java (JRE) para el ensamblador GLASS de Z80 y Docker, construye las tres imagenes Docker de Quartus reproducibles, clona el repositorio --recurse-submodules (TZFS, zSoft/zOS, zpu), y luego ofrece ejecutar la primera compilacion (./build.sh -t all). Quartus no se instala en el host — las compilaciones de CPLD y FPGA se ejecutan dentro de las imagenes Docker. Cada script es autonomo: copie el unico archivo para su plataforma y ejecutelo.
Script Platform Notes
setup_tranZPUter.sh Linux / macOS Installs base tools + Java (JRE) + Docker, builds the three Quartus images, clones into ~/tranZPUter, offers ./build.sh -t all.
setup_tranZPUter_windows.cmd Windows 10 / 11 Double-click launcher — runs the .ps1 non-interactively and logs to setup_tranZPUter_log.txt.
setup_tranZPUter_windows_native.ps1 Windows 10 / 11 winget installs Git for Windows + Docker Desktop, builds the Quartus images, clones into %HOME%\tranZPUter, runs ./build.sh -t all via Git Bash.

Linux / macOS:

chmod +x setup_tranZPUter.sh
./setup_tranZPUter.sh

Windows — haga doble clic en setup_tranZPUter_windows.cmd, o desde PowerShell:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_tranZPUter_windows_native.ps1

La configuracion construye tres imagenes Docker de Quartus gratuitas (Web/Lite Edition, sin licencia), una por familia de dispositivos:

Image Quartus Device family Used for
tzpu-quartus:13.0.1 13.0.1 MAX7000AE CPLD CPLD .pof
tzpu-quartus:13.1 13.1 Cyclone III (EP3C25) SW-700 v1.2 FPGA
tzpu-quartus:17.1 17.1 Cyclone IV (EP4CE75 / EP4CE115) SW-700 v1.3 / Fusion FPGA

Una vez configurada, la compilacion se controla mediante build.sh, que ejecuta Quartus de forma nativa si encuentra una version compatible, de lo contrario dentro de las imagenes Docker anteriores (Java/GLASS siempre se ejecuta de forma nativa):

./build.sh -t all        # CPLD + FPGA + software (default: -V v1.3 -M all -D E115 -C emuMZ)
./build.sh -t fpga -V v1.2   # just the v1.2 (Cyclone III) FPGA bitstream
./build.sh -h            # list all targets and options

Las salidas de la compilacion (.pof, .sof, flash de arranque .jic, imagenes ROM/TZFS/CP/M) se recopilan en ./build/output/.

Sobreescrituras utiles de variables de entorno:

Variable (alias) Purpose
TZPU_REPO_URL (tranZPUter_REPO_URL) Repository URL to clone. Default https://git.eaw.app/eaw/tranZPUter.git.
TZPU_DIR (tranZPUter_DIR) Build in an existing checkout instead of cloning.
TZPU_ASSUME_YES (tranZPUter_ASSUME_YES)=1 Non-interactive; accept all defaults.
TZPU_QUARTUS_CPLD_IMAGE (tranZPUter_CPLD_IMAGE) Override the CPLD image (default tzpu-quartus:13.0.1).
TZPU_QUARTUS_C3_IMAGE (tranZPUter_FPGA_IMAGE) Override the Cyclone III image (default tzpu-quartus:13.1).
TZPU_QUARTUS_C4_IMAGE Override the Cyclone IV image (default tzpu-quartus:17.1).

Los pasos manuales de compilacion de Quartus por dispositivo que aparecen debajo siguen siendo totalmente compatibles para usuarios avanzados y recompilaciones parciales.