OAM table - handles all sprite tiles that are on screen. Valid slot number range: #$00-#$7F (128 slots, for $0200 indexing, it is #$0000-#$01FC, use any number divisible by 4 only).
The tables are:
-$7E0200-$7E03FF (512 bytes): Each “tile slot” have four bytes, in the order of: X position, Y position, tile number, and then YXPPCCCT. Tiles which are currently unused are usually marked as such by giving them a Y position of #$F0 (which is offscreen).
-$7E0400-$7E041F (32 bytes): Handles the 9th bit X position (this is a sign bit to handle sprite tiles that goes past the left edge of the screen) and the “size bit” (0 = 8x8, 1 = 16x16). Every 4 tile slots are fitted into each byte, see detail on how each tile slot is formatted. Note that it can't be used, as it will be overwritten each frame using the data at $0420-$049F; you should instead write the data there.