Update viewport left and fix #318

#318 was caused by missing a push and pop on the x and y registers this caused it to look at progressively more and more out of range tiles.
Updated viewport left click to use correct structs.