"El habla se encontraba aún a una distancia de un millón de años,
pero habían sido dados los primeros pasos hacia ella."
Arthur C. Clark  

Editor gráfico cruzado para el diseño de pantallas utilizables en el ordenador ZX-Spectrum de Sinclair mediante generación automática de código BASIC-ZX

           · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · ·


Aplicación de ingeniería inversa
[el código se genera a partir del diseño]

Versión disponible: 9.03B
· CORREGIDOS ERRORES VARIOS EN CODIGO RESULTANTE
· exportación directa a archivo .TAP
· mejoras en el GDU generator
[versión funcional en fase Beta avanzada]
REVISION LAST: 20.06.2017


Incluido en la descarga de ZX-Draw el videojuego tipo para Spectrum-48K
EL CHATARRERO GALACTICO
con el que podrás conseguir la
GUIA RAPIDA DE DESARROLLO DE VIDEOJUEGOS PARA ZX-SPECTRUM

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Indice de contenidos de la web de
Génesis del proyecto
Introducción, requisitos y licencia del software
Primeras impresiones como software experimental y posible proyección futura
Comenzando a trabajar con
Caso práctico de ejemplo
Consulta dudas al autor, sugerencias, donativos ...
Descarga de la aplicación completa en formato ZIP
Otros contenidos de interés ...

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

GÉNESIS DE LA UTILIDAD

Cuando descubrí 'El Mundo del Spectrum' despertaron en mi sensaciones que llevaban dormidas más de 30 años. Las mariposas volvieron a revolotear en mi estómago y el que un día fuera el proyecto de mi vida volvió a resurgir con más fuerza que nunca: el desarrollo de un videojuego para ZX-Spectrum iniciado y abandonado a mediados de la mítica década de los ochenta.

Casualmente, el empeño de intentar proseguir con el desarrollo de ese videojuego en solitario (el cual espero concluir algún día;) y el toparme con un obstáculo como era el diseño del mapamundi que en su día costó sudor y lágrimas a mi viejo y buen amigo Gordo (autor de la idea original del videojuego) pero cuyo código se perdió definitivamente en la noche de los tiempos, me ha llevado a crear ZX-Draw, ¿Por qué?

Cualquier programador de ordenadores de 8 bits es conocedor del engorro que puede suponer el diseño gráfico básico por computador, sobre todo a la hora de implementar ese diseño en algún programa o juego. Si a ello añadimos que el sistema de trazado utilizado en ZX-BASIC es aún más retorcido si cabe (solo superado por el BASIC del Commodore-64), es de esperar que una sencilla utilidad como ZX-Draw facilite y apoye al desarrollador o usuario en el diseño de imágenes estáticas y en la generación automática de su código mediante lo que podríamos denominar "ingeniería inversa", es decir, el código se genera a partir de nuestro diseño y no al revés como cabría esperar.

El concepto de ZX-Draw está inspirado y aprovecha el ancestral método de dibujo mediante papel carbón, ya sabes, la vieja técnica de dibujar calcando ;)) de manera que a mí, ya me ha servido para trazar el detallado mapamundi que necesitaba en apenas unas horas, algo que ni siquiera podía soñar hace unos días. Es como si convirtieras tu ratón es una especie de "lápiz óptico" que te permitirá, ayudado de una plantilla o de forma libre, trazo a trazo, dibujar sobre una pantalla simulada pero cuyo trabajo podrás luego migrar e integrar en tus propios programas en forma de código BASIC nativo (exactamente igual que si lo hubieras escrito tú) para que pueda correr sobre un ZX-Spectrum real o emulado.

Básicamente, ZX-Draw está destinado a facilitar la ardua tarea que puede suponer el diseño gráfico en ZX-BASIC ahorrándonos un tiempo considerable en la creación de gráficos (sobre todo lineales). Es cierto que existen herramientas de diseño nativas bastante potentes como The Artist u otros editores gráficos similares, pero éstas están pensadas para otros fines tales como crear pantallas de carga o incluso auténticas obras del "arte pixelado" si se quiere. Sin embargo, cuando se trata de portar ese gráfico para su implementación en un programa BASIC y su posterior compilado mediante HiSoft, MCoder, etc., estas aplicaciones sirven de poco. Por ello, una sencilla herramienta como ZX-Draw creo que podrá ayudar (a programadores y curiosos que se atrevan a crear sus propios videojuegos y aplicaciones) en el diseño de escenarios estáticos (para aventuras gráficas por ejemplo;) e integrarlas como código nativo BASIC en sus desarrollos.

