minter escribió:Los sprites: Cuando empecemos a jugar con los sprites... ¿Que micro nos va a hacer la copia parcial de pantalla, la mascara y el pegado?
¿Lo puede ejecutar todo la SubCPU mediante el envío de un comando a través de la "ventana"?
¿Ya no será necesario el manejar la pantalla completa, no? ¿Solo el trozo donde tenemos el sprite?
Buenos días,
respondí muy rápido basándome en los consejos de Malik sin haber analizado como implementarlo.
Estaba todavía en la fase do convertir las posiciones de memoria de Dragón a los mismos puntos en el FM-7
En Dragón tomando el punto de memoria del rectángulo del sprite arriba izquierda y haciéndole un ANDA #$1F
nos da gratuitamente la columna en la que se encuentra (de 0 a 31) ya que cada linea cuenta con 32 bytes
NO he sido capaz de encontrar ninguna manera para hacer lo mismo usando dicho byte en la pantalla del FM-7
El problema lo crea el hecho de que cada linea tiene 80 bytes ($50) y no hay manera de encontrar una operación
que permita detectar la columna en la que está. He acabado cambiado de táctica y en lugar del punto de memoria
guardo FilaColumna (dos bytes también) y con una tabla de inicios de linea (para evitar multiplicaciones) en dos
operaciones obtengo la direccion real de memoria, que le vamos a hacer! ... Jo, vaya parrafada, sin aliento estoy
Para mover a Brody y no machacar el fondo, usamos una máscara y el sprite con los alrededores a cero, de forma
que tomando el FONDO en A, haciendo ANDA con la máscara y luego ADDA (ó ORA) con el sprite, obtenemos el movimiento
sin pisar nada!
En FM-7 si enviamos el sprite al plano G, los unos se muestran como BLANCO y los ceros no hacen nada
Invirtiendo los bits (COMA) y enviándolo al plano R, los bits 1 (antes 0) se muestran como NEGRO, pero ...
Los 'alrededores' que estaban a cero, también se han convertido en 1s y ahora machacarán el Fondo
Voy a preguntarle a Malik si conoce alguna forma simple de evitarlo.
Obviamente, si le paso al FM-7 dos sprites, uno para cada plano no hay problema, salvo el espacio, que se duplica
Se admiten sugerencias, ideas, cerveza, lo que sea
Saludos
pere