/* This file was automatically created by * Reverse Engineering Compiler 1.5f (C) Giampiero Caprino (Feb 29 2000) * Input file: 'hardware.o' */ /* Procedure: 0x00000000 - 0x0000026A * Argument size: 15 * Local size: 0 * Save regs size: 0 */ ResetRFNC(A4, A8, Af) /* unknown */ void A4; /* unknown */ void A8; /* unknown */ void Af; { /* unknown */ void Vfffffffe; /* unknown */ void Vffffffff; esp = esp - 4; (save)A4; (save)esi; (save)ebx; Vffffffff = A8; Vfffffffe = ResetInProgress.2; if(*ResetInProgress.2 != ResetInProgress.2) { if(*ResetInProgress.2 != ResetInProgress.2) { L0000002c(2); if(al != 213) { if(L00000038() != 0) { eax = 255; goto L00000266; esi = esi + ResetInProgress.2; } } } } esi = L00000051(); L00000058(); if(*ResetInProgress.2 != 1) { *ResetInProgress.2 = 1; L00000075(82, 2); if(*ResetInProgress.2 == ResetInProgress.2) { if(*ResetInProgress.2 == ResetInProgress.2) { goto L00000093; } } Vfffffffe = 4; L00000093: L00000094(); if(al < 0) { ebx = Vfffffffe & 255; (save)ebx; eax = L000000a4(); (save)(Vfffffffe | 16) & 255; L000000b5(); (save)7; L000000bc(); (save)ebx; L000000c2(); (save)7; L000000c9(); esp = esp + 20; } ebx = Vfffffffe & 255; (save)ebx; L000000d8(); (save)ebx; L000000de(); Vfffffffe = Vfffffffe | 8; (save)Vfffffffe & 255; L000000ef(); (save)67; L000000f6(); (save)ResetInProgress.2; L000000fd(); esp = esp + 20; if(*ResetInProgress.2 == ResetInProgress.2) { if(*ResetInProgress.2 == ResetInProgress.2) { (save)44; goto L00000122; esi = esi + ResetInProgress.2; } } (save)56; L00000122: L00000123(); esp = esp + 4; (save)67; L0000012d(); (save)43605; L00000137(); (save)90; L0000013e(); L00000143(); ebx = L00000148(); esp = esp + 12; do { L00000162(); if(al == 90) { break; } L00000154(); } while(ax - bx <= 199); L0000016b(); L00000170(); if(al == 90) { goto L00000190; } *ResetInProgress.2 = ResetInProgress.2; } (save)esi; L00000181(); eax = 255; goto L00000266; L00000190: al = *A4; if(al == 1) { if(*ResetInProgress.2 == ResetInProgress.2) { if(*ResetInProgress.2 == ResetInProgress.2) { (save)12; goto L000001b2; esi = esi + ResetInProgress.2; } } (save)8; L000001b2: L000001b3(); esp = esp + 4; (save)32; L000001bd(); } else { if(al == 0) { (save)ResetInProgress.2; L000001ca(); } else { L000001d1(); if(ax == 21930) { (save)ResetInProgress.2; L000001de(); *A4 = ResetInProgress.2; } else { if(*ResetInProgress.2 == ResetInProgress.2) { if(*ResetInProgress.2 == ResetInProgress.2) { (save)12; goto L00000202; esi = esi + ResetInProgress.2; } } (save)8; L00000202: L00000203(); esp = esp + 4; L0000020d(32); *A4 = 1; } } } if(*ResetInProgress.2 != ResetInProgress.2) { L00000221(); } L00000228(ResetInProgress.2); if(*ResetInProgress.2 == ResetInProgress.2) { if(*ResetInProgress.2 == ResetInProgress.2) { goto L00000245; } } (save)15; goto L0000024c; L00000245: (save)Af & 255; L0000024c: L0000024d(); esp = esp + 4; *ResetInProgress.2 = ResetInProgress.2; L0000025d(esi); eax = 0; L00000266: (restore)ebx; (restore)esi; (restore)A4; (restore)ecx; } /* Procedure: 0x0000026B - 0x0000026F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0000026B() { esi = esi + ResetInProgress.2; } /* Procedure: 0x00000270 - 0x000002DD * Argument size: 0 * Local size: 0 * Save regs size: 4 */ SetWakeupBit() { /* unknown */ void ebx; L00000277(); L0000027e(100, 128); if(*ResetInProgress.2 != ResetInProgress.2) { if(*ResetInProgress.2 != ResetInProgress.2) { L0000029d(167); } } L000002a5(); bl = al; eax = L000002ae(16); if(bl < 0) { ebx = 0; esi = esi + ResetInProgress.2; do { L000002c3(); eax = L000002cd(128, 2); bx = bx + 1; } while(bx <= 8); } } /* Procedure: 0x000002DE - 0x000002DF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L000002DE() { } /* Procedure: 0x000002E0 - 0x00000309 * Argument size: 8 * Local size: 0 * Save regs size: 4 */ ClearWakeupBit(A8, Ac) /* unknown */ void A8; /* unknown */ void Ac; { /* unknown */ void ebx; if(Ac >= ResetInProgress.2) { eax = L000002f2(128); } if(!(A8 & 16)) { eax = L00000301(16); } } /* Procedure: 0x0000030A - 0x0000030F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0000030A() { esi = esi + ResetInProgress.2; } /* Procedure: 0x00000310 - 0x000005FA * Argument size: 15 * Local size: 0 * Save regs size: 0 */ TxRequest(A4, A8, Af) /* unknown */ void A4; /* unknown */ void A8; /* unknown */ void Af; { /* unknown */ void Vffffffff; esp = esp - 4; (save)edi; (save)esi; (save)ebx; eax = A8; esi = A4; dl = al; if(al == 0) { (save)1; L0000032b(); (save)si & 65535; L00000336(); L0000033b(); edi = L00000340(); L00000347(); ebx = L0000034c(); esp = esp + 8; do { L00000371(); if(ax - bx > 600) { goto L00000382; } L00000358(); Vffffffff = al; if(al == 2) { goto L00000550; } } while(al != 5); goto L0000049b; L00000382: L00000383(); L0000038c(); L00000395(); L0000039e(84, 4, 100, 4, 97, 4, 66, 4); L000003aa(); L000003b3(); L000003bc(); L000003c5(97, 4, 116, 4, 83, 4, 120, 4); L000003d1(); L000003df(); L000003e5(edi, Vffffffff & 255, 4, 116, 4); *ResetInProgress.2 = 100; eax = 255; goto L000005f6; esi = esi + ResetInProgress.2; } if(dl == 1) { (save)6; L0000040c(); (save)esi & 255; L00000419(); L0000041e(); edi = L00000423(); L0000042a(); ebx = L0000042f(); esp = esp + 8; goto L0000044d; esi = esi + ResetInProgress.2; goto L00000440; L0000044d: do { L0000044e(); if(ax - bx > 600) { goto L0000045b; } L00000440: L00000441(); Af = al; } while(al != 7); goto L00000462; L0000045b: if(Vffffffff == 7) { L00000462: (save)si >> 8 & 255; L0000046f(); (save)1; L00000476(); ebx = L0000047b(); esp = esp + 8; goto L000004c0; L0000049b: L0000049d(edi); if(*ResetInProgress.2 == 100) { *ResetInProgress.2 = 99; } eax = 2; goto L000005f6; L000004c0: do { L000004c1(); if(ax - bx > 600) { goto L000004ce; } L00000487(); Af = al; if(al == 2) { goto L00000550; } } while(al != 5); goto L0000049b; } L000004ce: L000004d0(); L000004d9(); L000004e2(); L000004eb(); L000004f4(84, 4, 100, 4, 97, 4, 66, 4, edi); L00000500(); L00000509(); L00000512(); L0000051b(97, 4, 116, 4, 83, 4, 120, 4); L00000527(); L00000535(Vffffffff & 255, 4, 116, 4); *ResetInProgress.2 = 100; eax = 255; goto L000005f6; esi = esi + ResetInProgress.2; L00000550: L00000552(edi); *ResetInProgress.2 = 100; eax = 1; goto L000005f6; esi = esi + ResetInProgress.2; } L00000575(); L0000057e(); L00000587(); L00000590(97, 4, 118, 4, 110, 4, 73, 4); L0000059c(); L000005a5(); L000005ae(); L000005b7(84, 4, 100, 4, 105, 4, 108, 4); L000005c3(); L000005cc(); L000005d5(); L000005de(100, 4, 111, 4, 77, 4, 120, 4); L000005ea(101, 4); eax = 255; L000005f6: (restore)ebx; (restore)esi; (restore)edi; (restore)ecx; } /* Procedure: 0x000005FB - 0x000005FF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L000005FB() { esi = esi + ResetInProgress.2; } /* Procedure: 0x00000600 - 0x000006BF * Argument size: 12 * Local size: 0 * Save regs size: 12 */ TxData(A10, A14, A18) /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; { /* unknown */ void ebx; /* unknown */ void esi; esi = A10; ebx = A18; eax = L00000612(4); if(bl == 0) { if(*ResetInProgress.2 == ResetInProgress.2) { goto L00000650; } ebx = 0; if(0 < di) { do { esi = esi + 2; eax = L0000063b( *esi & 65535); bx = bx + 2; } while(bx < di); goto L000006bc; esi = esi + ResetInProgress.2; L00000650: ebx = 0; if(0 < di) { do { esi = esi + 2; eax = L00000661( *esi & 65535); bx = bx + 2; } while(bx < di); } } } else { if(*ResetInProgress.2 == ResetInProgress.2) { goto L000006a0; } ebx = 0; if(0 < di) { do { esi = esi + 1; eax = L0000068a( *esi & 255); bx = bx + 1; } while(bx < di); goto L000006bc; esi = esi + ResetInProgress.2; L000006a0: ebx = 0; if(0 < di) { do { esi = esi + 1; eax = L000006ae( *esi & 255); bx = bx + 1; } while(bx < di); } } } L000006bc: } stack space not deallocated on return /* Procedure: 0x000006C0 - 0x0000075C * Argument size: 0 * Local size: 0 * Save regs size: 12 */ EndOfTx() { /* unknown */ void ebx; /* unknown */ void esi; /* unknown */ void edi; edi = L000006c4(); L000006cb(); esi = L000006d0(); goto L000006f1; L000006e5: L000006e6(edi); eax = 0; goto L00000759; L000006f1: do { L000006f2(); if(ax - si > 600) { goto L00000703; } L000006d9(); bl = al; } while(bl != 3); goto L000006e5; L00000703: L00000704(); L0000070d(); L00000716(); L0000071f(108, 4, 105, 4, 97, 4, 70, 4); (save)4; (save)84; L0000072b(); (save)4; (save)54; L00000734(); (save)4; (save)bl & 255; L00000740(); *ResetInProgress.2 = 255; (save)edi; L0000074d(); eax = 255; esp = esp + 28; L00000759: } /* Procedure: 0x0000075D - 0x0000075F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L0000075D() { esi = esi + ResetInProgress.2; } /* Procedure: 0x00000760 - 0x00000973 * Argument size: 14 * Local size: 0 * Save regs size: 0 */ RxRequest(A4, Ae) /* unknown */ void A4; /* unknown */ void Ae; { /* unknown */ void Vfffffffe; /* unknown */ void Vffffffff; esp = esp - 4; (save)edi; (save)esi; (save)ebx; ebx = A4; Vffffffff = bl; eax = L0000076f(); Vfffffffe = al; if(bl == 0) { if(al == 16) { eax = L00000780() & 65535; goto L0000096f; } L00000795(); L0000079e(); L000007a7(); L000007b0(82, 4, 100, 4, 97, 4, 66, 4); L000007bc(); L000007c5(); L000007ce(); L000007d7(97, 4, 116, 4, 83, 4, 120, 4); eax = L000007e3(); eax = L000007f1(Vfffffffe & 255, 4, 116, 4); } if(Vffffffff == 1) { if(Vfffffffe == 96) { L0000080b(); esi = eax & 255; (save)112; L0000081a(); L0000081f(); esp = esp + 4; goto L000008b8; esi = esi + ResetInProgress.2; L00000830: esi = esi + (L00000831() << 8); L0000083d(edi); eax = si & 65535; goto L0000096f; } L00000855(); L0000085e(); L00000867(); L00000870(82, 4, 100, 4, 97, 4, 66, 4); L0000087c(); L00000885(); L0000088e(); L00000897(97, 4, 116, 4, 83, 4, 120, 4); L000008a3(); L000008b1(Vfffffffe & 255, 4, 116, 4); L000008b8: edi = L000008b9(); L000008c0(); ebx = L000008c5(); goto L000008e1; esi = esi + ResetInProgress.2; goto L000008d0; L000008e1: do { L000008e2(); if(ax - bx > 600) { goto L000008f3; } L000008d0: L000008d1(); Ae = al; } while(al != 16); goto L00000830; L000008f3: L000008f4(); L000008fd(); L00000906(); L0000090f(101, 4, 82, 4, 120, 4, 82, 4); L0000091b(); L00000924(); L0000092d(); L00000936(109, 4, 105, 4, 84, 4, 113, 4); L00000942(); L0000094b(); L00000954(); L0000095d(116, 4, 117, 4, 79, 4, 101, 4); L00000966(edi); } eax = 0; L0000096f: (restore)ebx; (restore)esi; (restore)edi; (restore)ecx; } /* Procedure: 0x00000974 - 0x0000097F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L00000974() { esi = esi + ResetInProgress.2; edi = edi + ResetInProgress.2; } stack space not deallocated on return /* Procedure: 0x00000980 - 0x00000A86 * Argument size: 17 * Local size: 0 * Save regs size: 0 */ RxData(A13, A18, A1c, A20) /* unknown */ void A13; /* unknown */ void A18; /* unknown */ void A1c; /* unknown */ void A20; { esp = esp - 4; (save)ebp; (save)A1c; (save)esi; (save)ebx; esi = A18; A13 = A20; (save)32; L0000099a(); L0000099f(); ebp = L000009a4(); L000009ab(); ebx = L000009b0(); esp = esp + 4; goto L00000a61; goto L000009c0; L000009cd: if(A13 == ResetInProgress.2) { if(*ResetInProgress.2 != ResetInProgress.2) { ebx = 0; if(0 >= di) { goto L00000a57; } do { L000009e5(); *esi = ax; esi = esi + 2; bx = bx + 2; } while(bx < di); goto L00000a57; esi = esi + ResetInProgress.2; } ebx = 0; if(0 >= di) { goto L00000a57; } do { L00000a08(); *esi = ax; esi = esi + 2; bx = bx + 2; } while(bx < di); goto L00000a57; esi = esi + ResetInProgress.2; } if(*ResetInProgress.2 != ResetInProgress.2) { ebx = 0; if(0 < di) { do { L00000a31(); *esi = al; esi = esi + 1; bx = bx + 1; } while(bx < di); } } else { ebx = 0; if(0 < di) { do { L00000a49(); *esi = al; esi = esi + 1; bx = bx + 1; } while(bx < di); } } L00000a57: (save)ebp; L00000a59(); eax = 0; goto L00000a7e; L00000a61: do { L00000a62(); if(ax - bx > 600) { goto L00000a74; } L000009c0: L000009c1(); } while(al != 64); goto L000009cd; L00000a74: L00000a75(ebp); eax = 255; L00000a7e: (restore)ebx; (restore)esi; (restore)A1c; (restore)ebp; (restore)ecx; } /* Procedure: 0x00000A87 - 0x00000A8F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L00000A87() { edi = edi + ResetInProgress.2; } /* Procedure: 0x00000A90 - 0x00000AE2 * Argument size: 12 * Local size: 0 * Save regs size: 12 */ GetRxData(A10, A14, A18) /* unknown */ void A10; /* unknown */ void A14; /* unknown */ void A18; { /* unknown */ void ebx; /* unknown */ void esi; esi = A10; if(A18 == ResetInProgress.2) { ebx = 0; if(0 < di) { esi = esi + ResetInProgress.2; do { *esi = L00000ab1(); esi = esi + 2; bx = bx + 2; } while(bx < di); } } else { ebx = 0; if(0 < di) { esi = esi + ResetInProgress.2; do { *esi = L00000ad1(); esi = esi + 1; bx = bx + 1; } while(bx < di); } } } /* Procedure: 0x00000AE3 - 0x00000AEF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L00000AE3() { esi = esi + ResetInProgress.2; edi = edi + ResetInProgress.2; } /* Procedure: 0x00000AF0 - 0x00000AFF * Argument size: 0 * Local size: 0 * Save regs size: 0 */ EndOfRx() { (save)48; L00000af3(); esp = esp + 4; return(L00000af8()); } /* Procedure: 0x00000B00 - 0x00000B0F * Argument size: 0 * Local size: 0 * Save regs size: 0 */ ClearNAK() { (save)8; L00000b03(); esp = esp + 4; return(L00000b08()); } extern /* addr: 00000B10 */ /* Procedure: 0x00000B10 - 0x00000000 * Argument size: 0 * Local size: 0 * Save regs size: 0 */ L00000B10() /* address size */ /* 0x00000000 0 */ /* unknown */ void ResetInProgress.2; /* 0x00000000 0 */ /* unknown */ void ResetRFNC; /* 0x00000000 0 */ /* unknown */ void LLDPCMCIA; /* 0x00000000 0 */ /* unknown */ void LLDInit365Flag; /* 0x00000000 0 */ /* unknown */ void ReadPCICReg; /* 0x00000000 0 */ /* unknown */ void ConfigureMachine; /* 0x00000000 0 */ /* unknown */ void PreserveFlag; /* 0x00000000 0 */ /* unknown */ void DisableInterrupt; /* 0x00000000 0 */ /* unknown */ void OutChar; /* 0x00000000 0 */ /* unknown */ void LLDOnePieceFlag; /* 0x00000000 0 */ /* unknown */ void LLDMicroISA; /* 0x00000000 0 */ /* unknown */ void R_Status; /* 0x00000000 0 */ /* unknown */ void W_CtrlReg; /* 0x00000000 0 */ /* unknown */ void Delay; /* 0x00000000 0 */ /* unknown */ void W_StatusReg; /* 0x00000000 0 */ /* unknown */ void W_DataRegW; /* 0x00000000 0 */ /* unknown */ void EnableInterrupt; /* 0x00000000 0 */ /* unknown */ void LLSGetCurrentTime; /* 0x00000000 0 */ /* unknown */ void RestoreFlag; /* 0x00000000 0 */ /* unknown */ void W_DataRegB; /* 0x00000000 0 */ /* unknown */ void R_DataRegW; /* 0x00000000 0 */ /* unknown */ void ClearPCMCIAInt; /* 0x00000000 0 */ /* unknown */ void LLDOEM; /* 0x00000000 0 */ /* unknown */ void W_IntSelReg; /* 0x00000000 0 */ /* unknown */ void SetBit_StatusReg; /* 0x00000000 0 */ /* unknown */ void Delay_uS; /* 0x00000000 0 */ /* unknown */ void LLDInactivityTimeOut; /* 0x00000000 0 */ /* unknown */ void LLDOEMCustomer; /* 0x00000000 0 */ /* unknown */ void SetBit_CtrlReg; /* 0x00000000 0 */ /* unknown */ void ClearBit_StatusReg; /* 0x00000000 0 */ /* unknown */ void ClearBit_CtrlReg; /* 0x00000000 0 */ /* unknown */ void W_TxStatusReg; /* 0x00000000 0 */ /* unknown */ void IntRFNCTx; /* 0x00000000 0 */ /* unknown */ void R_TxStatus; /* 0x00000000 0 */ /* unknown */ void OutHex; /* 0x00000000 0 */ /* unknown */ void LLDNAKTime; /* 0x00000000 0 */ /* unknown */ void LLDFastIO; /* 0x00000000 0 */ /* unknown */ void W_FastDataRegW; /* 0x00000000 0 */ /* unknown */ void W_FastDataRegB; /* 0x00000000 0 */ /* unknown */ void LLDNeedReset; /* 0x00000000 0 */ /* unknown */ void R_RxStatus; /* 0x00000000 0 */ /* unknown */ void R_DataRegB; /* 0x00000000 0 */ /* unknown */ void W_RxStatusReg; /* 0x00000000 0 */ /* unknown */ void IntRFNCRx; /* 0x00000000 0 */ /* unknown */ void R_FastDataRegW; /* 0x00000000 0 */ /* unknown */ void R_FastDataRegB; /* 0x00000270 112 */ /* unknown */ void SetWakeupBit; /* 0x000002e0 48 */ /* unknown */ void ClearWakeupBit; /* 0x00000310 752 */ /* unknown */ void TxRequest; /* 0x00000600 192 */ /* unknown */ void TxData; /* 0x000006c0 160 */ /* unknown */ void EndOfTx; /* 0x00000760 544 */ /* unknown */ void RxRequest; /* 0x00000980 272 */ /* unknown */ void RxData; /* 0x00000a90 96 */ /* unknown */ void GetRxData; /* 0x00000af0 16 */ /* unknown */ void EndOfRx; /* 0x00000b00 0 */ /* unknown */ void ClearNAK; #if 0 /* auxiliary information */ # Current option values: option: +asmflush option: -compactcalls option: +compactexprs option: +compactifs option: +compset option: -dfoproc option: -disasmonly option: -displaylabels option: +doblocks option: +docase option: +dofor option: +doifs option: +dointrinsics option: +doloops option: +donullgotos option: +dopackloops option: +dopackstmt option: -doremlabs option: +dosimplify option: -dosort option: +dostmts option: +doswitch option: +dowhile option: -dumpaddrs option: -dumpcall option: -dumpcomments option: -dumpdfo option: +dumpdoms option: -dumpsblocks option: -dumpsets option: -dumpsizes option: -dumpstmtid option: +fatcase option: -flag16 option: +fullscreen option: -genpattern option: -help option: -hexconst option: -html option: +insertlabels option: -int16 option: +int32 option: -interactive option: +locals option: -nohtmltabs option: -nostackoffs option: -objdump option: -okclone option: -outprocs option: -outrefs option: -overrule option: +rdonly option: -showblocks option: -showjump option: -showlabel option: -showprotosym option: -showreg option: -showstring option: -silent option: +simplifyexprs option: -strallregions option: -traceall option: -tracesets option: +types option: +usesymtab option: -validatebr option: -validatereg option: +validatestr #endif