tp/libs/exi/EXIBios.cpp

621 lines
13 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: EXIBios
//
#include "exi/EXIBios.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" static void SetExiInterruptMask();
extern "C" void EXIImm();
extern "C" void EXIImmEx();
extern "C" void EXIDma();
extern "C" void EXISync();
extern "C" static void EXIClearInterrupts();
extern "C" void EXISetExiCallback();
extern "C" void __EXIProbe();
extern "C" void EXIProbe();
extern "C" void EXIProbeEx();
extern "C" void EXIAttach();
extern "C" void EXIDetach();
extern "C" void EXISelect();
extern "C" void EXIDeselect();
extern "C" static void EXIIntrruptHandler();
extern "C" static void TCIntrruptHandler();
extern "C" static void EXTIntrruptHandler();
extern "C" void EXIInit();
extern "C" void EXILock();
extern "C" void EXIUnlock();
extern "C" void EXIGetState();
extern "C" static void UnlockedHandler();
extern "C" void EXIGetID();
//
// External References:
//
extern "C" void OSGetConsoleType();
extern "C" void __OSGetDIConfig();
extern "C" void OSRegisterVersion();
extern "C" void OSSetCurrentContext();
extern "C" void OSClearContext();
extern "C" void OSDisableInterrupts();
extern "C" void OSRestoreInterrupts();
extern "C" void __OSSetInterruptHandler();
extern "C" void __OSGetInterruptHandler();
extern "C" void __OSMaskInterrupts();
extern "C" void __OSUnmaskInterrupts();
extern "C" void OSGetTime();
extern "C" void __OSEnableBarnacle();
extern "C" void __div2i();
extern "C" void memmove();
extern "C" extern u8 __OSInIPL[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 8044C570-8044C630 079290 00C0+00 20/20 0/0 0/0 .bss Ecb */
static u8 Ecb[192];
/* 80342C0C-80342D00 33D54C 00F4+00 4/4 0/0 0/0 .text SetExiInterruptMask */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void SetExiInterruptMask() {
nofralloc
#include "asm/exi/EXIBios/SetExiInterruptMask.s"
}
#pragma pop
/* 80342D00-80342F5C 33D640 025C+00 2/2 9/9 0/0 .text EXIImm */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIImm() {
nofralloc
#include "asm/exi/EXIBios/EXIImm.s"
}
#pragma pop
/* 80342F5C-80342FFC 33D89C 00A0+00 0/0 7/7 0/0 .text EXIImmEx */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIImmEx() {
nofralloc
#include "asm/exi/EXIBios/EXIImmEx.s"
}
#pragma pop
/* 80342FFC-803430E8 33D93C 00EC+00 0/0 4/4 0/0 .text EXIDma */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIDma() {
nofralloc
#include "asm/exi/EXIBios/EXIDma.s"
}
#pragma pop
/* 803430E8-80343334 33DA28 024C+00 2/2 9/9 0/0 .text EXISync */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXISync() {
nofralloc
#include "asm/exi/EXIBios/EXISync.s"
}
#pragma pop
/* 80343334-8034337C 33DC74 0048+00 4/4 0/0 0/0 .text EXIClearInterrupts */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void EXIClearInterrupts() {
nofralloc
#include "asm/exi/EXIBios/EXIClearInterrupts.s"
}
#pragma pop
/* 8034337C-803433F8 33DCBC 007C+00 0/0 6/6 0/0 .text EXISetExiCallback */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXISetExiCallback() {
nofralloc
#include "asm/exi/EXIBios/EXISetExiCallback.s"
}
#pragma pop
/* 803433F8-8034356C 33DD38 0174+00 7/7 0/0 0/0 .text __EXIProbe */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __EXIProbe() {
nofralloc
#include "asm/exi/EXIBios/__EXIProbe.s"
}
#pragma pop
/* 8034356C-803435EC 33DEAC 0080+00 0/0 5/5 0/0 .text EXIProbe */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIProbe() {
nofralloc
#include "asm/exi/EXIBios/EXIProbe.s"
}
#pragma pop
/* 803435EC-803436A0 33DF2C 00B4+00 0/0 1/1 0/0 .text EXIProbeEx */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIProbeEx() {
nofralloc
#include "asm/exi/EXIBios/EXIProbeEx.s"
}
#pragma pop
/* 803436A0-803437AC 33DFE0 010C+00 0/0 2/2 0/0 .text EXIAttach */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIAttach() {
nofralloc
#include "asm/exi/EXIBios/EXIAttach.s"
}
#pragma pop
/* 803437AC-80343868 33E0EC 00BC+00 0/0 3/3 0/0 .text EXIDetach */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIDetach() {
nofralloc
#include "asm/exi/EXIBios/EXIDetach.s"
}
#pragma pop
/* 80343868-80343994 33E1A8 012C+00 1/1 12/12 0/0 .text EXISelect */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXISelect() {
nofralloc
#include "asm/exi/EXIBios/EXISelect.s"
}
#pragma pop
/* 80343994-80343AA4 33E2D4 0110+00 1/1 15/15 0/0 .text EXIDeselect */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIDeselect() {
nofralloc
#include "asm/exi/EXIBios/EXIDeselect.s"
}
#pragma pop
/* 80343AA4-80343B6C 33E3E4 00C8+00 1/1 0/0 0/0 .text EXIIntrruptHandler */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void EXIIntrruptHandler() {
nofralloc
#include "asm/exi/EXIBios/EXIIntrruptHandler.s"
}
#pragma pop
/* 80343B6C-80343D84 33E4AC 0218+00 1/1 0/0 0/0 .text TCIntrruptHandler */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void TCIntrruptHandler() {
nofralloc
#include "asm/exi/EXIBios/TCIntrruptHandler.s"
}
#pragma pop
/* 80343D84-80343E54 33E6C4 00D0+00 1/1 0/0 0/0 .text EXTIntrruptHandler */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void EXTIntrruptHandler() {
nofralloc
#include "asm/exi/EXIBios/EXTIntrruptHandler.s"
}
#pragma pop
/* ############################################################################################## */
/* 803D10A8-803D10F0 02E1C8 0045+03 1/0 0/0 0/0 .data @1 */
SECTION_DATA static u8 lit_1[69 + 3 /* padding */] = {
0x3C,
0x3C,
0x20,
0x44,
0x6F,
0x6C,
0x70,
0x68,
0x69,
0x6E,
0x20,
0x53,
0x44,
0x4B,
0x20,
0x2D,
0x20,
0x45,
0x58,
0x49,
0x09,
0x72,
0x65,
0x6C,
0x65,
0x61,
0x73,
0x65,
0x20,
0x62,
0x75,
0x69,
0x6C,
0x64,
0x3A,
0x20,
0x41,
0x70,
0x72,
0x20,
0x20,
0x35,
0x20,
0x32,
0x30,
0x30,
0x34,
0x20,
0x30,
0x34,
0x3A,
0x31,
0x34,
0x3A,
0x31,
0x34,
0x20,
0x28,
0x30,
0x78,
0x32,
0x33,
0x30,
0x31,
0x29,
0x20,
0x3E,
0x3E,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
/* 804509C0-804509C8 -00001 0004+04 1/1 0/0 0/0 .sdata __EXIVersion */
SECTION_SDATA static void* __EXIVersion[1 + 1 /* padding */] = {
(void*)&lit_1,
/* padding */
NULL,
};
/* 804516D8-804516E0 000BD8 0004+04 2/2 0/0 0/0 .sbss IDSerialPort1 */
static u8 IDSerialPort1[4 + 4 /* padding */];
/* 80343E54-80344028 33E794 01D4+00 0/0 1/1 0/0 .text EXIInit */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIInit() {
nofralloc
#include "asm/exi/EXIBios/EXIInit.s"
}
#pragma pop
/* 80344028-8034411C 33E968 00F4+00 1/1 10/10 0/0 .text EXILock */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXILock() {
nofralloc
#include "asm/exi/EXIBios/EXILock.s"
}
#pragma pop
/* 8034411C-803441F8 33EA5C 00DC+00 0/0 14/14 0/0 .text EXIUnlock */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIUnlock() {
nofralloc
#include "asm/exi/EXIBios/EXIUnlock.s"
}
#pragma pop
/* 803441F8-80344210 33EB38 0018+00 0/0 2/2 0/0 .text EXIGetState */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIGetState() {
nofralloc
#include "asm/exi/EXIBios/EXIGetState.s"
}
#pragma pop
/* 80344210-80344238 33EB50 0028+00 1/1 0/0 0/0 .text UnlockedHandler */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void UnlockedHandler() {
nofralloc
#include "asm/exi/EXIBios/UnlockedHandler.s"
}
#pragma pop
/* 80344238-803445E8 33EB78 03B0+00 5/5 3/3 0/0 .text EXIGetID */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void EXIGetID() {
nofralloc
#include "asm/exi/EXIBios/EXIGetID.s"
}
#pragma pop
/* ############################################################################################## */
/* 803D10F0-803D1100 02E210 000F+01 0/0 0/0 0/0 .data @473 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_473[15 + 1 /* padding */] = {
0x4D,
0x65,
0x6D,
0x6F,
0x72,
0x79,
0x20,
0x43,
0x61,
0x72,
0x64,
0x20,
0x35,
0x39,
0x00,
/* padding */
0x00,
};
#pragma pop
/* 803D1100-803D1110 02E220 0010+00 0/0 0/0 0/0 .data @474 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_474[16] = {
0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x31, 0x32, 0x33, 0x00,
};
#pragma pop
/* 803D1110-803D1120 02E230 0010+00 0/0 0/0 0/0 .data @475 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_475[16] = {
0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x32, 0x35, 0x31, 0x00,
};
#pragma pop
/* 803D1120-803D1130 02E240 0010+00 0/0 0/0 0/0 .data @476 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_476[16] = {
0x4D, 0x65, 0x6D, 0x6F, 0x72, 0x79, 0x20, 0x43, 0x61, 0x72, 0x64, 0x20, 0x35, 0x30, 0x37, 0x00,
};
#pragma pop
/* 803D1130-803D1144 02E250 0011+03 0/0 0/0 0/0 .data @477 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_477[17 + 3 /* padding */] = {
0x4D,
0x65,
0x6D,
0x6F,
0x72,
0x79,
0x20,
0x43,
0x61,
0x72,
0x64,
0x20,
0x31,
0x30,
0x31,
0x39,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
#pragma pop
/* 803D1144-803D1158 02E264 0011+03 0/0 0/0 0/0 .data @478 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_478[17 + 3 /* padding */] = {
0x4D,
0x65,
0x6D,
0x6F,
0x72,
0x79,
0x20,
0x43,
0x61,
0x72,
0x64,
0x20,
0x32,
0x30,
0x34,
0x33,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
#pragma pop
/* 803D1158-803D1164 02E278 000C+00 0/0 0/0 0/0 .data @479 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_479[12] = {
0x55, 0x53, 0x42, 0x20, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x00,
};
#pragma pop
/* 803D1164-803D1170 02E284 0009+03 0/0 0/0 0/0 .data @485 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_485[9 + 3 /* padding */] = {
0x4E,
0x65,
0x74,
0x20,
0x43,
0x61,
0x72,
0x64,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
#pragma pop
/* 803D1170-803D1180 02E290 000D+03 0/0 0/0 0/0 .data @486 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_486[13 + 3 /* padding */] = {
0x41,
0x72,
0x74,
0x69,
0x73,
0x74,
0x20,
0x45,
0x74,
0x68,
0x65,
0x72,
0x00,
/* padding */
0x00,
0x00,
0x00,
};
#pragma pop
/* 803D1180-803D1194 02E2A0 0012+02 0/0 0/0 0/0 .data @487 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_487[18 + 2 /* padding */] = {
0x42,
0x72,
0x6F,
0x61,
0x64,
0x62,
0x61,
0x6E,
0x64,
0x20,
0x41,
0x64,
0x61,
0x70,
0x74,
0x65,
0x72,
0x00,
/* padding */
0x00,
0x00,
};
#pragma pop
/* 803D1194-803D11A4 02E2B4 000E+02 0/0 0/0 0/0 .data @489 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_489[14 + 2 /* padding */] = {
0x53,
0x74,
0x72,
0x65,
0x61,
0x6D,
0x20,
0x48,
0x61,
0x6E,
0x67,
0x65,
0x72,
0x00,
/* padding */
0x00,
0x00,
};
#pragma pop
/* 803D11A4-803D11B8 02E2C4 000E+06 0/0 0/0 0/0 .data @490 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 lit_490[14 + 6 /* padding */] = {
0x49,
0x53,
0x2D,
0x44,
0x4F,
0x4C,
0x2D,
0x56,
0x49,
0x45,
0x57,
0x45,
0x52,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
};
#pragma pop