Lazycow wrote:

How did you implement this window, if I may ask?

Well, I actually do have an advantage, because my game only scrolls horizontally. I was able to dedicate $600-$7FF to my rolling window, and have every 16 bytes represent a column of metatiles (so $600-$60F holds a column, $610-$61F holds the column right next to it, etc.). It breaks it down to the 16x16 pixel metatile. My screens are only 13 metatiles tall, but I still dedicate an entire 16 byte segment to each column for the sake of simplicity. The beauty of this is that finding the metatile at a given set of coordinates is very easy:

**Code:**

;XHigh/XLow/YLow represent a set of in-game X/Y coordinates. X is 16-bit, Y is 8-bit due to no vertical scrolling.

lda XHigh

and #$01

clc

adc #$06

sta TempAddH

lda XLow

and #$F0

sta TempAddL

lda YLow

lsr a

lsr a

lsr a

lsr a

tay

lda (TempAddL),y ;Your tile type

I'm not sure if that's the exact same code I use, but it's roughly the same.