SA15-SA13 defines the upper three bits of the VRAM location of Plane A's nametable. This value is effectively the address divided by $400; however, the low three bits are ignored, so the Plane A nametable has to be located at a VRAM address that's a multiple of $2000. For example, if the Plane A nametable was to be located at $C000 in VRAM, it would be divided by $400, which results in $30, the proper value for this register.

Couple questions

First :

$c000 in Binary is 1100 0000 000 0000

$30 in binary is 0011 0000

Is it a coincidence that the 13-15 bit of $c000 and the 3-5 bit in 30 are both 110. This identical number seems to occur with other addresses like $d000.

Second:

Can you please explain when they say “however the low three bits are ignored , so the plane A Nametable has to be located at a vram address that’s a multiple of $2000”

What does this mean about the three bottom bits are ignored ? Are they referring to the actually address $c000 ? And why does it cause you to have to divide by $2000

Third:

A question on setting registers . The top bits must be 1 and 0 . I see hex 8 is the first nyble often to set registers but what if we are using register 17 then in binary that’s 10010001 where the first two bits are 1 and 0 so in hex it is 91 so the 8 is a 9 ? Maybe I misunderstand where the placent of the register number is . I’m probably just thinking stupidly