This may have been done already, but I came up with a good ARM optimized way of taking NES tile data and converting it into 1 byte per pixel. The NES tile data is stored as bitplanes with each byte containing all 8 pixels for a single bit plane. Here's my code for converting the 2 bit planes...