8BP: CREAR un DISCO o CINTA de tu JUEGO

!!! Hola de nuevo amigo de 8 Bits de Poder !!!
En el articulo de hoy veremos como crear una imagen de DISCO (DSK) o una CINTA (CDT) de tu juego para poder pasarla a formato físico y probarla en la maquina real.

Pero espera… ¿Es posible que no sepas nada de 8 Bits de Poder? Puedes leer el primer artículo del curso de programación en Amstrad CPC de 8BP.
🎯
COMO hacer un DISCO para Amstrad CPC

Para crear un nuevo disco desde winape hacemos:
File-> drive A-> new blank disk
Con ello te aparecerá una ventana de administración de archivos para que le des nombre al nuevo fichero .DSK Una vez creado ya puedes guardar ficheros con el comando SAVE. Para borrar un archivo se utiliza el comando “|ERA” (abreviatura de ERASE), que solo existe en CPC 6128 como parte del sistema operativo “AMSDOS” (esto en CPC 464 no existe pues funcionaba con cinta de cassette). Por tanto, si tecleamos:
|ERA,”juego.*”
Se borrarán los archivos con nombre juego y cualquier extensión.
Para cargar el juego necesitas un cargador que cargue uno por uno los ficheros necesarios. Algo como:
10 MEMORY 23999 20 LOAD "!8bp.lib" 30 LOAD "!music.bin" 40 LOAD "!sprites.bin" 45 LOAD "!map.bin": REM esto solo si tu juego tiene un mapa 50 RUN "!tujuego.bas"
Para salvar cada uno de los ficheros debes usar el comando SAVE con los parámetros necesarios, por ejemplo, si te decides por los 4 ficheros binarios como comentamos anteriormente:
SAVE “LOADER.BAS” SAVE “8BP.LIB”, b, 24000, 8200, &6b78 SAVE “MUSIC.BIN”, b, 32200, 1400 SAVE “SPRITES.BIN”, b, 33600, 8440 SAVE “MAP.BIN”, b, 42040, 500 SAVE “tujuego.BAS”
O bien, si te decides por usar un único binario (lo cual te recomiendo pues es mucho mas simple):
SAVE “LOADER.BAS”
Luego tienes estas dos opciones:
SAVE “tujuego.BIN”, b, 24000, 18540, &6b78 (sin el banco de estrellas) SAVE “tujuego.BIN”, b, 24000, 18620, &6b78 (con estrellas)
Y por ultimo:
SAVE “tujuego.BAS”
Hecho esto, tendríamos el fichero DSK creado con los archivos de nuestro juego 8BP. Si quieres grabar el .dsk en un disquete de 3.5” y conectarlo a una disquetera externa de tu AMSTRAD CPC 6128, necesitarás el programa CPCDiskXP, muy sencillo de usar. A partir de un .dsk puede grabar un disquete de 3.5” en doble densidad
⚠️
IMPORTANTE
No olvides tapar el agujero del disquete para para que se use como de doble densidad.
COMO Hacer una CINTA para Amstrad CPC

Lo más importante al crear una cinta es guardar en ella los ficheros en el orden en el que van a ser cargados por el ordenador. Una cinta no es como un disco en el que puedes cargar cualquier fichero almacenado, sino que los ficheros se encuentran secuencialmente uno detrás de otro, por lo que debes poner especial cuidado en este punto.
Si tu cargador de juego es así:
10 MEMORY 23999 20 LOAD "!8bp.lib" 30 LOAD "!music.bin" 40 LOAD "!sprites.bin" 45 LOAD "!map.bin": REM esto solo si tu juego tiene un mapa 50 RUN "!tujuego.bas"
O bien, si prefieres usar un único binario (lo mas simple y recomendable):
10 MEMORY 23999 20 LOAD "!tujuego.bin" 50 RUN "!tujuego.bas"
Es muy importante la exclamación “!” para que el firmware no muestre el mensaje “press play then any key” al ejecutar cada LOAD.
Para generar el archivo “.wav” lo haremos desde winape:
file->tape->press record

En ese momento te saldrá un menú de administración de archivos para que podamos decidir qué nombre le damos al fichero “.wav”. Si estás en modo CPC 6128, entonces a continuación debes ejecutar desde BASIC:
|TAPE
Y seguidamente :
SPEED WRITE 1
Con este comando lo que habremos hecho es decirle al AMSTRAD CPC que grabe a 2000 baudios. Así la carga durará menos. Si no ejecutas ese comando, la grabación se realizará a 1000 baudios, más segura pero mucho más lenta.
SAVE "LOADER.BAS"
Saldrá un mensaje indicando que presiones rec & play, y luego pulsas “ENTER”.
Hecho esto, debemos grabar todos y cada uno de los ficheros del juego tal como se indica a continuación:
SAVE “8BP.LIB”, b, 24000, 8200, &6b78 SAVE “MUSIC.BIN”, b, 32200, 1400 SAVE “SPRITES.BIN”, b, 33600, 8440 SAVE “MAP.BIN”, b, 42040, 500 SAVE “tujuego.BAS”
O bien, si prefieres un único binario (mas simple y recomendable):
SAVE “tujuego.BIN”,b,24000,18620, &6b78 SAVE “tujuego.BAS”
Por último, debemos hacer una última operación para que el emulador cierre el fichero.
file->remove tape
Tras clicar en remove tape en winape, el fichero adquirirá su tamaño (si no lo haces puedes ver que en el disco de tu PC el fichero no crece y es debido a que no se ha volcado al disco) Para cargar el juego en un CPC 6128 teclea:
|TAPE RUN“
Para volver a usar el disco teclea:
|DISC
¿Como grabar el juego en una cinta de casete?
Mas adelante hablaremos en el curso de como hacer una pantalla de carga e introducirla en nuestro juego. Este es un elemento que presenta nuestro juego y no podemos dejar pasar la oportunidad de ofrecer al jugador la mejor de las presentaciones posibles…
En el siguiente articulo veremos como funciona EL CICLO DEL JUEGO y porque es tan importante mantener una buena tasa FPS en el mismo…
Hasta aquí hemos llegado por hoy con el curso de programación en Amstrad CPC de 8 bits de poder Si tienes alguna duda puedes escribir en comentarios y te contestaré lo antes posible.
Todos los recursos, como manuales, ejemplos y juegos compilados de este curso los puedes encontrar en el repositorio Github de 8BP.
Hasta la semana que viene amigos 😄
Buen tutorial, siempre se aprende algo nuevo 🙂