Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Moderador: Fundadores

Responder
Avatar de Usuario
tobisham
Le gustan las llamas
Le gustan las llamas
Mensajes: 73
Registrado: 25 Ene 2018, 13:32
Has thanked: 3 times
Been thanked: 3 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por tobisham »

Gracias al trabajazo de todos joer! acabo de conseguir en Ninjajar en dsk que lo anhelaba
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Spirax »

Spirax escribió: 26 Abr 2018, 15:09 primera aportacion a dsk . :mrgreen:
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 ;)
pues aqui esta la version final del Bobby Carrot con posibilidad de guardar los records en disco :o

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 :mrgreen:

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 :P
si alguno conoce enlances o documentacion a rutinas de carga de bajo nivel de disco se agradecen.
saludos
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Ivanzx
Aspirante a demonio
Aspirante a demonio
Mensajes: 240
Registrado: 27 May 2013, 13:31
Contactar:

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Ivanzx »

Buff, no sabes lo feliz que me has hecho, me alegraste el día, y de verdad muchísimas gracias por tu esfuerzo y por echarle un ojo a estas cosas que no son nada triviales!! :)

Imagino que ha sido el juego mas difícil de convertir a +3 hasta ahora, no? :|

Mil gracias!

mad3001 escribió: 05 May 2018, 00:19
Ivanzx escribió: 04 Abr 2018, 19:28
mad3001 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
Sí, pero creo que Hynreck estaba intentando sacar una versión de Prince of Persia para que cupiera en un disco de +3 :)
Bueno, aquí teneis otro para la colección Plus 3: Prince of Persia.
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
Avatar de Usuario
mad3001 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1934
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 83 times
Been thanked: 115 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por mad3001 »

Spirax escribió: 09 May 2018, 15:07
Spirax escribió: 26 Abr 2018, 15:09 primera aportacion a dsk . :mrgreen:
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 ;)
pues aqui esta la version final del Bobby Carrot con posibilidad de guardar los records en disco :o

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 :mrgreen:

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 :P
si alguno conoce enlances o documentacion a rutinas de carga de bajo nivel de disco se agradecen.
saludos
Buen trabajo.
Las rutinas de baja nivel yo las aprendí a manejar con las secciones +3dos de Microhobby, usando el buscador, por ejemplo:
http://mhoogle.speccy.org/mhoogle.php?p ... car=Buscar

No están demasiado bien explicadas pero partiendo de ellas se logran los objetivos. Lo malo es que hay que aprender bastantes cosas: uso del upd765, estructura del disco, manejo por pistas/sectores.....
Volviendo a los origenes... programa en assembler
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Spirax »

Gracias mad3001 lectura mas que interesante. aun estoy con ello ;)

pero de momento
aqui os dejo otro jueguecilla de nueva hornada.
lo ha colgado en el facebook hace solo unos dias Darryl Sloan.
Knights.rar
esta el original .tap
una reconversion mia a .tzx acelerado a 5500 bauds y con carga de pantalla desordenada en tiempo de carga.
la version en .dsk para +3

funciona en a: b: y posiblemente en +3e pero no tengo para probar ...

para cargar en a:
desde el menu cargador o desde basic 128 load "disk"

para cargar en b:
desde el basic 128k
load "b:"
load "disk"

los creditos a su autor
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Spirax »

Spirax escribió: 09 May 2018, 15:07 pues aqui esta la version final del Bobby Carrot con posibilidad de guardar los records en disco :o
Pues va a aser que no era la definitiva, pero esta se acerca mas a una version final :)
Bobby Carrot - 3e.zip
nota aunque el nombre pone 3e, es valido para todos tanto +3 como +3e

la version +3e solo la he podido probar en mi +3e con divide 57c (imagino que +3e divmmc , etc funcionaran igual, ¿si alguno lo prueba y lo confirma?)

