Yes, of course we mark pixels beyond the screen. Why? You didn't know that?
The screen is like this:
0----------127
| |
63-----------
Well, figuratively.
Anyway, the screen "scrolls" itself when something is out of bounds. Namely... x128 would become x0. x-1 would become x127. x129 would become x2, and so on... you get the idea.
Same goes for y coordinates.
The best game to test this out of bound problem would be tank.
As for Ant not showing the land, watch out for your scroll functions. Again... they "seemingly" look right, but the right output should show the land in Ant. I got this error when I confused scrolling left for scrolling right and vice versa, so maybe... try switching your scroll functions.
As for the strange cuts, watch out for your bounding in the drawing function. You might be bounding it a bit too tight. x up to 127 (x < 128) should be displayed. y up to 63 (y < 64) should also be displayed. Anything beyond that is scrolled to the other side. Since there is no -1 or any negative number for that matter, you just need to check for 128 and 64.
Oh, and make sure your Chip-8 game has a single pixel equate to 4 pixels in the schip screen, too, since some Chip-8 developers have this bizarre idea that that is the case when you run Chip-8 games in Super Chip interpreter, and then... the scrolling functions do half-pixel scrolls and so on. Well, you get the reason why. To test this behavior, get the emutest rom from the Fish 'n' Chip website.
__________________
cChip interpreter WIP - current status: Release Candidate
LRx Filter RC - current performance rating: 9/10
Last edited by runawayprisoner; January 8th, 2009 at 20:24..