Ensamblador para ZX Spectrum – Pong: $01 Introducción
Aprende a programar, paso a paso, en ensamblador para ZX Sprectrum.
Ensamblador para ZX Spectrum – Pong: introducción
El objetivo del presente tutorial, Ensamblador para ZX Spectrum – Pong, es adquirir las nociones básicas que nos permitirán, más adelante, realizar nuestro propios desarrollos en ensamblador de Z80, para ZX Spectrum.
Para hacer más ameno el proceso, vamos a desarrollar paso a paso una versión de uno de los videojuegos más famosos de todo los tiempos, Pong.
Nuestra versión va a ocupar poco más de 1,5KB y es compatible con los modelos de 16, 48 y 128KB de ZX Spectrum.
A cada paso veremos algo nuevo, y el resultado será algo funcional. Haremos cosas que luego cambiaremos, hasta concluir el desarrollo.
No se pretende hacer un código optimizado, más bien mostrar paso a paso como hacer las cosas de distintas maneras.
A la finalización del curso, podréis descargar todo el temario en formato PDF.
Ensamblador para ZX Spectrum – Pong: herramientas que vamos a utilizar
A continuación, se detallan las herramientas que vamos a usar para nuestro desarrollo.
Editor de texto
Cualquier editor de texto vale, por sencillo que sea, como es el caso del Bloc de notas de Windows.
Otros editores gratuitos, más potentes y con resaltado de sintaxis son:
- NotePad++.
- Visual Studio Code: instalando la extensión Z80 Assembly (imanolea.z80-asm).
- Sublime Text: instalando el paquete z80asm-ti.
Emulador de ZX Spectrum
Son muchos los emuladores de ZX Spectrum, siendo quizás los gratuitos los mejores.
Para el curso vamos a utilizar ZEsarUX, un emulador de desarrollo español y disponible para Windows, Mac y Linux.
Compilador de ensamblador
Para este curso vamos a utilizar PASMO, que es un ensamblador cruzado con versiones para Windows, Mac y Linux, y que genera código objeto ejecutable, para entre otros, el ZX Spectrum.
PASMO funciona por línea de comandos por lo que, si usas Windows, es recomendable incluirlo en la variable Path, para que se puede ejecutar desde cualquier directorio.
A continuación, os dejo un vídeo explicando como incluir la ruta de PASMO en las variables de entorno.
Control de código fuente.
Es una buena práctica tener algún tipo de control de código fuente, para en caso de que algo deje de funcionar, poder ver como estaba en una versión anterior: os puedo asegurar que desarrollando en ensamblador para ZX Spectrum, nos va a pasar más de dos veces.
En nuestro caso he optado por Git, creando un repositorio local e instalando en Visual Studio Code la extensión Git Graph (mhutchie.git-graph). No es un requisto obligatorio, aunque es muy recomendable.
Índice del curso
- Hola Mundo.
- Paso 1: dibujando por la pantalla.
- Paso 2: teclas de control.
- Paso 3: palas y línea central.
- Paso 4: empezamos a mover la bola.
- Paso 5: movemos la bola por la pantalla.
- Paso 6: campo, palas, bola y temporización.
- Paso 7: detección de colisiones.
- Paso 8: partida a dos jugadores y cambio de velocidad de la bola.
- Paso 9: cambio de dirección/velocidad de la bola al golpear la pala.
- Paso 10: sonido y optimización.
Enlaces de interés
- Notepad++.
- Visual Studio Code.
- Sublime Text.
- ZEsarUX.
- PASMO.
- Git.
- Curso de ensamblador Z80 de Compiler Software.
- Z80 instruction set.
Un curso muy interesante y que se plantea bastante profesional y serio desde el principio.
Y muy bien por usar tanto software libre: pasmo, ZESarUX, git… por cierto pasmo y git están en los repositorios oficiales de muchas distribuciones de Linux (y ZESarUX está chupado de instalar).
Pîng – Pong !! , el comienzo de los juegos jeje 🙂
Buenos días.
Encantado de seguir el curso.
Gracias.
Espero que te guste y te sea útil.
Gracias a ti.