PrintF

From Custom Mario Kart
Jump to navigation Jump to search

Mario Kart Wii, like many C/C++ programs, has a printf method which it uses to output debugging messages to a console. It is currently unknown where the messages are actually sent, but the location of the method when loaded in memory is at 0x801A25D0 for PAL, 0x801A2530 for NTSC-U, 0x801A24F0 for NTSC-J, and 0x801A292C for NTSC-K. The parameter in r3 is the string to write, r4-r10 are the parameters to format the string with, and f1-f8 are the floating point parameters to format the string with.

Chadderz's Analysis

Chadderz generated a list of all calls to the method in a dump of the PAL main memory, which then located the method that the call was made from, and the text that would be written. The method was located by finding the last stwu instruction that was of the regex form:

stwu\tr1,-[0-9]+\(r1\)

Or the last instance of a blr instruction, and then adding 4 to that address. The string was located by finding the last changes to register r3, and working back through the method until all changes to it can be sourced. If the source could not be located, the list contains unknown, and the text is blank. New line characters were replaced with \n. A few string locations appear to be garbage, but these are not marked below.

Address Method Address Text Address Text
800077A4 800074D8 80244FE0 [Boot] NWC24TrySuspendScheduler: errcode=%d\n
80009414 80009194 80245938 ***********************************\n
80009424 80009194 8024595D * PAL50 mode *\n
80009430 80009194 80245982 ***********************************\n
80009454 80009194 802459A7 ***********************************\n
80009460 80009194 802459CC * NTSC/Progressive/PAL60 mode *\n
8000946C 80009194 802459F1 ***********************************\n
8000A2B0 8000A188 80245A50 bssSize %d\n
8000A2C4 8000A188 80245A66 relOffset %08xh\n
8000A2D4 8000A188 80245A7F impOffset %08xh\n
8000A2E4 8000A188 80245A98 impSize %08xh\n
8000A2F4 8000A188 80245AB1 prolog %08xh\n
8000A304 8000A188 80245ACA epilog %08xh\n
8000A314 8000A188 80245AE3 unresolved %08xh\n
8000A330 8000A188 80245AFC align %08xh\n
8000A340 8000A188 80245B15 bssAlign %08xh\n
8000A364 8000A188 80245B2E fixSize %08xh\n
8000A378 8000A188 80245B47 \n
8000A3B4 8000A188 80245B49 [Rel] Load Module[%d]: size=%dBytes time=%dmsec\n
8000A3D4 8000A188 80245B7A [Rel] Load Module[%d] fail(filename=%s)\n
8000A474 8000A440 80245BA3 id %d\n
8000A484 8000A440 80245BB9 numSections %d\n
8000A494 8000A440 80245BCF sectionInfoOffset %08xh\n
8000A4A8 8000A440 80245BE8 nameOffset %08xh [%s]\n
8000A4B8 8000A440 80245C06 nameSize %d\n
8000A4C8 8000A440 80245C1C version %d\n
8000A4D4 8000A440 80245C32 \n
8000A504 8000A440 80245C34 offset%d 0x%08x - 0x%08x\n
8000A52C 8000A440 80245C58 \n
8000A970 8000A8F0 80245E3C [SYS] isNdev: %s returnCode: 0x%08x launchCode: 0x%08x\n
8000AAFC 8000A8F0 80245E7F [SYS] "%s"->0x%08x, 0x%08x\n
8000AB3C 8000A8F0 80245E9B [SYS] illigal length argument for invitation.\n
8000AB54 8000A8F0 80245ECA [SYS] LaunchType: %d\n
8000AB64 8000A8F0 80245EE0 [SYS] Argument="%s"\n
8000AC00 8000AB88 80245EF5 [SYS] Load MapFile "%s" success.\n
8000AC1C 8000AB88 80245F17 [SYS] Load MapFile "%s" fail.\n
8000AC90 8000AC50 80245F36 [SYS] Static .text: 0x%08x-0x%08x(%dKBytes)\n
8000ADD4 8000AC50 80245F63 [SYS] Warning! Illegal language type=%d. Change to English.\n
8000AE78 8000AC50 80245FA0 [SYS] Can't get SimpleAddressData.\n
8000AEA4 8000AC50 80245FC4 [SYS] Get SimpleAddressData. ID=0x%x latitude=0x%x, longitude=0x%x\n
8000AF28 8000AC50 80246008 [SYS] Matching Area: %d\n
8001C758 8001C730 80271980 Devkit set to : %ld\n
8001C76C 8001C730 80271995 MetroTRK : Sizeof Reply - %ld bytes\n
8001C798 8001C730 802719BA MetroTRK : Set to NDEV hardware\n
8001C830 8001C730 8001C00F
8001C83C 8001C730 8001C03A #x;?
8001C848 8001C730 8001C069 }
8001D144 8001D0F8 80271A68 MetroTRK - TRK_WriteUARTN returned %ld\n
8001D1FC 8001D17C 80271A90 MetroTRK - ERROR : No buffer available\n
8001E850 8001E820 80271AF0 \nMetroTRK Option : SerialIO -
8001E868 8001E820 80271B0F Enable\n
8001E87C 8001E820 80271B17 Disable\n
8001EBF0 8001EBB8 80271B20 MetroTRK - Event Queue full\n
8001F1D8 8001F14C 80271B60 MetroTRK - bad reply size %ld\n
8001F254 8001F14C 80271B7F MetroTRK - failed in RequestSend\n
80020D54 80020D20 80247030 GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n
80020D64 80020D20 80247066 Metrowerks CW runtime library initializing default heap\n
80022F6C 80022EE0 Unknown
8002309C 80022FC0 Unknown
80025F64 80025E70 80272220 %s:%d Panic:
80025F7C 80025E70 Unknown
800261CC 80026050 80272230 %s:%d Warning:
800261E4 80026050 Unknown
80096DAC 80096970 802744F8 #%08x[%d]: printvar %sVAR_%d(%d) = %d\n
800CD214 800CD068 802757D8 DWC_INFO :
800CD224 800CD068 802757E8 ++DWC_ERROR :
800CD234 800CD068 802757F8 DWC_DEBUG :
800CD244 800CD068 80275808 DWC_WARN :
800CD254 800CD068 80275818 DWC_ACHECK :
800CD264 800CD068 80275828 DWC_LOGIN :
800CD274 800CD068 80275838 DWC_MATCH_NN :
800CD284 800CD068 80275848 DWC_MATCH_GT2:
800CD294 800CD068 80275858 DWC_TRANSPORT:
800CD2A4 800CD068 80275868 DWC_QR2_REQ :
800CD2B4 800CD068 80275878 DWC_SB_UPDATE:
800CD2C4 800CD068 80275888 DWC_SEND :
800CD2D4 800CD068 80275898 DWC_RECV :
800CD2E4 800CD068 802758A8 DWC_UPDATE_SV:
800CD2F4 800CD068 802758B8 DWC_CONNECTINET:
800CD304 800CD068 802758CC DWC_AUTH :
800CD314 800CD068 802758DC DWC_AC :
800CD324 800CD068 802758EC DWC_BM :
800CD334 800CD068 802758FC DWC_UTIL :
800CD344 800CD068 8027590C DWC_OPTION_CF:
800CD354 800CD068 8027591C DWC_OPTION_CONNTEST:
800CD364 800CD068 80275934 DWC_GAMESPY :
800CD374 800CD068 80275944 DWC_UNKNOWN :
801247E8 801245A0 8027E72C Warning: ARCOpen(): file '%s' was not found under %s in the archive.\n
8012E6B4 8012E684 802826A0 H4A should not be cleared because of Broadway errata.\n
80131724 80131684 80334540
8015BEA4 8015BDA0 80287F4C CAUTION! Unexpected error code [%d] was found.\n
8015C5D8 8015C37C 80287FA0 DARCHCreate(): %s: file exists\n
8015C818 8015C37C 80287FC0 DARCHCreate(): %s: directory exists\n
8015C834 8015C37C 80287FA0 DARCHCreate(): %s: file exists\n
8015C9BC 8015C954 80287FE8 %dth path name is too long! \n
8015C9E8 8015C954 80288008 %dth path name is wrong! \n
8015D140 8015D0FC 80288024 DARCHGetArcSize() : Error! \n
8015D360 8015D33C 80288048 DBExceptionDestination\n
8015E4F4 8015E2BC 802882E8 Warning: DVDOpen(): file '%s' was not found under %s.\n
801646B4 80164684 80288DD0 (doTransactionCallback) Error - context mangled!\n
80164788 8016473C 80288DD0 (doTransactionCallback) Error - context mangled!\n
80164820 801647F8 80288E30 (DVDLowFinish) Error: IOS_Close failed\n
80164890 80164848 80288E58 IPCCltInit returned error: %d\n
801648D0 80164848 80288E78 (ddrAllocAligned32) Not enough space to allocate %d bytes\n
801648F0 80164848 80288EB4 Allocation of diCommand blocks failed\n
80164930 80164848 80288E78 (ddrAllocAligned32) Not enough space to allocate %d bytes\n
80164950 80164848 80288EDC Allocation of pathBuf failed\n
80164A4C 80164848 80288EFC (DVDLowInit) Error: IOS_Open failed - pathname '/dev/di' does not exist\n
80164A60 80164848 80288F48 (DVDLowInit) Error: IOS_Open failed - calling thread lacks permission\n
80164A74 80164848 80288F90 (DVDLowInit) Error: IOS_Open failed - connection limit has been reached\n
80164A8C 80164848 80288FDC (DVDLowInit) IOS_Open failed, errorcode = %d\n
80164B10 80164AAC 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80164B1C 80164AAC 80289048 (newContext) Now spinning in infinite loop\n
80164B3C 80164AAC 80289078 (newContext) Something overwrote the context magic - spinning \n
80164B88 80164AAC 802890B8 @@@@@@ WARNING - Calling DVDLowReadDiskId with NULL ptr\n
80164C00 80164AAC 802890F4 @@@ (DVDLowReadDiskID) IOS_IoctlAsync returned error: %d\n
80164C78 80164C34 80289130 (DVDLowOpenPartition) eTicket memory is unaligned\n
80164C9C 80164C34 80289168 (DVDLowOpenPartition) certificates memory is unaligned\n
80164CC0 80164C34 80289168 (DVDLowOpenPartition) certificates memory is unaligned\n
80164D08 80164C34 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80164D14 80164C34 80289048 (newContext) Now spinning in infinite loop\n
80164D34 80164C34 80289078 (newContext) Something overwrote the context magic - spinning \n
80164E64 80164C34 802891A0 @@@ (DVDLowOpenPartition) IOS_IoctlvAsync returned error: %d\n
80164EEC 80164E9C 80289228 (%s) tmd parameter cannot be NULL\n
80164F0C 80164E9C 8028924C (%s) tmd memory is unaligned\n
80164F2C 80164E9C 802892C0 (%s) eTicketView parameter cannot be NULL\n
80164F4C 80164E9C 802892EC (%s) eTicketView memory is unaligned\n
80164F94 80164E9C 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80164FA0 80164E9C 80289048 (newContext) Now spinning in infinite loop\n
80164FC0 80164E9C 80289078 (newContext) Something overwrote the context magic - spinning \n
801650D0 80164E9C 802891A0 @@@ (DVDLowOpenPartition) IOS_IoctlvAsync returned error: %d\n
80165138 80165100 80289330 (%s) Error: NULL pointer argument\n
80165158 80165100 80289354 (%s) numTmdBytes memory is unaligned\n
80165178 80165100 8028937C (%s) certificates memory is unaligned\n
801651C4 80165100 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
801651D0 80165100 80289048 (newContext) Now spinning in infinite loop\n
801651F0 80165100 80289078 (newContext) Something overwrote the context magic - spinning \n
801652DC 80165100 802893A4 @@@ (%s) IOS_IoctlvAsync returned error: %d\n
80165370 8016530C 80289330 (%s) Error: NULL pointer argument\n
801653C0 8016530C 802893F8 (%s) pointer argument is unaligned\n
8016540C 8016530C 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165418 8016530C 80289048 (newContext) Now spinning in infinite loop\n
80165438 8016530C 80289078 (newContext) Something overwrote the context magic - spinning \n
80165574 8016530C 802893A4 @@@ (%s) IOS_IoctlvAsync returned error: %d\n
80165628 801655A4 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165634 801655A4 80289048 (newContext) Now spinning in infinite loop\n
80165654 801655A4 80289078 (newContext) Something overwrote the context magic - spinning \n
801656D8 801655A4 80289438 @@@ (DVDLowClosePartition) IOS_IoctlAsync returned error: %d\n
80165764 80165708 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165770 80165708 80289048 (newContext) Now spinning in infinite loop\n
80165790 80165708 80289078 (newContext) Something overwrote the context magic - spinning \n
8016586C 80165708 80289478 @@@ (DVDLowUnencryptedRead) IOS_IoctlAsync returned error: %d\n
801658F8 8016589C 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165904 8016589C 80289048 (newContext) Now spinning in infinite loop\n
80165924 8016589C 80289078 (newContext) Something overwrote the context magic - spinning \n
80165A00 8016589C 802894B8 @@@ (DVDLowStopMotor) IOS_IoctlAsync returned error: %d\n
80165A8C 80165A30 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165A98 80165A30 80289048 (newContext) Now spinning in infinite loop\n
80165AB8 80165A30 80289078 (newContext) Something overwrote the context magic - spinning \n
80165B68 80165A30 80289538 @@@ (DVDLowInquiry) IOS_IoctlAsync returned error: %d\n
80165BF0 80165B98 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165BFC 80165B98 80289048 (newContext) Now spinning in infinite loop\n
80165C1C 80165B98 80289078 (newContext) Something overwrote the context magic - spinning \n
80165CD0 80165B98 80289570 @@@ (DVDLowRequestError) IOS_IoctlAsync returned error: %d\n
80165D64 80165D0C 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165D70 80165D0C 80289048 (newContext) Now spinning in infinite loop\n
80165D90 80165D0C 80289078 (newContext) Something overwrote the context magic - spinning \n
80165E58 80165D0C 80289630 @@@ (DVDLowReset) IOS_IoctlAsync returned error: %d\n
80165EE4 80165E88 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80165EF0 80165E88 80289048 (newContext) Now spinning in infinite loop\n
80165F10 80165E88 80289078 (newContext) Something overwrote the context magic - spinning \n
80165FEC 80165E88 80289668 @@@ (DVDLowAudioBufferConfig) IOS_IoctlAsync returned error: %d\n
80166078 8016601C 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80166084 8016601C 80289048 (newContext) Now spinning in infinite loop\n
801660A4 8016601C 80289078 (newContext) Something overwrote the context magic - spinning \n
80166180 8016601C 80289868 @@@ (DVDLowReportKey) IOS_IoctlAsync returned error: %d\n
8016620C 801661B0 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80166218 801661B0 80289048 (newContext) Now spinning in infinite loop\n
80166238 801661B0 80289078 (newContext) Something overwrote the context magic - spinning \n
80166300 801661B0 80289A1C @@@ (DVDLowSetMaxRotation) IOS_IoctlAsync returned error: %d\n
8016635C 80166330 80289A5C (DVDLowRead): ERROR - destAddr buffer is not 32 byte aligned\n
801663A8 80166330 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
801663B4 80166330 80289048 (newContext) Now spinning in infinite loop\n
801663D4 80166330 80289078 (newContext) Something overwrote the context magic - spinning \n
801664B0 80166330 80289A9C @@@ (DVDLowRead) IOS_IoctlAsync returned error: %d\n
8016653C 801664E0 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80166548 801664E0 80289048 (newContext) Now spinning in infinite loop\n
80166568 801664E0 80289078 (newContext) Something overwrote the context magic - spinning \n
8016662C 801664E0 80289AD0 @@@ (DVDLowSeek) IOS_IoctlAsync returned error: %d\n
801666FC 80166678 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80166708 80166678 80289048 (newContext) Now spinning in infinite loop\n
80166728 80166678 80289078 (newContext) Something overwrote the context magic - spinning \n
801667B0 80166678 80289B80 @@@ (DVDLowPrepareCoverRegsiter) IOS_IoctlAsync returned error: %d\n
80166864 801667E0 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
80166870 801667E0 80289048 (newContext) Now spinning in infinite loop\n
80166890 801667E0 80289078 (newContext) Something overwrote the context magic - spinning \n
80166918 801667E0 80289BC4 @@@ (DVDLowPrepareStatusRegsiter) IOS_IoctlAsync returned error: %d\n
801669E8 80166964 80289010 (newContext) ERROR: freeDvdContext.inUse (#%d) is true\n
801669F4 80166964 80289048 (newContext) Now spinning in infinite loop\n
80166A14 80166964 80289078 (newContext) Something overwrote the context magic - spinning \n
80166A98 80166964 80289C0C @@@ (DVDLowClearCoverInterrupt) IOS_IoctlAsync returned error: %d\n
80169C38 80169BCC 80289D20 APP ERROR: Not enough IPC arena\n
80169C98 80169BCC 80289D20 APP ERROR: Not enough IPC arena\n
8016C914 8016C854 80289FA0 CPUFifo: %08X - %08X\n
8016C934 8016C854 80289FB8 GP Fifo: %08X - %08X\n
8019D0E0 8019CF30 8028EA08 Illegal NANDFileInfo.\n
8019DFCC 8019DEC0 8028EAFC CAUTION! Unexpected error code [%d] was found.\n
8019E25C 8019E18C 8028EB50 Failed to set home directory.\n
8019F9E0 8019F9BC 8028ECB0 \nRevolution OS\n
8019F9F4 8019F9BC 8028ECC0 Kernel built : %s %s\n
8019FA00 8019F9BC 8028ECF0 Console Type :
8019FA70 8019F9BC 8028ED00 Pre-production board 1\n
8019FA80 8019F9BC 8028ED18 Pre-production board 2-1\n
8019FA90 8019F9BC 8028ED34 Pre-production board 2-2\n
8019FAA0 8019F9BC Unknown
8019FAB4 8019F9BC 8028ED50 Retail %d\n
8019FAEC 8019F9BC 8028ED5C NDEV 2.1\n
8019FAFC 8019F9BC 8028ED68 NDEV 2.0\n
8019FB0C 8019F9BC 8028ED74 NDEV 1.2\n
8019FB1C 8019F9BC 8028ED80 NDEV 1.1\n
8019FB2C 8019F9BC 8028ED8C NDEV 1.0\n
8019FB3C 8019F9BC 8028ED98 Revolution Emulator\n
8019FB50 8019F9BC 8028EDB0 Emulation platform (%08x)\n
8019FB68 8019F9BC 8028EDCC TDEV-based emulation HW%d\n
8019FB7C 8019F9BC Unknown
8019FBA0 8019F9BC 8028EDE8 Firmware : %d.%d.%d
8019FBEC 8019F9BC 8028EE04 (%d/%d/%d)\n
8019FC0C 8019F9BC 8028EE10 Memory %d MB\n
8019FC2C 8019F9BC 8028EE20 MEM1 Arena : 0x%x - 0x%x\n
8019FC4C 8019F9BC 8028EE3C MEM2 Arena : 0x%x - 0x%x\n
8019FEFC 8019FC68 Unknown
8019FFA0 8019FC68 8028EEC0 OS ERROR: boot program is not for RVL target. Please use correct boot program.\n
8019FFD8 8019FC68 8028EF28 OS ERROR: apploader[D].img is not for RVL target. Please use correct apploader[D].img.\n
801A1A14 801A199C 8028F118 Machine check received\n
801A1A28 801A199C 8028F130 HID2 = 0x%x SRR1 = 0x%x\n
801A1A48 801A199C 8028F150 Machine check was not DMA/locked cache related\n
801A1A60 801A199C 8028F180 DMAErrorHandler(): An error occurred while processing DMA.\n
801A1A6C 801A199C 8028F1BC The following errors have been detected and cleared :\n
801A1A80 801A199C 8028F1F4 - Requested a locked cache tag that was already in the cache\n
801A1A94 801A199C 8028F234 - DMA attempted to access normal cache\n
801A1AA8 801A199C 8028F260 - DMA missed in data cache\n
801A1ABC 801A199C 8028F280 - DMA queue overflowed\n
801A21A4 801A2178 8028F320 ------------------------- Context 0x%08x -------------------------\n
801A21D0 801A2178 8028F368 r%-2d = 0x%08x (%14d) r%-2d = 0x%08x (%14d)\n
801A21F4 801A2178 8028F398 LR = 0x%08x CR = 0x%08x\n
801A2208 801A2178 8028F3C8 SRR0 = 0x%08x SRR1 = 0x%08x\n
801A2214 801A2178 8028F3F8 \nGQRs----------\n
801A2238 801A2178 8028F40C gqr%d = 0x%08x gqr%d = 0x%08x\n
801A2298 801A2178 8028F430 \n\nFPRs----------\n
801A22D0 801A2178 8028F444 fr%d = %d fr%d = %d\n
801A22EC 801A2178 8028F460 \n\nPSFs----------\n
801A2324 801A2178 8028F474 ps%d = 0x%x ps%d = 0x%x\n
801A2374 801A2178 8028F494 \nAddress: Back Chain LR Save\n
801A2398 801A2178 8028F4BC 0x%08x: 0x%08x 0x%08x\n
801A270C 801A2660 8028F500 in "%s" on line %d.\n
801A2718 801A2660 8028F518 \nAddress: Back Chain LR Save\n
801A2740 801A2660 8028F540 0x%08x: 0x%08x 0x%08x\n
801A2A64 801A2A14 8028F55C Non-recoverable Exception %d
801A2BC4 801A2A14 8028F57C Unhandled Exception %d
801A2BD0 801A2A14 Unknown
801A2BEC 801A2A14 8028F594 \nDSISR = 0x%08x DAR = 0x%08x\n
801A2C00 801A2A14 8028F5C8 TB = 0x%016llx\n
801A2C34 801A2A14 8028F5D8 \nInstruction at 0x%x (read from SRR0) attempted to access invalid address 0x%x (read from DAR)\n
801A2C48 801A2A14 8028F638 \nAttempted to fetch instruction from invalid address 0x%x (read from SRR0)\n
801A2C60 801A2A14 8028F684 \nInstruction at 0x%x (read from SRR0) attempted to access unaligned address 0x%x (read from DAR)\n
801A2C78 801A2A14 8028F6E8 \nProgram exception : Possible illegal instruction/operation at or around 0x%x (read from SRR0)\n
801A2C88 801A2A14 Unknown
801A2CA0 801A2A14 8028F748 AI DMA Address = 0x%04x%04x\n
801A2CB4 801A2A14 8028F768 ARAM DMA Address = 0x%04x%04x\n
801A2CC8 801A2A14 8028F788 DI DMA Address = 0x%08x\n
801A2CE4 801A2A14 8028F7A4 \nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n
801A339C 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A33F0 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3444 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A34DC 801A321C 8028F844 \nOSExec(): The specified game doesn't exist in the disc\n
801A3580 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A35C8 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A35FC 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3644 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A369C 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A36F0 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A37D4 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3868 801A321C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3990 801A394C 8028F880 OSLaunchDisk(): You can't call this API from DVD application. \n
801A3A00 801A394C 8028F8D0 OSLaunchDisk(): You must call DVDPrepareDisk before launching disc.\n
801A3A34 801A394C 8028F918 OSLaunchDisk(): Specified id is different from one specified to DVDPrepareDisk.\n
801A3C38 801A394C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3C60 801A394C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A3C84 801A394C 8028F820 \nOSExec(): Failed to exec %d in %d\n
801A56B4 801A50DC Unknown
801A6F98 801A6D3C 80290630 OSLink: unknown relocation type %3d\n
801A8914 801A8898 80290EF4
801AC6BC 801AC668 8029C8C8 Failed to register network shutdown function. %d\n
801AC6D8 801AC668 8029C8FC Failed to suspend the WiiConnect24 scheduler. %d\n
801AC704 801AC668 8029C930 Failed to synchronize time with network resource managers. %d\n
801AD1B4 801AD07C 8029CA74 PlayTime: %d seconds left\n
801AD658 801AD610 8029CAC4 NULL pointer detected: line %d in %s\n
801ADBF0 801ADB1C 8029CAF8 OSLaunchTitle(): Firmware is not installed\n
801ADC20 801ADB1C 8029CB24 OSLaunchTitle(): Company code is not correct\n
801ADC68 801ADB1C 8029CB54 OSLaunchTitle(): Country code is not correct\n
801ADE64 801ADB1C 8029CB84 \nOSExec(): Failed to exec %d in %d\n
801ADE8C 801ADB1C 8029CB84 \nOSExec(): Failed to exec %d in %d\n
801B3B4C 801B3ACC 8029CFD8 SISetSamplingRate: unknown TV format. Use default.
801B7690 801B7624 Unknown
801B773C 801B76CC 8029D088 USB ERR:
801B9FF0 801B9F6C 8029DAD4 ***************************************\n
801B9FFC 801B9F6C 8029DB00 ! ! ! C A U T I O N ! ! ! \n
801BA008 801B9F6C 8029DB2C This TV format "DEBUG_PAL" is only for \n
801BA014 801B9F6C 8029DB58 temporary solution until PAL DAC board \n
801BA020 801B9F6C 8029DB84 is available. Please do NOT use this \n
801BA02C 801B9F6C 8029DBB0 mode in real games!!! \n
801BA038 801B9F6C 8029DAD4 ***************************************\n
801CF8CC 801CF3BC 802A0818 WARNING: link num count is reset.\n
801CFE48 801CFE10 802A0A2C ---- WARNING: USB FATAL ERROR! ----\n
801D08E8 801D03D0 80354F78
801D17D0 801D1674 802A10D8 Unknown SOStartup Error: %d\n
801D2B54 801D2ACC 802A12FC %s(%d):[warning in %s]
801D2B60 801D2ACC 802A1318 specified interface needs too large workmemory.
801D2B6C 801D2ACC Unknown
801D30F8 801D2FA4 802A1348 NCDGetCurrentIpConfig err = %d\n
801D3970 801D390C 802A1444 %s:illegal thread\n
801D96C8 801D9610 802A17AC Using proxy server %s:%d (%s/%s).\n
801D96F8 801D9610 802A17D0 NHTTPSetProxy failed.(%d)\n
80211C58 80211C14 80257438 %d\n
80226488 80226464 802576C8 CALLBACK...\n
802264A0 80226464 802576D5 No Console\n
802264C4 80226464 802576E1 cancel all thread...\n
802264D4 80226464 802576F7 done\n
802298B8 80229814 80257747 cannot allocate from heap %x(%s) : allocatable heap is %x(%s)\n
802298D8 80229814 80257786 thread heap=%x\n
80229924 80229814 802577A1 thread heap=%s\n
80229A88 80229814 802577BE heap (%p):(%.1fMBytes free %d)->alloc(size(%d:%.1fMBytes),%d align)\n
80229AB0 80229814 80257803 cannot allocate %d from heap %x\n
8023329C 8023321C 80258023 compressGbaOdh : INITIALIZE ERROR %08x\n
802332D8 8023321C 8025804B compressGbaOdh : COLOR CONVERSION ERROR %08x\n
8023331C 8023321C 80258079 compressGbaOdh : COMPRESS OVER AND RETRY %d q=%d, %08x\n
8023335C 8023321C 802580B1 compressGbaOdh : INITIALIZE ERROR2 %08x\n
80233388 8023321C 802580DA compressGbaOdh : COMPRESSING ERROR %08x\n
805106F0 805106B0 8088F7C8 [CINS] OSIsTitleInstalled(0x%016llx) start\n
805107B8 805106B0 8088F7F4 [CINS] OSIsTitleInstalled(0x%016llx) errcode=%d\n
80510838 805107D0 8088F825 [CINS] OSLaunchInstaller(0x%08x, *, Info[0x%08x])\n
80510914 8051088C 8088F858 [CINS] argument=%s, crc=0x%08x\n
805109A0 8051088C 8088F878 Disk]l(id=%d, 0x%08x, arg1, arg2, NULL)\n
8051B354 8051B250 8088FAD0 ------------------- %d Scene Exit -------------------\n
8051B854 8051B7B0 8088FB07 -------------------- %d Scene Restart --------------------\n
805553D4 805553B0 808912F0 \nError: A called an unlinked function.\n
805553E4 805553B0 80891318 Address: Back Chain LR Save\n
8055540C 805553B0 8089133D 0x%08x: 0x%08x 0x%08x\n
80555444 805553B0 80891359 \n
805B2B14 805B2740 8089269D mat '%s' has more than %d textures.(%d)\n
805B2B90 805B2740 808926C6 mat '%s' has more than %d tex coord gens.(%d)\n
805B2C0C 805B2740 808926F5 mat '%s' has more than %d tev stages.(%d)\n