Página 31 de 33

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

Publicado: 12 Ene 2023, 19:45
por cacharreo
No tengo emulador para probarlo aquí y con mi conexión actual me llevaría 20-30 minutos descargar uno (RVM). ¿Hablamos de "Fred" (Indescomp, 1984)?

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

Publicado: 12 Ene 2023, 20:47
por mad3001
Spirax escribió: 12 Ene 2023, 18:46 Hola.
este es un Juego clasico que ya estaba disponible en DSK, es el FRED
pero me apetecia darle un empujoncito para que Fred ande un poco mas rapido, jejeje
https://mega.nz/file/2JECgDCJ#0qM6UbJ8h ... Z4EOtcuQyk

dentro del rar hay varios ficheros
un dsk que tiene menu de seleccion de idioma y las dos versiones, ingles y español.
dos ficheros .TAP , uno por cada idioma, que sirve tanto para soportes de carga rapida, divide, divmmc, etc, como para tapduino, maxduino, emuladores, etc.
dos ficheros .TZX , uno por cada idioma, que sirven para carga en maquina reales con MAXDUINO, TAPDUINO, etc, ya que tiene una rutina de carga modificada que no usa las llamadas "Oficiales", en casi todos los emuladores funciona en velocidad normal, pero por ejemplo spectulator no lo carga si fuerzas la carga rapida de cinta. pero si lo carga si lo dejas a velocidad normal.

ale espero que le deis una oportunidad :)
para copiarlo al disco duro ,teneis que mapear la unidad donde quereis copiarlos por ejemplo en "D:" y usar
copy "A:FRED.*" to "D:"

he acelerado algunas rutinas de calculo de posiciones de pantalla.
he reescrito casi desde cero la rutina de pintado de pantalla, y ahorro unos 200.000 Tstates por cada pintado respecto a la original, asi que se aceleran unos 3 fotogramas por cada interación del bucle principal .....
he añadido una variable nueva, y la uso para saber si ha cambiado el score, y pintarlo si se ha modificado.
el juego original produce un parpadeo constante en el score ya que en cada interacion del bucle principal tarda unos 8 fotogramas y no se sincroniza con las interrupciones para pintar el score, muchas veces al borrar el score pasa el raster antes de que lo haya vuelto a pintar.
inicialmente al acelerar el pintado de pantalla y solo tardar 5 fotogramas en completar el bucle, pense en sincronizarlo con un halt, pero claro entonces perdia algo de velocidad al forzar a completar el fotograma para pintar el score. despues le meti la variable nueva y quite otra vez el halt que puse yo, total acelerado y sin parpadeo, tan solo se puede producir el parpadeo de algun digito al cambiar la puntuacion al recoger algun objeto, pero no se aprecia ;)

Saludos
El acelerado me recuerda a la versión de 48+128k del LodeRunner que publiqué para Dandanator... en esa rehice por completo la rutina de pintado de la pantalla al entrar en la fase porque la original era supermegalenta.

Genial trabajo con ese Fred, si señor, mi sombrero a tus pies... tengo por ahí un desensamblado con mis comentarios del Chuckie Egg por si quieres hacer alguna cosilla (me puse a ello pero llegó la inspiración para un desarrollo y quedó aparcado)

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

Publicado: 12 Ene 2023, 22:53
por Spirax
cacharreo escribió: 12 Ene 2023, 19:45 ¿Hablamos de "Fred" (Indescomp, 1984)?
Si. ese mismo.
el Fred de Indescomp :)

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

Publicado: 13 Ene 2023, 12:58
por Spirax
Spirax escribió: 12 Ene 2023, 18:46 dentro del rar hay varios ficheros
un dsk que tiene menu de seleccion de idioma y las dos versiones, ingles y español.
dos ficheros .TAP , uno por cada idioma, que sirve tanto para soportes de carga rapida, divide, divmmc, etc, como para tapduino, maxduino, emuladores, etc.
dos ficheros .TZX , uno por cada idioma, que sirven para carga en maquina reales con MAXDUINO, TAPDUINO, etc, ya que tiene una rutina de carga modificada que no usa las llamadas "Oficiales", en casi todos los emuladores funciona en velocidad normal, pero por ejemplo spectulator no lo carga si fuerzas la carga rapida de cinta. pero si lo carga si lo dejas a velocidad normal.
Hola.
por aclarar un poco la diferencia entre en el TAP y el TZX, y por que el TZX puede fallar en algunos emuladores.

