Wow I didn't know the 9918 got character masking in VDP(3)!
VDP(3) = VDP(3) XOR 16 is snipping each charset down to halve a charset. So when using the chars 128-255, by enabling the mask register, 0-127 are shown.
This is charset switching / doublebuffering without writing the nametable!
Pippols, Malaika, dviks gng, I guess they all work by ADDing values to the chars and then write to the nametable.
Can replace this by a simple copy loop and do the switching with the mask register. Going further, you can spread the nametable workload across 8 scrollsteps. Like on C64 or on 9938. Getting rid of most of that 768 bytes workload.
And character masking does not affect the sprites! Heaven!
Для того, чтобы оставить комментарий, необходимо регистрация или !login