int palOff = 0;
        private boolean writePalette()        {            byte[] udataPal = new byte[getSubPaletteSize()                * getNumSubPalettes() * 2];            int palOff = 0;            /* COMPRESS PALETTE */            for (int i = 0; i < NUM_PALETTES; i++)            {                HackModule.writePalette(udataPal, palOff, palette[i]);                palOff += palette[i].length * 2;            }            byte[] compPal;            int palCompLen = comp(udataPal, compPal = new byte[600]);            if (!hm.writeToFreeASMLink(compPal, palPointerArray[num], palLen,                palCompLen))                return false;            System.out.println("Wrote "                + (palLen = palCompLen)                + " bytes of the title screen #"                + num                + " palette at "                + Integer.toHexString(palPointer = hm.rom                    .readRegAsmPointer(palPointerArray[num])) + " to "                + Integer.toHexString(palPointer + palCompLen - 1) + ".");            return true;        }