Curso Programación Amstrad CPCCursos

Curso Programación Amstrad CPC: El Entorno de Desarrollo

Desarrollar software, para Amstrad o para cualquier otra plataforma, requiere de un entorno de desarrollo adecuado compuesto por una serie de herramientas, entre las que se podrían citar de manera no exclusiva:

  • Herramientas de análisis y diseño.
  • Herramientas de edición de código.
  • Herramientas de compilación.
  • Herramientas de depuración.
  • Herramientas de testeo.
  • Herramientas de edición de gráficos.
  • Herramientas de edición de sonido.

Es de vital importancia tener un buen entorno de desarrollo preparado y una buena estructura de carpetas, para evitar que el proyecto se convierta en un caos según vaya creciendo.

1.1. Herramientas de análisis y diseño

  • Cuaderno y bolígrafos

Durante el desarrollo de cualquier software, por pequeño que sea, siempre habrá miles de cosas que apuntar, diagramas, esbozos de gráficos y niveles, distribución de la memoria, diseño de la pantalla, etc. Es importante tener a mano un cuaderno donde apuntar las cosas de manera limpia y ordenada. Y si además dispones de bolígrafos o lápices de distintos colores, podrás hacer apuntes de mayor claridad.

Se pueden usar herramientas en el propio ordenador: bloc de notas, paint, etc, pero en mi experiencia el cuaderno es insustituible.

(Imagen: Apuntes sobre el diseño de uno de los niveles de mi juego Slap Fight).

  • Calculadora con modo programador

La programación es en gran medida matemáticas. Hay que estar continuamente haciendo cálculos. Es fundamental tener a mano una calculadora que soporte la operación en los tres sistemas de numeración: binario, decimal y hexadecimal.

Por ejemplo, la calculadora de Windows, en modo programador (imagen de la izquierda).

  • Hoja de cálculo

Se requiere cuando los cálculos son complejos o queremos sacar gráficas a partir de los datos. Google Sheets es una buena opción. Es gratis, siempre disponible y fácil de manejar.

Google Sheets es una buena opción. Es gratis, siempre disponible y fácil de manejar.

  • Herramientas para diagramas de flujo

Los diagramas de flujo son una herramienta útil para el desarrollo de software. Para hacerlos se puede usar simplemente el cuaderno, pero hay herramientas gratuitas y online que te facilitan la tarea, como Gliffy:

1.2. Herramientas de edición de código, compilación y depuración

Estas tres van juntas porque normalmente se encuentran en una única aplicación llamada IDE (Integrated development environment). Para el desarrollo en Amstrad, un buen ejemplo bajo Windows es WinAPE.

No voy a extenderme sobre WinAPE, que dispone de su propia y completa documentación, en mi caso es el entorno de desarrollo de preferencia. El editor de código, no obstante, tiene numerosos bugs que espero que sean solucionados en una próxima versión, mientras tanto uso como alternativa el editor de texto de propósito general Notepad++ con un plugin para resaltar el lenguaje ensamblador del Z80.

1.3. Herramientas de testeo

Para el desarrollo en Amstrad, las herramientas de testeo son las máquinas reales. No importa que lo que hagas funcione perfectamente en los emuladores, hasta que no lo pruebas en una máquina real no sabes si realmente funciona. Existen múltiples cosas que pueden fallar en una máquina real y que será muy difícil ver en un emulador:

  • El timing de vídeo: Si haces cosas complicadas con el CRTC es imprescindible probar el resultado en las máquinas reales. Por un lado porque la emulación de los CRTC no es
    perfecta, y por otro lado porque las tolerancias de los monitores reales no tienen nada que ver con las de los emuladores.
  • El refresco vertical: Esta es una característica que los emuladores simplemente no pueden imitar. Nunca podrás ver un gráfico moverse con suavidad en un emulador a 50 Hz, no con la suavidad de una pantalla CRT refrescando a su frecuencia real. La única forma de saber si lo estás haciendo bien es probarlo en una máquina real.
  • Los errores de disco: En los emuladores, los discos son dispositivos ideales que nunca tienen errores y que arrancan de manera instantánea. En la máquina real el motor requiere
    un tiempo de “calentamiento” antes de poder acceder a los datos de forma segura. Tu programa debe estar preparado para todas las eventualidades que puedan surgir de los
    errores en los discos, sobre todo si accedes a la disquetera a bajo nivel.
  • Las diferencias entre los firmwares y los hardwares: Si no has usado correctamente las indirecciones del firmware, o has accedido al hardware a muy bajo nivel, puede que las
    diferencias entre máquinas te causen problemas. Es cierto que en esto si son más fiables los emuladores para probar, pero una vez más, la respuesta definitiva a la pregunta de si tu programa funciona bien en un 664, por ejemplo, es probarlo en un 664.

1.4. Herramientas para gráficos y sonido.

Aunque seas sólo programador y otra persona haga los gráficos, necesitarás poder crearte tus propios gráficos aunque sea para probar. Yo he encontrado de gran utilidad el Retro Game Asset Studio.

Incluye un editor básico de sonido y música para el CPC.

Palabras finales

Ser programador no consiste sólo en conocer un lenguaje de programación, ni 5, ni 20. Un lenguaje puedes no haberlo visto en tu vida y aprenderlo y usarlo cuando se requiera. Lo más importante de todo es tener la mentalidad apropiada. Muchos lo llaman tener “mente de ingeniero”, que no es otra cosa que ser capaz de coger un problema, romperlo en problemas más pequeños y repetir el proceso hasta tener un montón de problemitas que están a tu alcance. Y una vez hecho eso, organizarte el trabajo para resolverlos uno por uno, en orden, y volver a montar el puzzle al final. Si hay algo en este capítulo que puede ser de verdadera utilidad, es comprender que hay que ser metódico y ordenado para abordar un problema de la complejidad que puede ser el desarrollo de un software, insisto, por muy sencillo que parezca en un principio.
Hay que ser ordenado dentro de tu cabeza y fuera, no sirve que lo tengas todo en tu mente y solo en tu mente, porque las cosas se olvidan en cuanto pasas dos días sin pensar en ellas. Lo contrario tampoco, no vale de nada tenerlo todo en perfecto orden si en tu cabeza no tienes una idea global de todo lo que está pasando. Este es el equilibrio que todos tratamos de alcanzar.

Esto es todo por ahora! Happy coding!

¿Te ha Resultado útil este artículo?

Ayúdanos a mejorar y danos tu opinión:

Votación promedio: / 5. Total de votos:

Fuente
Autor: Abalore
Etiquetas
Mostrar más

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Botón volver arriba
Cerrar
Cerrar