8 bits de poder ( 8 bits of power)
8 bits de poder (8BP). For english version read below.
Si te gusta esta iniciativa y quieres apoyarla, tu donativo servira para comprar materiales, divulgar y hacer que 8BP sea cada dia mejor. el enlace para donar (paypal) es:
8BP es una potente libreria para AMSTRAD CPC que nos permitira realizar juegos profesionales desde el BASIC, mientras que las operaciones mas intensivas en el uso de CPU son interpretadas y ejecutadas en codigo maquina. La libreria, al cargarla en el amstrad te "amplia" el BASIC con una serie de comandos especificos para hacer juegos. A este set de comandos nuevo se le llama "extensiones del basic" o comandos RSX. El amstrad en su dia ya nacio pensado para que se pudiesen hacer comandos RSX. Los comandos RSX se caracterizan por tener un "|" delante, por ejemplo para imprimir un sprite con la libreria se usa "|PRINTSP", y como veras todos los comandos nuevos tienen ese palito delante.
descargate el ZIP y en el encontraras:
manual en .pdf y en .docx, tanto en espanol como en ingles (la version ingles es borrador). Ademas de este documento, en la misma carpeta de documentacion encontraras diversos documentos "making of" de diferentes juegos con los que puedes aprender paso a paso como estan hechos
libreria, ya preparada en una estructura de directorios para hacer un juego, de hecho en el directorio de la libreria encontraras un juego simple que te permitira dar los primeros pasos, ademas del SPEDIT, el editor de sprites (que funciona en BASIC en amstrad) para que hagas tus creaciones. La libreria tiene ficheros en ensamblador (.asm) que son los fuentes de la libreria y algunos otros ficheros auxiliares. Para hacer un juego completo necesitas esto pero no te preocupes porque no tendras que aprender ensamblador, tan solo tendras que aprender el significado de la palabra "ensamblar".
GameExamples: Aqui ire dejando juegos hechos con 8BP. Ya hay varios juegos para aprender y disfrutar con ellos
Demos: Aqui ire dejando pequeñas demos con ejemplos didácticos hechas con 8BP
Las mejoras que vaya incorporando seran retrocompatibles por lo que tu juego siempre podras actualizarlo a la ultima version de la libreria. La libreria estara viva y distribuire siempre gratis mejoras y documentacion y juegos. Siempre estara todo a disposicion de todos. Ese es el espiritu. compartir le da sentido a las creaciones
==============================================
If you like 8BP inituative and you want to help me to make 8BP better, you may donate (paypal using this link:
8BP is a powerful library for AMSTRAD CPC that will allow us to make professional games from BASIC, while the most intensive operations CPU usage are interpreted and executed in machine code. The library, once is loaded on the Amstrad, extends BASIC with a series of specific commands to games. This new command set is called "extensions of the basic" or RSX commands. Amstrad in his day already thought to be born could do RSX commands. The RSX commands are characterized by a "|" at the initial character, for example to print a sprite with the library is used "|PRINTSP" and as you will see all new commands have that in front stick.
Download the ZIP and you will find:
Manual .pdf and .docx, both in Spanish and English (the English version is draft)
Library, and prepared in a directory structure to make a game, in fact in the library directory you will find a simple game that allow you to take the first steps. In addition you will find the SPEDIT, the sprite editor (works in BASIC in amstrad ) for you to make your creations. The library has files in assembler (.asm) which are the sources of the library and some other auxiliary files. To make full game you need this but do not worry because you do not have to learn assembler, you just have to learn only the meaning of the word "assemble".
GameExamples: Here i will upload games made with 8BP. There are several available games to learn and enjoy with them
Demos: Here i will upload small demos with didactic examples made 8BP
The improvements that are incorporated will be backwards compatible so your game you can always upgrade to the latest version of the library. The library will be alive and always will distribute free upgrades and documentation and games. Everything will always be available to all. That's the spirit. To share creations makes them meaningful
he actualizado el respositorio con los siguientes cambios
he actualizado el respositorio con los siguientes cambios
libreria: incorpora las siguientes mejoras
Demos: todas las demos actualizadas a v42_00
manual: incorpora las siguientes mejoras:
he actualizado el respositorio con los siguientes cambios
manual: incorpora las siguientes mejoras:
SPEDITv15:
he actualizado el respositorio con los siguientes cambios
manual: incorpora las siguientes mejoras:
games:
SPEDITv15:
he actualizado el respositorio con los siguientes cambios
libreria
manual
he actualizado el repositorio con los siguientes cambios
manual
games:
he actualizado el repositorio con los siguientes cambios
manual
libreria
he actualizado el manual y he añadido en algunas carpetas de juegos una ficha de instrucciones y una ficha descriptiva
he actualizado el repositorio con los siguientes cambios
manual
nuevo documento: "menus DES con 8BP" te explica como esta hecho el menu DES que he creado con un juego en BASIC integrado en el menu (puedes jugar mientras te piensas que juego elegir del dispositivo DES"
games:
he actualizado el repositorio con los siguientes cambios
libreria:
manual: contiene algunas mejoras, ahora es v41_04
making of de NOMWARS: mini error corregido
games: se incluye "NOMWARS"
he actualizado SPEDIT a version V14 ahora tiene un modo de captura de sprites. Puedes cargar una pantalla (.scr) y seleccionar un trozo de la misma, de modo que se genere una imagen en el fichero de salida con los datos del recorte que has realizado. Es util para capturar un sprite de un juego que te guste y no quieres esforzarte en dibujarlo.
He actualizado el repositorio los siguientes cambios, que no son relevantes a nivel de programacion, tan solo es un "ajuste fino"
libreria: ahora se incluye 8bitsdepoder_v41_002.asm con las siguientes mejoras:
el manual sigue siendo correcto, no ha cambiado, pero he anadido algunos consejos de programacion en el calculo de los FPS de tu juego y en el capitulo de scroll, donde explico una forma de crear enemigos basados en la posicion en el mapa
Demos : todas las demos actualizadas a V41_02
He actualizado el repositorio los siguientes cambios:
libreria: ahora se incluye 8bitsdepoder_v41_001.asm con las siguientes mejoras:
manual: he actualizado el manual con la nueva tabla de direcciones de memoria para cada comando.
Demos: todas las demos actualizadas a v41_01
games: se incluyen versiones .cdt de los juagos "zampamanzanas" y "dogfight". tambien se incluye una compilacion completa de juegos dandanator
He actualizado el repositorio los siguientes cambios:
libreria: se han incorporado algunas actualizaciones en ficheros asm para proporcionar las siguientes funcionalidades:
SPEDIT: se incluye spedit v13 , que puede grabar la paleta en disco
manual:
Demos: todas las demos actualizadas a v41
He actualizado el repositorio los siguientes cambios:
He actualizado el repositorio los siguientes cambios:
He actualizado el repositorio los siguientes cambios:
libreria: ahora se incluye 8bitsdepoder_v40_00.asm con las siguientes mejoras:
manual: he actualizado el manual e incluido un capitulo que te enseña a traducir tu ciclo de juego a C
Demos: todas las demos se recopilan en un menu y estan hechas con la v40. ahora hay una demo nueva que demuestra ciclo de juego en C
games: se incluye "Zampa Manzana" creado por Riper y musica de Xeno
He actualizado el repositorio los siguientes cambios
libreria: ahora se incluye 8bitsdepoder_v39_001.asm con las siguientes mejoras:
manual: he actualizado el manual reflejando los cambios en la libreria
Demos: todas las demos se recopilan en un menu y estan hechas con la v39. ahora hay una demo nueva para probar musica y FX a la vez
He actualizado el repositorio los siguientes cambios
libreria: ahora se incluye 8bitsdepoder_v38_001.asm con las siguientes mejoras:
manual: he actualizado el manual reflejando los cambios en la libreria y he incluido un capitulo de primeos paos al principio
Demos: todas las demos se recopilan en un menu y estan hechas con la v38
games: se incluye el juego "happy monty"
He actualizado el repositorio con el siguiente cambio
libreria: ahora se incluye 8bitsdepoder_v37_003.asm con las siguientes mejoras:
manual: he actualizado el manual reflejando los cambios en la libreria y he incluido un apendice con la correspondencia entre cada comando y su equivalente CALL
He actualizado el repositorio con el siguiente cambio
libreria: ahora se incluye 8bitsdepoder_v37_001.asm con las siguientes mejoras:
manual: he hecho una revisión completa y lo he actualizado con los cambios en la libreria. He mejorado especialmente el capitulo de logicas masivas
He actualizado el repositorio con el siguiente cambio
libreria: ahora se incluye 8bitsdepoder_v36_008.asm con las siguientes mejoras:
manual: no lo he actualizado porque no hay ningun cambio en la funcionalidad, simplementa ahora 8BP va mas rapido. Pronto actualizare el manual para incluir nuevas recomendaciones de programacion y algunas de las mediciones de tiempo de ejecucion (en milisegundos) de los comandos tras esta actualizacion
He actualizado el repositorio con el siguiente cambio
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
-manual - ahora hay un apendice extra con algunos efectos de sonido - incluida rutina de firmware en apendice (call &bb18 que espera a pulsar tecla) - explicacion de que una ruta puede medir como mucho 255 bytes y como hacerlas mas largas - incluido un apartado de como programar rutas que tienen un patron de repeticion complejo - explicacion de como se recorren los colliders frente a como se recorren los collided y ejemplo de solucion de solape multiple
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v36.asm con las siguientes mejoras:
comando |PRINTSPALL mejorado, ahora permite un parametro adicional para especificar el primer sprite que se va a ordenar del grupo de sprites ordenados, es decir ahora se usa del siguiente modo:
ahora se permiten 4 modos de ordenamiento de sprites, que se configuran usando PRINTSPALL con un solo parametro. En 8BP ordenacion "parcial" significa que en cada invocacion solo se corrigen 2 sprites desordenados:
se han optimizado en velocidad un poquito la impresion flipeada y el comando STARS
no ha cambiado el espacio ocupado por la libreria
manual : En la documentacion he reflejado todos los cambios
he corregido un bug que afectaba a la impresion transparente en mode 1 cuando se usaba el color 1, que es para respetar el fondo y asi hacer limites redondeados de sprites. En mode 0 funcionaba pero en mode 1 habia un problema. Ya esta corregido
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v35.asm con las siguientes mejoras:
manual : En la documentacion he reflejado todos los cambios y he mejorado apendice de teclado, asi como el apartado de logicas masivas
JUEGOS:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v34.asm con las siguientes mejoras:
SPEDIT: (editor de sprites):
manual : En la documentacion he reflejado todos los cambios y he corregido la distribucion de bits en mode 1 en el capitulo de video
he actualizado el repositorio con una mejora para el comando MAP2SP. Si por algun casual encuentra mas de 32 items para traducir a sprites, tan solo creará 32 sprites y no mas, pues la tabla de sprites no soporta mas. Hasta ahora si ocurria esa circunstancia el comando MAP2SP corrompia la memoria de la libreria. No era un bug, pero ahora el uso de MAP2SP es mas seguro. He indicado esta circunstancia en el manual tambien.
he actualizado el repositorio con una correccion de la libreria. Se trataba de un bug que afectaba al comando PRINTAT si justo antes se habia impreso un sprite flipeado. En ese caso, las cadena de texto de PRINTAT se imprimia tambien flipeada. Este bug ya esta corregido. No hay ningun otro bug detectado.
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria). el manual ha sido mejorado notablemente, con mas aclaraciones y correccion de muchisimos detalles. He incluido mas medidas de rendimiento, mejor explicacion de los mecanismos de scroll, mejor capitulo de memoria de video, mas diagramas explicativos, codigo fuente con colores y tipo de letra monoespaciado, etc.
ocupa lo mismo que la v32 (7700 bytes)
ahora tienes 1400 bytes para musica (100 bytes mas que con v32)
el comando RSX SETUPSQ ha sido eliminado. Este comando tenia una sintaxis mas compleja en BASIC que en asm y he preferido dejar la creacion de secuencias unicamente en el fichero asm. Ademas en ninguno de mis juegos lo habia usado. Era el comando menos util. gracias a ello he ganado espacio de memoria para mejoras de funcionalidad y para graficos, pues antes este comando reservaba 256bytes en la zona de memoria de graficos pra poder funcionar.
En modo pseudo-3D, ahora tiene capacidad de imprimir segmentos con sobreescritura. Esto es algo que se podia hacer en v32 con todo tipo de sprites menos con los segmentos. Ahora simplemente al configurar los items con sobreescritura (usando MAP2SP, status) los segmentos tendran sobreescritura
Rotación de tintas (comando RINK) sin limitaciones. Hasta ahora se podian hacer patrones de 4 y 8 tintas rotando. Ahora puedes rotar cualquier numero de tintas
Sobreescritura de sprites con posibilidad de elegir el numero de bits de fondo: esto te va a permitir si lo deseas usar 4 colores de fondo en tus juegos
sprite flipping horizontal: ahora puedes definir imágenes "virtuales", que en realidad se definen como el "flip" horizontal de una imagen real. Esto te permite ahorrar mucha memoria RAM destinada a graficos. He hecho el horizontal y no el vertical porque el horizontal es el más util. Normalmente un personaje que camina a la izquierda es la imagen especular del mismo caminando hacia la derecha, mientras que cuando sube hacia arriba muestra la espalda y al bajar muestra el pecho y la cara.
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v32.asm con las siguientes mejoras
SPEDIT (editor de sprites):
JUEGOS: -nuevo juego "3D racing one" disponible en la carpeta GameExamples. Es el primer juego que usa la capacidad 3D de la version32 de 8BP. ocupa casi 20KB de BASIC
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v31.asm con las siguientes mejoras
demos :
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
Como ya habia consumido 6KB y no queria consumir mas, he modificado algunas funciones y ubicacion de datos para lograr mas espacio y asi incluir esta nueva funcionalidad sin consumo extra de memoria.
En la documentacion he reflejado esta nueva funcionalidad
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
Esta mejora funcional permite programar de un modo mas sencillo cosas tales como sprites que dan saltos, sprites que durante una trayectoria se transforman en otra cosa y se hacen vulnerables, etc
En la documentacion se ha reflejado esta nueva funcionalidad
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
En la documentacion, además de reflejar este cambio, se han incluido descripciones de los minijuegos "mini-pong" y "mini-invaders"
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v27.asm con las siguientes mejoras
demos :
He actualizado el repositorio con los siguientes cambios
SPEDIT (editor de sprites): -he subido la version 09 que incorpora 4 paletas a elegir y el buffer de imagen lo he movido a la direccion 24000.
Juegos
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v26b.asm con las siguientes mejoras
Juegos
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v26.asm con las siguientes mejoras
demos:
TOOLS: he incluido la version del WYZtracker (la 2.0.1.0) que es compatible con 8BP en el directorio raiz. La web de augusto ruiz es https://github.com/AugustoRuiz/WYZTracker
He actualizado el repositorio con un pequeno cambio (coherentes entre la documentacion y la libreria). Al ser un cambio pequeño no he modificado el nombre de version de la libreria ni de la documentación, aunque lo he incorporado en ambos. En la documentacion ademas he añadido un par de apendices utiles nuevos (de una pagina cada uno)
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v25.asm con las siguientes mejoras
demos:
He actualizado el repositorio con una version de spedit que corrige un pequeno bug, solo detectable si ejecutabas dos veces seguidas un flip vertical.
He actualizado el repositorio con el siguiente cambio:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v24.asm con las siguientes mejoras
demos:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v23b.asm con las siguientes mejoras
nuevo directorio de demos:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria). La documentacion no ha sido actualizada porque los cambios no afectan a la documentacion.
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria:
manual v22 actualizado, indicando los
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria:
documentacion: disponible el manual v22, que incluye:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria:
documentacion: disponible el manual v21, que incluye:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria:
documentacion: disponible el manual v20, que incluye:
con estas mejoras los juegos arcade ahora funcionan aun más rapido. Se incluye la demo de annunaki donde podeis comprobar el uso de estas mejoras
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria:
documentacion: disponible el manual v19, que incluye:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v18.asm con mejoras en COLSP y aumento de velocidad en STARS, mediante una optimización de cálculos
documentacion: disponible el manual v18, que incluye:
He actualizado el repositorio con los siguientes cambios (coherentes entre la documentacion y la libreria).
libreria: ahora se incluye 8bitsdepoder_v17.asm con mejoras en dos comandos (STARS y PRINTSPALL)
documentacion: disponible el manual v17, que incluye: