[Hack] Super Mario Kart - Fullscreen Edition [ACTUALIZADO a v2.0] ¡DOS CÁMARAS!

1, 2, 3, 4, 5
@Snes @ChepoXX Ya tenéis la v2.1d en MP. 👍🏻
@Snes Perfecto. Gracias. A partir de aquí nos metemos en mejoras, pero sin salirnos del juego original. 👍🏻

Sólo falta que @ChepoXX confirme que en SD2SNES también está todo corregido.
@psicopompo perfecto👍🏻 . Algo que noté cuando estaba haciendo las pruebas con el otro modo de cámara ( select), noté en algunos niveles algunas ralentizaciones .
@Snes ¿En la última rom que te he pasado? Miraré Bowser Castle, que suele ser problemática, principalmente.
@psicopompo si en ese nivel fue en donde más note, en los demás niveles ni se nota mucho pero en el Bowser Castle sí . Si todas mis pruebas las estoy haciendo con la última rom.
@Snes OK. Pero necesito saber si te pasa en esta última versión y si te pasaba ya en la v2.0 (la oficial). Hablamos de la cámara nueva.
@psicopompo Ok, si en la oficial me pasaba lo mismo, pero reporte los errores gráficos primero, pero esas ralentizaciones son notables con el modo de cámara (select) no con la que ya está predeterminada, vamos que tampoco es algo grave ni mucho menos.
@Snes Ah, vale. Con la que ahora viene por defecto dices que se nota menos. Pero con la que es más aérea (la única que había en la v1.5) es más pronunciado. ¿No? Es que estas cosas no las veo en emulador porque van bien.
@psicopompo con esta última rom en donde se nota verdaderamente es en el área del Bowser Castle.
@Snes Sí, es el circuito más pesado. Pero, para que no haya dudas, qué cámara produce más ralentización:

Imagen Imagen

Cámara por defecto___________________________Cámara opcional


¿La primera o la segunda? Sé que no es Bowser Castle, sino Ghost Valley, pero sólo me refiero a la cámara. (En móvil no verás las dos imágenes en la misma fila, así que puedes indicar el tiempo de carrera que sale en ellas).
psicopompo escribió:@Snes Mamón, lo he pensado porque has dicho que sólo faltaba la franja divisoria del 2P. 😁

Snes escribió:ya casi lo logras animo 👍🏻

Te corrijo: "ya casi lo logramos". Si no fuera por vosotros, los fallos seguirían ahí.

Te paso por MP (y a @ChepoXX ) una nueva ROM que creo que arregla los parpadeos de las franjas del Time Trial y el 2P. Lo he probado en Mesen, que es un emulador cabrón que se resistía mostrar eso bien (en bsnes las franjas se veían bien), y ahora las muestra perfectas. Así que imagino que esta vez sí que se os verán bien.

Si eso se soluciona, no quedará ningún bug reportado sin arreglar. Aunque hay algunas cosas aún por mejorar, como las desapariciones repentinas de los topos. Esto es algo que viene así en el juego original, pero que en el hack se hace más patente.

Por cierto, falta que me confirméis que el rótulo "Ranked out" vuelve a verse bien. Sólo tenéis que perder una carrera por debajo del cuarto puesto.

@ChepoXX, si alguna de las descargas no te van es porque las he borrado porque ya no hacen falta. Quédate con la última.



Recién tuve tiempo libre (vaya día, y yo que solo quería probar el juego)

De la ultima rom 2.1, la pantala de división a 2 jugadores va perfecto.
Corregida la pantalla de ranked out
No hay linea en el horizonte
No parpadean las montallas en los escenarios de Koopa o fantasma.
Solo probé la cámara que va por defecto y no noté ningua relentización.

