Adaptando discos a +3... ¿cómo lo hago?

Juegos, aplicaciones, ROMs;
todo lo que se pueda ejecutar en un Spectrum

Moderador: Sir Cilve Sinclair

Responder
zup
Freddy Hardest
Mensajes: 666
Registrado: Vie Ago 15, 2008 2:43 pm

Adaptando discos a +3... ¿cómo lo hago?

Mensaje por zup » Lun Dic 09, 2013 8:50 am

Después de otra tacada de juegos adaptados a +3(e), necesito opiniones. Hasta ahora he estado utilizando cargadores BASIC, pero estos días he estado experimentando con cargadores en c/m y con compresión.

En principio, la idea era adaptar los juegos para que se carguen desde disco duro en +2e/+3/+3e. Básicamente he estado destripando juegos protegidos y analizando sus cargadores, y luego los he replicado en BASIC. Las ventajas:
- Es más claro, se ve qué se carga en cada momento.
- Son fáciles de convertir de vuelta a cinta. Esto parece una tontería, hasta que te das cuenta del número de juegos que no cargan en divIDE por estar fuertemente protegidos (aunque los snapshots sí que cargan siempre).
- Hasta cierto punto, se permite comprimir los datos para que ocupen menos.
- Utiliza un montón de archivos para almacenar los datos (3 o 4 en 48k, hasta 10 en 128k).
- Salvo casos muy contados puedes meter los POKEs fácilmente.

Ejemplos de esto los podéis ver en mi sección del trastero.

Ahora repasemos las características de mis juegos cargando en c/m:
- No se vé qué se esté cargando a menos que destripes el c/m.
- No se puede convertir de vuelta a cinta.
- Se permite compresion.
- Utiliza dos (o como máximo 3) archivos en disco, lo que ahorra espacio en los directorios y en el propio disco (los archivos se graban por bloques de 512 bytes, si pegamos todos los archivos en uno los espacios perdidos al final de los archivos desaparecen).
- Los juegos ocupan bastante menos (¡más juegos por disco!)
- Salvo casos muy contados puedes meter los POKEs fácilmente. Aunque podría lanzar el juego directamente, de momento hago una parada intermedia al BASIC para permitir POKEs.

Un ejemplo es este disco en este disco. Los cargadores son una evolución del que se puede ver en este hilo.

Ahora bien... mis preguntas:
- Después del rollo con las ventajas e inconvenientes... ¿cargadores BASIC o c/m?
- ¿Dejo el hueco para poner POKEs o no?
- En caso de que queráis c/m... ¿creéis que debería generar ficheros tap con el juego desprotegido para que cargue desde divIDE?

No todos los juegos pueden convertirse a este tipo de cargadores (porque cargan varios bloques de BASIC, como el Sabrina). De momento estoy convirtiendo los juegos que ya existen desprotegidos en cinta... y si alguien quiere ver cómo cargan, que vaya a la cinta original.

Espero opiniones y respuestas.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start...

BCH
Jack The Nipper
Mensajes: 170
Registrado: Mié Ago 19, 2009 10:26 pm

Re: Adaptando discos a +3... ¿cómo lo hago?

Mensaje por BCH » Lun Ene 27, 2014 12:22 pm

Yo tambien he estado convirtiendo algunos juegos a disco, sobre todo multicargas (Strider 2, Sonic Boom, Black Tiger, Gunsmoke etc). En la mayoria de estos juegos es imposible volver al basic para cargar niveles porque el codigo utiliza la zona de variables de sistema, etc.

En estos casos, no queda otra que utilizar cargadores en CM (aunque todos los bloques de carga sean accesibles desde +3DOS). Si la idea es cargar desde disco duro (SD, CF, etc) con las ROMs +3e, esto deberia funcionar tambien con un divIDE (en modo IDE 16 bit; deshabilitando el firmware). Claro que esto deja fuera los 48k y los 128k previos al +2a/+3

De cualquier modo los juegos multicarga no funcionan como TAP, salvo que usen las rutinas de cinta de la ROM. Lo suyo seria hacer dos versiones diferentes: una para +3e disco y otra para cinta (usando rutinas de carga convencionales). Una vez que tienes hecha la version de disco, seria cuestion de volcar los bloques a cinta en el orden correcto y escribir una rutina de carga que utilice la cinta en vez del disco.

Saludos

Responder

¿Quién está conectado?

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