el TAP deveria funcionar en cualquier sitio, ya sea emulador, reprodcutor de tap via audio en el movil, en arduinos en MAXduino, TZXduinos, etc, en divides en divmmc,etc, en cualquier cosa que emule en ZX Spectrum y soporte la carga de TAPS.

pero el TZX, hay el TZX y la guerra que puede dar.
el TZX es un formato de fichero donde se almacena como se reproducira el sonido para cargarlo en un ZX real.
Hay infinidad de emuladores que soportan el TZX, pero este TZX es un poquito especial, esta diseñado para ser reproducido en un TZXDuino, Maxduino, Reproductor de audio etc que generan el sonido para cargarlo en una maquina real.
El problema com los emuladores viene cuando estos intentan detectar que se esta cargando de cinta para acelerar la carga y que tarde menos.
Como uso parte de la rutina de la rom, concretamente las rutinas LD_EDGE y LD_LOOP, Si el emulador esta configurado para acelerar la carga muchos emuladores se confunden e interceptan la llamada a la rom para ejecutar su codigo de carga y gestionar la copia de datos de la cinta a la memoria de forma inmediata sin pasar por los IN/OUTs emulados.
os voy a poner un ejemplo.
Spectaculator tiene varias opciones para acelerar las cargas de cinta y que sean instantaneas.
esto lo hace interceptando las llamadas a la rutina de carga de la rom y copiando los datos directamente del fichero tap a la memoria interna del zx emulado.
el problema viene que la rutina que yo utilizo usa las llamadas a la rom parcialmente y ahi es cuando Spectulator se confunde si tiene la opcion Flashloading activada.

Spectaculator tiene varias opciones para acelerar las cargas.
Enable Fast Loading, esta opcion lo que hace es ejecutar el emulador a toda velocidad pero emulando todos los puertos de entrada y salida, a todo lo que de el PC que esta emulando el zx, con esta opcion veremos las rayas de carga pero el juego tarda en cargar unos segundos, el emulador procesa la cinta pero a velocidad de vertigo :)

la siguiente opcion es la problematica con algunos TZX como el mio :(
FlashLoading, esta opcion lo que hace es interceptar las llamadas de carga a la rutina de la rom, pero en vez de procesar la cinta lo que hace es copiar directamente los datos del tap a la memoria del ZX de forma instantanea.
el problema con mi tzx es que solo intercepta una de mis llamadas a la rom como carga de datos y el resto de llamadas se queda esperando a que le lleguen los datos por el puerto IN y el spectaculator no se los manda :(

la tercera opccion del Spectaculator para acelerar las cargar es
edge detection, que le sirve al spectaculator sincronizar la carga acelarada en la opcion anterior.
no he notado cambios con mi tzx activando o desactivando esta opción.

-------------
El caso es que en emulador, divide, etc es mejor usar el TAP que os permetirá cargarlo instantaneamente o a velocidad normal.
y para cargar en maquina real podeis usar el TAP o el TZX que tardan los mismo en cargar pero la diferencia es que el TZX muestra la carga de la pantalla ordenada en tiempo de carga :)
para poder usar el TZX en cualquier emulador hay que revisar las opciones de manejo de carga de cintas en dicho emulador. y ya anticipio que si intereceptan las llamadas a la rutina de la rom para acelerar la carga el TZX se puede quedar frito, por lo que para usar el TZX hay que desactivar la carga flash.

pero la aceleracion de carga puede funcionar en los emuladores como por ejemplo con Retrovirtual machin y su opcion warp, spectaculator con la opcion Flash desactivada, el ZXSEC funiona bien con la opcion tape speed up activada, el Espectrum hay que desactivar la opcion "carga rapida" y cargar acelerando la emulación con F11.
-------------

Resumen para evitar problemas o cambios de configuracion para emulación usar el TAP. :)

perdon por la chapa en el hilo de conversiones :)

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

