Started on 2D tile routines, starting with the loading and boundary crossing logic