Unir bloques de datos de un TAP

Moderador: Fundadores

Responder
Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 121
Registrado: 01 Nov 2015, 18:35
Contactar:

Unir bloques de datos de un TAP

Mensaje por Radiosity » 12 Mar 2018, 14:00

Hola,

Una pregunta sobre el almacenamiento de datos y su carga en la memoria del Spectrum.

Resulta que tengo un TAP que he montado con una aventura conversacional que estoy terminando con DAAD. El caso es que dentro del TAP esta el loader BASIC la pantalla de presentacion y luego se cargan 3 modulos diferentes, el interprete, la base de datos de la aventura y la base de datos gráfica. Lo que yo querria hacer es unir esos 3 bloques en uno solo y que modificar en el loader BASIC para que cargue correctamente. Y si fuera posible no solo saber como hacerlo sino el porque de hacerlo de esa forma.

Gracias.

Avatar de Usuario
elfoscuro
Demonio segundo orden
Demonio segundo orden
Mensajes: 1557
Registrado: 01 Abr 2013, 22:00
Contactar:

Re: Unir bloques de datos de un TAP

Mensaje por elfoscuro » 12 Mar 2018, 21:19

Es bastante complicado lo que pides, porque no es sólo unir los bloques... También habría que cambiar el cargador BASIC y aun así, no te podría asegurar que funcionara. Depende de si usas toda la RAM o no, porque hay que tener en cuenta las variables del sistema.

Unir los bloques, realmente es muy sencillo... si sabes algo de programación. Los TAP son los ficheros más fáciles de modificar, sólo tienen una pequeña cabecera de bloque y luego los datos sin comprimir ni nada. Pero... imagina que el tercer bloque lo carga el mismo motor tras un RANDOMIZE USR...

Bueno, lo primero... pon por aquí el listado BASIC para ver qué hace, y luego mira en los bloques, la dirección de inicio y la longitud. Puedes usar un programa como TAPPER para ello.

Un saludo.
Fin de impresión

Avatar de Usuario
mad3001
Demonio tercer orden
Demonio tercer orden
Mensajes: 628
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Contactar:

Re: Unir bloques de datos de un TAP

Mensaje por mad3001 » 13 Mar 2018, 00:23

Entiendo que lo que necesitas es hacer un único bloque de código (un único LOAD ""CODE que se diría) y luego una pequeña rutina en ASM que te "mueva" cada cosa a su sitio, por que entiendo que cada bloque carga en una dirección y longitud que no van consecutivos...
Si como dice elfoscuro pones el listado basic y si además cargas el tap por ejemplo en ZX-BlockEditor y nos pones un pantallazo del contenido del TAP, seguramente podamos ayudarte algo más...
Salu2
No somos dioses sino aporreadores de teclas y destripadores de Hardware con ganas de soltar los nervios en algo productivo e interesante

Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 121
Registrado: 01 Nov 2015, 18:35
Contactar:

Re: Unir bloques de datos de un TAP

Mensaje por Radiosity » 13 Mar 2018, 11:53

Luego lo pongo. Gracias

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados