Well, I'm definitely making some progress with the epia m vga. I downloaded the very latest freebios from CVS and I see that I was indeed missing the shadow copy stuff in mainboard.c and also, I was using the wrong value for the vt8623 PCI id. Now, I have a different problem. I'm able to get XFree86 4.3 to start up on tty0 but it complains about AGP, DRI and linear memory. I believe there's a post about that but it didn't mention a fix. I get no output on the monitor until then. Adding AGP support in the 2.6.6 kernel causes the system to hang after the driver is loaded. I'll compile a 2.4 kernel + maybe enable framebuffer support in the kernel to test. Other things that I've tried so far is to enable VIDEO_CONSOLE and the fixup code but I still don't get any output prior to X starting up. I'm currently clueless about why video mode + PCX loading stuff can be done even before the PCI stuff. The upside to all this is that I'm now very familiar with the code. I know there's stuff in the FAQ, but would anyone object if I posted a map of the code for the epia m from entry16 all the way to elfboot() as an example? I've drawn such a map to help navigate through the directories and code and IMHO all the cool stuff happens at hardwaremain(), anyway. Cheers and thanks for all the help.