Hi people.
This effect of interlacing is already implemented in brmsx since
version 2.6. It's used in the game Breaker. Instead of making a more
complex vram retrieve, like you're doing, I opted for a complete shuffling
of all the 128kb of vram each time you switch from a lower screen to a
screen greater than 6. This should be a bit slower in games that change
screen 5/7 in line interrupts, but it's much faster in the general case (I
always optimize for the general case).
Check out the implementation in the brmsx source code,
file V9938.ASM, routines vram_interlace and vram_deinterlace.
----------------------------------------------------------------
Ricardo Bittencourt http://www.lsi.usp.br/~ricardo
[EMAIL PROTECTED] "Ricardo is subtle, but malicious he is not"
------ Uniao contra o forward - crie suas proprias piadas ------
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html