¿SVP y SFX como fue posible?

Por aquí hay grandes conocedores de lo técnico y siempre he tenido esta duda.

Estos chips de apoyo y otros que existieron incrustados en la placa de los cartuchos, nunca he entendido muy bien cómo trabajan.

En mi cabeza los cartuchos son meras ROM que trasladan los datos a la máquina para ser procesados , todo esto a través de las patillas de conexión.

¿Pero cómo puede haber proceso extra en el cartucho?, ¿como puede integrarse un procesador extra en la arquitectura de la consola y está saber manejarlo?.

¿Siempre se pensó el cartucho como una posible vía de ampliación o fue a posteriori el ingenio que lo logró?
Puede integrarse cierto hardware en la arquitectura de la consola porque está incluido de antemano en el mapa de memoria.

Los registros y la ram interna del super fx forman parte del mapa de memoria direccionable de la snes, dentro de ese mapa de memoria puede caber un super fx, un DSP, o un add on (satellaview, o un lector de cd).
Mediante los "trozos" de memoria que la super nintendo ve, puede escribir en ellos de forma que sea código que en este caso el super fx se limita a ejecutar (calcular polígonos, sin ir mas lejos). La snes solo va a ver el resultado de vuelta, que se limitará a emplearlo tal cual.
FOSMSX escribió:¿Pero cómo puede haber proceso extra en el cartucho?, ¿como puede integrarse un procesador extra en la arquitectura de la consola y está saber manejarlo?

En el caso de la SNES, la CPU se comunica con el coprocesador igual que se comunica con la "GPU": hay una región de la memoria que está mapeada al coprocesador. La CPU se comunica con el coprocesador leyendo y escribiendo en esa región de memoria.

FOSMSX escribió:¿Siempre se pensó el cartucho como una posible vía de ampliación o fue a posteriori el ingenio que lo logró?

El Pilotwings fue un juego de salida que llevaba un coprocesador, así que esa idea se contempló desde el principio.
FOSMSX escribió:Por aquí hay grandes conocedores de lo técnico y siempre he tenido esta duda.

Estos chips de apoyo y otros que existieron incrustados en la placa de los cartuchos, nunca he entendido muy bien cómo trabajan.

En mi cabeza los cartuchos son meras ROM que trasladan los datos a la máquina para ser procesados , todo esto a través de las patillas de conexión.

¿Pero cómo puede haber proceso extra en el cartucho?, ¿como puede integrarse un procesador extra en la arquitectura de la consola y está saber manejarlo?.

¿Siempre se pensó el cartucho como una posible vía de ampliación o fue a posteriori el ingenio que lo logró?

A parte de lo que te han dicho, a partir de la NES, la mayoría de las consolas ya se diseñaban teniendo en cuenta ampliaciones extra, ya sea mediante el propio puerto de cartuchos, u otro sitio.

En el caso de cartucho, si tienes un coprocesador extra, este procesa y luego se lo escupe directamente a la CPU, GPU/PPU, RAM, etc
@Diskover ¿Y si no, puedes usar parte del direccionamiento de la rom para integrar una suerte de microcontrolador?. Diría que si, pero igual podrían haber condiciones.
Como funciona el chip especial del paprium para Megadrive?

Y los everdrive avanzados de snes (msu) y Megadrive?(MCD)
ziu escribió:Como funciona el chip especial del paprium para Megadrive?

Y los everdrive avanzados de snes (msu) y Megadrive?(MCD)

Por lo menos el EverDrive X5 de la GBA funciona igual, con memoria mapeada.
Es fácil entender cómo funcionan los chips adicionales en los cartuchos si ves todo el sistema (con el cartucho introducido) como un conjunto de la placa base de la consola.

El cartucho no es más que una ampliación de la placa base con más chips incluidos en esa pequeña placa que va dentro del cartucho. En esa pequeña placa puedes meter de todo, chips ROM, RAM, pila de guardado, mapeadores de memoria e incluso procesadores como el FX, SVP o la misma CPU de Snes a 10 Mhz (el SA1).