ZX-Draw supone mi humilde contribución a todos esos desarrolladores y usuarios de ese 'ordenador milagroso' que se decidan a proyectar su magia de 8 bits, pero muy especialmente, a los entrañables y adorables "chicos" de 'El Mundo del Spectrum' por su inconmesurable labor divulgativa y por ser capaces de despertar ilusiones que la mayor parte de nosotros ya creíamos perdidas.

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

INTRODUCCIÓN, REQUISITOS Y LICENCIA DE

ZX-Draw puede considerarse funcionalmente SOFTWARE CRUZADO en tanto en cuanto corre en una plataforma concreta (entorno Windows 32/64 bits) pero su resultado está dirigido a otra distinta como es el microordenador de 8 bits ZX-Spectrum® de Sinclair. Las aplicaciones cruzadas no solo nos permiten conectar diferentes generaciones de computadoras sino que también pueden ofrecernos muchas de las ventajas propias de las plataformas actuales. Esta filosofía de "cross-software", suele emplearse sobre todo en compiladores de código los cuales permiten generar software para computadoras diferentes y ha abierto un mundo de enormes posibilidades sobre todo en el ámbito del desarrollo Retrocomputing y Homebrew. De hecho, y partiendo desde este concepto funcional, un emulador puede considerarse software cruzado desde el momento en el que nos permite ejecutar software original diseñado para la plataforma a la que emula.

ZX-Draw ha sido desarrollado para sistemas operativos Windows de 32/64 bits y, en teoría, debe funcionar y funciona en cualquier versión de 32/64 bits del sistema de Microsoft, por lo que podemos considerarlo MULTIPLATAFORMA, e incluso, aunque aún no lo he probado personalmente, hay usuarios que ya han confirmado un correcto funcionamiento en sistemas operativos LiNuX a través de la utilidad WINE o de cualquier otro sistema de máquina virtual correctamente configurado. Desde aquí mi más sincero agradecimiento a estos usuarios. Y es que pese a haber sido desarrollado en un sistema Windows 10® de Microsoft, puedo asegurar que los REQUISITOS DE HARDWARE son prácticamente ridículos ;)

Aunque ha sido desarrollado sobre un sistema Windows 10, ZX-Draw podría correr de forma solvente incluso en plataformas basadas en procesadores 486 y con apenas 8 MBytes de memoria RAM, con el único requisito de poder ejecutar un sistema operativo Microsoft Windows 98® ó superior.

Sin embargo, el desafío ha ido más allá y yo mismo comentaba en esta web "Y aunque aún no lo he corrido en mi reluciente IBM-Aptiva® AMD486@100 Mhz y Windows 95®, prometo probarlo en cuanto pueda y darles buena cuenta del experimento."

La prueba ya la tenemos y el experimento ha sido todo un éxito:

ZX-Draw-IBM-Aptiva-Windows-95

Si quieren conocer los pormenores de esta prueba de sobre mi IBM-Aptiva® AMD486@100 Mhz y Windows 95®, les invito a leer el nuevo WEBZine que se me ocurrió crear al respecto:.

CROSS-NOTE: A raíz de esta curiosidad personal acerca de los requisitos hardware que serían necesarios para correr ZX-Draw, me dispuse a probar un fin de semana esta aplicación sobre mi adorable IBM-Aptiva dotado de procesador 486 y en el que, entre otro sistemas operativos ya antiguos, corre Windows 95. Bien, pues como les digo, el programa funciona perfectamente, y además, fui embargado por tal entusiasmo en la tarea que se me ocurrió un nuevo proyecto al que llamé FINDE's RETRO y que podrán conocer en la web:

http://calentamientoglobalacelerado.net/findesretro

Se trata de un web-zine dedicado al mundo de la retrocomputación en general y con contenidos (fundamentalmente técnicos) diversos sobre el retrocomputing y la informática vintage.

En este primer Archive#01 podrás encontrar los siguientes apartados:

