static char decode(int data, int addr) {
        int res;

        res = data;
        if ((data & 0x02) != 0) {
            res ^= 0x40;
        }
        if ((data & 0x20) != 0) {
            res ^= 0x04;
        }
        if ((addr & 1) == 0) {
            res = (res & 0xbb) | ((res & 0x40) >> 4) | ((res & 0x04) << 4);
        }
        return (char) (res & 0xFF);
    }