Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e
Publicado: 05 May 2018, 11:22
Gracias al trabajazo de todos joer! acabo de conseguir en Ninjajar en dsk que lo anhelaba
Retroinformática y consolas entre amigos sin complejos
https://www.va-de-retro.com/foros/
pues aqui esta la version final del Bobby Carrot con posibilidad de guardar los records en discoSpirax escribió: ↑26 Abr 2018, 15:09 primera aportacion a dsk .
pendiente por hacer, tengo que estudiar como llamar a las rutinas de carga y gabacion del disco desde ensamblador
ya que el juego puede garda y cargar los records, pero hace las llamadas directamente a la rutina de la rom de cinta.
asi que me toca estudiar, pero como he visto que este no estaba en dsk, pues os lo comparto a medias que jugar se puede
mad3001 escribió: ↑05 May 2018, 00:19Bueno, aquí teneis otro para la colección Plus 3: Prince of Persia.Ivanzx escribió: ↑04 Abr 2018, 19:28Sí, pero creo que Hynreck estaba intentando sacar una versión de Prince of Persia para que cupiera en un disco de +3mad3001 escribió: ↑03 Abr 2018, 22:06
Del POP hay una version dsk 720kb, solo apta para disquetera de 3.5, claro....
https://mega.nz/#!smYHXbIR!fUYvbrjlrKdg ... OhW1IfboKc
En este link del foro teneis además el Mighty Final Fight...
http://www.va-de-retro.com/foros/viewto ... 8&p=122740
Me ha llevado su tiempo porque he aprovechado para traducir el juego a Ingles (podía haber sido a Español, pero ya sabemos que en Ingles es más "neutro" y llega a más gente)... además he "limado" algunas cosas internas de la carga y demás.
Debido al tamaño (aun comprimiendo lo máximo que he podido) ocupa 2 caras de un disco de 3".
Podeis copiar todos los archivos a un disco de 3.5 con unos 300kb libres y funcionará (los archivos repetidos en la cara 2 es para que no tengais que andar dando la vuelta cuando ya esteis por las fases 8 en adelante).
También podeis usarlo en unidad B: simplemente cargar con: LOAD "B:":LOAD"DISK"
<link a mega v1>
Salu2
P.D. como he partido de la versión que tenia el avance de fase pulsando THP pues ya sabeis... usadlo solo como entrenamiento...
Pequeña correción, V1 actualizado el link de descarga
Buen trabajo.Spirax escribió: ↑09 May 2018, 15:07pues aqui esta la version final del Bobby Carrot con posibilidad de guardar los records en discoSpirax escribió: ↑26 Abr 2018, 15:09 primera aportacion a dsk .
pendiente por hacer, tengo que estudiar como llamar a las rutinas de carga y gabacion del disco desde ensamblador
ya que el juego puede garda y cargar los records, pero hace las llamadas directamente a la rutina de la rom de cinta.
asi que me toca estudiar, pero como he visto que este no estaba en dsk, pues os lo comparto a medias que jugar se puede
version del juego 1.01 version del cargador 1.01
Bobby Carrot.zip
cambios sobre la version anterior.
estoy aprendiendo a manejar las rutinas de carga de disco desde CM. ya que una vez arrancado el juego hay que hacerlo a bajo nivel desde ensamblador.
todavia no controlo muy bien el cambio de unidad dicho sea de paso porque mi spectrum solo tiene una gotek
pero probado en un emulador funciona en A: y B:
para cargar en A:
desde el cargador o desde el basic load "disk"
para cargar en B:
entrar en basic 128k
load "b:"
load "disk"
no tengo posibilidades de probarlo en +3e ni se como maneja los ficheros no se si funcionara.
he modificado varias cosas del inicio del juego.
por defecto al iniciar el juego reseteaba los hiscores y si intentaba cargarlos antes de arrancar no servia de nada.
asi que le puse un retorno a la subrutina que reinicia los hiscores al iniciar el juego lo que me permite cargarlos automaticamente antes de emperzar a jugar.
despues intercepte las llamadas a las rutinas de grabacion y carga de la rom del 48k para que llamara a las subrutinas que he creado yo para carga y grabacion de disco.
el principal problema que me encontré es que una vez cargado el bloque principal cuando hace la descompresion de todos los datos el juego utiliza la pagina de memoria 7 por lo que se corrompe el buffer de disco y ya no permite volverlo a usar.
solucion: como para poder interceptar las rutinas de carga y grabacion a cinta tenia que descomprimir y parchear.
lo que hice fue descomprimir todo el juego he modificado lo que necesito y lo he grabado en disco descomprimido.
por suerte aunque el juego utiliza y modifica la pagina 7, quedaban otras dos libres que el juego no utiliza, la pagina 1 y la pagina 3.
por lo que he optado por la primera solucion que se me ha ocurrido,
cargo el bloque que necesita el juego para la pagina 7 en la pagina 3, y nada mas terminar la carga de disco hago un backup del buffer de disco de la pagina 7 en la pagina 1 despues muevo el contenido del juego de la pagina 3 a la pagina 7 donde tiene que estar para poder jugar e iniciamos el juego.
despues las rutinas de carga y grabacion en disco lo que hacen al ser llamadas es hacer un backup de la pagina 7 del juego en la pagina 3, restauran el buffer del disco que habiamos guardado en la pagina 1, graban o leen y al acabar vuelven a hacer un backup del buffer de disco a la pagina 1 y restauran los datos del juego desde la pagina 3.
como buffer para copiar los datos de una pagina a otra mientras esta el juego en el menu utilizo los 2k inferiores de la pantalla, por donde se mueve el conejito, por lo que lo hago desaparecer mientras se graban o leen los records y reaparece al apagar el motor de la disquetera
para poder crear este buffer he tenido que subir el menu 1 linea para arriba pero no afecta al funcionamiento del juego. ni queda mal visualmente.
al cargar el juego desde el disco carga automaticmente los ultimos records guardados , solo hay que acordarse de grabarlos antes de apagar
nota: si el disco o la gotek esta protegido contra escritura el spectrum puede que se cuelgue al no poder abrir el fichero para grabar.
ah y un ultimo cambio me añadi a los creditos dej juego
sigo aprendiendo de forma autodidacta
si alguno conoce enlances o documentacion a rutinas de carga de bajo nivel de disco se agradecen.
saludos
Pues va a aser que no era la definitiva, pero esta se acerca mas a una version final nota aunque el nombre pone 3e, es valido para todos tanto +3 como +3e