Publicado: 13 Ene 2023, 16:26
por javier2112
Spirax escribió: 12 Ene 2023, 18:46 Hola.
este es un Juego clasico que ya estaba disponible en DSK, es el FRED
pero me apetecia darle un empujoncito para que Fred ande un poco mas rapido, jejeje
https://mega.nz/file/2JECgDCJ#0qM6UbJ8h ... Z4EOtcuQyk

dentro del rar hay varios ficheros
un dsk que tiene menu de seleccion de idioma y las dos versiones, ingles y español.
dos ficheros .TAP , uno por cada idioma, que sirve tanto para soportes de carga rapida, divide, divmmc, etc, como para tapduino, maxduino, emuladores, etc.
dos ficheros .TZX , uno por cada idioma, que sirven para carga en maquina reales con MAXDUINO, TAPDUINO, etc, ya que tiene una rutina de carga modificada que no usa las llamadas "Oficiales", en casi todos los emuladores funciona en velocidad normal, pero por ejemplo spectulator no lo carga si fuerzas la carga rapida de cinta. pero si lo carga si lo dejas a velocidad normal.

ale espero que le deis una oportunidad :)
para copiarlo al disco duro ,teneis que mapear la unidad donde quereis copiarlos por ejemplo en "D:" y usar
copy "A:FRED.*" to "D:"

he acelerado algunas rutinas de calculo de posiciones de pantalla.
he reescrito casi desde cero la rutina de pintado de pantalla, y ahorro unos 200.000 Tstates por cada pintado respecto a la original, asi que se aceleran unos 3 fotogramas por cada interación del bucle principal .....
he añadido una variable nueva, y la uso para saber si ha cambiado el score, y pintarlo si se ha modificado.
el juego original produce un parpadeo constante en el score ya que en cada interacion del bucle principal tarda unos 8 fotogramas y no se sincroniza con las interrupciones para pintar el score, muchas veces al borrar el score pasa el raster antes de que lo haya vuelto a pintar.
inicialmente al acelerar el pintado de pantalla y solo tardar 5 fotogramas en completar el bucle, pense en sincronizarlo con un halt, pero claro entonces perdia algo de velocidad al forzar a completar el fotograma para pintar el score. despues le meti la variable nueva y quite otra vez el halt que puse yo, total acelerado y sin parpadeo, tan solo se puede producir el parpadeo de algun digito al cambiar la puntuacion al recoger algun objeto, pero no se aprecia ;)

Saludos
Me parece un puntazo porque a ese juego le falta algo de velocidad, pero ¿estás seguro de haber dejado la versión correcta? Lo digo porque tengo un problema con el teclado que me impide jugarlo en ninguna de las versiones, al menos con el emulador Fuse, da igual el hardware emulado.

Saludos.

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

Publicado: 13 Ene 2023, 17:51
por Spirax
pues te diria que si es la version correcta :)
he resubido el rar, he cambiado los TZX para poner una rutina de carga que no se pegue con los emuladores y funcione aunque estos esten acelerados.
es el mismo link

edito:
he vuelto a cambiar el rar, ahora es más rapido aún :)
https://mega.nz/file/uNkTSTqK#vt5xtpUwW ... BaM4N70JEU

pero tendreis que rebajarlo.

lo intentaré probar en fuse,que ese no le tengo por defecto

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

Publicado: 13 Ene 2023, 18:00
por cacharreo
javier2112 escribió: 13 Ene 2023, 16:26Me parece un puntazo porque a ese juego le falta algo de velocidad, pero ¿estás seguro de haber dejado la versión correcta? Lo digo porque tengo un problema con el teclado que me impide jugarlo en ninguna de las versiones, al menos con el emulador Fuse, da igual el hardware emulado.
Por si acaso... si le das directamente a jugar el prota comienza a saltar y disparar como un loco sin parar. Eso pasa tanto en las versiones anteriores como en las nuevas, en emuladores y en Spectrum físicos (cargándolo desde µTZXduino) pero con solo pulsar la opción de teclado (2,por defecto, QWERT) antes de la opción jugar (4) funciona bien.
Spirax escribió: 13 Ene 2023, 17:51he resubido el rar, he cambiado los TZX para poner una rutina de carga que no se pegue con los emuladores y funcione aunque estos esten acelerados.
es el mismo link
Buen trabajo y en tiempo récord. Muchas gracias.

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