Una vez más diría que esta perfecto, si gustan pruebo el juego solo con la segunda cámara.
@ChepoXX pruébalo en la cámara opcional ,yo lo probé en la cámara por defecto y no noté ningún relentizacion . En donde sí noté fue en la cámara opcional.
Snes escribió:@ChepoXX pruébalo en la cámara opcional ,yo lo probé en la cámara por defecto y no noté ningún relentizacion . En donde sí noté fue en la cámara opcional.


Jugué la segunda copa a 100cc, con la cámare select y en las primeras carreras no vi nada raro, todo iba super fluído, hasta que llegué a la pista de bowser y fue como que el juego se arrastrara, parecía que iba a cámara lenta. Corrí varias veces dicha pista y claro se ponía realmente lento cuando estaban todos los personas en la recta principal, sin embargo, en las curvas la velocidad del juego mejoraba (no perfecto pero mejoraba).

Ya en vueltas posteriores cuando iba tercero o cuarto, en la recta principal no resultaba tan lento el juego.

quise grabar un video pero dicha recta tiene saltos y en los 3 intentos que tuve terminaba contra chocando contra la pared en la lava, necesito una tercera mano.

Mi hipótesis consiste en que con esa cámara a la snes le cuesta mover todos los personajes juntos en la recta del juego. Pero igual solo es un bug y mo he dicho nada (seguro que es eso).

Por cierto, @psicopompo cuentáme como corregiste el error, en tanto que la IA no podía ver el error en el emulador, que pronts le dabas a la máquina para corregir los bugs previos?
@ChepoXX hay es donde yo encontré el problema también en la pista de el Bowser, ya somos dos.
@ChepoXX Bowser Castle es la que más carga gráfica tiene. He sacado perfiles para comprobar la velocidad del hack en diferentes versiones, comparándolas con la original USA, y los resultados han sido muy similares. El problema está en la carga de objetos mostrados en pantalla. La cámara alternativa es la que más plano muestra, por eso se ve afectada. Ahora mismo estoy comprobando algunas rutinas, como la de los thwomps al subir y bajar. Hay posibilidades de rascar de aquí y de allá. Ya veremos.

Sobre lo que hice para salir del atasco de los anteriores bugs, básicamente lo de siempre: intuición y deducción. Las IAs me tenían hasta los huevos porque no paraban de dar vueltas en círculo, y se habían cargado el juego un millón de veces. Me sugerían cosas que yo, sabiendo mucho menos que ellas, tenía claro que no iban a funcionar. Yo tenía entre ceja y ceja que el problema venía del momento en que se implementó la nueva cámara y la expansión de los cielos, no de nada posterior. Así que me puse a buscar en el log —que es kilométrico— la parte en la que abordamos todo aquello y me fui creando un archivo de texto con toda la información que consideré esencial. Con todo ese material recopilado, asigné tareas concretas. Hago con frecuencia esas recopilaciones porque las IAs acaban perdiendo el contexto al poco tiempo (relativamente) y sólo se acuerdan de lo más reciente (algo así como la amnesia anterógrada, pero al revés). Además, con la concepción del tiempo se les va bastante la olla. Recuerdo que cuando sólo llevaba dos días en este proyecto, una de las IAs me dijo: "Hemos trabajado mucho estos meses". 😂
https://romhackplaza.org/romhacks/super ... rsion-snes

