AmigaExamples/026.tile_hscroll
alpine9000 ffc5f1f93d Got build working on newer OSX, included missing ADFs 2019-06-11 13:58:03 +10:00
..
bin Got build working on newer OSX, included missing ADFs 2019-06-11 13:58:03 +10:00
Makefile Tilemap scroll 2016-04-13 18:51:07 +10:00
README.md Update README.md 2016-05-28 14:42:06 +10:00
alpine_bootblock.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
blit.s Tilemap scroll 2016-04-13 18:51:07 +10:00
blitchar.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
constants.i Tilemap scroll 2016-04-13 18:51:07 +10:00
copperlist.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
cpu.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
image.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
includes.i Start of tile_hscroll 2016-04-05 15:48:02 +10:00
init.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00
link.script.x Start of tile_hscroll 2016-04-05 15:48:02 +10:00
macros.i Start of tile_hscroll 2016-04-05 15:48:02 +10:00
main-indexes.s Got build working on newer OSX, included missing ADFs 2019-06-11 13:58:03 +10:00
map.tmx Tilemap scroll 2016-04-13 18:51:07 +10:00
palette.pal Start of tile_hscroll 2016-04-05 15:48:02 +10:00
screenshot.png Added screenshot 2016-05-28 14:30:55 +10:00
scroll.s Towards one tile per frame 2016-04-05 19:33:07 +10:00
tile_hscroll.s Tilemap scroll 2016-04-13 18:51:07 +10:00
tilemap.png Tilemap scroll 2016-04-13 18:51:07 +10:00
utils.s Start of tile_hscroll 2016-04-05 15:48:02 +10:00

README.md

tile hscroll

In this example we used the Tiled map editor to create a tile map.

Next we use a new utility I wrote mapgen to convert the tiled map data into bitplane offsets that we then use to blit tiles just to the right of the visible screen.

Finally we scroll the screen using a combination of byte offsets for the bitplane data and hardware scroll delay for the sub-byte pixels.

Because we are constantly writing new tiles to the right of the visible area, we can just keep scrolling through the bitplane data until we need to loop back to the start.

screenshot

Screenshot

try it