Saludos.
Añade Mega-CD, es más de lo mismo, pero a lo bestia. El puerto de expansión de Megadrive es básicamente otro puerto de cartucho (por eso el Everdrive pro implementa un Mega-CD).
Señor Ventura escribió:@Diskover ¿Y si no, puedes usar parte del direccionamiento de la rom para integrar una suerte de microcontrolador?. Diría que si, pero igual podrían haber condiciones.

Claro.

Muchos mappers que integraron cartuchos de la NES, eran microcontroladores con tareas especificas, diseñados para liberar de procesos a la CPU.

Entre los micros más famosos está el MMC3 (por poner un ejemplo), que calculaba interrupciones por línea de escaneo (IRQ), liberándole a la CPU de esta ardua tarea.

Este mapper hacía más cosas, pero como algo especifico para liberar carga de trabajo, lo del IRQ fue clave.
Fueron posibles porque Supernes y Megadrive fueron diseñadas para aceptar ese tipo de coprocesadores desde el principio. Lo que a mi me parece increíble, consolas diseñadas en los ochentas pensando en el futuro.
A mí me habría gustado que el Star Fox hubiese salido usando un Chip Super FX a 21 Mhz en lugar de usar la primera versión a 10 Mhz. Seguro que habría podido ir a mucho mejor framerate si hubiesen usado la segunda versión que sacaron del FX.

Cómo me habría gustado ver en la época un Star Fox a 30 fps o por ahí.

Saludos.
Seideraco escribió:A mí me habría gustado que el Star Fox hubiese salido usando un Chip Super FX a 21 Mhz en lugar de usar la primera versión a 10 Mhz. Seguro que habría podido ir a mucho mejor framerate si hubiesen usado la segunda versión que sacaron del FX.

Cómo me habría gustado ver en la época un Star Fox a 30 fps o por ahí.

Saludos.

La SNES no habría permitido pasar de 20FPS aunque el cartucho llevara una 5090RTX XD
cirote3 escribió:
Seideraco escribió:A mí me habría gustado que el Star Fox hubiese salido usando un Chip Super FX a 21 Mhz en lugar de usar la primera versión a 10 Mhz. Seguro que habría podido ir a mucho mejor framerate si hubiesen usado la segunda versión que sacaron del FX.

Cómo me habría gustado ver en la época un Star Fox a 30 fps o por ahí.

Saludos.

La SNES no habría permitido pasar de 20FPS aunque el cartucho llevara una 5090RTX XD

Eso ya no es cosa mía sino de Nintendo por no ser capaz de ofrecer un Star Fox con mejor rendimiento. Yo solo comento lo que me habría gustado disfrutar en la época.

Me habría bastado con un port de Star Fox para PC en la época. Mi 486 DX33 lo habría movido infinitamente mejor que Snes. Y sin necesitar Chip FX ni aceleración 3D.

De todas formas creo que debe haber cuellos de botella a punta pala en Snes porque un 286 a 10 Mhz me parece que tambien habría movido un Star Fox mejor que Snes. Y en cambio una Snes con CPU a 3.68 Mhz y un chip 3D a 10 Mhz no pasaba de los 15 fps o por ahí.

Lo mismo para el Doom en Snes usando el FX 2 a 21 Mhz. Tendría que haber movido el Doom mucho mejor de como lo hizo. Pero se ve que el rendimiento se iba por todos lados xD

Saludos.
Algo creía haber leído en el caso del SVP que funcionaba diferente al superfx , había entendido algo así como que básicamente el cartucho se encargaba de todo el trabajo de generar las imágenes 3D y las servía en imágenes 2D ala Megadrive.
Es decir, el SVP lo hacía casi todo y servía las imágenes como texturas en tiles que la Megadrive acababa mostrando por pantalla; la Megadrive también se encargaría del sonido y pantallas intermedias en 2D. Y del input/output del mando.

Pero no creo que esto pueda ser así exactamente,
mucho trabajo me parece para el SVP hacerlo todo.

A ver si alguien puede aportar más luz del caso del SVP en Megadrive.
FOSMSX escribió:Algo creía haber leído en el caso del SVP que funcionaba diferente al superfx , había entendido algo así como que básicamente el cartucho se encargaba de todo el trabajo de generar las imágenes 3D y las servía en imágenes 2D ala Megadrive.
Es decir, el SVP lo hacía casi todo y servía las imágenes como texturas en tiles que la Megadrive acababa mostrando por pantalla; la Megadrive también se encargaría del sonido y pantallas intermedias en 2D. Y del input/output del mando.

