First post, by wasup
Hi all.
I have an Adaptec AHA-1510B scsi card and wanted to convert it to a AHA-1520B. As i understand the AHA-1510B and AHA-1520B are the same, except the AHA-1510B is missing the bios.
I have compared the two cards and fitted the missing components. All that was missing is 1 x 0 ohm resistor, 2 x 10k resistors, a ls245 and the BIOS rom + socket. I have used the AHA-1520B 1.15 BIOS.
After adjusting the dip switch to the correct positions (from the AHA-1520B) the card is able load the BIOS correctly but the BIOS reports that it is unable to find a AHA-1520B/AHA-1522B in the system. I suspect that the controller IC on each variant of this card is programmed with a unique identifier or model number so that config software and or BIOS knows what features the card has.
To make this work i am guessing either the controller chip needs this identifier/model number reprogrammed, or the BIOS to be modified. Reprogramming the controller chip is likely to be the harder of the two.
Does anyone have more knowledge than me, which is very little, about the inner workings of the BIOS rom? I am thinking that the BIOS code probes the system for a known card (in this case a AHA-1520B/AHA-1522B), the card sends its identifier back and the BIOS code either matches that and carries on loading or doesn't and reports the card as unable to be found. Assuming this is how it works, i expect it would be possible to patch this check to be able to accept the response that the AHA-1510B returns instead.
Is anyone able to help with this, or point me in the right direction to able to do this myself? I have opened the BIOS bin file up in a hex editor an can see that the error message is located at address 74BE. I have searched for this location though out the rest of the file in the hope that i could see what calls this message and possibly reverse engineer whats going on from there, but i was unable to find it, so its obviously not called directly.
Thanks.