i'm working on it already, actually, and will edit it in here.

EDIT:

The main restriction of our last map drawing style is that it doesn't allow drawing different spots in a tile map larger that 12*8, but rather only draws a single screen. here is a simple example that uses bytes for map data (because usually people have more that 16 tiles) and allows the map to be scrolled with getkey.

`[HEXCODE]->Pic1`

[MapDataInBytes]->GDB1

0->A->B //A and B are the x and y coordinates in the tilemap.

<map's width in tiles, minus 12>->X

<map's height in tiles, minus 8>->Y

Repeat getkey(15) //repeat until Clear is pressed

if getkey(3) //if right key

A<X+A->A //A is increased by the value of (A<X) which can either be 1 or 0, meaning that A will be incremented unless it equals X

end

if getkey(2) //if left key

A-(A>X)->A //similar to the last line

end

if getkey(4) //if up key

B<Y+B->B

end

if getkey(1) //if down key

B-(B>Y)->B

end

For(M,0,7)

For(L,0,11)

PtOff(L*8,M*8,{B+M*X+A+L+GDB1}*8+Pic1)

end

end

/*

/This is a fun section to describe. L*8 and M*8 should be fairly obvious in the first and second arguments.

/B+M*X is, because of Axe's lack of order of operations, interpreted as (B+M)*X. This will give the Y coordinate

/in the map data to read, because in order to find Y coordinates in a single dimensional list, one has to

/multiply that value by the total width of the map. A+L then gives the X coordinate, and adding GDB1 makes it point to

/the tile map data.

*/

end