Seria mucho pedir que adaptaseis el hack para rumble? Y algun apaño para que funcionase en bsnes panoramico sin fallos? El super mario world tiene una version adaptada.
@Snes así que en consola también lo notas compa. Sí sobre todo en esas curvas donde se juntan las piedras del bowser castle y si algunos te van oliendo el culo son más evidentes. La versión USA vanilla tendría que probar si también existen o no, el la PAL no las recuerdo la verdad, pero como con otros muchos juegos, que cuando pasan a NTSC 60hz pues se notan (en unos juegos más que en otros). Y sí, sobre todo en la cámara primigenia del hack.
@yuragalo En la cámara nueva me han dicho que no notan nada. De hecho, he visto algún vídeo en YouTube y me ha parecido que estaba todo bien. En cuanto a la cámara del Select, como he comentado, el problema está en la cantidad de objetos en pantalla. Sin embargo, ambas cámaras obtienen los mismos resultados que la vanilla en todas las mediciones hechas. Es decir, que están bien implementadas de por sí, y salvo que la cámara del Select muestra más plano, pudiendo provocar las ralentizaciones que mencionáis, todo lo demás es igual. Ahora bien, para intentar solucionar o reducir dichas ralentizaciones voy un poco a ciegas porque en emulador me va todo perfecto, y he probado bsnes, SNES9X y Ares. Mesen no lo tengo en cuenta porque es una castaña. Estoy sacando perfiles de los circuitos, trazas y states de las zonas más conflictivas.

@Freestate Ya me han pedido que lo adapte a uno llamado Deluxe (o algo así) y a otros más, pero ya tengo suficiente curro con este proyecto y los otros cuatro que llevo al mismo tiempo como para meterme en más. Creo que eso es problema del creador de cada hack.
@psicopompo sí, también entiendo que será por la cantidad de elementos, el estar derrapando en esas curvas a todo trapo y demás parafernalias. Son momentos y zonas puntuales que no me atrevo a afirmar 100% por haber probado solo en emuladores (probé bsnes de retroarch y va mejor aunque algo se me note) pero sigo sin fiarme por lo que hemos hablado ya numerosas veces). Decir que en NTSC USA también note ciertas ralentizaciones puntuales en snes9x, que lo mismo ya es cosa incluso de limites u optimización del propio juego (o config de emuladores en mi caso), a saber.
Aún así probaré también en consola y flashcart tanto vanilla como hack a ver que tal.

PD: tienes el ultimo parche 2.1 a mano para pasarme cuando puedas si no es mucha molestia, compa?
@psicopompo ¿Has probado con el ZSNES para MS-DOS? Es donde yo ví las ralentizaciones.

Lo que yo lo probé en hardware real, no sé si funcionará bien en DOSBox o en otro emulador.
@yuragalo @Snes @ChepoXX Ya tenéis los tres la última versión en el MP.

Qué deberíais ver con la v2.1g:

- Todo lo anterior igual, porque el único cambio respecto a la v2.1d es el valor de profundidad $0200 en la cámara 2.
- Menos lag en la cámara 2, sobre todo en la salida con el grupo junto y en Bowser Castle.
- El cielo, las montañas y las franjas deberían permanecer bien, como en la versión anterior.

@DarkCastle La verdad es que no lo he probado porque uso macOS, pero para emuladores que van a pedales ya tengo Mesen. 😄 El problema es que el rendimiento de un emulador no siempre es equiparable al hardware real.
@psicopompo me acabó de terminar la primera copa con las dos modalidades de cámara.
Cámara (select cámara opcional )
Prueba de salida en cada circuito: todas con ralentizaciones no críticas , la que si fue crítica fue en el nivel del Bowser en está parte:
Foto:
https://imgur.com/a/j2UvMtX
Cámara por defecto:
Prueba de salida de cada circuito: sin ralentizaciones aparentes, en donde percibí y no fue nada grave fue en el nivel del Bowser por la misma zona de la foto.
Ninguno de los antiguos problemas volvieron.
@Snes Gracias. La verdad es que no esperaba que se arreglara porque ese nivel sencillamente no está pensado para mostrarse así, pero las cifras me indican que ha mejorado. Aunque, claro, podría no notarse o verse reflejado de otra forma. Se me ocurren un par de ideas que puedo probar. Luego lo miro.

@yuragalo @Snes @ChepoXX Os paso una versión nueva por MP.
psicopompo escribió:@Snes Gracias. La verdad es que no esperaba que se arreglara porque ese nivel sencillamente no está pensado para mostrarse así, pero las cifras me indican que ha mejorado. Aunque, claro, podría no notarse o verse reflejado de otra forma. Se me ocurren un par de ideas que puedo probar. Luego lo miro.