Pero no creo que esto pueda ser así exactamente,
mucho trabajo me parece para el SVP hacerlo todo.

A ver si alguien puede aportar más luz del caso del SVP en Megadrive.

El SuperFX hace lo mismo que cuentas, quitando el sonido y el mando.
Y con esos juegos ¿El procesador de la consola hace algo aparte de coger lo que le pasan los chip o también hacen otras cosas?
cirote3 escribió:
FOSMSX escribió:Algo creía haber leído en el caso del SVP que funcionaba diferente al superfx , había entendido algo así como que básicamente el cartucho se encargaba de todo el trabajo de generar las imágenes 3D y las servía en imágenes 2D ala Megadrive.
Es decir, el SVP lo hacía casi todo y servía las imágenes como texturas en tiles que la Megadrive acababa mostrando por pantalla; la Megadrive también se encargaría del sonido y pantallas intermedias en 2D. Y del input/output del mando.

Pero no creo que esto pueda ser así exactamente,
mucho trabajo me parece para el SVP hacerlo todo.

A ver si alguien puede aportar más luz del caso del SVP en Megadrive.

El SuperFX hace lo mismo que cuentas, quitando el sonido y el mando.


Ok, ahora lo entiendo mejor. En principio pensaba que estos procesadores 3D extra trabajaban conjuntamente con el procesador central y el resto de arquitectura de la consola para construir los gráficos; y no me encajaba como la controladora del sistema pudiese gestionar un nuevo chip en conjunción con los demás como si nada.

Pero ahora entiendo que estos chips sfx y SVP trabajaban en exclusiva generando las imágenes 3D y transformándolas a 2D y los procesadores centrales de consola se limitaban en estos casos a mostrar solo las imágenes 2D que generaban estos chips dedicados , al sonido y poquita cosa mas.

Ahora entiendo que costasen una pasta, era meter todo el proceso gráfico en un chip en el cartucho.
Lo ideal habría sido incluir el chip FX en la propia Snes... así todos los juegos podrían haber hecho uso de esa tecnología, como sucedió con el MD 7 que fue muy usado en los juegos de la consola.

Pero parece ser que el desarrollo del chip se retrasó y no pudo estar listo a tiempo para incluirse con la consola. Así que se decidió usarse en cartuchos que hicieran mucho uso del chip.

Pero una Snes con el chip FX de serie habría sido un locurón. Pero supongo que ya llevaban bastante retraso con la consola como para esperarse aún más.

Saludos.
@FOSMSX Sobre el SVP a ver si se pasa @Taiyou y nos explica más sobre el tema y de paso a ver si tiene algún avance con su proyecto. En ese hilo nos dejó buenas explicaciones del SVP.

hilo_corriendo-codigo-propio-en-el-chip-svp-de-sega-virtua-racing_2412946
Seideraco escribió:Lo ideal habría sido incluir el chip FX en la propia Snes... así todos los juegos podrían haber hecho uso de esa tecnología, como sucedió con el MD 7 que fue muy usado en los juegos de la consola.

Pero parece ser que el desarrollo del chip se retrasó y no pudo estar listo a tiempo para incluirse con la consola. Así que se decidió usarse en cartuchos que hicieran mucho uso del chip.

Pero una Snes con el chip FX de serie habría sido un locurón. Pero supongo que ya llevaban bastante retraso con la consola como para esperarse aún más.

Saludos.
Diría que lo ideal es que hubiera llevado de fabrica el algo como el SA1, pero claro, se hubiera encarecido a saber cuanto.

PD: al menos ahora con el SD2SNES/FX PAK PRO se tiene suplido ese problema.
el super hasta tenia 2 sectores extras en el slot para cuando algunos cartuchos que llevaban chips lo requerían, aunque no se porque necesitaba esas pistas extras.
lo que si valieron la pena esos chips, mucho de los mejores juegos los usan, son como parches al hardware de la consola.
El super fx no forma parte de la planificación del desarrollo de la snes. Se les ocurrió lanzarlo solo para la snes americana, porque para cuando les salió al paso la posibilidad real de incluir este chip la super famicom ya había sido lanzada.

