Tutorial de AGD 30: ¿Cómo almacena AGD el juego en memoria?


Vamos a incorporar música de prueba a JBA con Vortex Tracker, y en el proceso de estudio, me he encontrado con la necesidad de mover bloques de datos en la memoria de nuestro spectrum. Para ello, nada mejor que tener claro como almacena los datos AGD para así ver donde podemos encajarlos.

Partamos de esta fantastica explicación de thE pOpE, que vimos en un capítulo anterior, pero que enlazo nuevamente:

Bloques de Memoria AGD

Tratemos de crear una tabla con la información dispoinible gracias a thE pOpE, y, en el caso de la información variable, en que direcciones de memoria deben consultarse, a ver si somo capaces 🙂

BloqueDesdeHastaNotas
Pantalla de Carga$4000 (16384 DEC)$5B00 (23296 DEC)La memoria de pantalla ocupa 6912 Bytes que comienzan en 16384 DEC.
Espacio Libre$5B01 (23297 DEC)$75B8 (30136 DEC)Quizá tengas que ajustar el límite superior si tu bloque de juego en el tap tiene un tamaño diferente, pero en JBA parece ser así, algo más de 6,5Kb
Editor AGD$75B9 (30137 DEC)$7CFF (31999 DEC)Depende del escenario está o no presente / Direcciones establecidas observando el cargador de AGD y el límite inferior del Engine, para JBA
Engine AGD$7D00 (32000 DEC)
Datos Juego
Código AGDUna vez detectado donde comienza y donde acaba, podremos sobrescribir este área.
Código Z80$EED9 (61145 DEC)Dirección Hasta obtenida examinando tamaño bloque de datos de JBA 1.1. Podría ser diferente en cada juego.
Espacio Libre$EEDA (61146 DEC)$FCFF (64767 DEC)Si los cálculos son correctos, esto nos deja con algo más de 3500 Bytes
Mapa de Durezas$FD00 (64768 DEC)Si hay hueco por encima de esto, no lo se aún, al desconocer como funciona dicho mapa de durezas.
Estructura en memoria de un juego AGD v0.1

Parece que tendré que trabajar más esta cuestión, no parece haber información disponible en la red, por lo que he deducido las que he podido, según avancen mis investigaciones iré actualizando este artículo.

Si tienes información al respecto por favor, ¡házmela llegar!

Esto por un lado me anima a investigar, por otro, a usar esa investigación para construir MGD (Metsuke Game Designer), basado en MPL, ¡poco a poco!

¡Compártelo!

Ayudame a difundir este contenido a todo aquel que pueda sacarle partido, difundelo en redes, cuéntaselo a tus amigos, coméntalo en la cola del supermercado, además de aportar, ¡seguro que conoces a gente interesante y acabas uniéndose al bando rebelde!

Sígueme en Redes

Acelera mi progreso de la materia que te interesa.

El calendario y ritmo de publicaciones actualmente responde a mis necesidades de estudio y desarrollo de proyectos personales, si quieres invertir en que acelere alguna materia concreta, te ofrezco una posibilidad:

Puedes donar en mi paypal (paypal at metsuke.com), indicando la materia, por cada 25 euros donados, priorizaré un capítulo de la materia que me indiques que ya tenga escrito para que salga el proximo dia viable y disponible de lunes a viernes (en orden de llegada y a un post diario).

En caso de que el capítulo aún no exista, centraré mi atención en escribirlos y publicarlos con prioridad, pero no puedo prometer inmediatez.

De nuevo priorizaré las donaciones por orden de llegada pero cuando coincidan varias, iré rotando cada dia una para evitar la monopolización de mi foco de tareas.

Me reservo el fin de semana para priorizar lo que considere pertinente en el caso de que haya cola de entrega. Si te gusta el proyecto, ¡es un buen modo de apoyarme!

¿Te interesan mis servicios a título personal?

Puedo ofrecerte una amplia gama de productos y servicios en accesibilidad a través de mis partners, aunque quizá prefieras que lo haga yo personalmente…

En ese caso, puedes contactarme en mi correo r.carrillo@metsuke.com y cuéntame que necesitas, si lo que leo me gusta, te pongo en contacto con el comercial de mi empresa de consultoría.

Si quieres que sea yo expresamente quien te atienda, puedes indicármelo y llegamos a un acuerdo.

Advierto que esta última posibilidad te saldrá bastante más cara que hablar con mi equipo, pero si es lo que deseas, a tu disposición.

Un Abrazo.

Sobre las traducciones

Por el momento me he visto obligado a detener la traducción del contenido, apenas doy abasto a escribirlo (que es mi objetivo, ya que son mis apuntes de estudio), por lo que no parece tener sentido mantener activas unas traducciones que no doy abasto a crear.

En caso de que más adelante el flujo de caja me lo permita, es mi intención contratar servicios de traducción y editores que realicen la tarea, pero por ahora lo dejo desactivado.


Quizá te interese leer más sobre AGD

Dejar una Respuesta

XHTML: Usted puede usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>