Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cursos:z88dk:contenidos [09-08-2007 13:29]
sromero
cursos:z88dk:contenidos [24-02-2020 20:23] (actual)
falvarez
Línea 1: Línea 1:
 +Publicado originalmente en [[https://magazinezx.speccy.org/06/z88dk.html|MagazineZX número 6]] (marzo 2004)
  
 ====== Introducción a Z88DK (II) ====== ====== Introducción a Z88DK (II) ======
Línea 4: Línea 5:
 ===== Contenidos de Z88DK ===== ===== Contenidos de Z88DK =====
  
-No, en esta ocasión no va mos a hablar de qué contiene cada directorio de la instalación de z88dk, o cuál es la función de cada uno de los ejecutables. Vamos a intentar enumerar qué es lo que nos proporciona z88dk a nivel de código, es decir, a nivel de librería. Esto es necesario porque la documentación es bastante pobre en lo que respecta a la descripción de las funciones que podemos utilizar, o de los archivos .h y su contenido. De hecho, este punto no se explica en absoluto, por lo que en un primer momento somos incapaces de determinar las posibilidades que se nos ofrecen.+No, en esta ocasión no vamos a hablar de qué contiene cada directorio de la instalación de z88dk, o cuál es la función de cada uno de los ejecutables. Vamos a intentar enumerar qué es lo que nos proporciona z88dk a nivel de código, es decir, a nivel de librería. Esto es necesario porque la documentación es bastante pobre en lo que respecta a la descripción de las funciones que podemos utilizar, o de los archivos .h y su contenido. De hecho, este punto no se explica en absoluto, por lo que en un primer momento somos incapaces de determinar las posibilidades que se nos ofrecen.
  
  Sin duda alguna, el lugar donde más información encontraremos sobre las funciones disponibles es en los archivos de cabecera (archivos .h). Ya se comentó en la anterior entrega que no era la intención de esta serie de artículos el explicar los entresijos del lenguaje C, pues hay en la red tutoriales muy buenos sobre el tema, y además no acabaríamos nunca. Baste con decir que los archivos de cabecera nos proporcionan los prototipos de las funciones (nombre y parámetros) y la definición de las variables que la librería pone a nuestra disposición. Deberemos incluir en nuestro código los archivos de cabecera que contengan las funciones que queramos utilizar para que durante el proceso de compilación se enlace con la parte de la librería adecuada.  Sin duda alguna, el lugar donde más información encontraremos sobre las funciones disponibles es en los archivos de cabecera (archivos .h). Ya se comentó en la anterior entrega que no era la intención de esta serie de artículos el explicar los entresijos del lenguaje C, pues hay en la red tutoriales muy buenos sobre el tema, y además no acabaríamos nunca. Baste con decir que los archivos de cabecera nos proporcionan los prototipos de las funciones (nombre y parámetros) y la definición de las variables que la librería pone a nuestra disposición. Deberemos incluir en nuestro código los archivos de cabecera que contengan las funciones que queramos utilizar para que durante el proceso de compilación se enlace con la parte de la librería adecuada.
Línea 24: Línea 25:
  
 {{ cursos:z88dk:z88dk2_1.png |Uno de los sencillos ejemplos que acompañan a z88dk. El texto en acción.}} {{ cursos:z88dk:z88dk2_1.png |Uno de los sencillos ejemplos que acompañan a z88dk. El texto en acción.}}
-      +
  
     * **ctype.h**: funciones para el manejo de carácteres. Permiten comprobar si un carácter es un ASCII, es un carácter de control, es numérico, es alfanumérico, es imprimible, está en mayúsculas o minúsculas, etc. También se permite pasar un carácter a mayúsculas o minúsculas.     * **ctype.h**: funciones para el manejo de carácteres. Permiten comprobar si un carácter es un ASCII, es un carácter de control, es numérico, es alfanumérico, es imprimible, está en mayúsculas o minúsculas, etc. También se permite pasar un carácter a mayúsculas o minúsculas.
Línea 33: Línea 34:
     * **graphics.h**: rutinas gráficas básicas; dibujo de líneas, círculos, cajas, puntos, rellenar figuras, borrar puntos, borrado de la pantalla (o un área de la misma). Se permite tambien el empleo de XOR con puntos. El XOR es una operación lógica que devuelve 1 si los dos operandos son distintos. Se suele utilizar en gráficos para realizar mascaras, o para dibujar y borrar sprites. Al final del fichero hay unas funciones no utilizables por el Spectrum, como por ejemplo una para crear ventanas. Como se puede observar, la mayoría de las rutinas gráficas de graphics.h se refieren al dibujo de primitivas, lo cual se puede realizar sin ningún problema en BASIC, por lo que en un principio parece bastante limitado.     * **graphics.h**: rutinas gráficas básicas; dibujo de líneas, círculos, cajas, puntos, rellenar figuras, borrar puntos, borrado de la pantalla (o un área de la misma). Se permite tambien el empleo de XOR con puntos. El XOR es una operación lógica que devuelve 1 si los dos operandos son distintos. Se suele utilizar en gráficos para realizar mascaras, o para dibujar y borrar sprites. Al final del fichero hay unas funciones no utilizables por el Spectrum, como por ejemplo una para crear ventanas. Como se puede observar, la mayoría de las rutinas gráficas de graphics.h se refieren al dibujo de primitivas, lo cual se puede realizar sin ningún problema en BASIC, por lo que en un principio parece bastante limitado.
  
-       
 {{ cursos:z88dk:z88dk2_3.png |Desde sencillas rutinas gráficas que podríamos crear con el BASIC gracias a graphics.h...}} {{ cursos:z88dk:z88dk2_3.png |Desde sencillas rutinas gráficas que podríamos crear con el BASIC gracias a graphics.h...}}
-      +
  
     * **sound.h**: rutinas para sonido de 1 bit, es decir, nada de polifonías. Esto, una vez más (como en el caso de graphics.h) es bastante limitado. Se puede producir un sonido durante un tiempo determinado, ya sea indicando periodo o frecuencia. También se pueden hacer sonar notas sucesivas mediante una función que acepta como parámetro una cadena, que represente la melodía.     * **sound.h**: rutinas para sonido de 1 bit, es decir, nada de polifonías. Esto, una vez más (como en el caso de graphics.h) es bastante limitado. Se puede producir un sonido durante un tiempo determinado, ya sea indicando periodo o frecuencia. También se pueden hacer sonar notas sucesivas mediante una función que acepta como parámetro una cadena, que represente la melodía.
Línea 41: Línea 41:
  
 {{ cursos:z88dk:z88dk2_2.png |... hasta cosas más complicadas, e incluso sprites, gracias a games.h.}} {{ cursos:z88dk:z88dk2_2.png |... hasta cosas más complicadas, e incluso sprites, gracias a games.h.}}
-      +
  
     * **rs232.h**: para el manejo del interfaz serie. El spectrum dispone de uno de estos. Aplicaciones de esto las podemos encontrar en internet, como la conexión mediante RS232 entre un Sinclair QL y un Spectrum o el terminal Spectrum que en su día intento llevar a cabo Santiago Romero.     * **rs232.h**: para el manejo del interfaz serie. El spectrum dispone de uno de estos. Aplicaciones de esto las podemos encontrar en internet, como la conexión mediante RS232 entre un Sinclair QL y un Spectrum o el terminal Spectrum que en su día intento llevar a cabo Santiago Romero.