Taller de ensamblador para ZX Spectrum 16K – Pong

¡Qué mejor manera de comenzar el año que programando! Y este año os vais a hinchar, os lo aseguro.

¡Cerrado el plazo de inscripción!

Finalmente se han recibido treinta solicitudes, cinco más de las veinticinco propuestas, que han sido aceptadas. Si no te has inscrito no te preocupes, tienes el tutorial en la página del autor y se van a grabar todas las sesiones.

Lo prometido es deuda, así pues, llega este nuevo taller de ensamblador en el que su autor nos propone desarrollar un Pong, paso a paso y desde cero, por cortesía de nuestro colaborador Juan Antonio Rubio García, como segunda parte del taller de ensamblador «Hola Retro Parla» (Hola Mundo), en el que aprendimos a escribir el primer programa que se hace en cualquier lenguaje de programación, y con el que pudimos tener una primera toma de contacto con el ensamblador del mítico microprocesador Z80, orientado a la no menos mítica máquina de Sinclair, el ZX Spectrum.

Ensamblador para ZX Spectrum 16Kb  - Pong

Antes de empezar con el desarrollo de PorompomPong, vamos a hacer lo que se hace casi cada vez que se inicia el aprendizaje de un lenguaje de programación: vamos a implementar un «Hola Mundo». La implementación de nuestro «Hola Mundo», nos va a servir para adquirir los conocimientos necesarios, para el posterior desarrollo de nuestro PorompomPong. Con «Hola Mundo» en la primera sesión vamos a descubrir:

  • Características del microprocesador Zilog Z80, y de sus registros.
  • La distribución de la memoria del ZX Spectrum.
  • Números en distintas notaciones.
  • Etiquetas, variables y constantes en ensamblador.
  • Directivas ORG y END.
  • Instrucciones de carga.
  • Instrucciones RST.
  • Incrementos y decrementos.
  • Operaciones lógicas.
  • Cambios de flujo de programa.
  • Subrutinas.
  • Puertos de entrada y salida.

En la segunda sesión empezaremos a dibujar por la pantalla usando ensamblador para ZX Spectrum. La sesión tercera nos permitirá que desarrollaremos la rutina que comprueba si se han pulsado las teclas de control de nuestro juego, y que devuelve cuales son las teclas pulsadas.

A estas alturas del taller ya habremos adquirido los conocimientos suficientes para empezar con el desarrollo de nuestro Pong. Dado que hemos implementado una buena parte de la base del programa. En la cuarta sesión vamos a:

  • Cambiar el color del borde.
  • Asignar los atributos de color a la pantalla.
  • Dibujar la línea central del campo.
  • Dibujar las palas de ambos jugadores.
  • Mover las palas hacia arriba y hacia abajo.

Durante las sesiones quinta y sexta aprenderemos a mover la bola y, posteriormente a hacerlo por toda la pantalla. En la séptima sesión pintaremos el campo, las palas, la bola y temporizaremos.

Como veis, nuestro PorompomPong ya empieza a tomar forma. En la octava sesión implementaremos la detección de colisiones. Ya estamos muy cerca de nuestro objetivo final, así pues, la novena sesión servirá para implementar la partida a dos jugadores, y la posibilidad de cambiar la velocidad de la bola, lo que nos sitúa en la última curva antes de afrontar la recta final.

La décima sesión la dedicaremos a implementar el cambio de dirección y velocidad de la bola al golpear la pala, entrando definitivamente de esta manera en la recta final. Finalmente, la decimoprimera y última sesión la emplearemos en la implementación de los efectos de sonido, optimizaremos algunos aspectos de nuestro programa y lo haremos compatible con el modelo de 16K, llegando así a la línea de meta.

Si siempre has querido hacer un juego para ZX Spectrum en ensamblador, en Retro Parla seguimos decididos a ayudarte, y por algún sitio hay que continuar después del éxito del 1er taller de ensamblador para ZX Spectrum que tuvo lugar a mediados de septiembre de 2019. Si estás interesado en este taller, a continuación te contamos como apuntarte, requisitos y calendario de sesiones.

El taller es gratuito y estará limitado a un máximo de veinticinco participantes, en riguroso orden de inscripción. Dada la actual situación sanitaria se impartirá en modalidad online (mediante enlace de acceso a la plataforma Google Meet, siendo imprescindible para ello disponer de una cuenta de Google, si aun no tienes una pincha aquí para registrarte y obtenerla) previa inscripción a través de la página web del autor del taller y confirmación de la misma. En su página también podéis descargar el tutorial completo, el código fuente y el resultado final, por si le queréis ir echando un vistazo o por si no podéis acudir al taller.

Debido a que el taller consta de once entregas y a que programar en ensamblador no es cosa baladí, aunque sea algo pequeño como un Pong, vamos a realizar una sesión por entrega, lo que hace once viernes, a dos horas por viernes. Si no diera tiempo, se realizará alguna sesión más hasta completarlo. Si por el contrario sobra tiempo, pues eso que hemos ganado.

El calendario será el siguiente, en horario de 17:00 a 19:00 (hora española), intentaremos que se pueda adaptar según las necesidades de los asistentes:

FechaSesión
Viernes 15 de enero de 20211 – Hola Mundo
Viernes 22 de enero de 20212 – Dibujando por la pantalla
Viernes 29 de enero de 20213 – Teclas de control
Viernes 5 de febrero de 20214 – Palas y línea central
Viernes 12 de febrero de 20215 – Empezamos a mover la bola
Viernes 19 de febrero de 20216 – Movemos la bola por la pantalla
Viernes 26 de febrero de 20217 – Campo, palas, bola y temporización
Viernes 5 de marzo de 20218 – Detección de colisiones
Viernes 12 de marzo de 20219 – Partida a dos jugadores y cambio de velocidad de la bola
Viernes 19 de marzo de 2021Fiesta en Madrid capital y algunos pueblos
Viernes 26 de marzo de 202110 – Cambio de dirección/velocidad de la bola al golpear la pala
Vienes 2 de abril de 2021Semana Santa
Vienes 9 de abril de 202111 – Sonido y optimización

Pulsa en el siguiente enlace para inscribirte rellenando el formulario que se encuentra al final de la página: Taller de ensamblador para ZX Spectrum 16K – Pong – Espamática (espamatica.com).

Puede que también te guste...

Deja una respuesta

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

A %d blogueros les gusta esto: