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

Moderador: Fundadores

Avatar de Usuario
bugpat
Siervo de Satán
Siervo de Satán
Mensajes: 4
Registrado: 17 Abr 2021, 01:14
Ubicación: France (south-east)

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

Mensaje por bugpat »

mad3001 escribió: 03 Abr 2018, 22:06
Ivanzx escribió: 03 Abr 2018, 21:39 No olvidéis Prince of Persiaaaaaaa :)
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
Hello,
The file (Mighty Final Fight.dsk) isn't available. Is it possible you upload it again ?
Thanks

Hola,
El fichero (Mighty Final Fight.dsk) ya no está disponible. ¿Es posible volver a ponerlo a descargar?
Muchas gracias.

Patrice
Avatar de Usuario
mad3001 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1920
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 81 times
Been thanked: 113 times

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

Mensaje por mad3001 »

Ahí va...
<mmf 1.2 dsk>
Volviendo a los origenes... programa en assembler
Avatar de Usuario
bugpat
Siervo de Satán
Siervo de Satán
Mensajes: 4
Registrado: 17 Abr 2021, 01:14
Ubicación: France (south-east)

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

Mensaje por bugpat »

Muchas gracias ! I copied it from my gotek on a 3'disc and now I can load it directly on my +3 :D
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.
Le he pegado un repaso al Abe's Mission Escape...
Como sabeis este Juego lo hieron para los clones russos que van a 7MHz, por lo que en un +3 aunque jugable a 3,5 MHz era jugable pero un poco leeeeento.
Aunque perfectamente jugable, la version anterior la termine rescatando a todos aunque con paciencia, jajaja
asi que como es un juego que me gusta mucho decidi echar un vistazo al codigo y tras finalizar las pruebas y completarlo salvando a todos otra vez para ver que no he roto nada lo vuelvo a compartir .....
he modificado un par de rutinas y creado un par de rutinas nuevas especificas para pintado de la pantalla completa.y le he pegado un aceleron importante para hacerlo jugable y Disfrutable en un +3.

Al grano el fichero dsk podeis descargarlo de aqui..
https://mega.nz/file/bcsAjbDR#hswbkUXA- ... oR2VdHYVFc

Al igual que la version anterior es completamente funcional el grabado de partida en el disco durante el juego pulsando a la vez las teclas S+A+V+E.
vereis que cambia el borde de color y graba la partida al disco.

La partida solo se puede cargar desde el menu incial donde se selecciona empezar una nueva partida o cargar una previamente grabada.
Probado en gotek A: B: y en disco Interno C: y D:

Saludos
Avatar de Usuario
Spezzi63
Seguidor infernal
Seguidor infernal
Mensajes: 49
Registrado: 13 Ene 2018, 18:48
Has thanked: 21 times
Been thanked: 5 times

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

Mensaje por Spezzi63 »

Muchas gracias por su trabajo.
Estoy muy contento con la imagen del disco que habéis creado.
Soy un gran fan de este juego ;)
Tengo información de que hace tiempo se creó una versión "corregida" de este juego.
No sé si estas correcciones tienen algún efecto.
Pero aquí está el enlace a la página:
https://tcg.speccy.cz/index.php?pg=games-en
Muchos saludos


Se han corregido 2 errores:

1 Tabla de interrupción de corte incorrecta
2 problema con las fuentes: para EN y CZ son diferentes y se almacenan sin sentido junto con la posición,
lo que perturba cuando la posición fue capturada en CZ y registrada en EN (o viceversa)
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 »

Spezzi63 escribió: 14 Feb 2022, 17:06 Muchas gracias por su trabajo.
Estoy muy contento con la imagen del disco que habéis creado.
Soy un gran fan de este juego ;)
Tengo información de que hace tiempo se creó una versión "corregida" de este juego.
No sé si estas correcciones tienen algún efecto.
Pero aquí está el enlace a la página:
https://tcg.speccy.cz/index.php?pg=games-en
Muchos saludos


Se han corregido 2 errores:

1 Tabla de interrupción de corte incorrecta
2 problema con las fuentes: para EN y CZ son diferentes y se almacenan sin sentido junto con la posición,
lo que perturba cuando la posición fue capturada en CZ y registrada en EN (o viceversa)
sin problemas.
he revisado que el tap que usé en su dia para la conversión que es el que he usado de base para modificar las rutinas de impresión es el mismo de esa pagina.
osea que ya estaban corregidos los dos errores, aunque ninguno de los dos nos afectaba.
ya que en el disco solo deje el idioma ingles. no asi en la versión cartucho (MLD dandanator) en el cual dejé los tres idiomas y los creditos originales.

el echo de dejar solo el ingles en el disco es por un motivo.
el tap original solo funciona en un 128k en el basic 48k en modo USR 0, osea en un divide o divmmc que cargan los tap desde la rom del basic 48k con la paginación de memoria activada.
el motivo de necesitar usr 0 es que las rutinas de descompresion de bloques asi como el loader de los tres idiomas que hicieron los rusos usa el area del buffer de la impresora del 48k de 256bytes que esta en #5b00 para la rutina de descompresion y su loader y claro si estas en modo 128k ese area esta destinado a las rutinas de paginacion que usa la rom del +3 para cambiar de roms y ademas algunas variables de sistema del 128k.
Asi que tuve que eliminar toda la compresión y el cargador de los rusos y crear un cargador nuevo desde 0 usando otro compresor el zx7 que pongo en otro sitio :) y al hacer el nuevo cargador y como es para un plus 3 que los rusos no usan, pues use solo el idioma ingles. jajaja

Gracias por el apunte de la version corregida ;)
siempre viene bien confirmar que tenemos la ultima versión corregida.
¿entiendo que has notado el cambio de velocidad? :D :|
Avatar de Usuario
Spezzi63
Seguidor infernal
Seguidor infernal
Mensajes: 49
Registrado: 13 Ene 2018, 18:48
Has thanked: 21 times
Been thanked: 5 times

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

Mensaje por Spezzi63 »

Hola,
No he encontrado un método para determinar el cambio de velocidad, pero mi corazonada es que es un aumento del 20%.
¿También tenía esta versión "rápida" como .tap antes de convertirla a +3e?
Para mi MB02+ sería una gran ventaja tener un .tap así B-)
Sigue así ;)
Avatar de Usuario
mad3001 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1920
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 81 times
Been thanked: 113 times

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

Mensaje por mad3001 »

Spirax escribió: 14 Feb 2022, 11:53 Hola.
Le he pegado un repaso al Abe's Mission Escape...
Como sabeis este Juego lo hieron para los clones russos que van a 7MHz, por lo que en un +3 aunque jugable a 3,5 MHz era jugable pero un poco leeeeento.
Aunque perfectamente jugable, la version anterior la termine rescatando a todos aunque con paciencia, jajaja
asi que como es un juego que me gusta mucho decidi echar un vistazo al codigo y tras finalizar las pruebas y completarlo salvando a todos otra vez para ver que no he roto nada lo vuelvo a compartir .....
he modificado un par de rutinas y creado un par de rutinas nuevas especificas para pintado de la pantalla completa.y le he pegado un aceleron importante para hacerlo jugable y Disfrutable en un +3.

Al grano el fichero dsk podeis descargarlo de aqui..
https://mega.nz/file/bcsAjbDR#hswbkUXA- ... oR2VdHYVFc

Al igual que la version anterior es completamente funcional el grabado de partida en el disco durante el juego pulsando a la vez las teclas S+A+V+E.
vereis que cambia el borde de color y graba la partida al disco.

La partida solo se puede cargar desde el menu incial donde se selecciona empezar una nueva partida o cargar una previamente grabada.
Probado en gotek A: B: y en disco Interno C: y D:

Saludos
¿Vas a echarle un vistazo y "acelerar" la versión que pasaste a Dandanator?
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 »