@yuragalo @Snes @ChepoXX Os paso una versión nueva por MP.



No puedo bajar la ultima versión v2.1i3 , me dice que está en la basura del dueño. La que si pude bajar fue la 2.1g y sigue con problemas en el castillo de bowser
Tengo el mismo problema no puedo bajar la última versión.
@ChepoXX @Snes La actualicé. Ya tenéis el MP.
@psicopompo ahora está un poco más difícil a modo general se han disminuido las ralentizaciones.
Cámara (select opcional)
En las pruebas de salida de cada circuito no puedo decir que no hay ralentizaciones pero ya son muy mínimas , en el nivel del Bowser también las hay pero ya no son críticas (mejoraron), me han puesto en dudas si son ralentizaciones o es el propio cambio de cámara que lo hace ver un poco mas lento.
Cámara por defecto:
No note ninguna, en el nivel del Bowser hay probabilidades de que puede haber alguna muy puntual .Resumen en esta última actualización si hay mejoras con respecto a la versión anterior.
Esperemos por el análisis de @ChepoXX @yuragalo .
En mi caso, debo indicar una par de situaciones:

Hice pruebas solo con la cámara select

-Sobre el castillo de bowser (segunda copa a 100 cc) en la primera vuelta me pareció bastante mejor, pero despues de varios intentos (reinicie la partida múltiple veces si me pareció que existian relentizaciones pero no tan graves (las noté en medio de la competencia, no en el arranque).

-Sin embargo me ocurrió que en el segundo o tercer mapa de la segunda copa (en la que saltan los topos) encontré fuertes relentizaciones donde antes no las había visto, me paso en un momento en que estaba en medio del peloton y saltaron varios topos. En ese momento con la cámara select el juego petardeó.

Finalmente, tanto en la versión anterior y esta encontré que el boton R del mando no funcionó bien, es decir, mas o menos al apretar el boton no saltaba todas las veces o derrapaba, díria que funcionó un 7 de 10 veces, siendo mas notorio en curvas. Sin embargo si saltaba o derrapaba con L todo iba bien.

Ojo puede ser, mi control, pero sería raro, ya que antes de no me pasaba y el control el es relativamente nuevo. Puedo intentar con otros a ver que pasa.
@ChepoXX si en el nivel de los topos hay más ralentizaciones que en el nivel del bowser, lo que no me pasó fue lo del botón R estoy usando un 8bitdo, de todos modos voy a probar con uno original para ver si también me pasa . Cámara select.
@Snes @ChepoXX Gracias a los dos. Voy a mirarlo. De todas formas esa versión ya ha sufrido varios arreglos. Os paso un mejor en un rato.

EDITO: @Snes @ChepoXX @yuragalo Os he enviado otra versión que mejora un poco el rendimiento, pero estoy preparando una más enfocada a los puntos conflictivos.

Respecto a lo que dice @ChepoXX sobre el botón R, lo he comprobado y no hay nada que afecte a ese botón. Si tienes otro mando, yo lo probaría.
Mi rom es terminada en pcm o sfc. Valdría?
Probé la ultima versión, en general lo siento un poco mas rápido que el anterior, pero sigue teniendo sus zonas conflictivas.

Cambié de control y funciona perfecto la R, debe ser un tema de limpieza de la goma
tonicab escribió:Mi rom es terminada en pcm o sfc. Valdría?

Con la sfc no deberías tener ningún problema, siempre que sea la ROM correcta.

Puedes usar este parcheador online. Usa el parche bps. Cuando introduzcas la ROM y el parche, te debería aparecer un check ( ✅ ) de color verde, indicando que es la ROM correcta.

@ChepoXX Gracias por comprobarlo. Sobre el rendimiento, voy a pasaros dentro de un rato otra ROM, aunque poco más se puede hacer con la cámara 2 sin empezar a recortar cosas. La consola no está preparada para tanta tralla. Podría eliminar esa cámara y asunto arreglado, pero prefiero mantenerla y dejarla de la mejor forma posible.

El último parche ya incluye un montón de implementaciones para que el juego cambie automáticamente de modo de ejecución en los momentos críticos, pero lo que se puede rascar es irrisorio porque el original ya va al límite en esas partes del juego.

No me extrañaría que el modo de pantalla partida original estuviera pensado también para disimular todo lo que no podían mejorar en pantalla completa.
psicopompo escribió:
tonicab escribió:Mi rom es terminada en pcm o sfc. Valdría?

Con la sfc no deberías tener ningún problema, siempre que sea la ROM correcta.

Puedes usar este parcheador online. Usa el parche bps. Cuando introduzcas la ROM y el parche, te debería aparecer un check ( ✅ ) de color verde, indicando que es la ROM correcta.

@ChepoXX Gracias por comprobarlo. Sobre el rendimiento, voy a pasaros dentro de un rato otra ROM, aunque poco más se puede hacer con la cámara 2 sin empezar a recortar cosas. La consola no está preparada para tanta tralla. Podría eliminar esa cámara y asunto arreglado, pero prefiero mantenerla y dejarla de la mejor forma posible.

El último parche ya incluye un montón de implementaciones para que el juego cambie automáticamente de modo de ejecución en los momentos críticos, pero lo que se puede rascar es irrisorio porque el original ya va al límite en esas partes del juego.

No me extrañaría que el modo de pantalla partida original estuviera pensado también para disimular todo lo que no podían mejorar en pantalla completa.



Yo te diría que no te compliques tanto. Es decir, se optimiza lo que se puede y sales del tema con un aviso de que la segunda camara funciona bien pero en zonas conflictivas puede rascar la cámara dos y punto.

Al final al cámara select es un añadido adicional, y no faltará el que diga que mientras juega la cámara cambia sola.

Por mi como lo tienes basta y sobra
@ChepoXX Gracias. 🫂 Igualmente os paso una nueva versión antes de publicarla.

--------------------------

Os pongo un sumario de los cambios que ha habido desde la versión v2.0 (la oficial hasta ahora) y las que habéis ido probando:

Sumario v2.0 → v2.1m

Línea de versiones

v2.0 — Punto de partida
Cámara ampliada, extensión del cielo por HDMA y sistema IRQ de restauración de color ($88:BA00). En flashcart aparecen: línea negra en el cielo (BC1-3, GV1-2, KB1-2, VL1), parpadeo de montañas en Bowser Castle, pantalla de "ranked out" oscura y 1 px que parpadea en la franja TT/2P.

v2.1c
Elimina la línea negra del cielo y el parpadeo de montañas.
Estado: Confirmado en FXPAK y SD2SNES.

v2.1d
Arreglo del IRQ del split (franja 2P/TT).
Estado: Confirmado en hardware.

v2.1g
Solo cambia el valor de profundidad ($0200) en la cámara 2 para bajar el coste de $00:C730.
Estado: El tester de FXPAK: cámara 1 sin ralentizaciones; cámara 2 con ralentizaciones, críticas en Bowser Castle.

v2.1h
Primer parche de rendimiento (hecho aquí): los 4 objetos del pool de Bowser Castle (cadena $E18D) saltan la proyección del DSP-1 en frames alternos y reusan temporales guardados.
Estado: Va más fluido. Su caché en $7E:5100 pisaba datos reales.

v2.1i3
Extensión a todos los circuitos, con una variante por familia de cadena.
Estado: Usado como base.

v2.1i4
Caché movida a $7F:D940 (34 bytes distintos).
Estado: Bien en emulador.

v2.1j
Caché de seno/coseno de la cámara 2 ($88:F400/F500) en $7F:D980. Exacta: si el ángulo y la rampa no cambian, se reutiliza el resultado.
Estado: Sin medir.

v2.1k3
Arreglo de los residuos de postes en Ghost Valley.
Estado: Revisado en detalle.

v2.1l
$88:A800: los rivales lejanos (profundidad $00C0-$0300) reutilizan la corrección vertical del frame anterior en lugar de repetir el DSP-1 (caché $7F:D9C0).
Estado: Probado en un varios circuitos: nada raro.

v2.1m
Detector de lag ($34 frente a ticks, en $80:806C) y modo ahorro de ~0,5 s: pool a 1 de cada 4 ticks y corrección reutilizada para todos los rivales. Se fuerza en Mesen con 5A A5 en $7F:D9B4.
Estado: Sin probar.

Verificado en la ROM salvo marca

  • Mapeo: HiROM, 1 MB, con DSP-1.
  • Cámara y circuito: $7E:0AF8 bit 0 vale 1 en la cámara 2; Bowser Castle es $0126 == $0C.
  • Intérprete de objetos: hay hilos de punteros en ROM; el render va por $80:BAD7 (despacho en $BB22) y la lógica de karts por $80:BB6C. Cada frame hay 12-13 objetos: 7 karts, jugador, 1 objeto extra y un pool de 4 en $1800-$1980.
  • Los pools por circuito: Bowser Castle ($E18D), Mario Circuit, Vanilla Lake 1 y Donut Plains 1 ($E4E9), Choco Island ($E070), Donut Plains 2 ($E36D), Koopa Beach 1 ($DF80) y Ghost Valley ($E700, sin paso de visibilidad).
  • Dónde va el tiempo: ~291k ciclos de 357k por frame de media, con picos de hasta 388k. La cámara 2 solo añade ~2,7 % ($C730, $88:A800 y el seno/coseno).
  • Lo que no se puede tocar: la lógica de los corredores ($AD48: estados, aceleración, DSP-1 de posición, temporizadores) es física e IA.
  • Datos de los states: hay dos búferes de sprites ($0200 y $0420, este último +42 en Y). En Ghost Valley, los postes se dibujan detrás del fondo (prioridad 0).
  • Trazas: PC == $80BB22 no funciona en Ghost Valley (archivos vacíos); falta la Copa Especial.

Lo que no se ha hecho

  • Lava, plataformas, muelles y cajas de ítems: sin identificar sus rutinas.
  • El punto 2 (matrices Mode 7 por línea) no se sostiene con los perfiles.
  • El caché de $80:A4D0 (DSP-1 por corredor) quedó sin implementar.
  • Un recorte fuerte del render en lag (quedó pendiente de comprobar qué más actualiza $BAD7).

Pendiente o sin medir

  • Ninguna mejora de rendimiento está medida. Pendientes de confirmar.
  • Probar la v2.1m, con y sin modo ahorro forzado, y mirar los topos de Donut Plains 2.
  • Un A/B simple en FXPAK (v2.1g contra v2.1l o m) en el mismo tramo.
  • Posibles residuos o falsos disparos del detector de lag al empezar carrera o tras pausas.

Material entregado

Las ROMs h, i4, j, l y m, los scripts de parcheo (patch_v2_1h.py, patch_v2_1m.py) y el paquete SMK_Fullscreen_paquete.zip con ROMs, trazas, perfiles y contexto técnico.
Hay otro hack interesante (que se ha hecho en Super Mario World) y es de que sea a pantalla completa en panorámico sin estirar.

Si puedes hacer eso sería de agradecer.
@tonicab Muy interesante. Pero creo que primero quiere dejar fino la version que funciona tanto en emulador como en la super nintendo. Y despues el dira.
Lo suyo es que si hace esa version funcione online las dos versiones. Osea que si uno tiene la version que funiona en full 4:3 y otro la version full 16:9 que puedan jugar juntos online.
239 respuestas
1, 2, 3, 4, 5