cambios sobre la version anterior.
El juego es el mismo, pero ha cambiado el cargador y los ficheros en disco para hacerlo compatible con +3e
Añadida compresion zx7b que se le habia quitado para poder parchear las rutinas de carga y grabacion. Ahora cargo, descomprimo, parcheo y continuo.
Cargador CM añadido al Cargador basic
agrupados todas las paginas de memoria y la pantalla en un solo fichero para ahorrar espacio en disco.
con las operaciones de carga/grabacion del menu se pone el borde azul.

para cargar en A:
desde el cargador o desde el basic 128k load "disk"

para cargar en B:
entrar en basic 128k
load "b:"
load "disk"

para copiar al disco C en 3e
entrar en basic 128k
copy "A:DISK" to "C:BOBBYC"
copy "A:BOBBYC.*" to "C:"

para cargar desde C en 3e
entrar en basic 128k
load "C:"
load "BOBBYC"

saludos
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Hynreck
El infierno es su lugar
El infierno es su lugar
Mensajes: 162
Registrado: 03 Jul 2014, 11:56
Has thanked: 24 times
Been thanked: 34 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Hynreck »

Gracias Spirax, es de agradecer que se pueda usar también en el +3e... He actualizado la primera página con el nuevo link y he añadido el otro juego que subiste, el Knights
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Spirax »

Hola.
pues despues de partirme los cuernos con este jodido juego he conseguido pasarlo comoletamente a dsk, completo con los tres idiomas ingles, ruso :P y checo :P . con el menu de operativo, que nos permite redefinir, ver la historia , cambiar nivel de difilcutad y cargar un juego salvado y tambien con grabacion de avance de nivel durante el juego.

finalmente me estudie las rutinas de muy bajo nivel de microhobby y tras pelearme muchisimo con ellas consegui utilizarlas.
la parte mas jodida ha sido simular el usr 0 desde el cargador en cm sin perder el control del programa basic.
porque este juego solo funciona en modo usr 0 con el basic del 48k. y utiliza todos las paginas de memoria y la zona de variables en modo 48k y utiliza el buffer de impresora asi que es inviable en modo 128k con las rutinas de la rom del +DOS osea imposible en +3e, solo en disquete pero funciona en A y en B. (en B solo lo he probado en emulador)

para cragar en A
desde el cargador
o desde el basic 128k
load "disk"

para cargar en B
desde el basic 128k
load "b:"
load "disk"

nota 1 el disco tiene que estar desprotegido de escritura o se cuelga al intentar grabar.

nota 2 para grabar el avance mientras se esta jugando hay que pulsar a la vez las 4 teclas de la palabra "S A V E"

al cargar el avance antes de empezar el borde se pondra azul con la pantalla en negro.

al grabar el avance del juego el borde se pondra rojo, dependiendo de la pantalla que se este visualizando se pondra en negro o no. el problema es que no actualiza la variable bankm y no se cual esta usando, pero utilizo la pantalla1 como bufer y la borro, pero al volver despues de grabar la restaura. pero si esta en uso la shadow no se aprecia el borrado que hago.

espero que lo disfruteis, jajaja ahora si me puedo poner con el juego a tope y grabar los avances, a ver si salvo a todos.
espero no haberme cargado nada y que podamos llegar al final. :|

saludos
edito:
que con la emocion se me habia olvidado adjuntarlo. jajaja
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
Ivanzx
Aspirante a demonio
Aspirante a demonio
Mensajes: 240
Registrado: 27 May 2013, 13:31
Contactar:

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Ivanzx »

Menudo trabajazo, Spirax! Muchísimas gracias. Hay que ver lo útiles que son las Microhobby, 30 años después y siguen siendo una fuente inagotable de información ;)
Avatar de Usuario
Onlyfordj
Demonio segundo orden
Demonio segundo orden
Mensajes: 1025
Registrado: 30 Dic 2016, 09:28
Ubicación: Valencia
Has thanked: 58 times
Been thanked: 28 times

Re: Convirtiendo juegos TAP a DSK para +3 y +3e o +2e

Mensaje por Onlyfordj »

Spirax escribió: 11 Jun 2018, 00:22 Hola.
pues despues de partirme los cuernos con este jodido juego he....
Muchísimas gracias!!!
Responder

Volver a “Sinclair”