I've seen cool C64 demos showing sprites in the border area of the screen. It shouldn't be possible; I think they managed to fool the graphics chip somehow. How exactly did they do it?
I've seen cool C64 demos showing sprites in the border area of the screen. It shouldn't be possible; I think they managed to fool the graphics chip somehow. How exactly did they do it?
As it was already said, you have to fool the VIC to think that the border already started, but the reason why I write this is because the top answer is a little bit inprecise: I was totally unable to find a register to make the border smaller, so this is the way you do it (at least for top and bottom): You wait until the VIC reached the 25th character row and then you enable 24 rows ($D011, bit 3). You can do the same thing for the left and the right border, just with 38 cols ($D016, bit 3), but to do that you need very precise timing and you also need to eliminate the bad lines by setting the vertical scroll register, so the scanline mod 8 is never equal to the scroll value. Of course, you can't use the normal display anymore because the bad lines actually aren't just bad, they are used to load character data I think, stuff that repeats for every 8th line in the non-border area. I personally was a little bit confused when I read the top answer, I hope that can help. (Also, the top answer has a mistake: You don't make the border smaller, you make it bigger)