Ok ok, so after much poking.. used HxD hex editor (http://mh-nexus.de/en/
), realised the width of the map is 128 bytes (after removing the initial header bytes), you can set this as a real wide display in HxD and see the layout of the level in LEV1A.MAP.
It appears that the gfx map seems to be first, up at the top, then starting at 0x2000 is the collision/objects map. You can clearly see the ladders and platforms..
So so far in the collision/objects map, I've identified byte values..
00 = no collision (background)
01 = ground (floor tyles, walls)
02 = climbable (ladder)
Plus many more!
As for the gfx map, seems the byte values correspond to the tile index numbers, tile gfx are stored in BITS1A.PI1. So for example, 0x0D = sky block tile #13 (just like in your remake PNG graphics), 0x02 = roof block tile #02 (again, as in your remake PNG gfx). Plus I've had no luck working out the actual display format of BITS1A.PI1, it's weird, but you can see the tiles inside it, messed up.
I've had no real luck with the demo stuff though.. no info on difference between LEV1A and LEV1B though still, bizarre.
So, yes, indeed level map is 128x64 bytes, 8192 in total. Thus 4096 pixels by 1024 pixels. (32x16 pixels tiles).