What is the reason for two adjacent structures of bitfields...
Code:

struct
{
unsigned int type : 5;
unsigned int locale : 1;
unsigned int obs : 1;
unsigned int offset : 9;
} tilea;
struct
{
unsigned int tchar : 8;
unsigned int palette : 5;
unsigned int bright : 1;
unsigned int link : 1;
unsigned int mystery : 1;
} tileb;

...rather than a single structure of bitfields?
Code:

struct
{
unsigned int type : 5;
unsigned int locale : 1;
unsigned int obs : 1;
unsigned int offset : 9;
unsigned int tchar : 8;
unsigned int palette : 5;
unsigned int bright : 1;
unsigned int link : 1;
unsigned int mystery : 1;
} tile;