// // Generated By: dol2asm // Translation Unit: vi // #include "dolphin/vi/vi.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // extern "C" void __VIRetraceHandler(); extern "C" static void getTiming(); extern "C" void __VIInit(); extern "C" static void setFbbRegs(); extern "C" static void setVerticalRegs(); extern "C" u32 VIGetRetraceCount(); extern "C" static void GetCurrentDisplayPosition(); extern "C" static void getCurrentFieldEvenOdd(); extern "C" void VIGetNextField(); extern "C" void VIGetCurrentLine(); extern "C" void VIGetTvFormat(); extern "C" void VIGetDTVStatus(); extern "C" void __VIDisplayPositionToXY(); extern "C" void __VIGetCurrentPosition(); // // External References: // extern "C" void OSReport(); extern "C" void OSPanic(); 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 __OSUnmaskInterrupts(); extern "C" void __OSLockSram(); extern "C" void __OSUnlockSram(); extern "C" void OSInitThreadQueue(); extern "C" void OSSleepThread(); extern "C" void OSWakeupThread(); extern "C" void SIRefreshSamplingRate(); extern "C" void __shl2i(); extern "C" void __shr2u(); // // Declarations: // /* ############################################################################################## */ /* 8044CA28-8044CAA0 079748 0076+02 8/8 0/0 0/0 .bss regs */ static u8 regs[118 + 2 /* padding */]; /* 804517E0-804517E4 000CE0 0004+00 1/1 0/0 0/0 .sbss IsInitialized */ static u8 IsInitialized[4]; /* 804517E4-804517E8 000CE4 0004+00 4/3 0/0 0/0 .sbss retraceCount */ static u8 retraceCount[4]; /* 804517E8-804517EC 000CE8 0004+00 3/3 0/0 0/0 .sbss flushFlag */ static u8 flushFlag[4]; /* 804517EC-804517F4 000CEC 0008+00 3/3 0/0 0/0 .sbss retraceQueue */ static u8 retraceQueue[8]; /* 804517F4-804517F8 000CF4 0004+00 3/3 0/0 0/0 .sbss PreCB */ static u8 PreCB[4]; /* 804517F8-804517FC 000CF8 0004+00 3/3 0/0 0/0 .sbss PostCB */ static u8 PostCB[4]; /* 804517FC-80451800 000CFC 0004+00 1/1 0/0 0/0 .sbss PositionCallback */ static u8 PositionCallback[4]; /* 80451800-80451804 000D00 0004+00 2/2 0/0 0/0 .sbss encoderType */ static u8 encoderType[4]; /* 80451804-80451808 -00001 0004+00 2/2 0/0 0/0 .sbss None */ /* 80451804 0002+00 data_80451804 displayOffsetH */ /* 80451806 0002+00 data_80451806 displayOffsetV */ static u8 struct_80451804[4]; /* 80451808-80451810 000D08 0004+04 3/3 0/0 0/0 .sbss changeMode */ static u8 changeMode[4 + 4 /* padding */]; /* 80451810-80451814 000D10 0004+00 5/5 0/0 0/0 .sbss changed */ static u8 changed[4]; /* 80451814-80451818 000D14 0004+00 5/5 0/0 0/0 .sbss None */ static u8 data_80451814[4]; /* 80451818-80451820 000D18 0004+04 3/3 0/0 0/0 .sbss shdwChangeMode */ static u8 shdwChangeMode[4 + 4 /* padding */]; /* 80451820-80451824 000D20 0004+00 3/3 0/0 0/0 .sbss shdwChanged */ static u8 shdwChanged[4]; /* 80451824-80451828 000D24 0004+00 3/3 0/0 0/0 .sbss None */ static u8 data_80451824[4]; /* 80451828-8045182C 000D28 0004+00 6/6 0/0 0/0 .sbss CurrTiming */ static u8 CurrTiming[4]; /* 8045182C-80451830 000D2C 0004+00 3/3 0/0 0/0 .sbss CurrTvMode */ static u8 CurrTvMode[4]; /* 80451830-80451834 000D30 0004+00 3/2 0/0 0/0 .sbss NextBufAddr */ static u8 NextBufAddr[4]; /* 80451834-80451838 000D34 0004+00 2/1 0/0 0/0 .sbss CurrBufAddr */ static u8 CurrBufAddr[4]; /* 8034BF6C-8034C1E0 3468AC 0274+00 1/1 0/0 0/0 .text __VIRetraceHandler */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __VIRetraceHandler() { nofralloc #include "asm/dolphin/vi/vi/__VIRetraceHandler.s" } #pragma pop /* 8034C1E0-8034C224 346B20 0044+00 0/0 4/4 0/0 .text VISetPreRetraceCallback */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback) { nofralloc #include "asm/dolphin/vi/vi/VISetPreRetraceCallback.s" } #pragma pop /* 8034C224-8034C268 346B64 0044+00 0/0 4/4 2/2 .text VISetPostRetraceCallback */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback) { nofralloc #include "asm/dolphin/vi/vi/VISetPostRetraceCallback.s" } #pragma pop /* ############################################################################################## */ /* 803D1760-803D17A4 02E880 0044+00 4/3 0/0 0/0 .data @1 */ SECTION_DATA static u8 lit_1[68] = { 0x3C, 0x3C, 0x20, 0x44, 0x6F, 0x6C, 0x70, 0x68, 0x69, 0x6E, 0x20, 0x53, 0x44, 0x4B, 0x20, 0x2D, 0x20, 0x56, 0x49, 0x09, 0x72, 0x65, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x62, 0x75, 0x69, 0x6C, 0x64, 0x3A, 0x20, 0x41, 0x70, 0x72, 0x20, 0x20, 0x37, 0x20, 0x32, 0x30, 0x30, 0x34, 0x20, 0x30, 0x34, 0x3A, 0x31, 0x33, 0x3A, 0x35, 0x39, 0x20, 0x28, 0x30, 0x78, 0x32, 0x33, 0x30, 0x31, 0x29, 0x20, 0x3E, 0x3E, 0x00, }; /* 803D17A4-803D1920 02E8C4 017C+00 0/1 0/0 0/0 .data timing */ #pragma push #pragma force_active on SECTION_DATA static u8 timing[380] = { 0x06, 0x00, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x19, 0x00, 0x03, 0x00, 0x02, 0x0C, 0x0D, 0x0C, 0x0D, 0x02, 0x08, 0x02, 0x07, 0x02, 0x08, 0x02, 0x07, 0x02, 0x0D, 0x01, 0xAD, 0x40, 0x47, 0x69, 0xA2, 0x01, 0x75, 0x7A, 0x00, 0x01, 0x9C, 0x06, 0x00, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x18, 0x00, 0x04, 0x00, 0x04, 0x0C, 0x0C, 0x0C, 0x0C, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0x08, 0x02, 0x0E, 0x01, 0xAD, 0x40, 0x47, 0x69, 0xA2, 0x01, 0x75, 0x7A, 0x00, 0x01, 0x9C, 0x05, 0x00, 0x01, 0x1F, 0x00, 0x23, 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x0D, 0x0C, 0x0B, 0x0A, 0x02, 0x6B, 0x02, 0x6A, 0x02, 0x69, 0x02, 0x6C, 0x02, 0x71, 0x01, 0xB0, 0x40, 0x4B, 0x6A, 0xAC, 0x01, 0x7C, 0x85, 0x00, 0x01, 0xA4, 0x05, 0x00, 0x01, 0x1F, 0x00, 0x21, 0x00, 0x21, 0x00, 0x02, 0x00, 0x02, 0x0D, 0x0B, 0x0D, 0x0B, 0x02, 0x6B, 0x02, 0x6D, 0x02, 0x6B, 0x02, 0x6D, 0x02, 0x70, 0x01, 0xB0, 0x40, 0x4B, 0x6A, 0xAC, 0x01, 0x7C, 0x85, 0x00, 0x01, 0xA4, 0x06, 0x00, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x19, 0x00, 0x03, 0x00, 0x02, 0x10, 0x0F, 0x0E, 0x0D, 0x02, 0x06, 0x02, 0x05, 0x02, 0x04, 0x02, 0x07, 0x02, 0x0D, 0x01, 0xAD, 0x40, 0x4E, 0x70, 0xA2, 0x01, 0x75, 0x7A, 0x00, 0x01, 0x9C, 0x06, 0x00, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x18, 0x00, 0x04, 0x00, 0x04, 0x10, 0x0E, 0x10, 0x0E, 0x02, 0x06, 0x02, 0x08, 0x02, 0x06, 0x02, 0x08, 0x02, 0x0E, 0x01, 0xAD, 0x40, 0x4E, 0x70, 0xA2, 0x01, 0x75, 0x7A, 0x00, 0x01, 0x9C, 0x0C, 0x00, 0x01, 0xE0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x06, 0x00, 0x06, 0x18, 0x18, 0x18, 0x18, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x1A, 0x01, 0xAD, 0x40, 0x47, 0x69, 0xA2, 0x01, 0x75, 0x7A, 0x00, 0x01, 0x9C, 0x0C, 0x00, 0x01, 0xE0, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x0A, 0x00, 0x0A, 0x18, 0x18, 0x18, 0x18, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x1A, 0x01, 0xAD, 0x40, 0x47, 0x69, 0xA8, 0x01, 0x7B, 0x7A, 0x00, 0x01, 0x9C, 0x06, 0x00, 0x00, 0xF1, 0x00, 0x18, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x0D, 0x0C, 0x0D, 0x02, 0x08, 0x02, 0x07, 0x02, 0x08, 0x02, 0x07, 0x02, 0x0D, 0x01, 0xAD, 0x40, 0x47, 0x69, 0x9F, 0x01, 0x72, 0x7A, 0x00, 0x01, 0x9C, 0x0C, 0x00, 0x01, 0xE0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x06, 0x00, 0x06, 0x18, 0x18, 0x18, 0x18, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x0E, 0x04, 0x1A, 0x01, 0xAD, 0x40, 0x47, 0x69, 0xB4, 0x01, 0x87, 0x7A, 0x00, 0x01, 0x9C, }; #pragma pop /* 803D1920-803D1954 02EA40 0032+02 0/1 0/0 0/0 .data taps */ #pragma push #pragma force_active on SECTION_DATA static u8 taps[50 + 2 /* padding */] = { 0x01, 0xF0, 0x01, 0xDC, 0x01, 0xAE, 0x01, 0x74, 0x01, 0x29, 0x00, 0xDB, 0x00, 0x8E, 0x00, 0x46, 0x00, 0x0C, 0x00, 0xE2, 0x00, 0xCB, 0x00, 0xC0, 0x00, 0xC4, 0x00, 0xCF, 0x00, 0xDE, 0x00, 0xEC, 0x00, 0xFC, 0x00, 0x08, 0x00, 0x0F, 0x00, 0x13, 0x00, 0x13, 0x00, 0x0F, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x01, /* padding */ 0x00, 0x00, }; #pragma pop /* 803D1954-803D19D0 -00001 007C+00 1/1 0/0 0/0 .data @101 */ SECTION_DATA static void* lit_101[31] = { (void*)(((char*)getTiming) + 0x28), (void*)(((char*)getTiming) + 0x30), (void*)(((char*)getTiming) + 0x68), (void*)(((char*)getTiming) + 0x70), (void*)(((char*)getTiming) + 0x38), (void*)(((char*)getTiming) + 0x40), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x58), (void*)(((char*)getTiming) + 0x60), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x78), (void*)(((char*)getTiming) + 0x80), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x48), (void*)(((char*)getTiming) + 0x50), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x88), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x90), (void*)(((char*)getTiming) + 0xA0), (void*)(((char*)getTiming) + 0x98), (void*)(((char*)getTiming) + 0x98), (void*)(((char*)getTiming) + 0x98), }; /* 80451838-8045183C 000D38 0004+00 2/2 0/0 0/0 .sbss FBSet */ static u8 FBSet[4]; /* 8045183C-80451840 000D3C 0004+00 1/1 0/0 0/0 .sbss timingExtra */ static u8 timingExtra[4]; /* 8034C268-8034C310 346BA8 00A8+00 4/3 0/0 0/0 .text getTiming */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void getTiming() { nofralloc #include "asm/dolphin/vi/vi/getTiming.s" } #pragma pop /* 8034C310-8034C514 346C50 0204+00 1/1 0/0 0/0 .text __VIInit */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __VIInit() { nofralloc #include "asm/dolphin/vi/vi/__VIInit.s" } #pragma pop /* ############################################################################################## */ /* 8044CAA0-8044CB18 0797C0 0076+02 0/0 0/0 0/0 .bss shdwRegs */ #pragma push #pragma force_active on static u8 shdwRegs[118 + 2 /* padding */]; #pragma pop /* 8044CB18-8044CB70 079838 0058+00 2/5 0/0 0/0 .bss HorVer */ static u8 HorVer[88]; /* 80450A10-80450A14 -00001 0004+00 1/1 0/0 0/0 .sdata __VIVersion */ SECTION_SDATA static void* __VIVersion = (void*)&lit_1; /* 8034C514-8034C9C4 346E54 04B0+00 0/0 1/1 0/0 .text VIInit */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIInit() { nofralloc #include "asm/dolphin/vi/vi/VIInit.s" } #pragma pop /* 8034C9C4-8034CA18 347304 0054+00 0/0 10/10 0/0 .text VIWaitForRetrace */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIWaitForRetrace() { nofralloc #include "asm/dolphin/vi/vi/VIWaitForRetrace.s" } #pragma pop /* 8034CA18-8034CCEC 347358 02D4+00 2/2 0/0 0/0 .text setFbbRegs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void setFbbRegs() { nofralloc #include "asm/dolphin/vi/vi/setFbbRegs.s" } #pragma pop /* 8034CCEC-8034CE8C 34762C 01A0+00 2/2 0/0 0/0 .text setVerticalRegs */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void setVerticalRegs() { nofralloc #include "asm/dolphin/vi/vi/setVerticalRegs.s" } #pragma pop /* ############################################################################################## */ /* 803D19D0-803D19FC 02EAF0 0029+03 0/1 0/0 0/0 .data @355 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_355[41 + 3 /* padding */] = { 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D19FC-803D1A28 02EB1C 0029+03 0/1 0/0 0/0 .data @356 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_356[41 + 3 /* padding */] = { 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x43, 0x20, 0x41, 0x20, 0x55, 0x20, 0x54, 0x20, 0x49, 0x20, 0x4F, 0x20, 0x4E, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D1A28-803D1A54 02EB48 0029+03 0/1 0/0 0/0 .data @357 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_357[41 + 3 /* padding */] = { 0x54, 0x68, 0x69, 0x73, 0x20, 0x54, 0x56, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x20, 0x22, 0x44, 0x45, 0x42, 0x55, 0x47, 0x5F, 0x50, 0x41, 0x4C, 0x22, 0x20, 0x69, 0x73, 0x20, 0x6F, 0x6E, 0x6C, 0x79, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D1A54-803D1A80 02EB74 0029+03 0/1 0/0 0/0 .data @358 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_358[41 + 3 /* padding */] = { 0x74, 0x65, 0x6D, 0x70, 0x6F, 0x72, 0x61, 0x72, 0x79, 0x20, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x75, 0x6E, 0x74, 0x69, 0x6C, 0x20, 0x50, 0x41, 0x4C, 0x20, 0x44, 0x41, 0x43, 0x20, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D1A80-803D1AAC 02EBA0 0029+03 0/1 0/0 0/0 .data @359 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_359[41 + 3 /* padding */] = { 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x2E, 0x20, 0x50, 0x6C, 0x65, 0x61, 0x73, 0x65, 0x20, 0x64, 0x6F, 0x20, 0x4E, 0x4F, 0x54, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x20, 0x20, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D1AAC-803D1AD8 02EBCC 0029+03 0/1 0/0 0/0 .data @360 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_360[41 + 3 /* padding */] = { 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x69, 0x6E, 0x20, 0x72, 0x65, 0x61, 0x6C, 0x20, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0A, 0x00, /* padding */ 0x00, 0x00, 0x00, }; #pragma pop /* 803D1AD8-803D1B24 02EBF8 004B+01 0/1 0/0 0/0 .data @538 */ #pragma push #pragma force_active on SECTION_DATA static u8 lit_538[75 + 1 /* padding */] = { 0x56, 0x49, 0x43, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x28, 0x29, 0x3A, 0x20, 0x54, 0x72, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6F, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x20, 0x66, 0x72, 0x6F, 0x6D, 0x20, 0x28, 0x25, 0x64, 0x29, 0x20, 0x74, 0x6F, 0x20, 0x28, 0x25, 0x64, 0x29, 0x2C, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x66, 0x6F, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6E, 0x0A, 0x00, /* padding */ 0x00, }; #pragma pop /* 80450A14-80450A1C 000494 0005+03 1/1 0/0 0/0 .sdata @537 */ SECTION_SDATA static u8 lit_537[5 + 3 /* padding */] = { 0x76, 0x69, 0x2E, 0x63, 0x00, /* padding */ 0x00, 0x00, 0x00, }; /* 80451840-80451848 000D40 0004+04 1/1 0/0 0/0 .sbss message$351 */ static u8 message[4 + 4 /* padding */]; /* 8034CE8C-8034D694 3477CC 0808+00 0/0 2/2 0/0 .text VIConfigure */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIConfigure(GXRenderModeObj*) { nofralloc #include "asm/dolphin/vi/vi/VIConfigure.s" } #pragma pop /* 8034D694-8034D7C4 347FD4 0130+00 0/0 9/9 0/0 .text VIFlush */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIFlush() { nofralloc #include "asm/dolphin/vi/vi/VIFlush.s" } #pragma pop /* 8034D7C4-8034D830 348104 006C+00 0/0 3/3 0/0 .text VISetNextFrameBuffer */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VISetNextFrameBuffer(void*) { nofralloc #include "asm/dolphin/vi/vi/VISetNextFrameBuffer.s" } #pragma pop /* 8034D830-8034D838 -00001 0008+00 0/0 0/0 0/0 .text VIGetNextFrameBuffer */ void* VIGetNextFrameBuffer() { return *(void**)(&NextBufAddr); } /* 8034D838-8034D840 -00001 0008+00 0/0 0/0 0/0 .text VIGetCurrentFrameBuffer */ void* VIGetCurrentFrameBuffer() { return *(void**)(&CurrBufAddr); } /* 8034D840-8034D8BC 348180 007C+00 0/0 7/7 0/0 .text VISetBlack */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VISetBlack(BOOL) { nofralloc #include "asm/dolphin/vi/vi/VISetBlack.s" } #pragma pop /* 8034D8BC-8034D8C4 -00001 0008+00 0/0 0/0 0/0 .text VIGetRetraceCount */ u32 VIGetRetraceCount() { return *(u32*)(&retraceCount); } /* 8034D8C4-8034D900 348204 003C+00 1/1 0/0 0/0 .text GetCurrentDisplayPosition */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void GetCurrentDisplayPosition() { nofralloc #include "asm/dolphin/vi/vi/GetCurrentDisplayPosition.s" } #pragma pop /* 8034D900-8034D968 348240 0068+00 1/1 0/0 0/0 .text getCurrentFieldEvenOdd */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void getCurrentFieldEvenOdd() { nofralloc #include "asm/dolphin/vi/vi/getCurrentFieldEvenOdd.s" } #pragma pop /* 8034D968-8034DA04 3482A8 009C+00 0/0 0/0 2/2 .text VIGetNextField */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIGetNextField() { nofralloc #include "asm/dolphin/vi/vi/VIGetNextField.s" } #pragma pop /* 8034DA04-8034DA9C 348344 0098+00 0/0 1/1 0/0 .text VIGetCurrentLine */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIGetCurrentLine() { nofralloc #include "asm/dolphin/vi/vi/VIGetCurrentLine.s" } #pragma pop /* ############################################################################################## */ /* 803D1B24-803D1B48 -00001 0020+04 1/1 0/0 0/0 .data @740 */ SECTION_DATA static void* lit_740[8 + 1 /* padding */] = { (void*)(((char*)VIGetTvFormat) + 0x38), (void*)(((char*)VIGetTvFormat) + 0x40), (void*)(((char*)VIGetTvFormat) + 0x48), (void*)(((char*)VIGetTvFormat) + 0x38), (void*)(((char*)VIGetTvFormat) + 0x40), (void*)(((char*)VIGetTvFormat) + 0x48), (void*)(((char*)VIGetTvFormat) + 0x38), (void*)(((char*)VIGetTvFormat) + 0x38), /* padding */ NULL, }; /* 8034DA9C-8034DB04 3483DC 0068+00 1/0 2/2 1/1 .text VIGetTvFormat */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIGetTvFormat() { nofralloc #include "asm/dolphin/vi/vi/VIGetTvFormat.s" } #pragma pop /* 8034DB04-8034DB40 348444 003C+00 0/0 2/2 0/0 .text VIGetDTVStatus */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void VIGetDTVStatus() { nofralloc #include "asm/dolphin/vi/vi/VIGetDTVStatus.s" } #pragma pop /* 8034DB40-8034DD5C 348480 021C+00 1/1 0/0 0/0 .text __VIDisplayPositionToXY */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __VIDisplayPositionToXY() { nofralloc #include "asm/dolphin/vi/vi/__VIDisplayPositionToXY.s" } #pragma pop /* 8034DD5C-8034DDBC 34869C 0060+00 1/1 0/0 0/0 .text __VIGetCurrentPosition */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void __VIGetCurrentPosition() { nofralloc #include "asm/dolphin/vi/vi/__VIGetCurrentPosition.s" } #pragma pop /* ############################################################################################## */ /* 80450A19-80450A1D -00001 0004+00 0/0 0/0 0/0 .sdata None */ #pragma push #pragma force_active on SECTION_SDATA static u8 pad_80450A19[4] = { 0x00, 0x00, 0x00, 0x00, }; #pragma pop