could you pack more than one value into each byte? If you only have 4 different types of tile, you can fit 4 tiles per byte (2 bits each) with a bit of maths.
also you could try coding some sort of run-length encoding (saving repeating data as one item with a 'length' stored)
zip extension sounds much better than both of those, though...
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G