Publicado: 13 Ene 2023, 18:20
por Spirax
cacharreo escribió: 13 Ene 2023, 18:00
javier2112 escribió: 13 Ene 2023, 16:26Me parece un puntazo porque a ese juego le falta algo de velocidad, pero ¿estás seguro de haber dejado la versión correcta? Lo digo porque tengo un problema con el teclado que me impide jugarlo en ninguna de las versiones, al menos con el emulador Fuse, da igual el hardware emulado.
Por si acaso... si le das directamente a jugar el prota comienza a saltar y disparar como un loco sin parar. Eso pasa tanto en las versiones anteriores como en las nuevas, en emuladores y en Spectrum físicos (cargándolo desde µTZXduino) pero con solo pulsar la opción de teclado (2,por defecto, QWERT) antes de la opción jugar (4) funciona bien.
Gracias, por la respuesta, no habia entendido el problema.

correcto, en el original se necesita confirmar una opcion antes de empezar a jugar.
y hay que pulsar 1 joystick , 2 teclado o 3 redifinir antes de darle al 4 para jugar. ( voy a ver si puedo seleccionar teclado por defecto antes de arrancar)
el teclado predefinido es QWERT

he añadido una llamada a la opcion de seleccionar teclado y despues arranco el menu.
osea ahora si le das al 4 directamente inicia para jugar con teclado QWERT
no hay ni que decir que si quieres redefinir o jugar con joystick tienes que pulsar la opcion correspondiente antes de empezar a jugar ;)
saludos

edito:
he vuelto a cambiar el rar, ahora es más rapido aún :)
https://mega.nz/file/uNkTSTqK#vt5xtpUwW ... BaM4N70JEU

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

Publicado: 13 Ene 2023, 18:50
por javier2112
Spirax escribió: 13 Ene 2023, 18:20
cacharreo escribió: 13 Ene 2023, 18:00
javier2112 escribió: 13 Ene 2023, 16:26Me parece un puntazo porque a ese juego le falta algo de velocidad, pero ¿estás seguro de haber dejado la versión correcta? Lo digo porque tengo un problema con el teclado que me impide jugarlo en ninguna de las versiones, al menos con el emulador Fuse, da igual el hardware emulado.
Por si acaso... si le das directamente a jugar el prota comienza a saltar y disparar como un loco sin parar. Eso pasa tanto en las versiones anteriores como en las nuevas, en emuladores y en Spectrum físicos (cargándolo desde µTZXduino) pero con solo pulsar la opción de teclado (2,por defecto, QWERT) antes de la opción jugar (4) funciona bien.
Gracias, por la respuesta, no habia entendido el problema.

correcto, en el original se necesita confirmar una opcion antes de empezar a jugar.
y hay que pulsar 1 joystick , 2 teclado o 3 redifinir antes de darle al 4 para jugar. ( voy a ver si puedo seleccionar teclado por defecto antes de arrancar)
el teclado predefinido es QWERT

edito:
he vuelto a cambiar el rar, pero es el mismo enlace
https://mega.nz/file/PJ9TjD6Y#eqJlQL9ns ... jVk5XUU4VY
he añadido una llamada a la opcion de seleccionar teclado y despues arranco el menu.
osea ahora si le das al 4 directamente inicia para jugar con teclado QWERT
no hay ni que decir que si quieres redefinir o jugar con joystick tienes que pulsar la opcion correspondiente antes de empezar a jugar ;)
saludos
Gracias, qué rapidez.

Ahora sí lo he podido jugar. Bueno, y a cacharreo también, por haber detallado el problema.


Saludos.

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

Publicado: 15 Feb 2023, 16:37
por obocafree
Os dejo un dsk del juego TCQ hecho con el z80onDSK, el juego es gratuito pero se le puede invitar a un café al creador en https://amaweks.itch.io/tcq



Otro juego gratuito y que bien merece ser convertido a dsk es la versión extendida del Treasure Island Dizzy, del que ya se ha hablado por aquí pero que no queda bien ni con z80onDSK (se corrompe la parte superior de la pantalla) ni con tap2dsk. Si alguien se anima, sería un puntazo... :|