The previous fix didn't ifdef out enough for sparc64 to actually work.
Fix this by using more dynamic initialization with simpler ifdefs for
the machine dependencies. Find a frame buffer address in a more
portable way that at least compiles on sparc64.