Artaburu escribió:Yo ne me he enterado mucho de eso del sprite girado, qué es, que genera el código para 2 sprites y el girado se lee al reves?
No, la idea es tener en memoria sólo un sprite, y tener dos rutinas de pintado. Para pintarlo "al derecho", se pintaría tal cual se hace ahora, es decir, lees el sprite incrementando la posición (en horizontal) y pintas en pantalla incrementando la dirección de memoria (en horizontal también).
Pero para pintarlo "al revés", lees el sprite incrementando la posición (en horizontal) y pintas en la pantalla decrementando la dirección de memoria (en horizontal). Lo que pasa es que si lo haces así, en modo 0, cada byte tiene dos pixeles, y los dos pixeles estarían colocados "al derecho", con lo que se te va todo a hacer puñetas.
Para eso es la tabla. Lo que tiene son los 256 valores posibles que puede tener un byte, y almacena el valor que tendrían esos dos pixels dados la vuelta (4 si es modo 1, y 8 si es modo 2). Con lo que para pintar, en vez de pintar el byte del sprite, usas ese byte como índice en la tabla, y pintas esos dos pixeles dados la vuelta.
Lo he liado más, o ahora se entiende?