summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/g80_output.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/g80_output.c b/src/g80_output.c
index 13f9b1b..603fe95 100644
--- a/src/g80_output.c
+++ b/src/g80_output.c
@@ -79,7 +79,15 @@ static Bool G80ReadPortMapping(int scrnIndex, G80Ptr pNv)
for(i = 0; i < G80_NUM_I2C_PORTS; i++)
pNv->i2cMap[i].dac = pNv->i2cMap[i].sor = -1;
- if(*(CARD16*)pNv->table1 != 0xaa55) goto fail;
+ /* These are the three possible known rom signatures */
+ switch(*(CARD16*)pNv->table1) {
+ case 0xaa55:
+ case 0x4e56:
+ case 0xbb77:
+ break;
+ default:
+ goto fail;
+ }
a = *(CARD16*)(pNv->table1 + 0x36);
table2 = (unsigned char*)pNv->table1 + a;