BYTE0
SPR-RAM Byte 0 - Y Coordinate Minus 1
Vertical Position-1
Why is the coordinate minus 1? (and I will subtract this from the spr-ram when read?)
When the value is equals FFh,00h or EEh is = Scanline ? (why?)
and when is equals to EFh or FEh is = Not displayed? (why?)
BYTE1
SPR-RAM Byte 1 - Tile Number
In 8x8 pixel mode (PPU Control Register 1, Bit5=0):
Bit7-0 Specifies 8bit tile number
And, Pattern Table selected by Bit 3 in PPU Control Register 1
In 8x16 pixel mode (PPU Control Register 1, Bit5=1):
Bit7-1 Upper 7bit of tile number (N=0-127 uses Tiles N*2 and N*2+1)
Bit0 Pattern Table Address (0=VRAM 0000h, 1=VRAM 1000h)
When in 8x8 mode is just take all the 8 bits... right? But when I'm on 8x16 mode I'll take just the upper 7 bits ? ( value >> 1 )
With just 7 bits i'll get just 7Fh .... so when I need to N*2 or N*2+1?
Thanks (the others bytes seems to be easy to understand)
SPR-RAM Byte 0 - Y Coordinate Minus 1
Vertical Position-1
Why is the coordinate minus 1? (and I will subtract this from the spr-ram when read?)
When the value is equals FFh,00h or EEh is = Scanline ? (why?)
and when is equals to EFh or FEh is = Not displayed? (why?)
BYTE1
SPR-RAM Byte 1 - Tile Number
In 8x8 pixel mode (PPU Control Register 1, Bit5=0):
Bit7-0 Specifies 8bit tile number
And, Pattern Table selected by Bit 3 in PPU Control Register 1
In 8x16 pixel mode (PPU Control Register 1, Bit5=1):
Bit7-1 Upper 7bit of tile number (N=0-127 uses Tiles N*2 and N*2+1)
Bit0 Pattern Table Address (0=VRAM 0000h, 1=VRAM 1000h)
When in 8x8 mode is just take all the 8 bits... right? But when I'm on 8x16 mode I'll take just the upper 7 bits ? ( value >> 1 )
With just 7 bits i'll get just 7Fh .... so when I need to N*2 or N*2+1?
Thanks (the others bytes seems to be easy to understand)