Página 1 de 1

Cómo compilar con Z88DK

Publicado: 19 Ago 2018, 15:55
por Bubu
¡Jarl, torpedos!

Resulta que quería indagar en cómo pogramar algo simple en C y que se ejecute en el Spectrum, para ello utilizaría Z88DK. Pero resulta que no tengo c# de que compile nada, como era de esperar, pues estas cosas siempre petan por las rutas y las variables de entorno, etc, etc.
Resulta que tengo este script de compilación:

Código: Seleccionar todo

set Z88DK_PATH=c:\BUBU\ZX\z88dk10
set PATH=%Z88DK_PATH%\bin;%PATH%
set Z80_OZFILES=%Z88DK_PATH%\Lib\
set ZCCCFG=%Z88DK_PATH%\Lib\Config\
zcc +zx -vn prueba.c -o prueba.bin -lndos -zorg=24200


Este BAT está en la misma carpeta que prueba.c, y lo ejecuto desde ahí. Mi sistema nativo es Window$ 7, y el error que da al ejecutarlo es el siguiente:

Código: Seleccionar todo

El sistema no puede encontrar la ruta especificada.
Cannot copy crt0 file


¿Qué p# ruta es la que no encuentra? ¿Cómo podría saberlo? ¿Por qué no puede copiar el crt0, que ni sé andandará?

Thanx in advance!!

Re: Cómo compilar con Z88DK

Publicado: 19 Ago 2018, 16:26
por Bubu
Resuelto.

Y era lo que me temía, por muchas variables de entorno que definas, al final no valen pa ná. La carpeta Z88DK10 hay que ponerla direstamente en la raíz C:\, nada de meterla en subcarpetas.

Re: Cómo compilar con Z88DK

Publicado: 20 Ago 2018, 13:24
por radastan
Efectivamente, las variables de sistema ya no sirven. Por eso me hice un BAT con todo lo necesario para compilar en Z88DK:

http://www.bytemaniacos.com/ficheros/zxspectrum/

Cógelo de cursoz88dk.zip

Re: Cómo compilar con Z88DK

Publicado: 20 Ago 2018, 18:03
por Bubu
¡Hola, radastan! Efestivamente acabo de leer en tu PDF lo siguiente:

Se trata de una versión de Z88DK "portable", es decir, no hace falta instalar nada. Sólo descomprime
el fichero tal cual en el directorio raíz C: de tu ordenador. Ojo, descomprimir allí, no en una
subcarpeta. Debería crearse una nueva carpeta llamada z88dk10, y dentro todo el follón de cosas
que trae este compilador.


Así es como hay que hacerlo, direstamente en C:
Pero entóns, ¿cómo es que en tu ejemplo de código usas un BAT con las variables de entonno, si éstas no se usan?