@SuperPadLandNo son máquinas para 3D, y la snes es aún mas lenta que la megadrive, pero vamos, que ninguna vale para esto.
Si es cierto que la snes tiene un terreno inexplorado, y que doy mucho la tabarra con esto, pero de verdad que el uso de las multiplicaciones del PPU1 liberarían mucha capacidad de proceso... y eso que es un desperdicio.
El PPU1 es una máquina de hacer multiplicaciones. Solo fíjate que en el modo 7 puede mover y rotar sobre cualquier eje un plano de 1024x1024 pixels. Es decir puede calcular individualmente todos los pixels de 16384 tiles, usando mediante multiplicaciones algoritmos de escalado y rotación... ¡individualmente! (bueno individualmente no es correcto, sino mas bien "uno a uno").
Hablamos de una cantidad de multiplicaciones monstruosa en comparación a lo que son capaces de multiplicar estas cpu's de 16 bits por si solas, y aquí da igual si hablas del 65816, o del 68000... cuando hablamos de multiplicaciones, es como comparar a dios con una lata de tomate.
El único inconveniente es que el PPU1 funciona como un autómata, no es una FPU. Y tampoco puede enviar los resultados a ningún lado (por ejemplo a la WRAM, donde la la cpu podría leerlo tranquilamente, y aplicarlo con toda tranquilidad).
El método consiste en que la cpu solicita el cálculo de unas multiplicaciones, y el PPU1 enseña el resultado mediante dos registros de memoria, pero es que los va a borrar para poder hacer el siguiente cálculo y enseñar el siguiente resultado.
Es decir, la cpu tiene que estar rapidísima para recoger ese dato antes de que el PPU1 lo borre, y claro, ahí está el problema, que el 65816 funciona a 3,58mhz como máximo, con algún ciclo de espera para poder llegar hasta el sistema gráfico, y el PPU1 funciona a 21mhz sin ninguna clase de espera, así que la cpu no aparece a tiempo para recoger datos cada vez que el PPU1 los tenga listos, y eso provoca que el PPU1 calcule multiplicaciones solo cada vez que la cpu pueda estar para recogerlas, y no cada vez que pueda hacerlas.
Aún así, siguen siendo multiplicaciones casi gratis. Todas las multiplicaciones que al 65816 le pudiera dar tiempo a multiplicar, pero sin costarle prácticamente ningún ciclo de reloj ponerse a ello. Vamos, que sigue siendo la hostia.
Una opción sería poner un chip extra en el cartucho, muy poco potente... ridículamente poco potente, pero muy rápido para ser capaz de sincronizarse con la PPU1 a su ritmo, y así poder proveer al 65816 de todos los cálculos que el propio sistema de la snes es capaz de hacer. Ese chip de apoyo no procesaría nada, solo sería un mensajero.
Que sistema mas raro... por eso me encanta