Parece que esto fue real, pero nunca sabremos en que grado se lo estaban pensando en serio, igual solo fue un comentario en una reunión, o igual movilizaron a todo un departamento para tenerlo todo preparado si el chip aparecía antes del lanzamiento americano... o tal vez un punto intermedio.

Lo que está claro es que habría trabajado de forma diferente y habría tenido otros usos porque nada puede comunicarse de forma externa con el sistema de vídeo (todo a base de pagar con ancho de banda, incluso para algunas cosas el propio sistema de vídeo solo puede hablar consigo mismo de esa forma, lo cual es grotesco). En la snes real, solo potenciando el hdma podría haber tenido lo mejor de los dos mundos, y claro, con un hdma así también se hubiese beneficiado el resto del hardware.


Lo peor de todo es que si que es sabido que descartaron el super fx como ppu3 porque miyamoto lo consideraba un chip solo para polígonos, y que eso desvirtuaba la orientación de la snes. Al parecer recibió críticas internas de los ingenieros de nintendo porque con un super fx "cableado" al sistema de vídeo podrías:

-Dibujar un plano durante el vblank con 32768 colores reales mediante direct color sin ningún esfuerzo.

-Enviar los tiles para sprites y planos en formato comprimido, y descomprimirlos en la propia vram aumentando la tasa del ancho de banda x2, e incluso x3, si es que no me quedo corto.

-Por supuesto usar la vram, o parte de ella, como un framebuffer, sin los enormes retrasos de depender del DMA. Mucho mas rendimiento.

-Practicamente cualquier cosa que se te ocurra.

Básicamente podía hacer lo que hacen las gpus modernas, decodificar, transformar, y preparar datos antes de que el rasterizador (line buffer) los dibuje. Por solo 10$ de costes adicionales.

Nintendo tuvo todo eso en sus manos en 1992, ¡¡¡¡y lo usó solo para el star fox!!!! [flipa]

No es ninguna exageración, el super fx es el primer procesador patentado orientado a eso en toda la historia. Argonaut estuvo muy mal entendida por nintendo.

cirote3 escribió:La SNES no habría permitido pasar de 20FPS aunque el cartucho llevara una 5090RTX XD


Depende del modo gráfico, del método de renderización (ya que hablamos de un frame buffer), del diseño... del tamaño de la ventana...

Si juegas con el dithering empleando "pixeles vacíos", y los 2BPP, un star fox alcanza los 30fps sin despeinarse. Seguramente bastante mas.
Por acabar de entenderlo, ¿sería ‘teóricamente técnicamente viable’ poner un PC actual a toda potencia generando imágenes 2D para colocarlas en memoria y que la Megadrive con su limitación de colores/fps lo sacase por pantalla?.

O dicho de otro modo, ¿el chip SVP podría ser tan potente como se quisiera con tal de acabar sacando imágenes en 2D para servirlas a Megadrive?
FOSMSX escribió:Por acabar de entenderlo, ¿sería ‘teóricamente técnicamente viable’ poner un PC actual a toda potencia generando imágenes 2D para colocarlas en memoria y que la Megadrive con su limitación de colores/fps lo sacase por pantalla?.

O dicho de otro modo, ¿el chip SVP podría ser tan potente como se quisiera con tal de acabar sacando imágenes en 2D para servirlas a Megadrive?

Sí, ¿pero para qué quieres hacer eso? xD

Puedes programar un emulador en PC que haga overclocking a todo el hardware de la Megadrive y ejecutar los juegos a toda pastilla. En el Kega Fusion ya puedes hacer algo así al darle al botón de Turbo y se pone el emulador a toda leche.

Se supone que lo interesante sería en todo caso programar juegos para Megadrive usando el SVP y sacándole más partido que el Virtua Racing en la época... pero es que tampcoo veo que la gente esté muy por la labor. El SPV no fue gran cosa y la gente no siente necesidad de programar para él.

Hay más interés en aprovechar la Megadrive base a pelo, sin chips 3D.

Saludos.
24 respuestas