undefined4 strappingCheck(void)
{
uint strapMSOvariant;
char *pcVar1;
int strapChannelNum;
uint strapBoardRev;
int unaff_r29;
_PEPAR = 0;
_PESO = 0;
_PEDIR = 0;
_PEODR = 0;
/* Check PE15, PE16, PE17 */
strapBoardRev = _PEDAT >> 0xd & 4 | _PEDAT >> 0xf & 2 | _PEDAT >> 0x11 & 1;
if (strapBoardRev == 0) {
strapChannelNum = 4;
strapMSOvariant = 1;
}
else {
/* Check PA14 */
strapChannelNum = (-(uint)((_PEDAT >> 0xe & 1) == 0) & 2) + 2;
/* Check PA11 */
strapMSOvariant = ((uint)(byte)(((_PEDAT & 0x800) == 0) << 1) << 0x1c) >> 0x1d;
}
*(uint *)(unaff_r29 + 0x7c) = strapBoardRev;
*(int *)(unaff_r29 + 0x80) = strapChannelNum;
*(uint *)(unaff_r29 + 0x84) = strapMSOvariant;
consolePrintString("Board: Tektronix Fusion MPC870 Main Board\n");
consolePrintString(" Version: %i (",*(undefined4 *)(unaff_r29 + 0x7c));
switch(*(undefined4 *)(unaff_r29 + 0x7c)) {
case 0:
pcVar1 = "PROTO1) ";
break;
case 1:
pcVar1 = "GREENWORM) ";
break;
case 2:
pcVar1 = "CHAR) ";
break;
case 3:
pcVar1 = "PRE-QUAL) ";
break;
case 4:
pcVar1 = "QUAL) ";
break;
default:
pcVar1 = "!!*UNDEFINED board type*!!) ";
}
consolePrintString(pcVar1);
consolePrintString("%0d channel ",*(undefined4 *)(unaff_r29 + 0x80));
if (*(int *)(unaff_r29 + 0x84) == 0) {
pcVar1 = "DPO\n";
}
else {
pcVar1 = "MSO\n";
}
consolePrintString(pcVar1);
return 0;
}