I see in the readme you were having trouble with the diaganol 4 way map. I double checked it against the default map in the windows based utility that Andy provides and it appears to be the same. Not sure what the issue may be?
Here is the windows um file data:
MapRow1=NW,NW,NW,NW,*,NE,NE,NE,NE
MapRow2=NW,NW,NW,NW,*,NE,NE,NE,NE
MapRow3=NW,NW,NW,NW,C,NE,NE,NE,NE
MapRow4=NW,NW,NW,C,C,C,NE,NE,NE
MapRow5=*,*,C,C,C,C,C,*,*
MapRow6=SW,SW,SW,C,C,C,SE,SE,SE
MapRow7=SW,SW,SW,SW,C,SE,SE,SE,SE
MapRow8=SW,SW,SW,SW,*,SE,SE,SE,SE
MapRow9=SW,SW,SW,SW,*,SE,SE,SE,SE
Here is the ultraset data formatted for a little easier viewing:
0x09,0x09,0x09,0x09,0x0A,0x03,0x03,0x03,0x03,
0x09,0x09,0x09,0x09,0x0A,0x03,0x03,0x03,0x03,
0x09,0x09,0x090x09,0x01,0x03,0x03,0x03,0x03,
0x09,0x09,0x09,0x01,0x01,0x01,0x03,0x03,0x03,
0x0A,0x0A,0x01,0x01,0x01,0x01,0x01,0x0A,0x0A,
0x07,0x07,0x07,0x01,0x01,0x01,0x05,0x050x05,
0x07,0x07,0x07,0x07,0x01,0x05,0x05,0x05,0x05,
0x07,0x07,0x07,0x07,0x0A,0x05,0x05,0x05,0x05,
0x07,0x07,0x07,0x07,0x0A,0x05,0x05,0x05,0x05