grendelkhan escribió:
Supongo que es evidente que lo que quiero hacer es tener un listado del código de un juego hecho en GAC para poder hacer un remake, de hecho, específicamente lo que quiero es sacar el código de "Ke rulen los Petas" para poder pasarme el juego y luego hacer una revisión jugable en Inform o en Superglus.
(RML levanta su sombrero y aplaude fervorosamente la iniciativa !!! )
OK, comienza la Operación Petas...
Arranca el ZXSpin y carga el juego de KRLP (yo he usado el tzx de WOS, pero cualquier snapshot debería valer igual). En cualquier momento (mismamente en la pantalla de la localidad inicial) vete al menú "File" del emulador y escoge la opción "Save Binary File". Desde ella guarda un archivo, llamémosle "petas.bin" señalando como dirección de inicio ("start address") nuestro número mágico, que era el 42271.
El cuadro inmediatamente inferior puede cambiarse entre "Data Length" (longitud del fichero binario a salvar) o "End Address" (su dirección final). Escoge "End Address" y pon 65535
Pulsa "Save". Ya tenemos la base de datos del juego aislada y guardada. Reinicia el emulador asegurándote de que está en modo 48k (por algún motivo en modo 128k a veces se le va la pinza sin causa aparente, no preguntes XDD ). Carga una copia del GAC y vete a la pantalla del menú principal (MAIN MENU) en la que se indicará que hay unos 23194 bytes de memoria libre. Vete al menú "File" del emulador y esta vez elige "Load Binary File". Carga desde allí el fichero de antes, el "petas.bin", cuidandote de indicar como dirección de comienzo la misma de antes, es decir, 42271.
Aparentemente nada ha cambiado, pero... atención, ahora DEBES encender 4 velas de incienso alrededor del monitor e ingerir la poción de ojos triturados de serpiente y sangre de bebé de dragón dorado mientras das 3 vueltas alrededor del ordenador en el sentido de giro de la Tierra e invocas a la Diosa de las Aventuras para... eer, vale, esto es para despistar a la audiencia, pero tu no dejes de hacerlo ;-p
Si te metes en cualquier opción del menú (objetos, habitaciones...) deberías de empezar a ver elementos del juego. Incluso deberías poder ejecutarlo pulsando enter, con la ventaja de jugarlo con las letras del Spectrum sin cambiar (¡hurra! XDD). Si al volver al menú los bytes libres se han reducido a 56 es que todo ha salido bien y ya puedes entretenerte consultando todo lo referente a su programación (localidades, objetos, condiciones, mensajes, etc, etc...) pero, sólo consultando en principio sobre la pantalla del Spectrum emulado, o sea, una cruz !!
Y aquí empiezan nuestros problemas. Como ya hemos repetido (y lamentado XDD) hasta la saciedad, no existe equivalente del unpaws para GAC, así que, por el momento, olvidémonos de tener un listado editable a mano. En un mundo ideal las rutinas de impresión del GAC funcionarían en cualquiera de los modos en que emuladores como Spectaculator pueden capturar la salida de la impresora en un fichero de texto... pero en el mundo real eso sólo parece funcionar con los volcados en ficheros gráficos de la salida de la ZX Printer (o sea, el horror !!! XDD ). Mientras se nos ocurre algo mejor (y llevará su tiempo, témome) te mando a la dirección de yonostudio en jotmail, que creo que es la tuya, el snapshot del GAC con la base de datos del KRLP ya cargada para que le vayas echando un vistazo a ver qué tal.