I found one minor bug but this isn't the cause of the problem. In that vgabios.c file there is a typo, = instead of ==: if ((buf[0] == 0x55) && (buf[1] = 0xaa)) { should be if ((buf[0] == 0x55) && (buf[1] == 0xaa)) {
This is present in version2 as well. Someone ought to fix that...
-Dave