Ya que tenemos el nuevo hilo, respondo a algunas cosas:
Señor Ventura escribió:Lo que quiere decir es que tu puedes poner tiles de 1BPP incluso en un plano de 256 colores, pero ya no podrás usar otros tiles con otra profundidad de color en ese mismo plano.
Piensa que si los tiles estuviesen obligados de forma rigida a tener la profundidad de color que indique el plano del modo en el que trabajes, no existirían los tiles a 1BPP, porque no hay planos a esa profundidad de color.
Que va, no es así en absoluto. Si tú pones una tile 1BPP en un plano de 256 colores, te toca rellenar el resto de bits por píxel (los 7) de color 0 para que sean transparente.
La PPU de SNES sólo maneja tiles de 4 colores (2BPP), 16 colores (4BPP) y 256 colores(8BPP), y estos se pueden distribuir libremente dentro de cada BG según la tabla que linké más arriba. 
Pero tú puedes usar tiles de 1BPP si quieres, pero luego en VRAM han de aparecer como 2BPP, 4BPP o 8BPP.
Algo muy típico que se suele hacer es trabajar con tiles de 1BPP en ROM o RAM y luego pasarlas a VRAM a tiles 2BPP dejando sin utilizar los otros 2 colores.
Lo que no se puede hacer nunca es mezclar en un BG son tiles de diferente profundidad de color: una vez está configurado la profundidad de color en un BG a través del modo, las tiles siempre ocupan lo mismo en VRAM.
kusfo79 escribió:Mi primera pregunta era si se podían mezclar diferentes profundidades en un mismo plano, que ya suponía y comprobado que no. Lo preguntaba por que de lo que decía 
@Señor_Ventura se entendía eso (lo de que muchos de los tiles eran solo dos colores, pero no todos). De todas formas, he mirado como va el Another World en SNES y funciona de la misma manera que en mega. Está usando un solo plano como un framebuffer donde va dibujando todo (BG1).
 
En tu primer pregunta dijiste si se podían mezclar, no si se podían mezclar en el mismo plano; además, dices que al subirlas a VRAM siempre ocupan lo mismo, y es lo que traté de explicarte que no era así:
kusfo79 escribió:En realidad, y como creo que ya comenté un día que preguntabas algo parecido, en estas consolas el número de colores, sobretodo a la hora de subir a la VRAM, da igual. Los tiles ocupan siempre lo mismo. Si que puedes ahorrar en cierta manera si tienes los tiles comprimidos en la rom y los descomprimes en RAM...
Y 
@Señor Ventura tampoco habla dentro de un mismo BG, habla en general:
Señor Ventura escribió:P.D: En snes las tiles con menos colores, ocupan menos espacio.
Supongo que habrá sido todo un malentendido.
kusfo79 escribió:Sobre lo que comentas, hay 8(+1) modos en la Super Nintendo, y no se pueden mezclar, ya que los defines en el registro $2105 de la PPU para toda la pantalla. Lo que ocurre es que varios de los modos tienen diferentes profundidades de color dependiendo del plano. Como has comentado, el modo 1 era muy usado, y te permitía tener dos planos de 16 colores por tile (32 bytes por tile), y el tercer plano con 4 colores por tile (16 bytes por tile). No permite mezclarlo a voluntad ni nada parecido.
Así es, los modos no se pueden mezlcar, es como querer meter en la misma pantalla un trozo 1080p y otro a 480i, no tiene sentido lógico. Tampoco se puede hacer a mitad de pantalla por HDMA  sin que se produzcan glitches gráficos descontrolados, ya que cambia cómo se eligen las paletas, TileNumbers, etc.
Lo que sí he visto es pasar del modo 2 al 1 y del 5 al 6 en frames consecutivos sin que se note, pero porque un frame completo ya se dibuja en un modo concreto diferente al frame anterior. Creo que esto lo hacía Treasure Hunter G, pasando de modo 2 al 1 cuando se tiene que mostrar texto, ya que éste aparece en BG3 con solo 4 colores (2BPP).
Señor Ventura escribió:Una pregunta tonta, y por mi parte no offtopiqueo mas, ¿con los sprites puedes mezclar unas tiles con una profundidad específica, a continuación de otros sprites con sus tiles a otra profundidad?, o las tiles de los sprites siempre ocupan 32 bytes.
Los sprites siempre son 4BPP y siempre usan una paleta de 16 colores, aunque se puede elegir en cada sprite una paleta diferente entre 8 disponibles. Muy útil esto para hacer personajes grandes en los que cada trozo del personaje (sub-sprite) use una paleta diferente optimizada para la zona que representa: cara, vestimenta, arma...
Las 8 paletas de 16 colores cada una ocupan los 128 colores primeros de CGRAM siempre.
Señor Ventura escribió:Editado: Cuando cambias la prioridad de un tile de un plano, ¿estás limitado a cambiarlo de capa?, o también puedes cambiarlo de posición al cambiar su prioridad. 
Cuando cambias de prioridad un tile, estás cambiando el orden con el que se representa en pantalla, es decir, si piensas en la pantalla como una pila de capas una encima de otra (que no corresponden directamente con las BG), sólo estás cambiando en qué capa de representanción está dicha tile. Esto permite que una tile en BG3 por ejemplo tape un sprite si la tile tiene prioridad 1 o quede por detrás de él si tiene prioridad 0.
Señor Ventura escribió:Por ejemplo, un tile que está en el background 4 en la esquina superior izquierda, pasarlo al background 1, 2, o 3 pero en el centro. Esto sería cojonudo para tener un plano reservado a modo de "buffer", ya que como quedaría tapado por los demás planos, no se vería semejante amalgama de tiles ^^
Eso no es necesario. Creo que no entiendes bien cómo se crea la pantalla en estas consolas... Las tiles las tienes almacenadas en una zona de VRAM y luego las colocas como quieras en pantalla gracias al tilemap. Así, si tienes una tile en BG4 en la esquqina superior izquierda de pantalla, tienes las tiles físicamente por ejemplo en la dirección $0E78 de VRAM, y tú colocas esa tile en el centro de la pantalla siemplemente cambiando 1 byte, el que está en la posición central de pantalla en el tilemap.
El tilemap es como una rejilla, es como si dividieras la pantalla en 32x32 bloques de 8x8 píxeles cada uno; cada rejilla es una dirección de VRAM, donde se almacena una palabra de 16 bits. 
Si quieres poner una tile en la esquina superior izquierda, tienes que escribir la dirección de VRAM (más exactamente, el TileNumber, que es una porción de la dirección de VRAM de x bits) en la posición 0 de la rejilla. Si quieres dibujar en el centro de pantalla esa misma tile, tendrás que escribir en la posición 32x16+16 de esa rejilla la misma dirección de VRAM que escribiste para dibujar la tile en la esquina superior izquierda. Es decir, la tile está en VRAM 1 vez, y en el tilemap aparece 1 vez por cada posición donde aparezca en pantalla.
Por eso no tienes necesidad de un tile buffer.