mad3001 escribió: 19 Feb 2022, 14:45 ¿Vas a echarle un vistazo y "acelerar" la versión que pasaste a Dandanator?
Hecho.
¿Lo podeis actualizar en la web del dandanator?

adjunto nuevo archivo comprimido con la version MLD y DSK. Están solo en Ingles y uso el compresor zx0
por lo que al arrastrar el mld al generador de roms no detecta la scr del multiloader pero el MLD solo ocupa 64k.

y de paso he conseguido aceleralo otro poquito modificando tambien las rutinas de pintado de sprites invertidos .... :D
https://mega.nz/file/2N9B0IxT#jU5TuG-Uf ... eiItk9Jc3g


como culturilla general.
el juego es una pasada a nivel optimización de codigo usa las mismas rutinas de impresion con codigo automodificable para casi todo.
osea usa la misma rutina para pintar los tiles de la pantalla de primer plano asi como los sprites.
en pintar el fondo de la pantalla la rutina original tarda unos 357.000 t-states.
la rutina especifica super optimizada que he creado solo para pintar la pantalla tarda 178.000 t-states en pintar el mismo fondo de la pantalla sin modificar la estructura de los tiles osea practicamente la mitad de tiempo ;)

despues en la rutina de pintado de sprites he echo varios cambios sin alterar la extructura de la rutina original para que pueda seguir automodificandola el juego.
por ejemplo
hay una parte en que los sprites hablan, y en la aparacion de la galleta se le aplica una mascara adicional para que aparezcan rayados como con un efecto de niebla que usa:
ld a, e
and #AA
ld e, a
pero que normalmente estan con 4 nops para el resto de sprites ...
nop
nop
nop
nop

pues estos 4 nops que parece que no hacen nada gastan 16t-states
asi que he cambiado la modificación que hace de estos "4 x nops" por "2 x jr $+2"
quedando asi:
jr $+2
jr $+2
al ejecutar el primer jr se salta el segundo gastando solo 12 tstates lo que ahorra 4 t-states por byte pintado en la rutina de sprites no es mucho pero al ser en un bucle de bajo nivel, dependiendo del tamaño del sprite nos ahorra 4-states por byte del sprite .....

otra modificacion que he echo en esta ultima version ha sido añadir una tabla de rotacion para las mascaras y los sprites
el pintado de sprites rotados consiste en una rutina tambien automodificable que se usa tambien para tiles en primer plano rotados.
pero que rota los datos y las mascaras en tiempo de ejecucion
para rotar un byte su mascara y pintarlo la rutina emplea 457t-states por byte pintado en el bucle horizontal.
he creado una tabla de rotacion
y cada vez que pinta un byte rotado en vez de rotarlo lo que hago es
guardo el valor de hl, uso hl para localizar en la tabla el valor rotado que necesito y recupero hl
y en hacer lo mismo dentro del bucle horizontal, osea rotar la mascara, rotar el byte del sprite, hacer un and con la pantalla y pintarlo en pantalla solo uso 72 t-states y me ahorro 380 tstates por cada byte rotado .... :|

realmente cuando en la pantalla no hay excesivos sprites o tiles en primer plano
por ejemplo de la primera pantalla que no tiene carga de sprites, el juego tardaba unos 380.000 tstates en hacer un bucle completo de main
y unos 700.000 t-states para la pantalla de abajo que tiene 2 mudokon para salvar, dos lasers, y tres guillotinas en movimiento.

pues en esta pantalla ahora tarda unos 500.000 llegando a ahorrar unos 200.000 lo que equivale a 3 fotogramas.

en una pantalla sin carga de sprites y trampas el rendimiento ha subido aproximadamente un 50%
en una pantalla con la maxima carga de sprites y trampas calculo que ronda el 35%
ahora realmente cuando pulsas X , Abe corre :D

saludos
Avatar de Usuario
mad3001 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1920
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 81 times
Been thanked: 113 times

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

Mensaje por mad3001 »

Trabajazo que te has pegado... muchas gracias, se ve genial
Volviendo a los origenes... programa en assembler
Responder

Volver a “Sinclair”