Unir bloques de datos de un TAP

Moderador: Fundadores

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

Unir bloques de datos de un TAP

Mensaje por Radiosity »

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: 1825
Registrado: 01 Abr 2013, 22:00
Been thanked: 25 times

Re: Unir bloques de datos de un TAP

Mensaje por elfoscuro »

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 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1921
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 81 times
Been thanked: 113 times

Re: Unir bloques de datos de un TAP

Mensaje por mad3001 »

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
Volviendo a los origenes... programa en assembler
Radiosity
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 01 Nov 2015, 18:35

Re: Unir bloques de datos de un TAP

Mensaje por Radiosity »

Luego lo pongo. Gracias
Responder

Volver a “Sinclair”