slow conversion to sdl and an alternate form of fast direct pixel access - perhaps http://wiki.lazarus.freepascal.org/Fast_direct_pixel_access