Z88DK es una colección de herramientas de desarrollo de software dirigidas a la familia de máquinas 8080 y z80. Permite el desarrollo de programas en C, lenguaje ensamblador o cualquier mezcla de ambos. Lo que hace que z88dk sea único es su facilidad de uso, soporte integrado para muchas máquinas z80 y su extenso conjunto de subrutinas de biblioteca en lenguaje ensamblador que implementan el estándar C y sus extensiones.
Hay varias formas de instalar z88dk.
git clone --recursive https://github.com/z88dk/z88dk.git
. Para agregar los submódulos a un clon ya existente, use git submodule update --init --recursive
. Para construir, se deben seguir las siguientes instrucciones. La interfaz de z88dk se llama zcc
, es a esta a la que debes llamar si quieres realizar alguna compilación. Puede procesar archivos C (.c), archivos C preprocesados (.i), archivos C compilados (.asm), archivos compilados optimizados (.opt) o archivos ensamblados (.o), cualquier combinación de ellos se puede mezclar y sobre ellos se realizarán los procesos pertinentes. También se admite el procesamiento de una lista de archivos, donde el procesamiento de cada archivo se realiza por turnos (es decir, preprocesamiento, compilación, optimización, ensamblaje) y, al final, todos los archivos procesados se pueden vincular en un único ejecutable con el formato correcto, si se desea.
Por lo general, no es necesario que un usuario nuevo (o una plataforma establecida) necesite utilizar las otras herramientas individualmente.
Muchas herramientas tienen un prefijo z88dk-
para distinguirlas de herramientas de otros paquetes que pueden estar instalados con el mismo nombre. La documentación generalmente omite el prefijo cuando se refiere a ellos.
zcc
es la parte frontal de la cadena de herramientas. zcc puede generar un binario de salida a partir de cualquier conjunto de archivos fuente de entrada.z88dk-sccz80
es el compilador c nativo de z88dk. sccz80 se deriva de c pequeña pero ha experimentado mucho desarrollo hasta el punto de que es casi compatible con c90.z88dk-zsdcc
es la personalización de z88dk del compilador sdcc. Nuestro parche hace que sdcc sea compatible con la cadena de herramientas z88dk, le da acceso a las extensas bibliotecas de lenguaje ensamblador y crts listos para usar de z88dk, soluciona errores de generación de código cuando están presentes y mejora el código generado por sdcc.z88dk-z80asm
(que no debe confundirse con varios proyectos externos llamados z80asm) es un ensamblador/enlazador/bibliotecario con todas las funciones que implementa secciones.z88dk-z80nm
es el archivador complementario de z80asm. Puede proporcionar una lista de funciones o datos codificados en un objeto o archivo de biblioteca.z88dk-appmake
procesa los archivos binarios sin procesar generados por el kit de herramientas en un formato adecuado para máquinas de destino específicas. Por ejemplo, puede generar archivos Intel hexadecimal, cintas, ROM, etc.z88dk-ticks
es un emulador de línea de comandos que se puede utilizar para cronometrar la velocidad de ejecución de fragmentos de código. Ticks incluye un depurador y un desensamblador.z88dk-gdb
proporciona la interfaz del depurador desde ticks y se conecta a un servidor gdb para permitir la depuración línea por línea del software en emuladores o en hardware real.z88dk-dis
es un desensamblador de línea de comando para 8080, 8085, GBZ80, Z80, Z180, Z80N, EZ80, R800 y Rabbit 2000/3000. Además, puede leer archivos de mapas generados por z80asm para proporcionar una salida más simbólica.z88dk-lib
es un instalador de bibliotecas de terceros. Gestiona la instalación, eliminación y listado de bibliotecas disponibles.z88dk-zx0
y z88dk-zx7
son herramientas de compresión de datos para PC con funciones de descompresión complementarias en la biblioteca z80.z88dk-dzx0
y z88dk-dzx7
son contrapartes de descompresores del lado de PC de z88dk-zx0 y z88dk-zx7.Normalmente, el usuario no invoca directamente estas herramientas:
m4
actúa como preprocesador de macros de z88dk y, opcionalmente, puede procesar archivos antes que el preprocesador o ensamblador de c.z88dk-ucpp
es el preprocesador de c invocado para sccz80 y zsdcc.z88dk-zpragma
para procesar pragmas incrustados en la fuente c.z88dk-copt
es un motor de expresiones regulares que se utiliza como optimizador de mirilla para sccz80 y como herramienta de posprocesamiento tanto para sccz80 como para zsdcc. Las bibliotecas de lenguaje ensamblador proporcionadas por z88dk le brindan ventajas de rendimiento sobre otros compiladores de z80. Para obtener más información, consulte la sección de puntos de referencia en la Wiki.
CMake se puede utilizar para crear proyectos Z88DK (se proporciona una cadena de herramientas). Consulte la wiki de CMake.
Algunas cosas que debes saber:
Cuando forma una línea de compilación, debe decidir qué compilador utilizará y con qué biblioteca C se vinculará. Tomará esa decisión en función de para qué objetivos desea compilar y qué funciones necesita.
La biblioteca c clásica es la biblioteca c principal de z88dk y tiene crts que permiten la generación de programas para más de 100 máquinas diferentes de la familia z80. El nivel de soporte para cada uno está determinado históricamente por el interés del usuario. La documentación comienza aquí y se pueden encontrar programas de ejemplo en z88dk/examples con líneas de compilación que aparecen con mayor frecuencia en la parte superior de los archivos .c. Con el tiempo, ha reemplazado las implementaciones no estándar por aquellas que existen con una nueva biblioteca.
La nueva biblioteca c fue la reescritura de z88dk con el objetivo de lograr un gran subconjunto de conformidad con C11. La mayor parte de la biblioteca estándar ahora se ha incorporado a la versión clásica, sin embargo, todavía admite algunos objetivos que no son compatibles con la versión clásica: hbios, rc2014, scz180, yaz180, así como algunas bibliotecas de terceros incorporadas para algunos objetivos duplicados: sega master system, zx Spectrum y espectro zx a continuación. Además, se puede utilizar un objetivo básico para z180, z80 para compilar programas para cualquier máquina z80. La documentación comienza aquí y se pueden encontrar programas de ejemplo en z88dk/libsrc/_DEVELOPMENT/EXAMPLES con líneas de compilación que aparecen con mayor frecuencia en la parte superior de los archivos .c.
Página de inicio de Z88DK Incluye un enlace a las compilaciones nocturnas donde puede obtener un paquete actualizado.
Instrucciones de instalación
Informe de errores
Introducción a la compilación utilizando los ejemplos de la biblioteca C clásica en z88dk/examples
Introducción a la compilación utilizando los nuevos ejemplos de la biblioteca C en z88dk/libsrc/_DEVELOPMENT/EXAMPLES
El uso de z88dk con el objetivo rc2014 cubre los subtipos cpm, hbios y rc2014.
El uso de z88dk con zx cubre el objetivo zx y, por extensión, el objetivo zxn.