> ASÍ NACIÓ FINDE's retro
> PERO... ESTO NO ES UN BLOG!
> IBM-APTIVA 486@100 Mhz (1995)
> PASANDO A LA ACCIÓN con ZX-Draw en 486 y Windows 95!
> TESTEO DE PROCESAMIENTO BRUTO. Generación pseudoaleatoria /lotería primitiva

> VUELTA A LOS ORÍGENES. Taller de programación y desarrollo ZX-Spectrum.
> Taller de descargas - link's - download

Por último, aunque no menos importante, comentar que ZX-Draw es software completamente PORTABLE (funciona sin necesidad de instalación) y que puede ejecutarse directamente desde cualquier unidad de memoria extraíble (Pen-USB, etc.) ya que no hace uso del registro de librerías dinámicas en el sistema y las únicas librerías necesarias para correr el software se encuentran en la misma carpeta del archivo ejecutable que contiene la aplicación.

La licencia actual de uso es FREEWARE, es decir, gratuita y de uso libre, aunque estoy perfilando una licencia de uso algo más completa de tipo Creative Commons para garantizar una mejor difusión de la herramienta entre autores de videojuegos y/o aplicaciones de la plataforma ZX-Spectrum.

[ <<< RETURN to index ... ]

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

PRIMERAS IMPRESIONES COMO SOFTWARE EXPERIMENTAL Y PROYECCIÓN DE

Aunque este apartado no debería escribirlo yo como autor del software, intentaré hacer un esfuerzo de objetividad. Todo sea por lograr comunicar mejor la idea y espero que me disculpen si mi imparcialidad puede verse comprometida en ocasiones ;))

ZX-Draw no es ni mucho menos un software libre de errores, su estado actual podemos calificarlo de "fase BETA avanzada" y aunque he dedicado tiempo a mejorar y corregir bastantes fallos desde que creara la primera versión funcional (hace menos de un mes), lo cierto es que aún pueden mejorarse infinidad de aspectos del programa y en diseños gráficos complejos podría generar errores en el código resultante.

Sin duda alguna, después de practicar con él durante su desarrollo puedo afirmar que donde mejor se desenvuelve ZX-Draw es en el dibujo lineal, y aunque he añadido opciones de relleno que funcionan relativamente bien (sobre todo la de relleno completo/liso), éstas generan un código demasiado extenso que ya revisaré e intentaré subsanar en próximas versiones mediante el uso de subrutinas recursivas en el código generado. Estoy en ello;-)

IMPORTANTE: Otro factor a tener en cuenta, es que el código generado por ZX-Draw es directamente editable en la ventana de código, esto nos permite realizar cómodas y rápidas modificaciones sobre el mismo, entre ellas eliminar y añadir comandos, deshacer acciones mediante borrado del código añadido, etc. antes de guardar nuestro trabajo y, a poco que domines el lenguaje BASIC del ZX-Spectrum, podrás por ejemplo aplicar translaciones o cambios de posición en pantalla de forma rápida. Si has utilizado el modo de dibujo DRAW para dibujar una figura solo tendrás que modificar las coordenadas X, Y de inicio del trazado para situar la figura en el lugar que desees.

TAMBIÉN IMPORTANTE: El uso de imágenes/plantillas es ilimitado, ¿Y qué significa esto? Imagina que tenemos una imagen/plantilla cargada en ZX-Draw (se visualiza en la pantalla simulada) con la figura de un coche que hemos preparado previamente en un "editor gráfico de los de verdad" y que ahora deseamos "calcar" para generar su código en ZX-BASIC, bien, pues una vez usada la plantilla del coche y generado su código correspondiente podemos cargar otra plantilla diferente, por ejemplo con la imagen de una moto, y seguir trabajando sobre ella. Aunque al cargar la nueva plantilla de la moto desaparezca la figura del coche, en el código final resultante aparecerán ambas figuras.

PROYECCIÓN FUTURA Y OTRAS IDEAS: ZX-Draw es una aplicación nueva (nacida en marzo de 2017) y como he comentado su estado de desarrollo se encuentra en "fase BETA".

Las primeras mejoras pendientes son la optimización y compactación del código generado por los modos de dibujo FILL. Para conseguir generar un código más compactado, recurriré al empleo de SUBrutinas al igual que en el caso del AEROGRAFO, cuya función ya emplea SUBrutinas.

