OK, I got it. It seems like a bitmap field: lower two bits are vertical position: 00 off, 01 top, 10 middle, 11 bottom; uppper two bits are horizontal: 00 off, 01 left, 10, middle, 11 right. Combinations with 00 show usually the same as if 01 was there, except for all zeros. So the values are:
0 - no compass
5,6,7 - left side - top, mid, bottom
9,10,11 - middle - top, mid (centre of map/screen), bottom
13,14,15 - right side - top, mid, bottom
Ok, I'll make the big one and modify my post.
For the small compass - I had to do the black circle, because otherwise the compass jumped closer and further to the border of map window, I had to put some non transparent pixels to keep it in the same place. That was not a problem for the isometric view.