Please, refer for the actual diff for the commit the file was introoduced. Basically, I was aiming to: broke much code w 1. Rewrite scroll16 to use only one player, instead of 1 of 4 possible. // do not do this wwww --sparky4 2. Group panning and movement functions togeather, instead of using different functions for each move. // sounds good --sparky4 3. Make map struct store the initial map, and the current map to be stored in map_view struct. That is calculated based on several layers of original map and NPC movement. Current map is (potentially) of 1 layer only, and directly represents what is to be drawn (applied z-ordering! Yay!). // exlain more? w --sparky4 4. Also, I have tried to clean zcroll.c a bit. // ok --sparky4 5. Also also, tried to separate movement functions from player and to generalize it to a movable npc/entity. //i know i know i want to work on this but i am more focoused on getting gfx part working --sparky4 6. Instead of drawing map as a rectangle of tiles and a few strips to fill the black area of partially visible tiles, draw just a slightly bigger rectangle, with it's edges a bit out of the screen. That shouldn't be too resourse-consuming, I believe, but requires less explicit calls and reads. Probably. // as long as it is faster do it! also make a graphical representation of it w --sparky4 broke way too much code with this wwww7. As stuff did not quite initialize properly, I have disabled keyboard interrupt vector override to be able to shut down program prematurely in case something goes wrong. So, in case you just want to replace these new files with the older and working ones, please remember to re-enable that, or you won't be able to controll the game without it. // YOU BROKE 16_IN WITH ONE PLAYER INSTEAD OF USING AN ARRAY OF 1 WWWWWWW --sparky4 Read This: https://en.wikipedia.org/wiki/Adaptive_tile_refresh ==== changed or planned ones by sparky4 ==== planned ones: 16_map and mapread too I think there may be more changes by sparky4 worth mentioning: renamed: src/lib/types.h => src/lib/16_t.h renamed: src/lib/types.h => src/lib/16_tdef.h