Si bien el uso de estas SUBrutinas recursivas reduce el código de forma exponencial al escribirse el algoritmo de relleno una única vez y ser llamado luego mediante saltos de programa (orden GOSUB), es importante tener presente que dichas SUBrutinas requieren el uso de variables que podrían interferir con el resto del programa, por lo que deberemos revisar cuidadosamente el nombre de las mismas.

Por último, quiero avanzar que me gustaría desarrollar una herramienta hermana enfocada al uso del BEEPer de nuestra entrañable máquina, tal vez podría llamarse ZX-Music y al igual que ZX-Draw serviría para generar el código de nuestra melodías (BEEP's) a partir de un pentagrama, más o menos. Aunque este desarrollo ya dependerá del tiempo del que disponga para ello, y eso no es algo que dependa exclusivamente de mí, además, antes querría dejar acabada completamente la aplicación ZX-Draw ya que, si abandonas durante mucho tiempo un proyecto de programación como ZX-Draw (hecho a ratos por una sola persona), corres el riesgo de perder "el hilo" del desarrollo y luego puede costar horrores retomarlo.

Por otro lado, si tienes alguna duda o sugerencia sobre el programa no dudes en contactar conmigo:

eurocamsuite@yahoo.es

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Comenzando a trabajar con

PANEL DE COLORES

En la zona superior izquierda de la ventana de la aplicación, encontramos el PANEL DE COLORES, el cual se corresponde con los disponibles en nuestro querido ZX-Spectrum.

Desde aquí podemos establecer los atributos de color básico para el fondo (PAPER), borde (BORDER) y tinta (INK), así como los valores de brillo (BRIGHT) deseados.

¡OJO! Cualquier selección de color PAPER elimina los trazos dibujados en la pantalla hasta ese momento, pero no los códigos generados.

MODO DIBUJO ...

En la zona izquierda seleccionaremos el Modo de Dibujo, pudiendo elegir entre el modo PLOT, en el que solo se podrá pintar píxel a píxel, y el modo DRAW, que nos permite seguir un trazado continuo por la pantalla a la vez que generamos el código BASIC correspondiente.

En el modo DRAW las líneas se van trazando de forma continuada enlazando el final de una línea con el principio de la siguiente. Para evitar errores y desplazamientos indeseados en el trazado de líneas mediante este modo de dibujo, asegúrese de soltar el botón del mouse y volver a pulsarlo exactamente en el mismo punto donde se produzca cada quiebro de la línea, de esta forma se garantiza que las líneas trazadas queden perfectamente conectadas.

Para establecer un nuevo origen en un trazado continuo con el modo DRAW, de manera que podamos dibujar figuras separadas e independientes, debemos conmutar del modo DRAW al modo PLOT para establecer un nuevo origen desde el cual comenzar a dibujar la nueva figura, es decir, al finalizar una figura, seleccionamos el modo PLOT, pinchamos en el nuevo punto de origen y volvemos al modo DRAW para continuar dibujando.

La posibilidad de editar el código en cualquier momento del diseño, se muestra especialmente útil en este modo de dibujo, ya que ante la ausencia de una función que nos permita deshacer la última acción (se intentará implementar en el futuro), siempre podemos eliminar las últimas órdenes directamente sobre el código generado.

Además de estas dos funciones básicas disponemos de los siguientes MODOS DE DIBUJO:

  • LINE: trazado libre de líneas aisladas y no conectadas a diferencia del modo DRAW. Si bien se trata de un modo de dibujo más cómodo que el modo DRAW, el código generado mediante el modo LINE puede llegar a duplicar en tamaño al generado por el método DRAW.

  • CIRCLE: dibujo de circunferencias de radio variable. Debemos tener en cuenta que las circunferencias que sobresalen del área de la pantalla producirán errores en el BASIC del ZX-Spectrum.

  • BOX: dibujo de cajas o recuadros (paralelogramos). Se trazan pulsando el botón del mouse y desplazando el mismo de arriba hacia abajo y de izquierda a derecha.

  • FILL: Relleno de áreas cerradas. Tenga presente que algunas áreas pueden no quedar coloreadas a la primera, en cuyo caso deberá insistir en las áreas que no queden coloreadas. Pese a que el algoritmo está bastante optimizado y es rápido, tenga en cuenta que el código generado con esta función puede ser algo excesivo, sobre todo en los rellenos sombreados, pero este inconveniente será paliado en próximas actualizaciones.

  • AERÓGRAFO: la función de aerógrafo nos permite pulverizar gotas de tinta sobre el lienzo, pudiendo configurar tanto la amplitud o diámetro de la boca como la densidad de las gotas proyectadas. Esta función ya genera código optimizado mediante el uso de subrutinas recursivas.

PANTALLA SIMULADA ...

En la zona central se muestra la "pantalla simulada" sobre la que iremos realizando nuestros trazos. En realidad se trata de una recreación aproximada de la pantalla del ZX-Spectrum y nos servirá de referencia a la hora de crear nuestros diseños.

En esta "pantalla simulada" se pueden cargar las plantillas que queremos usar de guía para calcar algún dibujo o bien comenzar nuestro dibujo directamente.

Desde los botones que se muestran en la parte superior de dicha pantalla podemos: cargar las imágenes de plantilla que queramos calcar o, por ejemplo, una rejilla de guías como la que se observa en la foto que puede servirnos de referencia, también podemos hacer un CLS o limpiado de pantalla (esto no afecta al código ya generado), ampliar el tamaño de la imagen de la plantilla que tengamos seleccionada (PREVIEW) para verla con mayor detalle, o acceder al sistema de ayuda integral para consultar cualquier duda sobre el programa.

En el pie de la pantalla simulada se muestran en tiempo real los valores de coordenadas X e Y así como los valores activos de atributos de color que tengamos seleccionados.

GENERADOR/DUMPER ...

El generador automático de GDU's nos permite agilizar esta característica del ZX-Spectrum como es el desarrollo de los gráficos definidos por el usuario.

La sencillez de este gadget incluido en las últimas actualizaciones del ZX-Draw es tan clara que prácticamente no requiere explicación alguna. Simplemente comentaros que podemos generar el código automático del GDU usando base BINaria o DECimal, esta última genera un código algo menos extenso con el consecuente ahorro de memoria.

Una vez elegido nuestro sprite o diseño, solo debemos seleccionar el carácter gráfico en el que guardarlo (es la letra desde la que podremos acceder a nuestro diseño una vez activado el modo [G] del Spectrum) y la base numérica en la que deseamos obtener el código resultante. Después, pulsando el botón DUMPER se genera y añade el código tal y como se observa en la imagen de ejemplo.

Por el momento es solo eso, pero en futuras actualizaciones incluiré alguna función, por lo menos de limpieza de bits para no tener que hacerlo a mano!!*

*(FUNCIÓN DE BORRADO Y RELLENO IMPLEMENTADA EN VERSIÓN BETA 8.01)

GENERADOR DE CÓDIGO ...

En la zona derecha de la ventana encontramos el GENERADOR de código, auténtica alma máter de la aplicación. Esta función puede activarse/desactivarse en cualquier momento según nuestro interés, y por supuesto, podemos editarla directamente para hacer modificaciones sobre el código, pero tenga en cuenta que cualquier modificación de éste podría provocar errores en la ejecución del mismo. Estas modificaciones no tendrán ningún efecto sobre la "pantalla simulada".

Sobre la ventana de código se sitúan los parámetros de líneas de programa que se utilizarán a la hora de generar el código, así como los valores de color y de letra que se mostrarán en la ventana de código y que solo afectarán al aspecto de la misma.

Los valores de Línea inicial e Incrementos sirven para ir numerando las líneas del programa resultante y le perimitirán adaptarlo para que las líneas del código generado no interfiera con las de su programa y puedan MERGEarse sin problemas. Puede ver algunas aclaraciones sobre MERGE en el caso práctico/ejemplo comentado más adelante en esta misma página.

En cualquier momento, el código generado puede ser copiado al portapapeles del sistema o guardado en un archivo de texto plano (con formato ASCII) para su posterior utilización desde cualquier aplicación.

A partir de la versión 7.01b ZX-Draw permite ya la exportación directa al formato de cinta virtual (archivos de extensión .TAP) reconocibles por la mayoría de emuladores y por la máquina real si lo cargamos desde un reproductor de este tipo de archivos.

En la zona superior de la ventana de código, encontramos el botón para RESETear todos los parámetros del programa. Esta acción, además de limpiar la pantalla simulada y reestablecer otros parámetros del programa, ELIMINA TODO EL CÓDIGO GENERADO.

¡OJO! El código generado por ZX-Draw debe ser convertido a otros formatos reconocibles por sistemas de emulación, tales como .Z80, .SNA, etc. Para ello puede utilizar una herramienta gratuita como la denominada BASin y que podrá descargar libremente desde el siguiente enlace*

Download/descarga BASin desde mirror alternativo
[ Versión portable. Descomprimir ZIP en carpeta y a funcionar ]

*En el momento de confeccionar esta página web he podido comprobar que el servidor del autor de BASin se encontraba caído, por lo que he decidido subirlo a mi servidor para evitar problemas en la descarga y garantizar la preservación de este software Freeware que es BASin.

Breve información acerca de la aplicación BASin

BASin es un completo y potente entorno de desarrollo para BASIC de ZX-Spectrum diseñado por Paul Dunn y que nos ofrece las comodidades de un ordenador actual.

Puedes pegar y cortar porciones de código, depurar los BUGS del programa más comodamente, buscar... y hacer todas esas cosas que en los entornos de programación actuales consideramos indispensables.

La idea es que, una vez tenemos el código ya depurado y probado, el trabajo se pueda exportar a un snapshot (.SNA, .Z80, etc.) o a una cinta virtual (.TAP) para correr en un emulador o en una máquina real.

La web oficial del proyecto:

http://homepage.ntlworld.com/paul.dunn4/


[ <<< RETURN to index ... ]

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Caso práctico de ejemplo con

A veces, la única forma de comprender la finalidad de un programa y conocer su verdadero potencial es probándolo. Para ello vamos a utilizar una sencilla plantilla del mapamundi que ya he incluido de paso en el programa para que podáis practicar con ella.

Como verás en la siguiente imagen hemos utilizado el modo de dibujo DRAW para contornear/calcar el continente africano, algo no demasiado artístico pero que a buen seguro nos servirá para la explicación. Recuerda siempre el concepto del papel carbón. La plantilla solo nos sirve de guía para repasar/calcar la imagen y confeccionar así nuestro dibujo, y el código se genera solo a partir de los trazos que nosotros realicemos.

A medida que vamos dibujando, a la derecha de la 'pantalla simulada' ZX-Draw ha ido generando el código BASIC automáticamente y este código será el que probemos a continuación.

Una vez calcado el continente africano y generado el código ZX-BASIC, podemos copiarlo directamente al portapapeles del sistema o bien guardarlo en un archivo de texto ASCII ó en formato estándar TAP* (reconocido por la inmensa mayoría de emuladores) o por máquinas reales utilizando un reproductor de este tipo de archivos.

En nuestro caso lo hemos guardado primeramente con el nombre prueba-Africa (ZX-Draw agrega la extensión .ASC de forma automática) por si nos pudiera interesar posteriormente:


* Desde la versión 7.02B ZX-Draw ofrece la posibilidad de exportar el código
generado al formato .TAP para su uso desde emuladores o máquinas reales
gracias al código GNU de Martin van der Heide (ThunderWare Research Center).

A pesar de permitir ya una exportación directa al formato .TAP, vamos a ver aquí como hacerlo mediante la aplicación BASin.

Ahora, cuando ya tenemos el código guardado, podemos usar el botón de COPIAR que está situado bajo el cuadro del GENERADOR DE CÓDIGO, de esta forma todo el código generado quedará copiado en el portapapeles de Windows.

Para importar nuestro código a un formato legible por el ZX-Spectrum (real o emulado), utilizaremos BASinC, que es el editor de código integrado en el entorno BASin y será el que utilicemos a la hora de aprovechar nuestro código BASIC. En este ejemplo, solo vamos a utilizar BASinC para adaptar nuestro código.

A continuación abrimos la aplicación BASinC (que has podido descargar desde esta misma web) y utilizamos el portapapeles de Windows para pegar el código en cuestión desde el menú EDIT de la aplicación BASinC.

Si todo ha ido bien, Veremos entonces un cuadro que nos muestra el código que vamos a añadir al programa/project que tengamos abierto en BASinC (editor de código del entorno BASin). Solo nos falta confirmar la operación comprobando antes que no hay errores en el código que vamos a añadir. Pulsamos OKAY y... ¡¡¡Ta-Chaaaaan !!!!:

Ya tenemos nuestro código insertado en BASinC listo para utilizar y probar. Para probarlo usaremos el control PLAY (icono en forma de triángulo verde con vértice hacia la derecha) disponible en la botonera del editor BASinC. Ahora el entorno BASin se encargará de mostrar el resultado de nuestro código en la ventana del emulador (integrado en el propio entorno BASin), y como por arte de magia... VOILÀ! ya tenemos una copia calcada del continente africano y ¡Sin haber escrito una sola línea de código! :

Una vez probado que nuestro código funciona de forma correcta, ya podemos guardarlo en cualquier formato que deseemos, tal como .SNA, .Z80, etc., para ser utilizado en cualquier emulador, o también exportarlo al formato .TAP (formato de cinta) que nos permitirá cargar nuestro código en una máquina real y además, la posibilidad de MERGEar* el código generado con el editor y el de nuestro programa.

*¡¡OJO!! Antes de llevar a cabo un MERGE del código generado por ZX-Draw para unirlo al código de nuestro programa/proyecto asegúrate de que las líneas de programas no se machacarán al MERGEar el nuevo código. Recuerda que el comando MERGE añade líneas de programas contenidas en un archivo .TAP o en cinta al programa que haya cargado en la memoria RAM del ZX-Spectrum, pero si las nuevas líneas que se añaden coinciden con líneas ya escritas en el programa de la memoria, éstas serán machacadas por las nuevas en el momento de la carga con MERGE.

Para cualquier aclaración o sugerencia, no dude en contactar con el autor de ZX-Draw a través de:

eurocamsuite@yahoo.es

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·


DONATIVO DE APOYO AL AUTOR

Con este humilde gesto usted contribuye a la continuidad, mejora y mantenimiento de esta aplicación y de esta web y sobre todo motiva al autor a seguir mejorando y compartiendo este contenido.

  • Pulse DONAR y se le transferirá al servidor seguro de PAYPAL.
  • Si no dispone de cuenta pay-pal puede hacer su donativo teniendo a mano la tarjeta de crédito para introducir los datos que el sistema le solicita.
  • El procedimiento es simple y completamente seguro a través PAY-PAL, aunque no está de más decir que por cada euro donado PAY-PAL se embolsa el 40% (CUARENTA), por lo que si lo desea,
  • también puede hacer su donativo por cualquier otra vía de abono contactando con el autor en el email: eurocamsuite@yahoo.es

[ <<< RETURN to index ... ]

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

 Softwara Portable Compatible con  todas las plataformas Windows 32 bits  Software libre de virus  Software libre de virus

 Enlace directo de descarga de ZX-Draw en formato comprimido ZIP

Download ZX-Draw

Versión disponible: 9.03B
CORREGIDOS ERRORES VARIOS EN CODIGO RESULTANTE
exportación directa a archivo .TAP
y mejoras en el GDU generator

[versión funcional en fase Beta avanzada]
REVISION LAST: 20.06.2017


Corregido errores varios afectaba al código resultante y ejecutable en ZX-Spectrum

Incluidas funciones de borrado y relleno automático en el generador de GDU's

Posibilidad de exportar el código generado directamente a formato de cinta virtual .TAP para su uso en emuladores o en la máquina real

Correcciones diversas

[ <<< RETURN to index ... ]

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

 
 

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

 
  
 Otros contenidos de interés...
 

 

El Mundo Del Spectrum



Otros proyectos y desarrollos del autor de ZX-Draw:

Retrocomputing y preservación documental (manuales técnicos digitalizados)

Proyecto Gutenberg 3.0


FINDEs retro Webzine sobre retrocomputación e informática vintage. Primer ejemplar: #junio-2017

Mejor Suite de utilidades gratuitas 

Portal de Inteligencia Artificial

Simulador avanzado de Probabilidades para LOTERIA PRIMITIVA

Hipótesis diversas desarrolladas

EuroSuite Utilities: Aplicación portable gratuita para profesionales autónomos

Colección técnica ALBACO Algoritmos Básicos de Computación

     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·


     · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·