If the current tile is a window tile, the X coordinate for the window tile is used, otherwise the following formula is used to calculate the X coordinate: ((SCX / 8) + fetcher’s X coordinate) & $1F. Because of this formula, fetcherX can be between 0 and 31.
fetcher's X and fetcherX are too similar and cause confusion.
Suggestion : rename fetcher's X coordinate to X_tile_number or something similar.
Also provide a range, since it is not inferred from the variable name, i.e. 0 - 31 (fetcher's X advances once every 8 pixel fetch).
If the current tile is a window tile, the Y coordinate for the window tile is used, otherwise the following formula is used to calculate the Y coordinate: (currentScanline + SCY) & 255. Because of this formula, fetcherY can be between 0 and 159.
currentScanline (same as LY?) ranges between 0 - 143 (visable), SCY ranges between 0 - 255, fetcherY therefore must be between 0 and 255 instead of 159.
fetcher's X and fetcherX are too similar and cause confusion.
Suggestion : rename fetcher's X coordinate to X_tile_number or something similar. Also provide a range, since it is not inferred from the variable name, i.e. 0 - 31 (fetcher's X advances once every 8 pixel fetch).
currentScanline (same as LY?) ranges between 0 - 143 (visable), SCY ranges between 0 - 255, fetcherY therefore must be between 0 and 255 instead of 159.
Suggestion : change the range of fetcherY