From d864b0e3956998fdd77d95286d02b9ccd3524769 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Wed, 18 Jan 2023 12:52:38 -0800 Subject: [PATCH] Very experimental analyzer, DOL & REL support, function signatures --- Cargo.lock | 235 +- Cargo.toml | 12 +- assets/ClearArena.yml | 2218 ++ assets/DBInit.yml | 249 + assets/DMAErrorHandler.yml | 700 + assets/DVDGetDriveStatus.yml | 399 + assets/DVDInit.yml | 2449 +++ assets/DVDLowReset.yml | 754 + assets/DVDLowStopMotor.yml | 885 + assets/DVDLowWaitCoverClose.yml | 74 + assets/DVDReadDiskID.yml | 386 + assets/DVDReset.yml | 74 + assets/DVDSetAutoFatalMessaging.yml | 270 + assets/DecrementerExceptionCallback.yml | 1770 ++ assets/DecrementerExceptionHandler.yml | 38 + assets/ESP_GetTitleId.yml | 60 + assets/EXIGetID.yml | 2710 +++ assets/EXIInit.yml | 1528 ++ assets/IOS_Open.yml | 129 + assets/IPCCltInit.yml | 948 + assets/IPCiProfQueueReq.yml | 291 + assets/ISFS_OpenAsync.yml | 222 + assets/ISFS_OpenLib.yml | 820 + assets/InitMetroTRK.yml | 144 + assets/InitMetroTRKCommTable.yml | 2002 ++ assets/NANDInit.yml | 1799 ++ assets/NANDLoggingAddMessageAsync.yml | 394 + assets/NANDPrivateOpenAsync.yml | 415 + assets/NANDSetAutoErrorMessaging.yml | 108 + assets/OSDefaultExceptionHandler.yml | 38 + assets/OSDisableScheduler.yml | 205 + assets/OSExceptionInit.yml | 4941 +++++ assets/OSExceptionVector.yml | 23 + assets/OSInit.yml | 17055 ++++++++++++++++ assets/OSInitAlarm.yml | 276 + assets/OSRegisterResetFunction.yml | 241 + assets/OSRegisterShutdownFunction.yml | 387 + assets/OSReport.yml | 105 + assets/OSResetSystem.yml | 2623 +++ assets/OSReturnToMenu.yml | 948 + assets/OSSetArenaHi.yml | 38 + assets/OSSetArenaLo.yml | 38 + assets/OSSetMEM1ArenaHi.yml | 19 + assets/OSSetMEM1ArenaLo.yml | 19 + assets/OSSetMEM2ArenaHi.yml | 19 + assets/OSSetMEM2ArenaLo.yml | 19 + assets/OSSwitchFPUContext.yml | 28 + assets/ReportOSInfo.yml | 1870 ++ assets/SCInit.yml | 299 + assets/SCReloadConfFileAsync.yml | 1617 ++ assets/SIGetType.yml | 1102 + assets/SIInit.yml | 969 + assets/SISetSamplingRate.yml | 525 + assets/SISetXY.yml | 508 + assets/TRKEXICallBack.yml | 56 + assets/TRKExceptionHandler.yml | 31 + assets/TRKInitializeIntDrivenUART.yml | 196 + assets/TRKInitializeNub.yml | 825 + assets/TRKInterruptHandler.yml | 175 + .../TRKInterruptHandlerEnableInterrupts.yml | 32 + assets/TRKLoadContext.yml | 19 + assets/TRKNubMainLoop.yml | 494 + assets/TRKNubWelcome.yml | 96 + assets/TRKRestoreExtended1Block.yml | 72 + assets/TRKSaveExtended1Block.yml | 69 + assets/TRKSwapAndGo.yml | 83 + assets/TRKTargetContinue.yml | 138 + assets/TRK_main.yml | 282 + assets/VIGetTvFormat.yml | 794 + assets/_ExitProcess.yml | 38 + assets/__DVDCheckDevice.yml | 782 + assets/__DVDClearWaitingQueue.yml | 138 + assets/__DVDFSInit.yml | 296 + assets/__DVDInitWA.yml | 100 + assets/__DVDLowSetWAType.yml | 254 + assets/__DVDStoreErrorCode.yml | 520 + assets/__FileWrite.yml | 76 + assets/__NANDPrintErrorMessage.yml | 42 + assets/__OSCacheInit.yml | 986 + assets/__OSContextInit.yml | 334 + assets/__OSDBIntegrator.yml | 10 + assets/__OSDBJump.yml | 29 + assets/__OSFPRInit.yml | 32 + assets/__OSGetExceptionHandler.yml | 388 + assets/__OSInitAlarm.yml | 236 + assets/__OSInitAudioSystem.yml | 525 + assets/__OSInitIPCBuffer.yml | 69 + assets/__OSInitMemoryProtection.yml | 1413 ++ assets/__OSInitNet.yml | 494 + assets/__OSInitPlayTime.yml | 938 + assets/__OSInitSTM.yml | 633 + assets/__OSInitSram.yml | 934 + assets/__OSInitSystemCall.yml | 366 + assets/__OSInterruptInit.yml | 395 + assets/__OSPSInit.yml | 185 + assets/__OSReschedule.yml | 84 + assets/__OSReturnToMenu.yml | 1492 ++ assets/__OSShutdownDevices.yml | 928 + assets/__OSStartPlayRecord.yml | 273 + assets/__OSSyncSram.yml | 23 + assets/__OSThreadInit.yml | 1488 ++ assets/__OSUnhandledException.yml | 2267 ++ assets/__StringWrite.yml | 76 + assets/__check_pad3.yml | 76 + assets/__destroy_global_chain.yml | 69 + assets/__fini_cpp.yml | 23 + assets/__fini_cpp_exceptions.yml | 64 + assets/__fstLoad.yml | 881 + assets/__fwrite.yml | 425 + assets/__init_cpp.yml | 161 + assets/__init_cpp_exceptions.yml | 153 + assets/__init_data.yml | 369 + assets/__init_hardware.yml | 65 + assets/__init_registers.yml | 98 + assets/__ios_Ipc2.yml | 1060 + assets/__mod2u.yml | 20 + .../__msl_runtime_constraint_violation_s.yml | 19 + assets/__pformatter.yml | 1504 ++ assets/__register_fragment.yml | 69 + assets/__set_debug_bba.yml | 19 + assets/__start.yml | 687 + assets/__stdio_atexit.yml | 74 + assets/exit.yml | 537 + assets/fwrite.yml | 179 + assets/longlong2str.yml | 233 + assets/memset.yml | 109 + assets/nandConvertErrorCode.yml | 686 + assets/nandGenerateAbsPath.yml | 219 + assets/nandGetHeadToken.yml | 542 + assets/nandIsInitialized.yml | 38 + assets/nandOpen.yml | 668 + assets/printf.yml | 357 + assets/sprintf.yml | 217 + assets/stateReady.yml | 3796 ++++ assets/vprintf.yml | 368 + assets/vsnprintf.yml | 160 + assets/vsprintf.yml | 166 + src/cmd/ar.rs | 28 +- src/cmd/demangle.rs | 4 +- src/cmd/dol.rs | 582 + src/cmd/elf.rs | 195 +- src/cmd/elf2dol.rs | 20 +- src/cmd/map.rs | 63 +- src/cmd/metroidbuildinfo.rs | 13 +- src/cmd/mod.rs | 2 + src/cmd/rel.rs | 312 + src/cmd/shasum.rs | 10 +- src/main.rs | 10 +- src/util/asm.rs | 50 +- src/util/cfa.rs | 511 + src/util/config.rs | 179 + src/util/dol.rs | 554 + src/util/dwarf.rs | 1118 + src/util/elf.rs | 839 +- src/util/executor.rs | 221 + src/util/map.rs | 418 +- src/util/mod.rs | 10 + src/util/obj.rs | 64 +- src/util/rel.rs | 252 + src/util/sigs.rs | 411 + src/util/slices.rs | 504 + src/util/split.rs | 93 +- src/util/tracker.rs | 733 + src/util/vm.rs | 740 + 164 files changed, 97543 insertions(+), 705 deletions(-) create mode 100644 assets/ClearArena.yml create mode 100644 assets/DBInit.yml create mode 100644 assets/DMAErrorHandler.yml create mode 100644 assets/DVDGetDriveStatus.yml create mode 100644 assets/DVDInit.yml create mode 100644 assets/DVDLowReset.yml create mode 100644 assets/DVDLowStopMotor.yml create mode 100644 assets/DVDLowWaitCoverClose.yml create mode 100644 assets/DVDReadDiskID.yml create mode 100644 assets/DVDReset.yml create mode 100644 assets/DVDSetAutoFatalMessaging.yml create mode 100644 assets/DecrementerExceptionCallback.yml create mode 100644 assets/DecrementerExceptionHandler.yml create mode 100644 assets/ESP_GetTitleId.yml create mode 100644 assets/EXIGetID.yml create mode 100644 assets/EXIInit.yml create mode 100644 assets/IOS_Open.yml create mode 100644 assets/IPCCltInit.yml create mode 100644 assets/IPCiProfQueueReq.yml create mode 100644 assets/ISFS_OpenAsync.yml create mode 100644 assets/ISFS_OpenLib.yml create mode 100644 assets/InitMetroTRK.yml create mode 100644 assets/InitMetroTRKCommTable.yml create mode 100644 assets/NANDInit.yml create mode 100644 assets/NANDLoggingAddMessageAsync.yml create mode 100644 assets/NANDPrivateOpenAsync.yml create mode 100644 assets/NANDSetAutoErrorMessaging.yml create mode 100644 assets/OSDefaultExceptionHandler.yml create mode 100644 assets/OSDisableScheduler.yml create mode 100644 assets/OSExceptionInit.yml create mode 100644 assets/OSExceptionVector.yml create mode 100644 assets/OSInit.yml create mode 100644 assets/OSInitAlarm.yml create mode 100644 assets/OSRegisterResetFunction.yml create mode 100644 assets/OSRegisterShutdownFunction.yml create mode 100644 assets/OSReport.yml create mode 100644 assets/OSResetSystem.yml create mode 100644 assets/OSReturnToMenu.yml create mode 100644 assets/OSSetArenaHi.yml create mode 100644 assets/OSSetArenaLo.yml create mode 100644 assets/OSSetMEM1ArenaHi.yml create mode 100644 assets/OSSetMEM1ArenaLo.yml create mode 100644 assets/OSSetMEM2ArenaHi.yml create mode 100644 assets/OSSetMEM2ArenaLo.yml create mode 100644 assets/OSSwitchFPUContext.yml create mode 100644 assets/ReportOSInfo.yml create mode 100644 assets/SCInit.yml create mode 100644 assets/SCReloadConfFileAsync.yml create mode 100644 assets/SIGetType.yml create mode 100644 assets/SIInit.yml create mode 100644 assets/SISetSamplingRate.yml create mode 100644 assets/SISetXY.yml create mode 100644 assets/TRKEXICallBack.yml create mode 100644 assets/TRKExceptionHandler.yml create mode 100644 assets/TRKInitializeIntDrivenUART.yml create mode 100644 assets/TRKInitializeNub.yml create mode 100644 assets/TRKInterruptHandler.yml create mode 100644 assets/TRKInterruptHandlerEnableInterrupts.yml create mode 100644 assets/TRKLoadContext.yml create mode 100644 assets/TRKNubMainLoop.yml create mode 100644 assets/TRKNubWelcome.yml create mode 100644 assets/TRKRestoreExtended1Block.yml create mode 100644 assets/TRKSaveExtended1Block.yml create mode 100644 assets/TRKSwapAndGo.yml create mode 100644 assets/TRKTargetContinue.yml create mode 100644 assets/TRK_main.yml create mode 100644 assets/VIGetTvFormat.yml create mode 100644 assets/_ExitProcess.yml create mode 100644 assets/__DVDCheckDevice.yml create mode 100644 assets/__DVDClearWaitingQueue.yml create mode 100644 assets/__DVDFSInit.yml create mode 100644 assets/__DVDInitWA.yml create mode 100644 assets/__DVDLowSetWAType.yml create mode 100644 assets/__DVDStoreErrorCode.yml create mode 100644 assets/__FileWrite.yml create mode 100644 assets/__NANDPrintErrorMessage.yml create mode 100644 assets/__OSCacheInit.yml create mode 100644 assets/__OSContextInit.yml create mode 100644 assets/__OSDBIntegrator.yml create mode 100644 assets/__OSDBJump.yml create mode 100644 assets/__OSFPRInit.yml create mode 100644 assets/__OSGetExceptionHandler.yml create mode 100644 assets/__OSInitAlarm.yml create mode 100644 assets/__OSInitAudioSystem.yml create mode 100644 assets/__OSInitIPCBuffer.yml create mode 100644 assets/__OSInitMemoryProtection.yml create mode 100644 assets/__OSInitNet.yml create mode 100644 assets/__OSInitPlayTime.yml create mode 100644 assets/__OSInitSTM.yml create mode 100644 assets/__OSInitSram.yml create mode 100644 assets/__OSInitSystemCall.yml create mode 100644 assets/__OSInterruptInit.yml create mode 100644 assets/__OSPSInit.yml create mode 100644 assets/__OSReschedule.yml create mode 100644 assets/__OSReturnToMenu.yml create mode 100644 assets/__OSShutdownDevices.yml create mode 100644 assets/__OSStartPlayRecord.yml create mode 100644 assets/__OSSyncSram.yml create mode 100644 assets/__OSThreadInit.yml create mode 100644 assets/__OSUnhandledException.yml create mode 100644 assets/__StringWrite.yml create mode 100644 assets/__check_pad3.yml create mode 100644 assets/__destroy_global_chain.yml create mode 100644 assets/__fini_cpp.yml create mode 100644 assets/__fini_cpp_exceptions.yml create mode 100644 assets/__fstLoad.yml create mode 100644 assets/__fwrite.yml create mode 100644 assets/__init_cpp.yml create mode 100644 assets/__init_cpp_exceptions.yml create mode 100644 assets/__init_data.yml create mode 100644 assets/__init_hardware.yml create mode 100644 assets/__init_registers.yml create mode 100644 assets/__ios_Ipc2.yml create mode 100644 assets/__mod2u.yml create mode 100644 assets/__msl_runtime_constraint_violation_s.yml create mode 100644 assets/__pformatter.yml create mode 100644 assets/__register_fragment.yml create mode 100644 assets/__set_debug_bba.yml create mode 100644 assets/__start.yml create mode 100644 assets/__stdio_atexit.yml create mode 100644 assets/exit.yml create mode 100644 assets/fwrite.yml create mode 100644 assets/longlong2str.yml create mode 100644 assets/memset.yml create mode 100644 assets/nandConvertErrorCode.yml create mode 100644 assets/nandGenerateAbsPath.yml create mode 100644 assets/nandGetHeadToken.yml create mode 100644 assets/nandIsInitialized.yml create mode 100644 assets/nandOpen.yml create mode 100644 assets/printf.yml create mode 100644 assets/sprintf.yml create mode 100644 assets/stateReady.yml create mode 100644 assets/vprintf.yml create mode 100644 assets/vsnprintf.yml create mode 100644 assets/vsprintf.yml create mode 100644 src/cmd/dol.rs create mode 100644 src/cmd/rel.rs create mode 100644 src/util/cfa.rs create mode 100644 src/util/config.rs create mode 100644 src/util/dol.rs create mode 100644 src/util/dwarf.rs create mode 100644 src/util/executor.rs create mode 100644 src/util/rel.rs create mode 100644 src/util/sigs.rs create mode 100644 src/util/slices.rs create mode 100644 src/util/tracker.rs create mode 100644 src/util/vm.rs diff --git a/Cargo.lock b/Cargo.lock index f800f72..2f2e2d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,17 +62,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "149f75bbec1827618262e0855a68f0f9a7f2edc13faebf33c4f16d6725edb6a9" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -85,6 +74,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "bincode" version = "1.3.3" @@ -109,6 +104,18 @@ dependencies = [ "generic-array", ] +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "cc" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" + [[package]] name = "cfg-if" version = "1.0.0" @@ -160,9 +167,13 @@ dependencies = [ "ar", "argh", "base16ct", + "base64", + "byteorder", "cwdemangle", "dol", + "env_logger", "filetime", + "fixedbitset", "flagset", "hex", "indexmap", @@ -171,10 +182,14 @@ dependencies = [ "memchr", "memmap2", "multimap", + "num_enum", "object", + "once_cell", "ppc750cl", - "pretty_env_logger", "regex", + "serde", + "serde_repr", + "serde_yaml", "sha-1", "smallvec", "topological-sort", @@ -202,17 +217,38 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.7.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "atty", "humantime", + "is-terminal", "log", "regex", "termcolor", ] +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "filetime" version = "0.2.18" @@ -225,11 +261,20 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "flagset" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda653ca797810c02f7ca4b804b40b8b95ae046eb989d356bce17919a8c25499" +dependencies = [ + "serde", +] [[package]] name = "generic-array" @@ -264,9 +309,9 @@ checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" -version = "0.1.19" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" dependencies = [ "libc", ] @@ -279,12 +324,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "humantime" -version = "1.3.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -dependencies = [ - "quick-error", -] +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "indexmap" @@ -296,6 +338,34 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "io-lifetimes" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi", + "io-lifetimes", + "rustix", + "windows-sys", +] + +[[package]] +name = "itoa" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" + [[package]] name = "lazy_static" version = "1.4.0" @@ -308,6 +378,12 @@ version = "0.2.137" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + [[package]] name = "log" version = "0.4.17" @@ -350,6 +426,27 @@ dependencies = [ "autocfg", ] +[[package]] +name = "num_enum" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "object" version = "0.30.0" @@ -364,9 +461,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "ppc750cl" @@ -378,13 +475,14 @@ dependencies = [ ] [[package]] -name = "pretty_env_logger" -version = "0.4.0" +name = "proc-macro-crate" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" dependencies = [ - "env_logger", - "log", + "once_cell", + "thiserror", + "toml", ] [[package]] @@ -396,12 +494,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quote" version = "1.0.21" @@ -438,25 +530,69 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] -name = "serde" -version = "1.0.147" +name = "rustix" +version = "0.36.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "ryu" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" + +[[package]] +name = "serde" +version = "1.0.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "serde_repr" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_yaml" +version = "0.9.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92b5b431e8907b50339b51223b97d102db8d987ced36f6e4d03621db9316c834" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -476,9 +612,9 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "syn" -version = "1.0.103" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -514,6 +650,15 @@ dependencies = [ "syn", ] +[[package]] +name = "toml" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +dependencies = [ + "serde", +] + [[package]] name = "topological-sort" version = "0.2.2" @@ -532,6 +677,12 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +[[package]] +name = "unsafe-libyaml" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7ed8ba44ca06be78ea1ad2c3682a43349126c8818054231ee6f4748012aed2" + [[package]] name = "version_check" version = "0.9.4" diff --git a/Cargo.toml b/Cargo.toml index 0444971..e75bff4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,10 +25,14 @@ anyhow = "1.0.64" ar = { git = "https://github.com/bjorn3/rust-ar.git", branch = "do_not_remove_cg_clif_ranlib" } argh = "0.1.8" base16ct = "0.1.1" +base64 = "0.21.0" +byteorder = "1.4.3" cwdemangle = "0.1.3" dol = { git = "https://github.com/encounter/ppc750cl", rev = "5f6e991bf495388c4104f188d2e90c79da9f78de" } +env_logger = "0.10.0" filetime = "0.2.18" -flagset = "0.4.3" +fixedbitset = "0.4.2" +flagset = { version = "0.4.3", features = ["serde"] } hex = "0.4.3" indexmap = "1.9.2" lazy_static = "1.4.0" @@ -36,10 +40,14 @@ log = "0.4.17" memchr = "2.5.0" memmap2 = "0.5.7" multimap = "0.8.3" +num_enum = "0.5.7" object = { version = "0.30.0", features = ["read_core", "std", "elf", "write_std"], default-features = false } +once_cell = "1.17.0" ppc750cl = { git = "https://github.com/encounter/ppc750cl", rev = "5f6e991bf495388c4104f188d2e90c79da9f78de" } -pretty_env_logger = "0.4.0" regex = "1.6.0" +serde = "1.0.152" +serde_repr = "0.1.10" +serde_yaml = "0.9.16" sha-1 = "0.10.0" smallvec = "1.10.0" topological-sort = "0.2.2" diff --git a/assets/ClearArena.yml b/assets/ClearArena.yml new file mode 100644 index 0000000..193f656 --- /dev/null +++ b/assets/ClearArena.yml @@ -0,0 +1,2218 @@ +- symbol: 0 + hash: f85bd464ac8b96b3a5ea0f0c044a6abc2207d64b + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////0gAAAH8AAADPAOAAP////8oAAAA/////0GCACj/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAA3/l+3j/////OIAAAP////9IAAAB/AAAA0gAALD/////PGCBMP////+D49/w/////4PD3+z/////KB8AAP////9AggAo/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAAB4/////0gAAAH8AAADfAP4QP////9AgABs/////0gAAAH8AAADfAP4QP////9BgQAo/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAAA8/////0gAAAH8AAADf+P4UP////9IAAAB/AAAA3/l+3j/////OIAAAP////9IAAAB/AAAA0gAAAH8AAADfAPwQP////9AgQAY/////0gAAAH8AAADfL4YUP////9/w/N4/////ziAAAD/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: ClearArena + size: 268 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: d174b69b41ae8e91cad1dfa746c5f3329f05c81f + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////0gAAAH8AAADPAOAAP////8oAAAA/////0GCACj/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAA3/l+3j/////OIAAAP////9IAAAB/AAAA0gAALD/////PGCBMP////+D49/w/////4PD3+z/////KB8AAP////9AggAo/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAAB4/////0gAAAH8AAADfAP4QP////9AgABs/////0gAAAH8AAADfAP4QP////9BgQAo/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAAA8/////0gAAAH8AAADf+P4UP////9IAAAB/AAAA3/l+3j/////OIAAAP////9IAAAB/AAAA0gAAAH8AAADfAPwQP////9AgQAY/////0gAAAH8AAADfL4YUP////9/w/N4/////ziAAAD/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: ClearArena + size: 268 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 01fc85d22e481cb72125254b7a36795d8ffca27a + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAAzwDgAD/////KAAAAP////9BggA0/////zgAAAD/////kAAAAP/gAACQAAAA/+AAAEgAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAADI/////zyAgTD/////gGTf8P////+ABN/s/////ygDAAD/////kGAAAP/gAACQAAAA/+AAAECCACj/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAA3/l+3j/////OIAAAP////9IAAAB/AAAA0gAAIj/////SAAAAfwAAAOAAAAA/+AAAHwDAED/////QIAAeP////9IAAAB/AAAA4AAAAD/4AAAfAMAQP////9BgQAo/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAN/5ft4/////ziAAAD/////SAAAAfwAAANIAABE/////0gAAAH8AAADgAAAAP/gAAB/4wBQ/////0gAAAH8AAADf+X7eP////84gAAA/////0gAAAH8AAADSAAAAfwAAAOD4AAA/+AAAHwD+ED/////QIEAGP////9IAAAB/AAAA3y/GFD/////f+P7eP////84gAAA/////0gAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 296 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSSavedRegionStart + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSSavedRegionEnd + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 4176cf78aa3d4ad17362220f9ca5620be7c534ac + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////88YAAA//8AADvjAAD//wAASAAAAfwAAANUYAAA/////ygAAAD/////QYIADP////84AAAB/////0gAAAj/////OAAAAP////8sAAAA/////0CCACj/////SAAAAfwAAAN8fht4/////0gAAAH8AAADf8PwUP////9IAAAB/AAAAziAAAD/////f8XzeP////9IAAAB/AAAA0gAAPT/////gB8AXP////8oAAAA/////0CCACj/////SAAAAfwAAAN8fht4/////0gAAAH8AAADf8PwUP////9IAAAB/AAAAziAAAD/////f8XzeP////9IAAAB/AAAA0gAAMT/////OAAAAP////+AHwBg/////ygAAAD/////QIIAKP////84YAAA/+AAADiAAq7/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////0gAAAH8AAADgB8AXP////98AwBA/////0CAAHz/////SAAAAfwAAAOAHwBc/////3wDAED/////QYEAKP////9IAAAB/AAAA3x+G3j/////SAAAAfwAAAN/w/BQ/////0gAAAH8AAADOIAAAP////9/xfN4/////0gAAAH8AAADSAAASP////9IAAAB/AAAA4AfAFz/////f8MAUP////9IAAAB/AAAAziAAAD/////f8XzeP////9IAAAB/AAAA0gAAAH8AAADgB8AYP////98AwBA/////0CBABz/////SAAAAfwAAAOAHwBg/////3ygGFD/////gH8AYP////84gAAA/////0gAAAH8AAADgAEAFP////+7wQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 356 + flags: 2 + section: .text + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@27' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 5044e005462f01ddd832b0b2da5d0bfab78cf0df + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAAzwDgAD/////KAAAAP////9BggA4/////zgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAASAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAQz/////PGCBMP////+AA9/w/////5AAAAD/4AAAPGCBMP////+AA9/s/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0CCACj/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAMT/////OAAAAP////+AAAAA/+AAACgAAAD/////QIIAKP////84YAAA/+AAADiAArT/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////0gAAAH8AAADgAAAAP/gAAB8AwBA/////0CAAHz/////SAAAAfwAAAOAAAAA/+AAAHwDAED/////QYEAKP////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAN/4/hQ/////0gAAAH8AAADOIAAAP////9/5ft4/////0gAAAH8AAADSAAASP////9IAAAB/AAAA4AAAAD/4AAAf+MAUP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAB8AwBA/////0CBABz/////SAAAAfwAAAOAAAAA/+AAAHygGFD/////gGAAAP/gAAA4gAAA/////0gAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 368 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSSavedRegionStart + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSSavedRegionEnd + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@27' + size: 44 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 0813940c557ac5cf74619a6d87173d3679766d87 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAAzwDgAD/////KAAAAP////9BggA4/////zgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAASAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAQz/////PGCBMP////+AA9/w/////5AAAAD/4AAAPGCBMP////+AA9/s/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0CCACj/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAMT/////OAAAAP////+AAAAA/+AAACgAAAD/////QIIAKP////84YAAA/+AAADiAArH/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////0gAAAH8AAADgAAAAP/gAAB8AwBA/////0CAAHz/////SAAAAfwAAAOAAAAA/+AAAHwDAED/////QYEAKP////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAN/4/hQ/////0gAAAH8AAADOIAAAP////9/5ft4/////0gAAAH8AAADSAAASP////9IAAAB/AAAA4AAAAD/4AAAf+MAUP////9IAAAB/AAAAziAAAD/////f+X7eP////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAB8AwBA/////0CBABz/////SAAAAfwAAAOAAAAA/+AAAHygGFD/////gGAAAP/gAAA4gAAA/////0gAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 368 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSSavedRegionStart + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSSavedRegionEnd + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@27' + size: 44 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 55daa6f0898eabe8ece0ba38472d4a9815a47534 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////9IAAAB/AAAA1RgAAD/////LAAAAP////9BggAM/////zvgAAH/////SAAACP////874AAA/////ywfAAD/////QIIAJP////9IAAAB/AAAA3x8G3j/////SAAAAfwAAAN/g+BQ/////0gAAAH8AAADf4TjeP////9IAAAB/AAAA0gAATz/////PGAAAP//AAA4YwAA//8AAIADAAz/////LAAAAP////9BggAc/////zxgAAD//wAAOGMAAP//AACAAwAM/////1QAAIb/////LAAAAP////9BggAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAA8P////87wAAB/////zxgAAD//wAAOGMAAP//AACAAwAQ/////ywAAAD/////QIIALP////84YAAA/+AAADiABCX/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7oAAA/////ywdAAD/////QIIACP////87wAAA/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9AgACY/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9BgQAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAYP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAM/////3+DAFD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98AwBA/////0CBACj/////SAAAAfwAAAM8oAAA//8AADilAAD//wAAgAUAEP////98gBhQ/////zygAAD//wAAOKUAAP//AACAZQAQ/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 440 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: MemClear + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@990' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@991' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 981ef5fa2cc7013660198f34d6ef4a6d8dacbb20 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////9IAAAB/AAAA1RgAAD/////LAAAAP////9BggAM/////zvgAAH/////SAAACP////874AAA/////ywfAAD/////QIIAJP////9IAAAB/AAAA3x8G3j/////SAAAAfwAAAN/g+BQ/////0gAAAH8AAADf4TjeP////9IAAAB/AAAA0gAATz/////PGAAAP//AAA4YwAA//8AAIADAAz/////LAAAAP////9BggAc/////zxgAAD//wAAOGMAAP//AACAAwAM/////1QAAIb/////LAAAAP////9BggAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAA8P////87wAAB/////zxgAAD//wAAOGMAAP//AACAAwAQ/////ywAAAD/////QIIALP////84YAAA/+AAADiAA/L/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7oAAA/////ywdAAD/////QIIACP////87wAAA/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9AgACY/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9BgQAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAYP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAM/////3+DAFD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98AwBA/////0CBACj/////SAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98gBhQ/////zxgAAD//wAAOGMAAP//AACAYwAQ/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 440 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: MemClear + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@963' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@964' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: cdc1a09cb4979f160b113097cdabdddb3ec13b54 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////9IAAAB/AAAA1RgAAD/////LAAAAP////9BggAM/////zvgAAH/////SAAACP////874AAA/////ywfAAD/////QIIAJP////9IAAAB/AAAA3x8G3j/////SAAAAfwAAAN/g+BQ/////0gAAAH8AAADf4TjeP////9IAAAB/AAAA0gAATz/////PGAAAP//AAA4YwAA//8AAIADAAz/////LAAAAP////9BggAc/////zxgAAD//wAAOGMAAP//AACAAwAM/////1QAAIb/////LAAAAP////9BggAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAA8P////87wAAB/////zxgAAD//wAAOGMAAP//AACAAwAQ/////ywAAAD/////QIIALP////84YAAA/+AAADiABCz/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7oAAA/////ywdAAD/////QIIACP////87wAAA/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9AgACY/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9BgQAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAYP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAM/////3+DAFD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98AwBA/////0CBACj/////SAAAAfwAAAM8oAAA//8AADilAAD//wAAgAUAEP////98gBhQ/////zygAAD//wAAOKUAAP//AACAZQAQ/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 440 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: MemClear + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@991' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@992' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 14beb0955807c2235e41d061027d2df38a78a54c + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////9IAAAB/AAAA1RgAAD/////LAAAAP////9BggAM/////zvgAAH/////SAAACP////874AAA/////ywfAAD/////QIIAJP////9IAAAB/AAAA3x8G3j/////SAAAAfwAAAN/g+BQ/////0gAAAH8AAADf4TjeP////9IAAAB/AAAA0gAATz/////PGAAAP//AAA4YwAA//8AAIADAAz/////LAAAAP////9BggAc/////zxgAAD//wAAOGMAAP//AACAAwAM/////1QAAIb/////LAAAAP////9BggAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAA8P////87wAAB/////zxgAAD//wAAOGMAAP//AACAAwAQ/////ywAAAD/////QIIALP////84YAAA/+AAADiAA/z/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7oAAA/////ywdAAD/////QIIACP////87wAAA/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9AgACY/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9BgQAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAYP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAM/////3+DAFD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98AwBA/////0CBACj/////SAAAAfwAAAM8oAAA//8AADilAAD//wAAgAUAEP////98gBhQ/////zygAAD//wAAOKUAAP//AACAZQAQ/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 440 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: MemClear + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@961' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@962' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: d9ba1615fb0184d0c0a330fab0c4550942bdef4d + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////9IAAAB/AAAA1RgAAD/////LAAAAP////9BggAM/////zvgAAH/////SAAACP////874AAA/////ywfAAD/////QIIAJP////9IAAAB/AAAA3x8G3j/////SAAAAfwAAAN/g+BQ/////0gAAAH8AAADf4TjeP////9IAAAB/AAAA0gAATz/////PGAAAP//AAA4YwAA//8AAIADAAz/////LAAAAP////9BggAc/////zxgAAD//wAAOGMAAP//AACAAwAM/////1QAAIb/////LAAAAP////9BggAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAA8P////87wAAB/////zxgAAD//wAAOGMAAP//AACAAwAQ/////ywAAAD/////QIIALP////84YAAA/+AAADiABCL/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7oAAA/////ywdAAD/////QIIACP////87wAAA/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9AgACY/////0gAAAH8AAADPIAAAP//AAA4hAAA//8AAIAEAAz/////fAMAQP////9BgQAk/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3+D4FD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAYP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAM/////3+DAFD/////SAAAAfwAAAN/hON4/////0gAAAH8AAADSAAAAfwAAAM8gAAA//8AADiEAAD//wAAgAQAEP////98AwBA/////0CBACj/////SAAAAfwAAAM8oAAA//8AADilAAD//wAAgAUAEP////98gBhQ/////zygAAD//wAAOKUAAP//AACAZQAQ/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 440 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: MemClear + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@976' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@977' + size: 52 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 1af9aef7ca30a7ecebdf9d4692d95025b9d7c2ad + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADVGAP//////9AggBM/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAM8AAAE/////3wfAED/////QIEAEP////8/3//8/////3/D8hT/////SAAACP////98fht4/////3/k+3j/////SAAAAfwAAAN/w/N4/////zyAAAT/////SAAAAfwAAANIAAFg/////z/gAAD//wAAO/8AAP//AACAHwAM/////ywAAAD/////QYIADP////9UAACH/////0GCAEz/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADf+P4UP////9IAAAB/AAAAzwAAAT/////fB8AQP////9AgQAQ/////z/f//z/////f8PyFP////9IAAAI/////3x+G3j/////f+T7eP////9IAAAB/AAAA3/D83j/////PIAABP////9IAAAB/AAAA0gAAPz/////SAAAAfwAAAOAHwAM/////3wDAED/////QIAA7P////9IAAAB/AAAA4AfAAz/////fAMAQP////9BgQBM/////0gAAAH8AAADfH8beP////9IAAAB/AAAA3/j+FD/////SAAAAfwAAAM8AAAE/////3wfAED/////QIEAEP////8/3//8/////3/D8hT/////SAAACP////98fht4/////3/k+3j/////SAAAAfwAAAN/w/N4/////zyAAAT/////SAAAAfwAAANIAACU/////0gAAAH8AAADgB8ADP////9/4wBQ/////0gAAAH8AAADPAAABP////98HwBA/////0CBABD/////P9///P////9/w/IU/////0gAAAj/////fH4beP////9/5Pt4/////0gAAAH8AAADf8PzeP////88gAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAIPjABD/////SAAAAfwAAAN8A/hA/////0CBADz/////SAAAAfwAAAN8nxhQ/////zwAAAT/////fAQAQP////9AgQAQ/////z/E//z/////f9/yFP////9IAAAI/////3/++3j/////f+P7eP////9IAAAB/AAAA3/D83j/////PIAABP////9IAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ClearArena + size: 476 + flags: 2 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCZeroRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/DBInit.yml b/assets/DBInit.yml new file mode 100644 index 0000000..f7cb6af --- /dev/null +++ b/assets/DBInit.yml @@ -0,0 +1,249 @@ +- symbol: 0 + hash: a187f301d92c3db5517417cf7ff9826907df93df + signature: PICAAP////88YAAA//8AADikAED/////OAAAAf////84YwAA//8AAJCgAAD/4AAAPGOAAP////+QZABI/////5AAAAD/4AAAToAAIP////8= + symbols: + - kind: Function + name: DBInit + size: 40 + flags: 1 + section: .text + - kind: Function + name: __DBExceptionDestination + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DBInterface + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: DBVerbose + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 766a959056a6c91403d5149533053c9091eb112d + signature: PICAAP////88YAAA//8AADgEAED/////kAAAAP/gAAA4YwAA//8AADxjgAD/////kGQASP////84AAAB/////5AAAAD/4AAAToAAIP////8= + symbols: + - kind: Function + name: DBInit + size: 40 + flags: 1 + section: .text + - kind: Function + name: __DBExceptionDestination + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DBInterface + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: DBVerbose + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: e76cffb1d91ab3a2f36bcd4c3173812265d43dfb + signature: PICAAP////84BABA/////zxgAAD//wAAkAAAAP/gAAA4YwAA//8AADwDgAD/////kAQASP////84AAAB/////5AAAAD/4AAAToAAIP////8= + symbols: + - kind: Function + name: DBInit + size: 40 + flags: 1 + section: .text + - kind: Function + name: __DBExceptionDestination + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DBInterface + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: DBVerbose + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: a253c3f98bd20d16d193565ce89d5180d6259eb2 + signature: fAgCpv////+QAQAE/////5Qh//j/////OGAAQP////9IAAAB/AAAA5BgAAD/4AAAPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgIAAAP/gAACQZAAI/////zgAAAH/////kAAAAP/gAACAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DBInit + size: 68 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DBInterface + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __DBExceptionDestination + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCachedToPhysical + size: 0 + flags: 1 + section: .text + - kind: Object + name: DBVerbose + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 +- symbol: 0 + hash: a1eafda3a66a65f6198f7e18495196a48d104c5f + signature: lCH/8P////98CAKm/////5ABABT/////OGAAQP////9IAAAB/AAAA5BgAAD/4AAAPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgIAAAP/gAACQZAAI/////zgAAAH/////kAAAAP/gAACAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DBInit + size: 68 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DBInterface + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __DBExceptionDestination + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCachedToPhysical + size: 0 + flags: 1 + section: .text + - kind: Object + name: DBVerbose + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 diff --git a/assets/DMAErrorHandler.yml b/assets/DMAErrorHandler.yml new file mode 100644 index 0000000..6bf4fc6 --- /dev/null +++ b/assets/DMAErrorHandler.yml @@ -0,0 +1,700 @@ +- symbol: 0 + hash: bbbaf823e03832cb3aca63fadd97373d64293ff7 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////5OhAHT/////fJ0jeP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////8/4AAA//8AAJBhAAj/////O/8AAP//AACQgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////0gAAAH8AAADfH4beP////84fwAw/////0zGMYL/////SAAAAfwAAAOAvQGc/////3/E83j/////OH8ASP////9MxjGC/////0gAAAH8AAADV8ACF/////9BggAQ/////4AdAZz/////VAAClf////9AggAc/////zh/AGj/////TMYxgv////9IAAAB/AAAA3+j63j/////SAAAAfwAAANIAAAB/AAAAzh/AJj/////TMYxgv////9IAAAB/AAAAzh/ANT/////TMYxgv////9IAAAB/AAAA1fAAhH/////QYIAEP////84fwEM/////0zGMYL/////SAAAAfwAAANXwAJT/////0GCABD/////OH8BTP////9MxjGC/////0gAAAH8AAADV8AClf////9BggAQ/////zh/AXj/////TMYxgv////9IAAAB/AAAA1fAAtf/////QYIAEP////84fwGY/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////g6EAdP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 328 + flags: 1 + section: .text + - kind: Object + name: '@878' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 89c80a7b654ed2169e5a916b5cf5d73417197c69 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////5OhAHT/////fJ0jeP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////8/4AAA//8AAJBhAAj/////O/8AAP//AACQgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////0gAAAH8AAADfH4beP////84fwAA/////0zGMYL/////SAAAAfwAAAOAvQGc/////3/E83j/////OH8AGP////9MxjGC/////0gAAAH8AAADV8ACF/////9BggAQ/////4AdAZz/////VAAClf////9AggAc/////zh/ADj/////TMYxgv////9IAAAB/AAAA3+j63j/////SAAAAfwAAANIAAAB/AAAAzh/AGj/////TMYxgv////9IAAAB/AAAAzh/AKT/////TMYxgv////9IAAAB/AAAA1fAAhH/////QYIAEP////84fwDc/////0zGMYL/////SAAAAfwAAANXwAJT/////0GCABD/////OH8BHP////9MxjGC/////0gAAAH8AAADV8AClf////9BggAQ/////zh/AUj/////TMYxgv////9IAAAB/AAAA1fAAtf/////QYIAEP////84fwFo/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////g6EAdP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 328 + flags: 1 + section: .text + - kind: Object + name: '@909' + size: 24 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 4692a0bb2cf6955f5f278d4dd1d5e3eaf65879cb + signature: fAgCpv////+QAQAE/////5Qh/4D/////v6EAdP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////fJ0jeP////88YAAA//8AADvjAAD//wAASAAAAfwAAAN8fht4/////zh/AaD/////TMYxgv////9IAAAB/AAAAzh/Abj/////f8TzeP////+AvQGc/////0zGMYL/////SAAAAfwAAANXwAIW/////ygAAAD/////QYIAFP////+AHQGc/////1QAApT/////KAAAAP////9AggAc/////zh/AdT/////TMYxgv////9IAAAB/AAAA3+j63j/////SAAAAfwAAANIAAAB/AAAAzh/AgT/////TMYxgv////9IAAAB/AAAAzh/AkD/////TMYxgv////9IAAAB/AAAA1fAAhD/////KAAAAP////9BggAQ/////zh/Anj/////TMYxgv////9IAAAB/AAAA1fAAlL/////KAAAAP////9BggAQ/////zh/Arj/////TMYxgv////9IAAAB/AAAA1fAApT/////KAAAAP////9BggAQ/////zh/AuT/////TMYxgv////9IAAAB/AAAA1fAAtb/////KAAAAP////9BggAQ/////zh/AwT/////TMYxgv////9IAAAB/AAAA3/D83j/////SAAAAfwAAAOAAQCE/////7uhAHT/////OCEAgP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: DMAErrorHandler + size: 336 + flags: 1 + section: .text + - kind: Object + name: '@22' + size: 10 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 88 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: d938cc5af4889db022e8e077f6f5bed84fa677e2 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////5OhAHT/////fJ0jeP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////PGAAAP//AAA74wAA//8AAEgAAAH8AAADfH4beP////84fwGo/////0zGMYL/////SAAAAfwAAAM4fwHA/////3/E83j/////gL0BnP////9MxjGC/////0gAAAH8AAADV8ACFv////8sAAAA/////0GCABT/////gB0BnP////9UAAKU/////ywAAAD/////QIIAHP////84fwHg/////0zGMYL/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAAM4fwIQ/////0zGMYL/////SAAAAfwAAAM4fwJM/////0zGMYL/////SAAAAfwAAANXwAIQ/////ywAAAD/////QYIAEP////84fwKE/////0zGMYL/////SAAAAfwAAANXwAJS/////ywAAAD/////QYIAEP////84fwLE/////0zGMYL/////SAAAAfwAAANXwAKU/////ywAAAD/////QYIAEP////84fwLw/////0zGMYL/////SAAAAfwAAANXwALW/////ywAAAD/////QYIAEP////84fwMQ/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADg+EAfP////+DwQB4/////4OhAHT/////gAEAhP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 352 + flags: 1 + section: .text + - kind: Object + name: '@659' + size: 10 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 96 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 92c8db6d9905f40c43bcfde7f426fbb42b72fb9d + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////5OhAHT/////fJ0jeP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////PGAAAP//AAA74wAA//8AAEgAAAH8AAADfH4beP////84fwF4/////0zGMYL/////SAAAAfwAAAM4fwGQ/////3/E83j/////gL0BnP////9MxjGC/////0gAAAH8AAADV8ACFv////8sAAAA/////0GCABT/////gB0BnP////9UAAKU/////ywAAAD/////QIIAHP////84fwGw/////0zGMYL/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAAM4fwHg/////0zGMYL/////SAAAAfwAAAM4fwIc/////0zGMYL/////SAAAAfwAAANXwAIQ/////ywAAAD/////QYIAEP////84fwJU/////0zGMYL/////SAAAAfwAAANXwAJS/////ywAAAD/////QYIAEP////84fwKU/////0zGMYL/////SAAAAfwAAANXwAKU/////ywAAAD/////QYIAEP////84fwLA/////0zGMYL/////SAAAAfwAAANXwALW/////ywAAAD/////QYIAEP////84fwLg/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADg+EAfP////+DwQB4/////4OhAHT/////gAEAhP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 352 + flags: 1 + section: .text + - kind: Object + name: '@663' + size: 10 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 96 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 32fac35fe2ab1771fc61404bb96d345f6ec10457 + signature: fAgCpv////+QAQAE/////5Qh/4D/////k+EAfP////+TwQB4/////5OhAHT/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////+QgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////3ydI3j/////PGAAAP//AAA74wAA//8AAEgAAAH8AAADfH4beP////9MxjGC/////zh/ACz/////SAAAAfwAAAOAvQGc/////3/E83j/////OH8ARP////9MxjGC/////0gAAAH8AAADV8ACFv////8oAAAA/////0GCABT/////gB0BnP////9UAAKU/////ygAAAD/////QIIAHP////84fwBg/////0zGMYL/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAAM4fwCQ/////0zGMYL/////SAAAAfwAAAM4fwDM/////0zGMYL/////SAAAAfwAAANXwAIQ/////ygAAAD/////QYIAEP////84fwEE/////0zGMYL/////SAAAAfwAAANXwAJS/////ygAAAD/////QYIAEP////84fwFE/////0zGMYL/////SAAAAfwAAANXwAKU/////ygAAAD/////QYIAEP////84fwFw/////0zGMYL/////SAAAAfwAAANXwALW/////ygAAAD/////QYIAEP////84fwGQ/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////g6EAdP////84IQCA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 352 + flags: 1 + section: .text + - kind: Object + name: '@69' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 96 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: e8f36c090227a158655955235f0d1773d837950a + signature: fAgCpv////+QAQAE/////5Qh/4D/////k+EAfP////+TwQB4/////5OhAHT/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////+QgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////3ydI3j/////PGAAAP//AAA74wAA//8AAEgAAAH8AAADfH4beP////9MxjGC/////zh/ACz/////SAAAAfwAAAOAvQGc/////3/E83j/////OH8ARP////9MxjGC/////0gAAAH8AAADV8ACFv////8oAAAA/////0GCABT/////gB0BnP////9UAAKU/////ygAAAD/////QIIAHP////84fwBg/////0zGMYL/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAAM4fwCQ/////0zGMYL/////SAAAAfwAAAM4fwDM/////0zGMYL/////SAAAAfwAAANXwAIQ/////ygAAAD/////QYIAEP////84fwEE/////0zGMYL/////SAAAAfwAAANXwAJS/////ygAAAD/////QYIAEP////84fwFE/////0zGMYL/////SAAAAfwAAANXwAKU/////ygAAAD/////QYIAEP////84fwFw/////0zGMYL/////SAAAAfwAAANXwALW/////ygAAAD/////QYIAEP////84fwGQ/////0zGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////fAgDpv////+DoQB0/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: DMAErrorHandler + size: 352 + flags: 1 + section: .text + - kind: Object + name: '@69' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 96 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/DVDGetDriveStatus.yml b/assets/DVDGetDriveStatus.yml new file mode 100644 index 0000000..87be3b0 --- /dev/null +++ b/assets/DVDGetDriveStatus.yml @@ -0,0 +1,399 @@ +- symbol: 0 + hash: e20b3d4c079ef22787f8b7e843a3a7471b5d2712 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADgAAAAP/gAAB8fxt4/////ywAAAD/////QYIADP////87wP///////0gAAEz/////gAAAAP/gAAAsAAAA/////0GCAAz/////O8AACP////9IAAA4/////4BgAAD/4AAALAMAAP////9AggAM/////zvAAAD/////SAAAJP////88gAAA//8AADiEAAD//wAAfAMgQP////9AggAM/////zhgAAD/////SAAACP////9IAAAB/AAAA3x+G3j/////f+P7eP////9IAAAB/AAAA3/D83j/////g+EADP////+DwQAI/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: DVDGetDriveStatus + size: 156 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: DVDGetCommandBlockStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 0ac52963aaaf1d548f05cbd59e1d6758d0598a78 + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////9IAAAB/AAAA3x+G3j/////gAAAAP/gAAAsAAAA/////0GCAAz/////O+D///////9IAABY/////4AAAAD/4AAALAAAAP////9BggAM/////zvgAAj/////SAAARP////+AYAAA/+AAADgAAAD/////fAMAQP////9AggAM/////zvgAAD/////SAAALP////+AgAAA/+AAADxgAAD//wAAOAMAAP//AAB8BABA/////0CCAAz/////O+AAAP////9IAAAQ/////4BgAAD/4AAASAAAAfwAAAN8fxt4/////3/D83j/////SAAAAfwAAAN/4/t4/////4ABABT/////u8EACP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDGetDriveStatus + size: 160 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: DVDGetCommandBlockStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: cf9ced6928740f390b565bc341e850825d8d3b14 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADfH4beP////+AAAAA/+AAACwAAAD/////QYIADP////874P///////0gAAFj/////gAAAAP/gAAAsAAAA/////0GCAAz/////O+AACP////9IAABE/////4BgAAD/4AAAOAAAAP////98AwBA/////0CCAAz/////O+AAAP////9IAAAs/////4CAAAD/4AAAPGAAAP//AAA4AwAA//8AAHwEAED/////QIIADP////874AAA/////0gAABD/////gGAAAP/gAABIAAAB/AAAA3x/G3j/////f8PzeP////9IAAAB/AAAA3/j+3j/////g+EADP////+DwQAI/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: DVDGetDriveStatus + size: 168 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: DVDGetCommandBlockStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 72f4460376f2ae246d867bfc11b0490ea93017cd + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////0gAAAH8AAADgAAAAP/gAAA7wwAA/////ywAAAD/////QYIADP////874P///////0gAAFz/////gAAAAP/gAAAsAAAA/////0GCAAz/////O+AACP////9IAABI/////4PgAAD/4AAAKB8AAP////9AggAM/////zvgAAD/////SAAANP////88YAAA//8AADgDAAD//wAAfB8AQP////9AggAM/////zvgAAD/////SAAAHP////9IAAAB/AAAA4P/AAz/////LB8AA/////9AggAI/////zvgAAH/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAHP////9/4/t4/////4PhABT/////g8EAEP////98CAOm/////zghABj/////ToAAIP////8= + symbols: + - kind: Function + name: DVDGetDriveStatus + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: f28dec79c41f6e88a242ae40b73ffd319efd40f6 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////0gAAAH8AAADgAAAAP/gAAA7wwAA/////ywAAAD/////QYIADP////874P///////0gAAFz/////gAAAAP/gAAAsAAAA/////0GCAAz/////O+AACP////9IAABI/////4PgAAD/4AAAKB8AAP////9AggAM/////zvgAAD/////SAAANP////88YAAA//8AADgDAAD//wAAfB8AQP////9AggAM/////zvgAAD/////SAAAHP////9IAAAB/AAAA4P/AAz/////LB8AA/////9AggAI/////zvgAAH/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADf+P7eP////+AAQAc/////4PhABT/////g8EAEP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDGetDriveStatus + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/DVDInit.yml b/assets/DVDInit.yml new file mode 100644 index 0000000..ed9a475 --- /dev/null +++ b/assets/DVDInit.yml @@ -0,0 +1,2449 @@ +- symbol: 0 + hash: e857056b70b33010c834e93286d352ba7a82d8f4 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAAAA/////0CCAIz/////gGAAAP/gAABIAAAB/AAAAzgAAAH/////kAAAAP/gAABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4AAAA/////5AAAAD/4AAAOGAAAP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAACQAAAA/+AAADhgAAD/4AAASAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgGAAAP/gAACAYwAg/////zwDGuD/////KAB8Iv////9BggAg/////4BgAAD/4AAAgGMAIP////88A/Lr/////ygA6l7/////QYIADP////84AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAAH/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDInit + size: 176 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 3e7995350b3553ff64922ff5fb07d941fd754c8d + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+AAAAA/+AAACwAAAD/////QIIAoP////+AYAAA/+AAAEgAAAH8AAADO+AAAf////+T4AAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAAzwAgAD/////PGAAAP//AACQAAAA/+AAADiDAAD//wAAkAAAAP/gAAA4YAAV/////0gAAAH8AAADOGAEAP////9IAAAB/AAAAzhgAAD/4AAASAAAAfwAAAM8YMwA/////zgAACr/////kANgAP////84AAAA/////5ADYAT/////gGAAAP/gAAA4YwAg/////4BjAAD/////PAMa4P////8oAHwi/////0CCABz/////PGAAAP//AABMxjGC/////zhjAAD//wAASAAAAfwAAANIAAAB/AAAA0gAABT/////PAPy6/////8oAOpe/////0GCAAj/////k+AAAP/gAACAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 204 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInitWA + size: 0 + flags: 5 + section: .text + - kind: Function + name: __DVDInterruptHandler + size: 0 + flags: 5 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@18' + size: 10 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: __fstLoad + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 618231541cdf2fd1ba4cccc768b9c077d0bd198e + signature: fAgCpv////+QAQAE/////5Qh//j/////gAAAAP/gAAAsAAAA/////0CCALT/////gGAAAP/gAABIAAAB/AAAAzgAAAH/////kAAAAP/gAABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAACAAAAA/+AAAJAAAAD/4AAAOGAAFf////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAQA/////0gAAAH8AAADOGAAAP/gAABIAAAB/AAAAzgAACr/////PGDMAP////+QA2AA/////zgAAAD/////PGDMAP////+QA2AE/////4BgAAD/4AAAgGMAIP////88Axrg/////ygAfCL/////QIIAHP////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAA0gAAAH8AAADSAAAIP////+AYAAA/+AAAIBjACD/////PAPy6/////8oAOpe/////0GCAAz/////OAAAAf////+QAAAA/+AAAIABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 216 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInitWA + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDInterruptHandler + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@17' + size: 10 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: __fstLoad + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 0d237848e60af1f7d7e300f365ec5ef6fd111095 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////4AAAAD/4AAALAAAAP////9AggCk/////4BgAAD/4AAASAAAAfwAAAM7wAAB/////5PAAAD/4AAASAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPACAAP////874AAA/////5AAAAD/4AAAPGAAAP//AAA4gwAA//8AAJPgAAD/4AAAOGAAFf////+QAAAA/+AAAEgAAAH8AAADOGAEAP////9IAAAB/AAAAzhgAAD/4AAASAAAAfwAAAM8YMwA/////zgAACr/////kANgAP////+T42AE/////4BgAAD/4AAAOGMAIP////+AYwAA/////zwDGuD/////KAB8Iv////9AggAc/////zxgAAD//wAATMYxgv////84YwAA//8AAEgAAAH8AAADSAAAAfwAAANIAAAU/////zwD8uv/////KADqXv////9BggAI/////5PAAAD/4AAAgAEAFP////+D4QAM/////4PBAAj/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 216 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInitWA + size: 0 + flags: 5 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDInterruptHandler + size: 0 + flags: 5 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@18' + size: 10 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: __fstLoad + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 +- symbol: 0 + hash: b5b0125277505be3a1046f5f471cf65d174eec43 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIAtP////+AYAAA/+AAAEgAAAH8AAADO+AAAf////+T4AAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAAzwAgAD/////OGAAAP////+QYAAA/+AAADhgAAD/4AAAkAAAAP/gAACQAAAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAA4BgAAD/4AAAgGMAIP////88Axrg/////ygAfCL/////QYIAFP////88A/Lr/////ygA6l7/////QYIACP////+T4AAA/+AAAD/gAAD//wAAOIAAAP////84fwAA//8AADigAID/////SAAAAfwAAAM4fwAA//8AADyAgAD/////OKAABP////9IAAAB/AAAAzzAgAD/////OL8AAP//AACIhgAG/////zgAAAD/////OGAAAf////+YhQAE/////4iGAAf/////mIUABf////+QAAAA/+AAAEgAAAH8AAADgAEAFP////+D4QAM/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDInit + size: 224 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: b8371673eea260def09ebd8defad107ff119b9ac + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////5PBAAj/////O8MAAP//AACAAAAA/+AAACwAAAD/////QIIAwP////9IAAAB/AAAAzvgAAH/////k+AAAP/gAABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8AIAA/////zxgAAD//wAAkAAAAP/gAAA4gwAA//8AAJAAAAD/4AAAOGAAFf////9IAAAB/AAAAzhgBAD/////SAAAAfwAAAM4YAAA/+AAAEgAAAH8AAADPGDMAP////84AAAq/////5ADYAD/////OAAAAP////+QA2AE/////4BgAAD/4AAAOGMAIP////+AYwAA/////zwDGuD/////KAB8Iv////9AggAk/////zh+AAD/////TMYxgv////9IAAAB/AAAAzh+ABj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADSAAAMP////88A/Lr/////ygA6l7/////QIIAFP////84fgAk/////0zGMYL/////SAAAAfwAAANIAAAU/////5PgAAD/4AAAOH4AQP////9MxjGC/////0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 252 + flags: 1 + section: .text + - kind: Object + name: '@13' + size: 21 + flags: 2 + section: .data + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInitWA + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: currID + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: __fstLoad + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 14 + addend: 0 +- symbol: 0 + hash: f55a616e73449a11509ab2a8fa1be1ebffb64a27 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////5PBAAj/////O8MAAP//AACAAAAA/+AAACwAAAD/////QIIAwP////9IAAAB/AAAAzvgAAH/////k+AAAP/gAABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8AIAA/////zxgAAD//wAAkAAAAP/gAAA4gwAA//8AAJAAAAD/4AAAOGAAFf////9IAAAB/AAAAzhgBAD/////SAAAAfwAAAM4YAAA/+AAAEgAAAH8AAADPGDMAP////84AAAq/////5ADYAD/////OAAAAP////+QA2AE/////4BgAAD/4AAAOGMAIP////+AYwAA/////zwDGuD/////KAB8Iv////9AggAk/////zh+AAD/////TMYxgv////9IAAAB/AAAAzh+ABj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADSAAAMP////88A/Lr/////ygA6l7/////QIIAFP////84fgAk/////0zGMYL/////SAAAAfwAAANIAAAU/////5PgAAD/4AAAOH4AQP////9MxjGC/////0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 252 + flags: 1 + section: .text + - kind: Object + name: '@13' + size: 21 + flags: 2 + section: .data + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInitWA + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: currID + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: __fstLoad + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 14 + addend: 0 +- symbol: 0 + hash: 810a998a85fc079040c4778b8509c671b3705454 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIA4P////+AYAAA/+AAAEgAAAH8AAADOAAAAf////+QAAAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAAzgAAAD/////kAAAAP/gAAA4YAAA/////0gAAAH8AAADkGAAAP/gAACAAAAA/+AAAJAAAAD/4AAAOGAAAP/gAABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAYAAA/+AAAIBjACD/////PAMa4P////8oAHwi/////0GCACD/////gGAAAP/gAACAYwAg/////zwD8uv/////KADqXv////9BggAM/////zgAAAH/////kAAAAP/gAAA8YAAA//8AADhjAAD//wAAOIAAAP////84oACA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAA3x/G3j/////PGAAAP//AAA4YwAA//8AAH/k+3j/////OKAABP////9IAAAB/AAAA4gfAAb/////PGAAAP//AAA4YwAA//8AAJgDAAT/////iB8AB/////88YAAA//8AADhjAAD//wAAmAMABf////84AAAA/////5AAAAD/4AAAOGAAAf////9IAAAB/AAAA4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: DVDInit + size: 268 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 20 + addend: 0 +- symbol: 0 + hash: ab7e02321201f16438ab7b5599462524f503d39c + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////4AAAAD/4AAALAAAAP////9AggEg/////4BgAAD/4AAASAAAAfwAAAM4AAAB/////5AAAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAYP////88YIAA/////4gDMYf/////KAAAgP////9AggBQ/////0gAAAH8AAADLAMAAP////9AggAU/////zyAAAD//wAAOGAAAP////84hAAA//8AAEgAAAH8AAADLAMAAP////9AggAQ/////zhgAAD/////OIAAAP/gAABIAAAB/AAAAywDAAD/////QIIAFP////88YAAA//8AADiAAAD/4AAAOGMAAP//AABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzwAgAD/////OGAAAP////+QYAAA/+AAADhgAAD/4AAAkAAAAP/gAACQAAAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAA4BgAAD/4AAAgGMAIP////88Axrg/////ygAfCL/////QYIAGP////88A/Lr/////ygA6l7/////QYIADP////84AAAB/////5AAAAD/4AAAP+AAAP//AAA4gAAA/////zh/AAD//wAAOKAAgP////9IAAAB/AAAAz/AgAD/////OH8AAP//AAB/xPN4/////zigAAT/////SAAAAfwAAAOIngAG/////zi/AAD//wAAOAAAAP////84YAAB/////5iFAAT/////iJ4AB/////+YhQAF/////5AAAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: DVDInit + size: 340 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTicketViewBuffer + size: 224 + flags: 2 + section: .bss + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDNumTmdBytes + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ESP_DiGetTmd + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTmdBuffer + size: 18944 + flags: 2 + section: .bss + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 26 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 27 + addend: 0 +- symbol: 0 + hash: d4ad2fa64f76b649b5ba03344967c6bdffaad6b5 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////4AAAAD/4AAALAAAAP////9AggEg/////4BgAAD/4AAASAAAAfwAAAM4AAAB/////5AAAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAYP////88YIAA/////4gDMYf/////KAAAgP////9AggBQ/////0gAAAH8AAADLAMAAP////9AggAU/////zyAAAD//wAAOGAAAP////84hAAA//8AAEgAAAH8AAADLAMAAP////9AggAQ/////zhgAAD/////OIAAAP/gAABIAAAB/AAAAywDAAD/////QIIAFP////88YAAA//8AADiAAAD/4AAAOGMAAP//AABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzwAgAD/////OGAAAP////+QYAAA/+AAADhgAAD/4AAAkAAAAP/gAACQAAAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAA4BgAAD/4AAAgGMAIP////88Axrg/////ygAfCL/////QYIAGP////88A/Lr/////ygA6l7/////QYIADP////84AAAB/////5AAAAD/4AAAP+AAAP//AAA4gAAA/////zh/AAD//wAAOKAAgP////9IAAAB/AAAAz/AgAD/////OH8AAP//AAB/xPN4/////zigAAT/////SAAAAfwAAAM4vwAA//8AAIgeAAb/////mAUABP////84AAAA/////zhgAAH/////iJ4AB/////+YhQAF/////5AAAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: DVDInit + size: 340 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTicketViewBuffer + size: 224 + flags: 2 + section: .bss + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDNumTmdBytes + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ESP_DiGetTmd + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTmdBuffer + size: 18944 + flags: 2 + section: .bss + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 26 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 27 + addend: 0 +- symbol: 0 + hash: b750a705466c60a773f49f274211c8fdde458235 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////4AAAAD/4AAALAAAAP////9AggFY/////4BgAAD/4AAASAAAAfwAAAM4AAAB/////5AAAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAcP////88YIAA/////4gDMYf/////KAAAgP////9AggBg/////0gAAAH8AAADfH8beP////8sHwAA/////0CCABj/////OGAAAP////88gAAA//8AADiEAAD//wAASAAAAfwAAAN8fxt4/////ywfAAD/////QIIAFP////84YAAA/////ziAAAD/4AAASAAAAfwAAAN8fxt4/////ywfAAD/////QIIAGP////88YAAA//8AADhjAAD//wAAOIAAAP/gAABIAAAB/AAAA3x/G3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////+QAAAA/+AAADhgAAD/////SAAAAfwAAAOQYAAA/+AAAIAAAAD/4AAAkAAAAP/gAAA4YAAA/+AAAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAA4BgAAD/4AAAgGMAIP////88Axrg/////ygAfCL/////QYIAIP////+AYAAA/+AAAIBjACD/////PAPy6/////8oAOpe/////0GCAAz/////OAAAAf////+QAAAA/+AAADxgAAD//wAAOGMAAP//AAA4gAAA/////zigAID/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADfH4beP////88YAAA//8AADhjAAD//wAAf8TzeP////84oAAE/////0gAAAH8AAADiB4ABv////88YAAA//8AADhjAAD//wAAmAMABP////+IHgAH/////zxgAAD//wAAOGMAAP//AACYAwAF/////zgAAAD/////kAAAAP/gAAA4YAAB/////0gAAAH8AAADg+EADP////+DwQAI/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: DVDInit + size: 396 + flags: 1 + section: .text + - kind: Object + name: DVDInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTicketViewBuffer + size: 224 + flags: 2 + section: .bss + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDNumTmdBytes + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ESP_DiGetTmd + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDTmdBuffer + size: 18944 + flags: 2 + section: .bss + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDFSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IDShouldBe + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDThreadQueue + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowUnmaskStatusInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowMaskCoverInterrupt + size: 0 + flags: 1 + section: .text + - kind: Object + name: FirstTimeInBootrom + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: __DVDLayoutFormat + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DVDSetAutoFatalMessaging + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 23 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 360 + kind: PpcEmbSda21 + symbol: 27 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 28 + addend: 0 diff --git a/assets/DVDLowReset.yml b/assets/DVDLowReset.yml new file mode 100644 index 0000000..c98cdc3 --- /dev/null +++ b/assets/DVDLowReset.yml @@ -0,0 +1,754 @@ +- symbol: 0 + hash: b8cb8b2f2123504acf22a874a5fd21338c1496ad + signature: fAgCpv////88gMwA/////5ABAAT/////OAAAAv////+UIf/g/////79BAAj/////O+QwAP////+QBGAE/////4PEMCT/////V8AHuP////9gAAAB/////5QfACT/////SAAAAfwAAAM8oIAA/////4AFAPj/////PKBDHP////84pd6D/////1QA8L7/////fAUAFv////9UAIv+/////xwAAAz/////O0QAAP////87YwAA/////1Qc6P7/////O6AAAP////9IAAAB/AAAA3y6IBD/////fBsZEP////9sBIAA/////2+jgAD/////fBwoEP////98YyEQ/////3xkIRD/////fGMA0f////9Agv/c/////2PAAAX/////kB8AAP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAAu0EACP////+AAQAk/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowReset + size: 188 + flags: 1 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetOccurred + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: LastResetEnd + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 4 + - offset: 164 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 841144758c7176d70d48a6d25dc8b9be24d3d6da + signature: fAgCpv////+QAQAE/////5Qh/+j/////v6EADP////84AAAC/////zxgzAD/////kANgBP////88YMwA/////4PjMCT/////V+AHuP////9gAAAB/////zxgzAD/////kAMwJP////9IAAAB/AAAAzvEAAD/////O6MAAP////9IAAAB/AAAA3zeIBD/////fJ0ZEP////88YIAA/////4ADAPj/////VADwvv////88YAAC/////zhj6Ej/////fAAblv////8cAAAM/////1QF6P7/////OAAAAP////9shIAA/////2wDgAD/////fAUwEP////98YyEQ/////3xkIRD/////fGMA0f////9Agv+4/////2PgAAT/////YAAAAf////88YMwA/////5ADMCT/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADkIAAAP/gAACQYAAA/+AAAIABABz/////u6EADP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDLowReset + size: 196 + flags: 5 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetOccurred + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: LastResetEnd + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 52 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 3 + addend: 4 + - offset: 172 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 707b98bf5b70a5f5f7b6b7661405ec1e6f49809b + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5BhAAj/////OAAAAf////+YAAAA/+AAAIBhAAj/////OIAAAf////9IAAAB/AAAA3x/G3j/////OGAAAP/gAABIAAAB/AAAAziAAIr/////gGAAAP/gAACAAAAA/+AAAFQAKDT/////fIMBrv////+AgAAA/+AAAIBgAAD/4AAAgAAAAP/gAABUACg0/////3xjAhT/////kIMABP////+AYAAA/+AAADiAAIr/////gKAAAP/gAACAAAAA/+AAAFQAKDT/////fKUCFP////84wAAg/////zjgAAD/////OQAAAP////89IAAA//8AADkpAAD//wAAf+r7eP////9IAAAB/AAAA3x+G3j/////LB4AAP////9BggAo/////zxgAAD//wAAOGMAAP//AAB/xPN4/////0zGMYL/////SAAAAfwAAAM4AAAA/////5gfAAj/////OGAAAP////9IAAAI/////zhgAAH/////g+EAHP////+DwQAY/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: DVDLowReset + size: 228 + flags: 1 + section: .text + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: newContext + size: 0 + flags: 2 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: nextCommandBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: spinUpValue + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2624' + size: 53 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: b9072f630cbb5cd5b4e331c5fdea416821ce62f3 + signature: lCH/8P////98CAKm/////zzgAAD//wAAOSAAAf////+QAQAU/////zjnAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+AgAAA/+AAAJkgAAD/4AAAVIgoNP////98x0IU/////4imAAj/////fAUA0P////98ACt4/////1QAD/7/////KAAAAf////9AggAg/////zh/AkD/////TMYxgv////9IAAAB/AAAAzh/Anj/////TMYxgv////9IAAAB/AAAA0gAAAD/////gKYADP////88BQEV/////ygA2u3/////QYIAFP////84fwKo/////0zGMYL/////SAAAAfwAAANIAAAA/////3xnQS7/////OAQAAf////8sAAAE/////5EmAAT/////mSYACP////+QAAAA/+AAAEGAAAz/////OAAAAP////+QAAAA/+AAAIBgAAD/4AAAPKAAAP//AABUhCg0/////zgDAAH/////OKUAAP//AAAsAAAE/////5AAAAD/4AAAf8UiFP////9BgAAM/////zgAAAD/////kAAAAP/gAACAYAAA/+AAAD0gAAD//wAAVAAoNP////84gACK/////3yDAa7/////f8rzeP////85KQAA//8AADiAAIr/////gAAAAP/gAAA4wAAg/////4BgAAD/4AAAOOAAAP////9UACg0/////4CgAAD/4AAAfGMCFP////85AAAA/////5CjAAT/////gAAAAP/gAACAoAAA/+AAAFQAKDT/////gGAAAP/gAAB8pQIU/////0gAAAH8AAADLAMAAP////9BggAk/////3xkG3j/////OH8IYP////9MxjGC/////0gAAAH8AAADOAAAAP////84YAAA/////5geAAj/////SAAACP////84YAAB/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowReset + size: 380 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3872' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: spinUpValue + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 3b8faad0a5bc01fc2d7ba6c6414257b1be48498e + signature: lCH/8P////98CAKm/////zzgAAD//wAAOSAAAf////+QAQAU/////zjnAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+AgAAA/+AAAJkgAAD/4AAAVIgoNP////98x0IU/////4imAAj/////fAUA0P////98ACt4/////1QAD/7/////KAAAAf////9AggAg/////zh/AkD/////TMYxgv////9IAAAB/AAAAzh/Anj/////TMYxgv////9IAAAB/AAAA0gAAAD/////gKYADP////88BQEV/////ygA2u3/////QYIAFP////84fwKo/////0zGMYL/////SAAAAfwAAANIAAAA/////3xnQS7/////OAQAAf////8sAAAE/////5EmAAT/////mSYACP////+QAAAA/+AAAEGAAAz/////OAAAAP////+QAAAA/+AAAIBgAAD/4AAAPKAAAP//AABUhCg0/////zgDAAH/////OKUAAP//AAAsAAAE/////5AAAAD/4AAAf8UiFP////9BgAAM/////zgAAAD/////kAAAAP/gAACAYAAA/+AAAD0gAAD//wAAVAAoNP////84gACK/////3yDAa7/////f8rzeP////85KQAA//8AADiAAIr/////gAAAAP/gAAA4wAAg/////4BgAAD/4AAAOOAAAP////9UACg0/////4CgAAD/4AAAfGMCFP////85AAAA/////5CjAAT/////gAAAAP/gAACAoAAA/+AAAFQAKDT/////gGAAAP/gAAB8pQIU/////0gAAAH8AAADLAMAAP////9BggAk/////3xkG3j/////OH8IYP////9MxjGC/////0gAAAH8AAADOAAAAP////+YHgAI/////zhgAAD/////SAAACP////84YAAB/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowReset + size: 380 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3815' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: spinUpValue + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 0dcdd3551cf6699af3b38e58464b76599ebe5ae2 + signature: lCH/8P////98CAKm/////zzgAAD//wAAOSAAAf////+QAQAU/////zjnAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+AgAAA/+AAAJkgAAD/4AAAVIgoNP////98x0IU/////4imAAj/////fAUA0P////98ACt4/////1QAD/7/////KAAAAf////9AggAg/////zh/Ahj/////TMYxgv////9IAAAB/AAAAzh/AlD/////TMYxgv////9IAAAB/AAAA0gAAAD/////gKYADP////88BQEV/////ygA2u3/////QYIAFP////84fwKA/////0zGMYL/////SAAAAfwAAANIAAAA/////3xnQS7/////OAQAAf////8sAAAE/////5EmAAT/////mSYACP////+QAAAA/+AAAEGAAAz/////OAAAAP////+QAAAA/+AAAIBgAAD/4AAAPKAAAP//AABUhCg0/////zgDAAH/////OKUAAP//AAAsAAAE/////5AAAAD/4AAAf8UiFP////9BgAAM/////zgAAAD/////kAAAAP/gAACAYAAA/+AAAD0gAAD//wAAVAAoNP////84gACK/////3yDAa7/////f8rzeP////85KQAA//8AADiAAIr/////gAAAAP/gAAA4wAAg/////4BgAAD/4AAAOOAAAP////9UACg0/////4CgAAD/4AAAfGMCFP////85AAAA/////5CjAAT/////gAAAAP/gAACAoAAA/+AAAFQAKDT/////gGAAAP/gAAB8pQIU/////0gAAAH8AAADLAMAAP////9BggAk/////3xkG3j/////OH8F4P////9MxjGC/////0gAAAH8AAADOAAAAP////84YAAA/////5geAAj/////SAAACP////84YAAB/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowReset + size: 380 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3480' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: spinUpValue + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/DVDLowStopMotor.yml b/assets/DVDLowStopMotor.yml new file mode 100644 index 0000000..536e7bb --- /dev/null +++ b/assets/DVDLowStopMotor.yml @@ -0,0 +1,885 @@ +- symbol: 0 + hash: 268a245de697b30376d82e8cd4de5429042873fb + signature: fAgCpv////+QAQAE/////5Qh//D/////kGEACP////+AAQAI/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADwA4wD/////PGDMAP////+QA2AI/////zgAAAH/////PGDMAP////+QA2Ac/////zxggAD/////gAMA+P////9UAPC+/////xyAAAr/////OGAAAP////9IAAAB/AAAAzhgAAH/////gAEAFP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDLowStopMotor + size: 100 + flags: 5 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StopAtNextInt + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SetTimeoutAlarm + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 3680b9d1d2c3e4051efdfc4b32f79404442f5083 + signature: fAgCpv////+QAQAE/////zgAAAD/////lCH/6P////+T4QAU/////5PBABD/////kGAAAP/gAAA8YMwA/////ziDYAD/////kAAAAP/gAAA8AOMA/////5ADYAj/////OAAAAf////88YAAA//8AAJAEABz/////PICAAP////874wAA//8AAIAEAPj/////OH8AAP////9UAPC+/////x/AAAr/////SAAAAfwAAAM8YAAA//8AADjjAAD//wAAOH8AAP////843gAA/////zigAAD/////SAAAAfwAAAOAAQAc/////zhgAAH/////g+EAFP////+DwQAQ/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowStopMotor + size: 140 + flags: 1 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StopAtNextInt + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: AlarmForTimeout + size: 40 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandlerForTimeout + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 8c2240eb6aae2260342fcd673616bb0e2872aedf + signature: fAgCpv////+QAQAE/////zgAAAD/////lCH/6P////+T4QAU/////5PBABD/////kGAAAP/gAAA8YMwA/////ziDYAD/////kAAAAP/gAAA8AOMA/////5ADYAj/////OAAAAf////88YAAA//8AAJAEABz/////PICAAP////874wAA//8AAIAEAPj/////OH8AAP////9UAPC+/////x/AAAr/////SAAAAfwAAAM8YAAA//8AADjjAAD//wAAOH8AAP////843gAA/////zigAAD/////SAAAAfwAAAOAAQAc/////zhgAAH/////g+EAFP////+DwQAQ/////3wIA6b/////OCEAGP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowStopMotor + size: 140 + flags: 1 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StopAtNextInt + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: AlarmForTimeout + size: 40 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandlerForTimeout + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 53b33d6866491294c6327de842773d430b34e9bc + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5hhAAj/////mIEACf////+QoQAM/////zgAAAH/////mAAAAP/gAACAYQAM/////ziAAAH/////SAAAAfwAAAN8fxt4/////zhgAAD/4AAASAAAAfwAAAM4gADj/////4BgAAD/4AAAgAAAAP/gAABUACg0/////3yDAa7/////iIEACP////+AYAAA/+AAAIAAAAD/4AAAVAAoNP////98YwIU/////5CDAAT/////iIEACf////+AYAAA/+AAAIAAAAD/4AAAVAAoNP////98YwIU/////5CDAAj/////gGAAAP/gAAA4gADj/////4CgAAD/4AAAgAAAAP/gAABUACg0/////3ylAhT/////OMAAIP////884AAA//8AADjnAAD//wAAOQAAIP////89IAAA//8AADkpAAD//wAAf+r7eP////9IAAAB/AAAA3x+G3j/////LB4AAP////9BggAo/////zxgAAD//wAAOGMAAP//AAB/xPN4/////0zGMYL/////SAAAAfwAAAM4AAAA/////5gfAAj/////OGAAAP////9IAAAI/////zhgAAH/////g+EAHP////+DwQAY/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: DVDLowStopMotor + size: 264 + flags: 1 + section: .text + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: newContext + size: 0 + flags: 2 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: nextCommandBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: diRegValCache + size: 32 + flags: 2 + section: .bss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2565' + size: 57 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 980b20d223c1c2b16630d52b6883db023fdd0928 + signature: lCH/8P////98CAKm/////z0AAAD//wAAOWAAAf////+QAQAU/////zkIAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+BQAAA/+AAAJlgAAD/4AAAVUkoNP////986EoU/////4jHAAj/////fAYA0P////98ADN4/////1QAD/7/////KAAAAf////9AggAk/////31EU3j/////OH8CQP////9MxjGC/////0gAAAH8AAADOH8CeP////9MxjGC/////0gAAAH8AAADSAAAAP////+AxwAM/////zwGARX/////KADa7f////9BggAU/////zh/Aqj/////TMYxgv////9IAAAB/AAAA0gAAAD/////fKhJLv////84CgAB/////ywAAAT/////kWcABP////+ZZwAI/////5AAAAD/4AAAQYAADP////84AAAA/////5AAAAD/4AAAgKAAAP/gAAA8wAAA//8AAFVHKDT/////OAUAAf////84xgAA//8AACwAAAT/////kAAAAP/gAAB/xjoU/////0GAAAz/////OAAAAP////+QAAAA/+AAAICgAAD/4AAAPOAAAP//AABUACg0/////zjAAOP/////fMUBrv////89IAAA//8AAH/K83j/////OOcAAP//AACAAAAA/+AAADkpAAD//wAAgKAAAP/gAAA4wAAg/////1QAKDT/////OQAAIP////98pQIU/////5BlAAT/////gAAAAP/gAACAYAAA/+AAAFQAKDT/////fGMCFP////+QgwAI/////ziAAOP/////gAAAAP/gAACAoAAA/+AAAFQAKDT/////gGAAAP/gAAB8pQIU/////0gAAAH8AAADLAMAAP////9BggAk/////3xkG3j/////OH8G6P////9MxjGC/////0gAAAH8AAADOAAAAP////84YAAA/////5geAAj/////SAAACP////84YAAB/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowStopMotor + size: 404 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3872' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diRegValCache + size: 32 + flags: 2 + section: .bss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 324 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: c602f1d867ef5453ce5450f0b2a1fdbd1d566bc6 + signature: lCH/8P////98CAKm/////z0AAAD//wAAOWAAAf////+QAQAU/////zkIAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+BQAAA/+AAAJlgAAD/4AAAVUkoNP////986EoU/////4jHAAj/////fAYA0P////98ADN4/////1QAD/7/////KAAAAf////9AggAk/////31EU3j/////OH8CGP////9MxjGC/////0gAAAH8AAADOH8CUP////9MxjGC/////0gAAAH8AAADSAAAAP////+AxwAM/////zwGARX/////KADa7f////9BggAU/////zh/AoD/////TMYxgv////9IAAAB/AAAA0gAAAD/////fKhJLv////84CgAB/////ywAAAT/////kWcABP////+ZZwAI/////5AAAAD/4AAAQYAADP////84AAAA/////5AAAAD/4AAAgKAAAP/gAAA8wAAA//8AAFVHKDT/////OAUAAf////84xgAA//8AACwAAAT/////kAAAAP/gAAB/xjoU/////0GAAAz/////OAAAAP////+QAAAA/+AAAICgAAD/4AAAPOAAAP//AABUACg0/////zjAAOP/////fMUBrv////89IAAA//8AAH/K83j/////OOcAAP//AACAAAAA/+AAADkpAAD//wAAgKAAAP/gAAA4wAAg/////1QAKDT/////OQAAIP////98pQIU/////5BlAAT/////gAAAAP/gAACAYAAA/+AAAFQAKDT/////fGMCFP////+QgwAI/////ziAAOP/////gAAAAP/gAACAoAAA/+AAAFQAKDT/////gGAAAP/gAAB8pQIU/////0gAAAH8AAADLAMAAP////9BggAk/////3xkG3j/////OH8EaP////9MxjGC/////0gAAAH8AAADOAAAAP////84YAAA/////5geAAj/////SAAACP////84YAAB/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowStopMotor + size: 404 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3480' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diRegValCache + size: 32 + flags: 2 + section: .bss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 324 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: d3ba4b4517a4940bb41871cc3ed2ba1a1bc98f38 + signature: lCH/8P////98CAKm/////z0AAAD//wAAOWAAAf////+QAQAU/////zkIAAD//wAAk+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////+BQAAA/+AAAJlgAAD/4AAAVUkoNP////986EoU/////4jHAAj/////fAYA0P////98ADN4/////1QAD/7/////KAAAAf////9AggAo/////31EU3j/////OH8CQP////9MxjGC/////0gAAAH8AAADOH8CeP////9MxjGC/////0gAAAH8AAADYAAAAP////9IAAAA/////4DHAAz/////PAYBFf////8oANrt/////0GCABT/////OH8CqP////9MxjGC/////0gAAAH8AAADSAAAAP////98qEku/////zgKAAH/////LAAABP////+RZwAE/////5lnAAj/////kAAAAP/gAABBgAAM/////zgAAAD/////kAAAAP/gAACAoAAA/+AAADzAAAD//wAAVUcoNP////84BQAB/////zjGAAD//wAALAAABP////+QAAAA/+AAAH/GOhT/////QYAADP////84AAAA/////5AAAAD/4AAAgKAAAP/gAAA84AAA//8AAFQAKDT/////OMAA4/////98xQGu/////z0gAAD//wAAf8rzeP////845wAA//8AAIAAAAD/4AAAOSkAAP//AACAoAAA/+AAADjAACD/////VAAoNP////85AAAg/////3ylAhT/////kGUABP////+AAAAA/+AAAIBgAAD/4AAAVAAoNP////98YwIU/////5CDAAj/////OIAA4/////+AAAAA/+AAAICgAAD/4AAAVAAoNP////+AYAAA/+AAAHylAhT/////SAAAAfwAAAMsAwAA/////0GCACT/////fGQbeP////84fwbo/////0zGMYL/////SAAAAfwAAAM4AAAA/////5geAAj/////OGAAAP////9IAAAI/////zhgAAH/////gAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: DVDLowStopMotor + size: 408 + flags: 1 + section: .text + - kind: Object + name: dvdContexts + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@3815' + size: 50 + flags: 2 + section: .data + - kind: Object + name: freeDvdContext + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: requestInProgress + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: freeCommandBuf + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: diRegValCache + size: 32 + flags: 2 + section: .bss + - kind: Function + name: doTransactionCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: DiFD + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/DVDLowWaitCoverClose.yml b/assets/DVDLowWaitCoverClose.yml new file mode 100644 index 0000000..df4dae9 --- /dev/null +++ b/assets/DVDLowWaitCoverClose.yml @@ -0,0 +1,74 @@ +- symbol: 0 + hash: a2f2555c70cdf306d3c910de993f0cbb2be63823 + signature: kGAAAP/gAAA4AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAL/////PIDMAP////+QBGAE/////zhgAAH/////ToAAIP////8= + symbols: + - kind: Function + name: DVDLowWaitCoverClose + size: 40 + flags: 5 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingCoverClose + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StopAtNextInt + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 16 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: fefe82e79bdcbcb64edd89f1c87f30ab3f4e94ff + signature: OAAAAf////+QYAAA/+AAADxgzAD/////kAAAAP/gAAA4AAAA/////ziDYAD/////kAAAAP/gAAA4AAAC/////zhgAAH/////kAQABP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDLowWaitCoverClose + size: 44 + flags: 1 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingCoverClose + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StopAtNextInt + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 diff --git a/assets/DVDReadDiskID.yml b/assets/DVDReadDiskID.yml new file mode 100644 index 0000000..396e5a3 --- /dev/null +++ b/assets/DVDReadDiskID.yml @@ -0,0 +1,386 @@ +- symbol: 0 + hash: 297ac0d032954e2b7fb8a245d7cc32ecfe7504b3 + signature: fAgCpv////+QAQAE/////zgAAAX/////lCH/2P////+T4QAk/////zvjAAD/////k8EAIP////+QAwAI/////zhgACD/////OAAAAP////+QnwAY/////5B/ABT/////kB8AEP////+QHwAg/////5C/ACj/////gAAAAP/gAAAsAAAA/////0GCADD/////gH8ACP////8oAwAB/////0GCABj/////OAP//P////8oAAAB/////0CBAAz/////KAMADv////9AggAQ/////4B/ABj/////gJ8AFP////9IAAAB/AAAA0gAAAH8AAADOAAAAv////+QHwAM/////zvDAAD/////OJ8AAP////84YAAC/////0gAAAH8AAADgAAAAP/gAAA74wAA/////ygAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA3/D83j/////SAAAAfwAAAN/4/t4/////4ABACz/////g+EAJP////+DwQAg/////zghACj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DVDReadDiskID + size: 212 + flags: 1 + section: .text + - kind: Object + name: autoInvalidation + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPushWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 60 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 9edf2da295c8aad931b52829ca7ca1a157011fb5 + signature: fAgCpv////+QAQAE/////zgAAAX/////lCH/2P////+T4QAk/////zvjAAD/////k8EAIP////+QAwAI/////zhgACD/////OAAAAP////+QnwAY/////5B/ABT/////kB8AEP////+QHwAg/////5C/ACj/////gAAAAP/gAAAsAAAA/////0GCADD/////gH8ACP////8oAwAB/////0GCABj/////OAP//P////8oAAAB/////0CBAAz/////KAMADv////9AggAQ/////4B/ABj/////gJ8AFP////9IAAAB/AAAA0gAAAH8AAADOAAAAv////+QHwAM/////zvDAAD/////OJ8AAP////84YAAC/////0gAAAH8AAADgAAAAP/gAAA74wAA/////ygAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA3/D83j/////SAAAAfwAAAOAAQAs/////3/j+3j/////g+EAJP////+DwQAg/////3wIA6b/////OCEAKP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDReadDiskID + size: 212 + flags: 1 + section: .text + - kind: Object + name: autoInvalidation + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPushWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 60 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 607798584b6b8ee58c075d19fbbc6e3338c23a2a + signature: fAgCpv////+QAQAE/////5Qh/9j/////v4EAGP////874wAA/////zuEAAD/////kKEAEP////88YAAA//8AADvDAAD//wAAKB8AAP////9AggAY/////zhgAAD/4AAAOIAI6f////84vgbc/////0zGMYL/////SAAAAfwAAAMoHAAA/////0CCABj/////OGAAAP/gAAA4gAjq/////zi+ByT/////TMYxgv////9IAAAB/AAAA1eABv//////QYIAGP////84YAAA/+AAADiACOz/////OL4HYP////9MxjGC/////0gAAAH8AAADOAAABf////+QHwAI/////5OfABj/////OAAAIP////+QHwAU/////zgAAAD/////kB8AEP////84AAAA/////5AfACD/////gAEAEP////+QHwAo/////zhgAAL/////OJ8AAP////9IAAAB/AAAA3x9G3j/////LB0AAP////9AggAY/////zhgAAD/4AAAOIAI9v////84vgec/////0zGMYL/////SAAAAfwAAAN/o+t4/////4ABACz/////u4EAGP////84IQAo/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDReadDiskID + size: 232 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Object + name: '@21' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: issueCommand + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 83406834191f788a479d3fd9734d9c9b79425a04 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v4EAGP////874wAA/////zuEAAD/////kKEAEP////88YAAA//8AADvDAAD//wAAKB8AAP////9AggAY/////zhgAAD/4AAAOIAI2/////84vgbc/////0zGMYL/////SAAAAfwAAAMoHAAA/////0CCABj/////OGAAAP/gAAA4gAjc/////zi+ByT/////TMYxgv////9IAAAB/AAAA1eABv//////QYIAGP////84YAAA/+AAADiACN7/////OL4HYP////9MxjGC/////0gAAAH8AAADOAAABf////+QHwAI/////5OfABj/////OAAAIP////+QHwAU/////zgAAAD/////kB8AEP////84AAAA/////5AfACD/////gAEAEP////+QHwAo/////zhgAAL/////OJ8AAP////9IAAAB/AAAA3x9G3j/////LB0AAP////9AggAY/////zhgAAD/4AAAOIAI6P////84vgec/////0zGMYL/////SAAAAfwAAAN/o+t4/////4ABACz/////u4EAGP////84IQAo/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDReadDiskID + size: 232 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Object + name: '@21' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: issueCommand + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: d66b17a1a8deb836fa044f317aac53e5420e0bc9 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v4EAGP////874wAA/////zuEAAD/////kKEAEP////88YAAA//8AADvDAAD//wAAKB8AAP////9AggAY/////zhgAAD/4AAAOIAI7P////84vgbc/////0zGMYL/////SAAAAfwAAAMoHAAA/////0CCABj/////OGAAAP/gAAA4gAjt/////zi+ByT/////TMYxgv////9IAAAB/AAAA1eABv//////QYIAGP////84YAAA/+AAADiACO//////OL4HYP////9MxjGC/////0gAAAH8AAADOAAABf////+QHwAI/////5OfABj/////OAAAIP////+QHwAU/////zgAAAD/////kB8AEP////84AAAA/////5AfACD/////gAEAEP////+QHwAo/////zhgAAL/////OJ8AAP////9IAAAB/AAAA3x9G3j/////LB0AAP////9AggAY/////zhgAAD/4AAAOIAI+f////84vgec/////0zGMYL/////SAAAAfwAAAN/o+t4/////4ABACz/////u4EAGP////84IQAo/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDReadDiskID + size: 232 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Object + name: '@21' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: issueCommand + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/DVDReset.yml b/assets/DVDReset.yml new file mode 100644 index 0000000..bfbd8e8 --- /dev/null +++ b/assets/DVDReset.yml @@ -0,0 +1,74 @@ +- symbol: 0 + hash: ac491161099273428cf0376b1a9477680808e332 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAAM8YMwA/////zgAACr/////kANgAP////84g2AA/////zgAAAD/////gGNgBP////+QZAAE/////5AAAAD/4AAAkAAAAP/gAACAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DVDReset + size: 68 + flags: 1 + section: .text + - kind: Function + name: DVDLowReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetRequired + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: fb707bf800f0c87d16e6d0a3161023d8ae500dd6 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAAM4AAAq/////zxgzAD/////kANgAP////88YMwA/////4ADYAT/////PGDMAP////+QA2AE/////zgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDReset + size: 76 + flags: 1 + section: .text + - kind: Function + name: DVDLowReset + size: 0 + flags: 5 + section: .text + - kind: Object + name: ResetRequired + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 diff --git a/assets/DVDSetAutoFatalMessaging.yml b/assets/DVDSetAutoFatalMessaging.yml new file mode 100644 index 0000000..9fa71f6 --- /dev/null +++ b/assets/DVDSetAutoFatalMessaging.yml @@ -0,0 +1,270 @@ +- symbol: 0 + hash: 4a3dea7febf021321ed40143f2f8f98045ed0d34 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98fxt4/////0gAAAH8AAADgKAAAP/gAAAsHwAA/////ziAAAD/////fAUA0P////98ACt4/////1QfD/7/////QYIADP////88gAAA//8AADiEAAD//wAAkIAAAP/gAABIAAAB/AAAA3/j+3j/////g+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: DVDSetAutoFatalMessaging + size: 92 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 7c5a79f38261e1814eb0fc84b13e08ce2a61c641 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////3x+G3j/////SAAAAfwAAAOAAAAA/+AAACgAAAD/////QYIADP////874AAB/////0gAAAj/////O+AAAP////8sHgAA/////0GCABD/////PIAAAP//AAA4BAAA//8AAEgAAAj/////OAAAAP////+QAAAA/+AAAEgAAAH8AAADf+P7eP////+AAQAc/////4PhABT/////g8EAEP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: DVDSetAutoFatalMessaging + size: 112 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ShowMessage + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 263f92417da4ec2eb72a46b2c614e08ad7bc6a34 + signature: fAgCpv////+QAQAE/////5Qh/+j/////v8EAEP////+QYQAI/////0gAAAH8AAADfH8beP////+AAAAA/+AAACgAAAD/////QYIADP////87wAAB/////0gAAAj/////O8AAAP////+AAQAI/////ywAAAD/////QYIAEP////88YAAA//8AADgDAAD//wAASAAACP////84AAAA/////5AAAAD/4AAAf+P7eP////9IAAAB/AAAA3/D83j/////gAEAHP////+7wQAQ/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DVDSetAutoFatalMessaging + size: 116 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ShowMessage + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: e63f7732af5b00f6b5f5419836f4894fe4c26ea1 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////+QYQAI/////0gAAAH8AAADfH0beP////+AAAAA/+AAACwAAAD/////QYIADP////874AAB/////0gAAAj/////O+AAAP////9//Pt4/////4ABAAj/////LAAAAP////9BggAQ/////zxgAAD//wAAO8MAAP//AABIAAAI/////zvAAAD/////k8AAAP/gAAB/o+t4/////0gAAAH8AAADf4PjeP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: DVDSetAutoFatalMessaging + size: 144 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 36341f6ac94fe65cf46272a6cc8531246d067277 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////+QYQAI/////0gAAAH8AAADfH8beP////+AAAAA/+AAACwAAAD/////QYIADP////87oAAB/////0gAAAj/////O6AAAP////9/vut4/////4ABAAj/////LAAAAP////9BggAQ/////zxgAAD//wAAO4MAAP//AABIAAAI/////zuAAAD/////k4AAAP/gAAB/4/t4/////0gAAAH8AAADf8PzeP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: DVDSetAutoFatalMessaging + size: 144 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/DecrementerExceptionCallback.yml b/assets/DecrementerExceptionCallback.yml new file mode 100644 index 0000000..afd9a2a --- /dev/null +++ b/assets/DecrementerExceptionCallback.yml @@ -0,0 +1,1770 @@ +- symbol: 0 + hash: 045bf56b8c213b3fb1352c5de0a3b23c669e16a8 + signature: fAgCpv////+QAQAE/////5Qh/Qj/////vyEC3P////87xAAA/////zxgAAD//wAAO6MAAP//AABIAAAB/AAAAztEAAD/////OyMAAP////+D4AAA/+AAACgfAAD/////QIIADP////9/w/N4/////0gAAAH8AAADgB8ACP////+AvwAM/////28kgAD/////bAOAAP////98BdAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCABT/////f+P7eP////9IAAAB/AAAA3/D83j/////SAAAAfwAAAODnwAU/////5OAAAD/4AAAKBwAAP////9AggAU/////zgAAAD/////OGAAAP/gAACQAwAE/////0gAAAz/////OAAAAP////+QHAAQ/////0gAAAH8AAADLAMAAP////9AggAY/////zh9Aej/////OIAB3v////84vQKM/////0zGMYL/////SAAAAfwAAAODfwAA/////zgAAAD/////kB8AAP////84wAAA/////zhgAAD/////gB8AGP////+AvwAc/////2xkgAD/////bAOAAP////98BTAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCADj/////OH8AAP////84wAAA/////zigAAD/////OPsAAP////9IAAAB/AAAA0gAAAH8AAADLAMAAP////9AggAY/////zh9Aej/////OIAB6P////84vQKM/////0zGMYL/////SAAAAfwAAAOAAAAA/+AAACgAAAD/////QYIADP////+AYAAA/+AAAEgAAAH8AAADSAAAAfwAAAM4YQAQ/////0gAAAH8AAADOGEAEP////9IAAAB/AAAAzh/AAD/////OJ4AAP////85mwAA/////32IA6b/////ToAAIf////84YQAQ/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEC/P////+7IQLc/////zghAvj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 404 + flags: 2 + section: .text + - kind: Object + name: '@46' + size: 137 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetTimer + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCheckAlarmQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: dc78bf959b24f9233369d89525d967a936669a99 + signature: fAgCpv////+QAQAE/////5Qh/Qj/////vyEC3P////87xAAA/////zxgAAD//wAAO6MAAP//AABIAAAB/AAAAztEAAD/////OyMAAP////+D4AAA/+AAACgfAAD/////QIIADP////9/w/N4/////0gAAAH8AAADgB8ACP////+AvwAM/////28kgAD/////bAOAAP////98BdAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCABT/////f+P7eP////9IAAAB/AAAA3/D83j/////SAAAAfwAAAODnwAU/////5OAAAD/4AAAKBwAAP////9AggAU/////zgAAAD/////OGAAAP/gAACQAwAE/////0gAAAz/////OAAAAP////+QHAAQ/////0gAAAH8AAADLAMAAP////9AggAY/////zh9Afj/////OIAB7/////84vQKc/////0zGMYL/////SAAAAfwAAAODfwAA/////zgAAAD/////kB8AAP////84wAAA/////zhgAAD/////gB8AGP////+AvwAc/////2xkgAD/////bAOAAP////98BTAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCADj/////OH8AAP////84wAAA/////zigAAD/////OPsAAP////9IAAAB/AAAA0gAAAH8AAADLAMAAP////9AggAY/////zh9Afj/////OIAB+f////84vQKc/////0zGMYL/////SAAAAfwAAAOAAAAA/+AAACgAAAD/////QYIADP////+AYAAA/+AAAEgAAAH8AAADSAAAAfwAAAM4YQAQ/////0gAAAH8AAADOGEAEP////9IAAAB/AAAAzh/AAD/////OJ4AAP////85mwAA/////32IA6b/////ToAAIf////84YQAQ/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEC/P////+7IQLc/////zghAvj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 404 + flags: 2 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetTimer + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCheckAlarmQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 7713012464d1cb22477beae4476ca5f5a088da67 + signature: lCH9AP////98CAKm/////5ABAwT/////OWEDAP////9IAAAB/AAAA3ydI3j/////SAAAAfwAAAN8myN4/////3x6G3j/////g+AAAP/gAAAsHwAA/////0CCAAz/////f6PreP////9IAAAB/AAAA4B/AAj/////gL8ADP////9vQIAA/////2xkgAD/////fGXYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0GCABT/////f+P7eP////9IAAAB/AAAA3+j63j/////SAAAAfwAAAOD3wAU/////5PAAAD/4AAALB4AAP////9AggAU/////zgAAAD/////OGAAAP/gAACQAwAE/////0gAAAz/////OAAAAP////+QHgAQ/////zsgAAH/////SAAAAfwAAAMsAwAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAhP/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABAAz/////gAEADP////8sAAAA/////0CCAAj/////OyAAAP////+DnwAA/////zgAAAD/////kB8AAP////+AnwAY/////4C/ABz/////OGAAAP////84AAAA/////2wAgAD/////bISAAP////98ZRgQ/////3yEARD/////fIABEP////98hADQ/////ywEAAD/////QYIAXP////9/4/t4/////zjAAAD/////OKAAAP////9/h+N4/////0gAAAH8AAADOwAAAf////9IAAAB/AAAAywDAAD/////QIIAOP////88YAAA//8AADhjAAD//wAAOIACHf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIACP////87AAAA/////4AAAAD/4AAALAAAAP////9BggAM/////4BgAAD/4AAASAAAAfwAAANIAAAB/AAAAzhhABD/////SAAAAfwAAAM4YQAQ/////0gAAAH8AAADf+P7eP////9/pOt4/////3+M43j/////fYkDpv////9OgAQh/////zhhABD/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA3+j63j/////SAAAAfwAAAM5YQMA/////0gAAAH8AAADgAEDBP////98CAOm/////zghAwD/////ToAAIP////8= + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 484 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetTimer + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCheckAlarmQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@767' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@796' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 70305fb8ae3fc04f7dfd70da9ad95109f25fc048 + signature: lCH9AP////98CAKm/////5ABAwT/////OWEDAP////9IAAAB/AAAA3ydI3j/////SAAAAfwAAAN8myN4/////3x6G3j/////g+AAAP/gAAAsHwAA/////0CCAAz/////f6PreP////9IAAAB/AAAA4B/AAj/////gL8ADP////9vQIAA/////2xkgAD/////fGXYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0GCABT/////f+P7eP////9IAAAB/AAAA3+j63j/////SAAAAfwAAAOD3wAU/////5PAAAD/4AAALB4AAP////9AggAU/////zgAAAD/////OGAAAP/gAACQAwAE/////0gAAAz/////OAAAAP////+QHgAQ/////zsgAAH/////SAAAAfwAAAMsAwAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAg7/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABAAz/////gAEADP////8sAAAA/////0CCAAj/////OyAAAP////+DnwAA/////zgAAAD/////kB8AAP////+AnwAY/////4C/ABz/////OGAAAP////84AAAA/////2wAgAD/////bISAAP////98ZRgQ/////3yEARD/////fIABEP////98hADQ/////ywEAAD/////QYIAXP////9/4/t4/////zjAAAD/////OKAAAP////9/h+N4/////0gAAAH8AAADOwAAAf////9IAAAB/AAAAywDAAD/////QIIAOP////88YAAA//8AADhjAAD//wAAOIACGP////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIACP////87AAAA/////4AAAAD/4AAALAAAAP////9BggAM/////4BgAAD/4AAASAAAAfwAAANIAAAB/AAAAzhhABD/////SAAAAfwAAAM4YQAQ/////0gAAAH8AAADf+P7eP////9/pOt4/////3+M43j/////fYkDpv////9OgAQh/////zhhABD/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA3+j63j/////SAAAAfwAAAM5YQMA/////0gAAAH8AAADgAEDBP////98CAOm/////zghAwD/////ToAAIP////8= + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 484 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetTimer + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCheckAlarmQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@754' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@783' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 89089df36ba60823c62e3423d140f3443c0cd19b + signature: lCH9AP////98CAKm/////5ABAwT/////OWEDAP////9IAAAB/AAAA3ydI3j/////SAAAAfwAAAOQgQAU/////5BhABD/////g+AAAP/gAAAsHwAA/////0CCAAz/////f6PreP////9IAAAB/AAAA4ABABD/////gMEAFP////+AfwAI/////4C/AAz/////bACAAP////9sZIAA/////3xlMBD/////fIQBEP////98gAEQ/////3yEAND/////LAQAAP////9BggAU/////3/j+3j/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADg98AFP////+TwAAA/+AAACweAAD/////QIIAFP////84AAAA/////zhgAAD/4AAAkAMABP////9IAAAM/////zgAAAD/////kB4AEP////87YAAB/////0gAAAH8AAADLAMAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gAIO/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAM/////4ABAAz/////LAAAAP////9AggAI/////ztgAAD/////g58AAP////84AAAA/////5AfAAD/////gJ8AGP////+AvwAc/////zhgAAD/////OAAAAP////9sAIAA/////2yEgAD/////fGUYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0GCAFz/////f+P7eP////84wAAA/////zigAAD/////f4fjeP////9IAAAB/AAAAztAAAH/////SAAAAfwAAAMsAwAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAhj/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABAAj/////gAEACP////8sAAAA/////0CCAAj/////O0AAAP////+AAAAA/+AAACwAAAD/////QYIADP////+AYAAA/+AAAEgAAAH8AAADSAAAAfwAAAM4YQAY/////0gAAAH8AAADOGEAGP////9IAAAB/AAAA3/j+3j/////f6TreP////9/jON4/////32JA6b/////ToAEIf////84YQAY/////0gAAAH8AAADf6PreP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/o+t4/////0gAAAH8AAADOWEDAP////9IAAAB/AAAA4ABAwT/////fAgDpv////84IQMA/////06AACD///// + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 492 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetTimer + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCheckAlarmQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@751' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@780' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 336 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 376 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: ba598fbc678697619d791bd1c495a55cc973c56e + signature: fAgCpv////+QAQAE/////5Qh/9j/////k+EAJP////+TwQAg/////5OhABz/////fJ0jeP////+TgQAY/////0gAAAH8AAADgAAAAP/gAAA7hAAA/////zvDAAD/////KAAAAP////98HwN4/////0CCAAz/////f6PreP////9IAAAB/AAAA4AfAAj/////b8SAAP////+AvwAM/////2wDgAD/////fAXgEP////98YyEQ/////3xkIRD/////fGMA0f////9BggB8/////0gAAAH8AAADgN8ADP////844AAA/////4AfAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADf6PreP////9IAAAB/AAAA4B/ABT/////KAMAAP////+QYAAA/+AAAECCABT/////OAAAAP////84YAAA/+AAAJADAAT/////SAAADP////84AAAA/////5ADABD/////g98AAP////84wAAA/////2zEgAD/////kN8AAP////+AHwAY/////4C/ABz/////bAOAAP////98BTAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCABj/////OH8AAP////84/gAA/////zjAAAD/////OKAAAP////9IAAAB/AAAA4OAAAD/4AAAKBwAAP////9BggB0/////0gAAAH8AAADgNwADP////844AAA/////4AcAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADSAAAAfwAAAM5ngAA/////32IA6b/////OH8AAP////84nQAA/////06AACH/////SAAAAfwAAANIAAAB/AAAA3+j63j/////SAAAAfwAAAOAAQAs/////4PhACT/////g8EAIP////98CAOm/////4OhABz/////g4EAGP////84IQAo/////06AACD///// + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 528 + flags: 2 + section: .text + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtdec + size: 0 + flags: 1 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: cea61091f97aced24352bef7646f337df08eb3d2 + signature: lCH9IP////98CAKm/////5ABAuT/////k+EC3P////+TwQLY/////5OhAtT/////fJ0jeP////+TgQLQ/////0gAAAH8AAADg+AAAP/gAAB8nCN4/////3x+G3j/////LB8AAP////9AggAM/////3+j63j/////SAAAAfwAAAOAfwAI/////2/AgAD/////gL8ADP////9sZIAA/////3xl4BD/////fIQBEP////98gAEQ/////3yEANH/////QYIAfP////9IAAAB/AAAA4C/AAz/////OOAAAP////+AHwAI/////2zmgAD/////fQQoEP////98AwEQ/////2wFgAD/////fAdAEP////98xikQ/////3zFKRD/////fMYA0f////9BggAQ/////zhgAAD/////SAAAAfwAAANIAAA0/////zyAgAD/////bOOAAP////98BEAQ/////3xjKRD/////fGUpEP////98YwDR/////0GCABD/////fQNDeP////9IAAAB/AAAA0gAAAz/////OGT///////9IAAAB/AAAA3+j63j/////SAAAAfwAAAOAfwAU/////ywDAAD/////kGAAAP/gAABAggAU/////zgAAAD/////OGAAAP/gAACQAwAE/////0gAAAz/////OAAAAP////+QAwAQ/////4PfAAD/////OMAAAP////9swIAA/////5DfAAD/////gH8AGP////+AvwAc/////2xkgAD/////fGUwEP////98hAEQ/////3yAARD/////fIQA0f////9BggAY/////3/j+3j/////f8fzeP////84wAAA/////zigAAD/////SAAAAfwAAAODgAAA/+AAACwcAAD/////QYIAdP////9IAAAB/AAAA4C8AAz/////OOAAAP////+AHAAI/////2zmgAD/////fQQoEP////98AwEQ/////2wFgAD/////fAdAEP////98xikQ/////3zFKRD/////fMYA0f////9BggAQ/////zhgAAD/////SAAAAfwAAANIAAA0/////zyAgAD/////bOOAAP////98BEAQ/////3xjKRD/////fGUpEP////98YwDR/////0GCABD/////fQNDeP////9IAAAB/AAAA0gAAAz/////OGT///////9IAAAB/AAAA0gAAAH8AAADOGEACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAAN/zPN4/////3/j+3j/////f6TreP////99iQOm/////06ABCH/////OGEACP////9IAAAB/AAAA3+j63j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADf6PreP////9IAAAB/AAAA4ABAuT/////g+EC3P////+DwQLY/////4OhAtT/////g4EC0P////98CAOm/////zghAuD/////ToAAIP////8= + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 556 + flags: 2 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtdec + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: f484213ca1957b794fd7ca13bceab1b5ee3f4e79 + signature: lCH9IP////98CAKm/////5ABAuT/////k+EC3P////+TwQLY/////5OhAtT/////fJ0jeP////+TgQLQ/////0gAAAH8AAADg+AAAP/gAAB8nCN4/////3x+G3j/////LB8AAP////9AggAM/////3+j63j/////SAAAAfwAAAOAfwAI/////2/AgAD/////gL8ADP////9sZIAA/////3xl4BD/////fIQBEP////98gAEQ/////3yEANH/////QYIAfP////9IAAAB/AAAA4C/AAz/////OOAAAP////+AHwAI/////2zmgAD/////fQQoEP////98AwEQ/////2wFgAD/////fAdAEP////98xikQ/////3zFKRD/////fMYA0f////9BggAQ/////zhgAAD/////SAAAAfwAAANIAAA0/////zyAgAD/////bOOAAP////98BEAQ/////3xjKRD/////fGUpEP////98YwDR/////0GCABD/////fQNDeP////9IAAAB/AAAA0gAAAz/////OGT///////9IAAAB/AAAA3+j63j/////SAAAAfwAAAOAfwAU/////5BgAAD/4AAALAMAAP////9AggAU/////zhgAAD/4AAAOAAAAP////+QAwAE/////0gAAAz/////OAAAAP////+QAwAQ/////4PfAAD/////OMAAAP////9swIAA/////5DfAAD/////gH8AGP////+AvwAc/////2xkgAD/////fGUwEP////98hAEQ/////3yAARD/////fIQA0f////9BggAY/////3/j+3j/////f8fzeP////84wAAA/////zigAAD/////SAAAAfwAAAODgAAA/+AAACwcAAD/////QYIAdP////9IAAAB/AAAA4C8AAz/////OOAAAP////+AHAAI/////2zmgAD/////fQQoEP////98AwEQ/////2wFgAD/////fAdAEP////98xikQ/////3zFKRD/////fMYA0f////9BggAQ/////zhgAAD/////SAAAAfwAAANIAAA0/////zyAgAD/////bOOAAP////98BEAQ/////3xjKRD/////fGUpEP////98YwDR/////0GCABD/////fQNDeP////9IAAAB/AAAA0gAAAz/////OGT///////9IAAAB/AAAA0gAAAH8AAADOGEACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAAN/zPN4/////3/j+3j/////f6TreP////99iQOm/////06ABCH/////OGEACP////9IAAAB/AAAA3+j63j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADf6PreP////9IAAAB/AAAA4ABAuT/////g+EC3P////+DwQLY/////4OhAtT/////g4EC0P////98CAOm/////zghAuD/////ToAAIP////8= + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 556 + flags: 2 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtdec + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: dddce6375e299fc49a00b2fecc3f78ed351b405d + signature: fAgCpv////+QAQAE/////5Qh/RD/////k+EC7P////+TwQLo/////5OhAuT/////fJ0jeP////+TgQLg/////0gAAAH8AAADgAAAAP/gAAA7hAAA/////zvDAAD/////KAAAAP////98HwN4/////0CCAAz/////f6PreP////9IAAAB/AAAA4AfAAj/////b8SAAP////+AvwAM/////2wDgAD/////fAXgEP////98YyEQ/////3xkIRD/////fGMA0f////9BggB8/////0gAAAH8AAADgN8ADP////844AAA/////4AfAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADf6PreP////9IAAAB/AAAA4B/ABT/////KAMAAP////+QYAAA/+AAAECCABT/////OAAAAP////84YAAA/+AAAJADAAT/////SAAADP////84AAAA/////5ADABD/////g98AAP////84wAAA/////2zEgAD/////kN8AAP////+AHwAY/////4C/ABz/////bAOAAP////98BTAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCABj/////OH8AAP////84/gAA/////zjAAAD/////OKAAAP////9IAAAB/AAAA4OAAAD/4AAAKBwAAP////9BggB0/////0gAAAH8AAADgNwADP////844AAA/////4AcAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADSAAAAfwAAAM4YQAY/////0gAAAH8AAADOGEAGP////9IAAAB/AAAAzmeAAD/////fYgDpv////84fwAA/////zidAAD/////ToAAIf////84YQAY/////0gAAAH8AAADf6PreP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/o+t4/////0gAAAH8AAADgAEC9P////+D4QLs/////4PBAuj/////fAgDpv////+DoQLk/////4OBAuD/////OCEC8P////9OgAAg/////w== + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 560 + flags: 2 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtdec + size: 0 + flags: 1 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: ca59914595885d3e65b10aebdb69655758092f3b + signature: fAgCpv////+QAQAE/////5Qh/RD/////k+EC7P////+TwQLo/////5OhAuT/////fJ0jeP////+TgQLg/////0gAAAH8AAADgAAAAP/gAAA7hAAA/////zvDAAD/////KAAAAP////98HwN4/////0CCAAz/////f6PreP////9IAAAB/AAAA4AfAAj/////b8SAAP////+AvwAM/////2wDgAD/////fAXgEP////98YyEQ/////3xkIRD/////fGMA0f////9BggB8/////0gAAAH8AAADgN8ADP////844AAA/////4AfAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADf6PreP////9IAAAB/AAAA4B/ABT/////KAMAAP////+QYAAA/+AAAECCABT/////OAAAAP////84YAAA/+AAAJADAAT/////SAAADP////84AAAA/////5ADABD/////g98AAP////84wAAA/////2zEgAD/////kN8AAP////+AHwAY/////4C/ABz/////bAOAAP////98BTAQ/////3xjIRD/////fGQhEP////98YwDR/////0GCABj/////OH8AAP////84/gAA/////zjAAAD/////OKAAAP////9IAAAB/AAAA4OAAAD/4AAAKBwAAP////9BggB0/////0gAAAH8AAADgNwADP////844AAA/////4AcAAj/////bOWAAP////99BDAQ/////3wDARD/////bAaAAP////98B0AQ/////3ylMRD/////fKYxEP////98pQDR/////0GCABD/////OGAAAP////9IAAAB/AAAA0gAADT/////PICAAP////9s44AA/////3wEQBD/////fGMxEP////98ZjEQ/////3xjANH/////QYIAEP////99A0N4/////0gAAAH8AAADSAAADP////84ZP///////0gAAAH8AAADSAAAAfwAAAM4YQAY/////0gAAAH8AAADOGEAGP////9IAAAB/AAAAzmeAAD/////fYgDpv////84fwAA/////zidAAD/////ToAAIf////84YQAY/////0gAAAH8AAADf6PreP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/o+t4/////0gAAAH8AAADgAEC9P////+D4QLs/////4PBAuj/////g6EC5P////+DgQLg/////zghAvD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: DecrementerExceptionCallback + size: 560 + flags: 2 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtdec + size: 0 + flags: 5 + section: .text + - kind: Function + name: InsertAlarm + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/DecrementerExceptionHandler.yml b/assets/DecrementerExceptionHandler.yml new file mode 100644 index 0000000..cd0e72c --- /dev/null +++ b/assets/DecrementerExceptionHandler.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: 6c977557abdae5d2f6839f329a69540fb67dd446 + signature: kAQAAP////+QJAAE/////5BEAAj/////vMQAGP////98EeKm/////5AEAaj/////fBLipv////+QBAGs/////3wT4qb/////kAQBsP////98FOKm/////5AEAbT/////fBXipv////+QBAG4/////3wW4qb/////kAQBvP////98F+Km/////5AEAcD/////SAAAAPwAAAM= + symbols: + - kind: Function + name: DecrementerExceptionHandler + size: 76 + flags: 2 + section: .text + - kind: Function + name: DecrementerExceptionCallback + size: 0 + flags: 2 + section: .text + relocations: + - offset: 72 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: e4dc0b95d3d525555dd48d098822461b33b5b1a8 + signature: kAQAAP////+QJAAE/////5BEAAj/////vMQAGP////98EeKm/////5AEAaj/////fBLipv////+QBAGs/////3wT4qb/////kAQBsP////98FOKm/////5AEAbT/////fBXipv////+QBAG4/////3wW4qb/////kAQBvP////98F+Km/////5AEAcD/////lCH/+P////9IAAAA/AAAAw== + symbols: + - kind: Function + name: DecrementerExceptionHandler + size: 80 + flags: 2 + section: .text + - kind: Function + name: DecrementerExceptionCallback + size: 0 + flags: 2 + section: .text + relocations: + - offset: 76 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/ESP_GetTitleId.yml b/assets/ESP_GetTitleId.yml new file mode 100644 index 0000000..b3e981c --- /dev/null +++ b/assets/ESP_GetTitleId.yml @@ -0,0 +1,60 @@ +- symbol: 0 + hash: 29176266331eb4f8704bc71665c4ca1b90eea2c1 + signature: VCsG/v////98LAt4/////yFr/sD/////fCFZbv////98CAKm/////5AMAAT/////OOEA8P////+T7P/8/////3x/G3j/////gIAAAP/gAAAsBAAA/////0GAABD/////OAAAAP////98AwBA/////0CCAAz/////OGD8B/////9IAABA/////zhhACD/////OAAACP////+QYQDw/////3yDI3j/////OIAAIP////84oAAA/////5ABAPT/////OMAAAf////9IAAAB/AAAAywDAAD/////QIIAFP////+AAQAg/////4CBACT/////kJ8ABP////+QHwAA/////4FBAAD/////gAoABP////+D6v/8/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: ESP_GetTitleId + size: 152 + flags: 1 + section: .text + - kind: Object + name: __esFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IOS_Ioctlv + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 04597748a872826b93bedaff192420160e9d09f7 + signature: VCsG/v////8ha/7A/////3wsC3j/////fCFZbv////98CAKm/////5AMAAT/////k+z//P////+TzP/4/////5Os//T/////fH0beP////87wAAA/////zvhAPD/////gAAAAP/gAAAsAAAA/////0GAABD/////OAAAAP////98HQBA/////0CCAAz/////O8D8B/////9IAABI/////zgBACD/////kB8AAP////84AAAI/////5AfAAT/////gGAAAP/gAAA4gAAg/////zigAAD/////OMAAAf////9/5/t4/////0gAAAH8AAADfH4beP////8sHgAA/////0CCABT/////gAEAIP////+AYQAk/////5B9AAT/////kB0AAP////9/w/N4/////4FBAAD/////g+r//P////+Dyv/4/////4Oq//T/////gAoABP////98CAOm/////31BU3j/////ToAAIP////8= + symbols: + - kind: Function + name: ESP_GetTitleId + size: 184 + flags: 1 + section: .text + - kind: Object + name: __esFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IOS_Ioctlv + size: 0 + flags: 1 + section: .text + relocations: + - offset: 48 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/EXIGetID.yml b/assets/EXIGetID.yml new file mode 100644 index 0000000..aa5b0de --- /dev/null +++ b/assets/EXIGetID.yml @@ -0,0 +1,2710 @@ +- symbol: 0 + hash: 444fc610641644110607728d8b371b4eb254cec1 + signature: fAgCpv////+QAQAE/////5Qh/8j/////vyEAHP////874wAA/////zuEAAD/////O0UAAP////9X5DAy/////zxgAAD//wAAOAMAAP//AAB/oCIU/////ywfAAD/////QYAADP////8sHwAD/////0GAACD/////PGAAAP//AAA4YwAA//8AADiABNH/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAMsHwAC/////0CAAHz/////KBwAAP////9AggB0/////3/j+3j/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAAHU/////4CdACD/////V+AQOv////88YIAA/////zhjMMD/////fAMALv////98BAAA/////0CCABT/////gB0AHP////+QGgAA/////4B9ACD/////SAABqP////84fwAA/////ziAAAD/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAAGM/////1fgEDr/////PGCAAP////84YzDA/////39jAC7/////OH8AAP////84nAAA/////ywfAAL/////QIAAGP////8oHAAA/////0CCABD/////PKAAAP//AAA4pQAA//8AAEgAAAj/////OKAAAP////9IAAAB/AAAA3xgADT/////VB7Zfv////8sHgAA/////0CCALj/////OH8AAP////84nAAA/////zigAAD/////SAAAAfwAAAN8YAA0/////1Qe2X7/////LB4AAP////9AggCQ/////zgAAAD/////kAEAFP////84fwAA/////ziBABT/////OKAAAv////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////OH8AAP////84mgAA/////zigAAT/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADLB8AAv////9AgABw/////ygcAAD/////QIIAaP////9/4/t4/////0gAAAH8AAADSAAAAfwAAAN8eRt4/////1fgEDr/////PGCAAP////84YzDA/////3wDAC7/////fHsAUP////8wA////////3wAGRD/////f94DeP////8sHgAA/////0CCABD/////gBoAAP////+QHQAc/////5N9ACD/////fyPLeP////9IAAAB/AAAAyweAAD/////QYIADP////84YAAA/////0gAACD/////gH0AIP////9IAAAY/////yweAAD/////QYIADP////84YAAA/////0gAAAj/////OGAAAf////+AAQA8/////7shABz/////OCEAOP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: EXIGetID + size: 612 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@30' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@31' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 1 + section: .text + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 86eb82e88307e1bdcc14dddf36fd33ad2dd3b5b5 + signature: fAgCpv////+QAQAE/////5Qh/8j/////vyEAHP////874wAA/////zuEAAD/////O0UAAP////9X5DAy/////zxgAAD//wAAOAMAAP//AAB/oCIU/////ywfAAD/////QYAADP////8sHwAD/////0GAACD/////PGAAAP//AAA4YwAA//8AADiABSX/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAMsHwAA/////0CCACj/////KBwAAv////9AggAg/////4AAAAD/4AAAKAAAAP////9BggAU/////4AAAAD/4AAAkBoAAP////84YAAB/////0gAAgz/////LB8AAv////9AgAB8/////ygcAAD/////QIIAdP////9/4/t4/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAD/////SAAB5P////+AnQAg/////1fgEDr/////PGCAAP////84YzDA/////3wDAC7/////fAQAAP////9AggAU/////4AdABz/////kBoAAP////+AfQAg/////0gAAbj/////OH8AAP////84gAAA/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAD/////SAABnP////9X4BA6/////zxggAD/////OGMwwP////9/IwAu/////0gAAAH8AAADfHsbeP////84fwAA/////zicAAD/////LB8AAv////9AgAAY/////ygcAAD/////QIIAEP////88oAAA//8AADilAAD//wAASAAACP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl+/////yweAAD/////QIIAuP////84fwAA/////zicAAD/////OKAAAP////9IAAAB/AAAA3xgADT/////VB7Zfv////8sHgAA/////0CCAJD/////OAAAAP////+QAQAU/////zh/AAD/////OIEAFP////84oAAC/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////84fwAA/////ziaAAD/////OKAABP////84wAAA/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN/Y9t4/////0gAAAH8AAADLB8AAv////9AgABw/////ygcAAD/////QIIAaP////9/4/t4/////0gAAAH8AAADSAAAAfwAAAN8ext4/////1fgEDr/////PGCAAP////84YzDA/////3wDAC7/////fHkAUP////8wA////////3wAGRD/////f94DeP////8sHgAA/////0CCABD/////gBoAAP////+QHQAc/////5M9ACD/////f2PbeP////9IAAAB/AAAAyweAAD/////QYIADP////84YAAA/////0gAACD/////gH0AIP////9IAAAY/////yweAAD/////QYIADP////84YAAA/////0gAAAj/////OGAAAf////+AAQA8/////7shABz/////OCEAOP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: EXIGetID + size: 672 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@33' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@34' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: b2e3964b48fd887411e9339753fae996bde1f2ad + signature: fAgCpv////+QAQAE/////5Qh/8j/////vyEAHP////874wAA/////zuEAAD/////O0UAAP////9X5DAy/////zxgAAD//wAAOAMAAP//AAB/oCIU/////ywfAAD/////QYAADP////8sHwAD/////0GAACD/////PGAAAP//AAA4YwAA//8AADiABSj/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAMsHwAA/////0CCACj/////KBwAAv////9AggAg/////4AAAAD/4AAAKAAAAP////9BggAU/////4AAAAD/4AAAkBoAAP////84YAAB/////0gAAgz/////LB8AAv////9AgAB8/////ygcAAD/////QIIAdP////9/4/t4/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAD/////SAAB5P////+AnQAg/////1fgEDr/////PGCAAP////84YzDA/////3wDAC7/////fAQAAP////9AggAU/////4AdABz/////kBoAAP////+AfQAg/////0gAAbj/////OH8AAP////84gAAA/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAD/////SAABnP////9X4BA6/////zxggAD/////OGMwwP////9/IwAu/////0gAAAH8AAADfHsbeP////84fwAA/////zicAAD/////LB8AAv////9AgAAY/////ygcAAD/////QIIAEP////88oAAA//8AADilAAD//wAASAAACP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl+/////yweAAD/////QIIAuP////84fwAA/////zicAAD/////OKAAAP////9IAAAB/AAAA3xgADT/////VB7Zfv////8sHgAA/////0CCAJD/////OAAAAP////+QAQAU/////zh/AAD/////OIEAFP////84oAAC/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////84fwAA/////ziaAAD/////OKAABP////84wAAA/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN/Y9t4/////0gAAAH8AAADLB8AAv////9AgABw/////ygcAAD/////QIIAaP////9/4/t4/////0gAAAH8AAADSAAAAfwAAAN8ext4/////1fgEDr/////PGCAAP////84YzDA/////3wDAC7/////fHkAUP////8wA////////3wAGRD/////f94DeP////8sHgAA/////0CCABD/////gBoAAP////+QHQAc/////5M9ACD/////f2PbeP////9IAAAB/AAAAyweAAD/////QYIADP////84YAAA/////0gAACD/////gH0AIP////9IAAAY/////yweAAD/////QYIADP////84YAAA/////0gAAAj/////OGAAAf////+AAQA8/////7shABz/////OCEAOP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: EXIGetID + size: 672 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@33' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@34' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 420e07bf191e4ff7473140e63a142cd2f556290c + signature: fAgCpv////+QAQAE/////5Qh/8j/////vyEAHP////87YwAA/////zxgAAD//wAALBsAAv////87hAAA/////zulAAD/////O+MAAP//AABBggCs/////ygcAAD/////QIIApP////8cGwA4/////39fAhT/////SAAAAfwAAAOAGgAM/////zvDAAD/////VAAHOf////9BggAU/////3/D83j/////SAAAAfwAAAM4AAAA/////0gAAGj/////f2PbeP////9IAAAB/AAAAywDAAD/////QIIAFP////9/w/N4/////0gAAAH8AAADOAAAAP////9IAABI/////zh7AAD/////OIAAAf////84oAAA/////zjAAAD/////SAAAAfwAAAMcGwAD/////ziAAAD/////PGAAEP////+QmgAI/////3xjBDD/////SAAAAfwAAAOAGgAM/////zh+AAD/////YAAACP////+QGgAM/////0gAAAH8AAADOAAAAf////8sAAAA/////0CCAAz/////OGAAAP////9IAAHw/////zh7AAD/////OJwAAP////84oAAA/////0gAAAH8AAADfGAANP////9UANl+/////3weA3n/////QIIBPP////84ewAA/////zicAAD/////OKAAAP////9IAAAB/AAAA3xgADT/////VADZfv////98HgN5/////0CCAJD/////OAAAAP////+QAQAU/////zh7AAD/////OIEAFP////84oAAC/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////84ewAA/////3/eA3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////OHsAAP////84nQAA/////3/eA3j/////OKAABP////84wAAA/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////OHsAAP////9/3gN4/////0gAAAH8AAADfGAANP////9UANl+/////zh7AAD/////f94DeP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////xwbADj/////fz8CFP////9IAAAB/AAAA4AZAAz/////O0MAAP////9UAAb3/////0CCABD/////f0PTeP////9IAAAB/AAAA0gAAGj/////gBkADP////84ewAA/////ziZAAD/////VAAHNP////+QGQAM/////0gAAAH8AAADgHkAHP////8sAwAA/////0CBADz/////NAP///////+DuQAk/////5AZABz/////QIEAGP////+AGQAc/////zh5ACD/////OJkAKP////9UBRg4/////0gAAAH8AAADOZ0AAP////99iAOm/////zh7AAD/////OIAAAP////9OgAAh/////39D03j/////SAAAAfwAAAMsGwAC/////0GCAHz/////KBwAAP////9AggB0/////xwbADj/////fz8CFP////9IAAAB/AAAA4AZAAz/////O0MAAP////9UAAc5/////0CCABD/////f0PTeP////9IAAAB/AAAA0gAAEz/////gBkADP////9UAAb3/////0GCABz/////gBkAGP////8oAAAA/////0CCABD/////f0PTeP////9IAAAB/AAAA0gAACj/////gHkADP////8cGwAD/////1RkB3b/////PGAAcP////+QmQAM/////3xjBDD/////SAAAAfwAAAN/Q9N4/////0gAAAH8AAADLB4AAP////9BggAM/////zhgAAD/////SAAACP////84YAAB/////7shABz/////gAEAPP////84IQA4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: EXIGetID + size: 724 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 168 + flags: 2 + section: .bss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIProbe + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIClearInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: d3877f8dc07d98628e93cc4c6c98801a81d8a3a6 + signature: lCH/sP////98CAKm/////5ABAFT/////OWEAUP////9IAAAB/AAAA3x/G3j/////fJsjeP////98vCt4/////1fkMDL/////PGAAAP//AAA4AwAA//8AAH+gIhT/////OAAAAf////+QAQAg/////zgAAAD/////kAEAHP////8sHwAA/////0GAABT/////LB8AA/////9AgAAM/////zgAAAH/////kAEAHP////+AAQAc/////ywAAAD/////QIIAPP////88YAAA//8AADhjAAD//wAAOIAFrf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEAGP////+AAQAY/////ywAAAD/////QIIADP////84AAAA/////5ABACD/////LB8AAP////9AggAo/////ygbAAL/////QIIAIP////+AAAAA/+AAACwAAAD/////QYIAFP////+AAAAA/+AAAJAcAAD/////OGAAAf////9IAAJc/////ywfAAL/////QIAAgP////8sGwAA/////0CCAHj/////f+P7eP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAjT/////gJ0AIP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3wEAAD/////QIIAFP////+AHQAc/////5AcAAD/////gH0AIP////9IAAII/////3/j+3j/////OIAAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAez/////V+MQOv////88AIAA/////3xgGhT/////gAMwwP////+QAQAo/////0gAAAH8AAADkGEAJP////84AAAA/////5ABABT/////LB8AAv////9AgAAU/////ywbAAD/////QIIADP////84AAAB/////5ABABT/////gAEAFP////8sAAAA/////0GCABT/////PGAAAP//AAA4AwAA//8AAJABABD/////SAAADP////84AAAA/////5ABABD/////f+P7eP////9/ZNt4/////4ChABD/////SAAAAfwAAAN8YAA0/////1Qe2X7/////LB4AAP////9AggC4/////3/j+3j/////f2TbeP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl+/////yweAAD/////QIIAkP////84AAAA/////5ABACz/////f+P7eP////84gQAs/////zigAAL/////OMAAAf////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////f4TjeP////84oAAE/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA4BhACT/////SAAAAfwAAAMsHwAC/////0CAAIj/////LBsAAP////9AggCA/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA5BhACT/////gIEAKP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3xkAFD/////fAAgUP////98YAN4/////1QAD/7/////f94DeP////8sHgAA/////0CCABT/////gBwAAP////+QHQAc/////4ABACj/////kB0AIP////+AYQAk/////0gAAAH8AAADLB4AAP////9BggAQ/////zgAAAD/////kAEADP////9IAAAM/////4AdACD/////kAEADP////+AYQAM/////0gAACT/////LB4AAP////9BggAQ/////zgAAAD/////kAEACP////9IAAAM/////zgAAAH/////kAEACP////+AYQAI/////zlhAFD/////SAAAAfwAAAOAAQBU/////3wIA6b/////OCEAUP////9OgAAg/////w== + symbols: + - kind: Function + name: EXIGetID + size: 824 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@690' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@691' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 384 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 388 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: 3e61cc342bfa543ed20d786711928e28b458f8ad + signature: lCH/sP////98CAKm/////5ABAFT/////OWEAUP////9IAAAB/AAAA3x/G3j/////fJsjeP////98vCt4/////1fkMDL/////PGAAAP//AAA4AwAA//8AAH+gIhT/////OAAAAf////+QAQAg/////zgAAAD/////kAEAHP////8sHwAA/////0GAABT/////LB8AA/////9AgAAM/////zgAAAH/////kAEAHP////+AAQAc/////ywAAAD/////QIIAPP////88YAAA//8AADhjAAD//wAAOIAFs/////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEAGP////+AAQAY/////ywAAAD/////QIIADP////84AAAA/////5ABACD/////LB8AAP////9AggAo/////ygbAAL/////QIIAIP////+AAAAA/+AAACwAAAD/////QYIAFP////+AAAAA/+AAAJAcAAD/////OGAAAf////9IAAJc/////ywfAAL/////QIAAgP////8sGwAA/////0CCAHj/////f+P7eP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAjT/////gJ0AIP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3wEAAD/////QIIAFP////+AHQAc/////5AcAAD/////gH0AIP////9IAAII/////3/j+3j/////OIAAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAez/////V+MQOv////88AIAA/////3xgGhT/////gAMwwP////+QAQAo/////0gAAAH8AAADkGEAJP////84AAAA/////5ABABT/////LB8AAv////9AgAAU/////ywbAAD/////QIIADP////84AAAB/////5ABABT/////gAEAFP////8sAAAA/////0GCABT/////PGAAAP//AAA4AwAA//8AAJABABD/////SAAADP////84AAAA/////5ABABD/////f+P7eP////9/ZNt4/////4ChABD/////SAAAAfwAAAN8YAA0/////1Qe2X7/////LB4AAP////9AggC4/////3/j+3j/////f2TbeP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl+/////yweAAD/////QIIAkP////84AAAA/////5ABACz/////f+P7eP////84gQAs/////zigAAL/////OMAAAf////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////f4TjeP////84oAAE/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA4BhACT/////SAAAAfwAAAMsHwAC/////0CAAIj/////LBsAAP////9AggCA/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA5BhACT/////gIEAKP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3xkAFD/////fAAgUP////98YAN4/////1QAD/7/////f94DeP////8sHgAA/////0CCABT/////gBwAAP////+QHQAc/////4ABACj/////kB0AIP////+AYQAk/////0gAAAH8AAADLB4AAP////9BggAQ/////zgAAAD/////kAEADP////9IAAAM/////4AdACD/////kAEADP////+AYQAM/////0gAACT/////LB4AAP////9BggAQ/////zgAAAD/////kAEACP////9IAAAM/////zgAAAH/////kAEACP////+AYQAI/////zlhAFD/////SAAAAfwAAAOAAQBU/////3wIA6b/////OCEAUP////9OgAAg/////w== + symbols: + - kind: Function + name: EXIGetID + size: 824 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@699' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@700' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 384 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 388 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: 34e6afd24e8e68024016d5fc8a0630941737f731 + signature: lCH/sP////98CAKm/////5ABAFT/////OWEAUP////9IAAAB/AAAA3x/G3j/////fJsjeP////98vCt4/////1fkMDL/////PGAAAP//AAA4AwAA//8AAH+gIhT/////OAAAAf////+QAQAg/////zgAAAD/////kAEAHP////8sHwAA/////0GAABT/////LB8AA/////9AgAAM/////zgAAAH/////kAEAHP////+AAQAc/////ywAAAD/////QIIAPP////88YAAA//8AADhjAAD//wAAOIAFcf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEAGP////+AAQAY/////ywAAAD/////QIIADP////84AAAA/////5ABACD/////LB8AAP////9AggAo/////ygbAAL/////QIIAIP////+AAAAA/+AAACwAAAD/////QYIAFP////+AAAAA/+AAAJAcAAD/////OGAAAf////9IAAJc/////ywfAAL/////QIAAgP////8sGwAA/////0CCAHj/////f+P7eP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAjT/////gJ0AIP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3wEAAD/////QIIAFP////+AHQAc/////5AcAAD/////gH0AIP////9IAAII/////3/j+3j/////OIAAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAez/////V+MQOv////88AIAA/////3xgGhT/////gAMwwP////+QAQAo/////0gAAAH8AAADkGEAJP////84AAAA/////5ABABT/////LB8AAv////9AgAAU/////ywbAAD/////QIIADP////84AAAB/////5ABABT/////gAEAFP////8sAAAA/////0GCABT/////PGAAAP//AAA4AwAA//8AAJABABD/////SAAADP////84AAAA/////5ABABD/////f+P7eP////9/ZNt4/////4ChABD/////SAAAAfwAAAN8YAA0/////1Qe2X7/////LB4AAP////9AggC4/////3/j+3j/////f2TbeP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl+/////yweAAD/////QIIAkP////84AAAA/////5ABACz/////f+P7eP////84gQAs/////zigAAL/////OMAAAf////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////f4TjeP////84oAAE/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////3/j+3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/4/t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////f+P7eP////9IAAAB/AAAA4BhACT/////SAAAAfwAAAMsHwAC/////0CAAIj/////LBsAAP////9AggCA/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA5BhACT/////gIEAKP////9X4xA6/////zwAgAD/////fGAaFP////+AAzDA/////3xkAFD/////fAAgUP////98YAN4/////1QAD/7/////f94DeP////8sHgAA/////0CCABT/////gBwAAP////+QHQAc/////4ABACj/////kB0AIP////+AYQAk/////0gAAAH8AAADLB4AAP////9BggAQ/////zgAAAD/////kAEADP////9IAAAM/////4AdACD/////kAEADP////+AYQAM/////0gAACT/////LB4AAP////9BggAQ/////zgAAAD/////kAEACP////9IAAAM/////zgAAAH/////kAEACP////+AYQAI/////zlhAFD/////SAAAAfwAAAOAAQBU/////3wIA6b/////OCEAUP////9OgAAg/////w== + symbols: + - kind: Function + name: EXIGetID + size: 824 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: '@685' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@686' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __EXIAttach + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDetach + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 384 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 388 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: dfb3cfad0add5d6e788071239de70316eec36f23 + signature: fAgCpv////+QAQAE/////5Qh/8D/////vwEAIP////87QwAA/////zxgAAD//wAALBoAAv////9XRjAy/////zgDAAD//wAAf+AyFP////87ZAAA/////zuFAAD/////QIAA4P////8oGwAA/////0CCANj/////f0PTeP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAxj/////PGCAAP////+AnwAg/////1dAEDr/////O8MwwP////9/3gIU/////4AeAAD/////fAQAAP////9AggAU/////4AfABz/////kBwAAP////+AfwAg/////0gAAuj/////SAAAAfwAAAOAHwAM/////zujAAD/////VAAHOf////9AggAU/////39D03j/////SAAAAfwAAAMsAwAA/////0CCABT/////f6PreP////9IAAAB/AAAAzgAAAD/////SAAASP////84egAA/////ziAAAH/////OKAAAP////84wAAA/////0gAAAH8AAADHBoAA/////84gAAA/////zxgABD/////kJ8ACP////98YwQw/////0gAAAH8AAADgB8ADP////84fQAA/////2AAAAj/////kB8ADP////9IAAAB/AAAAzgAAAH/////LAAAAP////9AggAM/////zhgAAD/////SAACYP////+DvgAA/////ywaAAL/////OAAAAP////9AgAAQ/////ygbAAD/////QIIACP////84AAAB/////ywAAAD/////QYIAEP////88YAAA//8AADijAAD//wAASAAACP////84oAAA/////zh6AAD/////OJsAAP////9IAAAB/AAAA3xgADT/////VADZfv////98HgN5/////0CCATT/////OHoAAP////84mwAA/////zigAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////fB4Def////9AggCQ/////zgAAAD/////kAEAHP////84egAA/////ziBABz/////OKAAAv////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////OHoAAP////9/3gN4/////0gAAAH8AAADfGAANP////9UANl+/////zh6AAD/////OJwAAP////9/3gN4/////zigAAT/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////zh6AAD/////f94DeP////9IAAAB/AAAA3xgADT/////VADZfv////84egAA/////3/eA3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9IAAAB/AAAA4AfAAz/////OwMAAP////9UAAb3/////0CCABD/////fwPDeP////9IAAAB/AAAA0gAAGj/////gB8ADP////84egAA/////zifAAD/////VAAHNP////+QHwAM/////0gAAAH8AAADgH8AJP////8sAwAA/////0CBADz/////NAP///////+DPwAs/////5AfACT/////QIEAGP////+AHwAk/////zh/ACj/////OJ8AMP////9UBRg4/////0gAAAH8AAADOZkAAP////99iAOm/////zh6AAD/////OIAAAP////9OgAAh/////38Dw3j/////SAAAAfwAAAMsGgAC/////0CAAMT/////KBsAAP////9AggC8/////0gAAAH8AAADgB8ADP////87AwAA/////1QABzn/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAATP////+AHwAM/////1QABvf/////QYIAHP////+AHwAY/////ygAAAD/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAAKP////+AfwAM/////xwaAAP/////VGQHdv////88YABQ/////5CfAAz/////fGMEMP////9IAAAB/AAAA38Dw3j/////SAAAAfwAAANIAAAB/AAAAzyAgAD/////V0AQOv////84hDDA/////3wEAC7/////fJ0AUP////8wBP///////3wAIRD/////f94Def////9AggAQ/////4AcAAD/////kB8AHP////+TvwAg/////0gAAAH8AAADLB4AAP////9BggAM/////zhgAAD/////SAAAIP////+AfwAg/////0gAABj/////LB4AAP////9BggAM/////zhgAAD/////SAAACP////84YAAB/////7sBACD/////gAEARP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: EXIGetID + size: 892 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIClearInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 8a79517d050dbcfe3afd4f639ff93bf54b9c5f1c + signature: fAgCpv////+QAQAE/////5Qh/8D/////vwEAIP////87QwAA/////ztkAAD/////O4UAAP////9UZDAy/////zxgAAD//wAAOAMAAP//AAB/4CIU/////ywaAAL/////QIAA4P////8oGwAA/////0CCANj/////f0PTeP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAxj/////gJ8AIP////9XQBA6/////zxggAD/////O8MwwP////9/3gIU/////4AeAAD/////fAQAAP////9AggAU/////4AfABz/////kBwAAP////+AfwAg/////0gAAuj/////SAAAAfwAAAN8fRt4/////4AfAAz/////VAAHOf////9AggAU/////39D03j/////SAAAAfwAAAMsAwAA/////0CCABT/////f6PreP////9IAAAB/AAAAzgAAAD/////SAAASP////84egAA/////ziAAAH/////OKAAAP////84wAAA/////0gAAAH8AAADOAAAAP////+QHwAI/////zxgABD/////HBoAA/////98YwQw/////0gAAAH8AAADgB8ADP////9gAAAI/////5AfAAz/////f6PreP////9IAAAB/AAAAzgAAAH/////LAAAAP////9AggAM/////zhgAAD/////SAACYP////+DvgAA/////zgAAAD/////LBoAAv////9AgAAQ/////ygbAAD/////QIIACP////84AAAB/////ywAAAD/////QYIAEP////88YAAA//8AADijAAD//wAASAAACP////84oAAA/////zh6AAD/////OJsAAP////9IAAAB/AAAA3xgADT/////VADZfv////98HgN5/////0CCATT/////OHoAAP////84mwAA/////zigAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////fB4Def////9AggCQ/////zgAAAD/////kAEAHP////84egAA/////ziBABz/////OKAAAv////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////84egAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////OHoAAP////84nAAA/////zigAAT/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////OHoAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////zh6AAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9IAAAB/AAAA3x4G3j/////gB8ADP////9UAAb3/////0CCABD/////fwPDeP////9IAAAB/AAAA0gAAGj/////gB8ADP////9UAAc0/////5AfAAz/////OHoAAP////84nwAA/////0gAAAH8AAADgH8AJP////8sAwAA/////0CBADz/////gz8ALP////80A////////5AfACT/////QIEAGP////84fwAo/////zifADD/////gB8AJP////9UBRg4/////0gAAAH8AAADOHoAAP////84gAAA/////zmZAAD/////fYgDpv////9OgAAh/////38Dw3j/////SAAAAfwAAAMsGgAC/////0CAAMT/////KBsAAP////9AggC8/////0gAAAH8AAADfHgbeP////+AHwAM/////1QABzn/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAATP////+AHwAM/////1QABvf/////QYIAHP////+AHwAY/////ygAAAD/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAAKP////+AHwAM/////1QAB3b/////kB8ADP////88YABQ/////xwaAAP/////fGMEMP////9IAAAB/AAAA38Dw3j/////SAAAAfwAAANIAAAB/AAAA1dAEDr/////PICAAP////84hDDA/////3wEAC7/////fJ0AUP////8wBP///////3wAIRD/////f94Def////9AggAQ/////4AcAAD/////kB8AHP////+TvwAg/////0gAAAH8AAADLB4AAP////9BggAM/////zhgAAD/////SAAAIP////+AfwAg/////0gAABj/////LB4AAP////9BggAM/////zhgAAD/////SAAACP////84YAAB/////4ABAET/////uwEAIP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: EXIGetID + size: 892 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIClearInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: fc43aca60125c92f54584195a45c1a6504f3fe96 + signature: fAgCpv////+QAQAE/////5Qh/8D/////vwEAIP////87QwAA/////zxgAAD//wAALBoAAv////9XRjAy/////zgDAAD//wAAf+AyFP////87ZAAA/////zuFAAD/////QIAA4P////8oGwAA/////0CCANj/////f0PTeP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAxj/////PGCAAP////+AnwAg/////1dAEDr/////O8MwwP////9/3gIU/////4AeAAD/////fAQAAP////9AggAU/////4AfABz/////kBwAAP////+AfwAg/////0gAAuj/////SAAAAfwAAAOAHwAM/////zujAAD/////VAAHOf////9AggAU/////39D03j/////SAAAAfwAAAMsAwAA/////0CCABT/////f6PreP////9IAAAB/AAAAzgAAAD/////SAAASP////84egAA/////ziAAAH/////OKAAAP////84wAAA/////0gAAAH8AAADHBoAA/////84gAAA/////zxgABD/////kJ8ACP////98YwQw/////0gAAAH8AAADgB8ADP////84fQAA/////2AAAAj/////kB8ADP////9IAAAB/AAAAzgAAAH/////LAAAAP////9AggAM/////zhgAAD/////SAACYP////+DvgAA/////ywaAAL/////OAAAAP////9AgAAQ/////ygbAAD/////QIIACP////84AAAB/////ywAAAD/////QYIAEP////88YAAA//8AADijAAD//wAASAAACP////84oAAA/////zh6AAD/////OJsAAP////9IAAAB/AAAA3xgADT/////VADZfv////98HgN5/////0CCATT/////OHoAAP////84mwAA/////zigAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////fB4Def////9AggCQ/////zgAAAD/////kAEAHP////84egAA/////ziBABz/////OKAAAv////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////OHoAAP////9/3gN4/////0gAAAH8AAADfGAANP////9UANl+/////zh6AAD/////OJwAAP////9/3gN4/////zigAAT/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////zh6AAD/////f94DeP////9IAAAB/AAAA3xgADT/////VADZfv////84egAA/////3/eA3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9IAAAB/AAAA4AfAAz/////OwMAAP////9UAAb3/////0CCABD/////fwPDeP////9IAAAB/AAAA0gAAGj/////gB8ADP////84egAA/////zifAAD/////VAAHNP////+QHwAM/////0gAAAH8AAADgH8AJP////8sAwAA/////0CBADz/////NAP///////+DPwAs/////5AfACT/////QIEAGP////+AHwAk/////zh/ACj/////OJ8AMP////9UBRg4/////0gAAAH8AAADOZkAAP////99iAOm/////zh6AAD/////OIAAAP////9OgAAh/////38Dw3j/////SAAAAfwAAAMsGgAC/////0CAAMT/////KBsAAP////9AggC8/////0gAAAH8AAADgB8ADP////87AwAA/////1QABzn/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAATP////+AHwAM/////1QABvf/////QYIAHP////+AHwAY/////ygAAAD/////QIIAEP////9/A8N4/////0gAAAH8AAADSAAAKP////+AfwAM/////xwaAAP/////VGQHdv////88YABw/////5CfAAz/////fGMEMP////9IAAAB/AAAA38Dw3j/////SAAAAfwAAANIAAAB/AAAAzyAgAD/////V0AQOv////84hDDA/////3wEAC7/////fJ0AUP////8wBP///////3wAIRD/////f94Def////9AggAQ/////4AcAAD/////kB8AHP////+TvwAg/////0gAAAH8AAADLB4AAP////9BggAM/////zhgAAD/////SAAAIP////+AfwAg/////0gAABj/////LB4AAP////9BggAM/////zhgAAD/////SAAACP////84YAAB/////7sBACD/////gAEARP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: EXIGetID + size: 892 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIClearInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: d4b99ec44c4c8af84f2beae2b09ad78ffd79bdf6 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x5G3j/////fJojeP////98uyt4/////1RgMDL/////PMAAAP//AAA4xgAA//8AAH+mAhT/////LAMAAP////9AggAk/////ygEAAL/////QIIAHP////+AAAAA/+AAACwAAAD/////QYIAEP////+QBQAA/////zhgAAH/////SAADPP////8sAwAC/////0CAAOj/////LAQAAP////9AggDg/////38jy3j/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAAMU/////1cjEDr/////PACAAP////9/4BoU/////4B9ACD/////gB8wwP////98AwAA/////0CCABT/////gB0AHP////+QGwAA/////4B9ACD/////SAAC6P////9IAAAB/AAAA3x+G3j/////gB0ADP////9UAAc5/////0CCABT/////fyPLeP////9IAAAB/AAAAywDAAD/////QIIAFP////9/w/N4/////0gAAAH8AAADOAAAAP////9IAABU/////xx5ABT/////PADNAP////98YBoU/////4ADaAD/////cAAH9f////9gAAAC/////5ADaAD/////OAAAAP////+QHQAI/////zxgABD/////VyAQOv////98GQBQ/////3xjBDD/////SAAAAfwAAAOAHQAM/////2AAAAj/////kB0ADP////9/w/N4/////0gAAAH8AAADOAAAAf////8sAAAA/////0CCAAz/////OGAAAP////9IAAJU/////4P/MMD/////SAAAAfwAAAN8fBt4/////38jy3j/////f0TTeP////84AAAA/////ywZAAL/////QIAAEP////8sGgAA/////0CCAAj/////OAAAAf////8sAAAA/////zigAAD/////QYIADP////88oAAA//8AADilAAD//wAASAAAAfwAAAN8YAA0/////1Qe2X//////QIIBLP////9/I8t4/////39E03j/////OKAAAP////9IAAAB/AAAA3xgADT/////VB7Zf/////9AggCQ/////zgAAAD/////kAEACP////9/I8t4/////ziBAAj/////OKAAAv////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/I8t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////fyPLeP////9/ZNt4/////zigAAT/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////fyPLeP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////38jy3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9IAAAB/AAAA3x3G3j/////gB0ADP////9UAAb3/////0CCAAz/////SAAAAfwAAANIAABo/////4AdAAz/////VAAHNP////+QHQAM/////38jy3j/////f6TreP////9IAAAB/AAAA4B9ACT/////LAMAAP////9AgQA8/////4MdACz/////NAP///////+QHQAk/////0CBABj/////OH0AKP////84nQAw/////4AdACT/////VAUYOP////9IAAAB/AAAA38jy3j/////OIAAAP////9/DMN4/////32JA6b/////ToAEIf////9+47t4/////0gAAAH8AAADf4PjeP////9IAAAB/AAAAywZAAL/////QIAAxP////8sGgAA/////0CCALz/////SAAAAfwAAAN8dxt4/////4AdAAz/////VAAHOf////9AggAM/////0gAAAH8AAADSAAATP////+AHQAM/////1QABvf/////QYIAGP////+AHQAY/////ywAAAD/////QIIADP////9IAAAB/AAAA0gAACz/////gB0ADP////9UAAd2/////5AdAAz/////PGAAUP////9XIBA6/////3wZAFD/////fGMEMP////9IAAAB/AAAA37ju3j/////SAAAAfwAAANIAAAB/AAAA1ckEDr/////PACAAP////98gCIU/////4AEMMD/////fJ8AUP////98APhQ/////3yAA3j/////VAAP/v////9/3gN5/////0CCABD/////gBsAAP////+QHQAc/////5P9ACD/////SAAAAfwAAAMsHgAA/////0GCAAz/////OGAAAP////9IAAAU/////4B9ACD/////SAAADP////9/wAA0/////1QD2X7/////OWEAQP////9IAAAB/AAAA4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: EXIGetID + size: 936 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_23 + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_23 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 916 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: a0d0e68ad00168294d609d9b81e9448b79bc8344 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x5G3j/////fJojeP////98uyt4/////1RgMDL/////PMAAAP//AAA4xgAA//8AAH+mAhT/////LAMAAP////9AggAk/////ygEAAL/////QIIAHP////+AAAAA/+AAACwAAAD/////QYIAEP////+QBQAA/////zhgAAH/////SAADQP////8sAwAC/////0CAAOj/////LAQAAP////9AggDg/////38jy3j/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAAMY/////1cjEDr/////PACAAP////9/4BoU/////4B9ACD/////gB8wwP////98AwAA/////0CCABT/////gB0AHP////+QGwAA/////4B9ACD/////SAAC7P////9IAAAB/AAAA3x+G3j/////gB0ADP////9UAAc5/////0CCABT/////fyPLeP////9IAAAB/AAAAywDAAD/////QIIAFP////9/w/N4/////0gAAAH8AAADOAAAAP////9IAABU/////xx5ABT/////PADNAP////98YBoU/////4ADaAD/////cAAH9f////9gAAAC/////5ADaAD/////OAAAAP////+QHQAI/////zxgABD/////VyAQOv////98GQBQ/////3xjBDD/////SAAAAfwAAAOAHQAM/////2AAAAj/////kB0ADP////9/w/N4/////0gAAAH8AAADOAAAAf////8sAAAA/////0CCAAz/////OGAAAP////9IAAJY/////4P/MMD/////SAAAAfwAAAN8fBt4/////38jy3j/////f0TTeP////84oAAA/////ywZAAL/////QIAAEP////8sGgAA/////0CCAAj/////OKAAAf////98BQDQ/////3wAK3j/////fAD+cP////88oAAA//8AADilAAD//wAAfKUAOP////9IAAAB/AAAA3xgADT/////VB7Zf/////9AggEs/////38jy3j/////f0TTeP////84oAAA/////0gAAAH8AAADfGAANP////9UHtl//////0CCAJD/////OAAAAP////+QAQAI/////38jy3j/////OIEACP////84oAAC/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////38jy3j/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/I8t4/////39k23j/////OKAABP////84wAAA/////zjgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////9/I8t4/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////fyPLeP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////0gAAAH8AAADfHcbeP////+AHQAM/////1QABvf/////QIIADP////9IAAAB/AAAA0gAAGj/////gB0ADP////9UAAc0/////5AdAAz/////fyPLeP////9/pOt4/////0gAAAH8AAADgH0AJP////8sAwAA/////0CBADz/////gx0ALP////80A////////5AdACT/////QIEAGP////84fQAo/////zidADD/////gB0AJP////9UBRg4/////0gAAAH8AAADfyPLeP////84gAAA/////38Mw3j/////fYkDpv////9OgAQh/////37ju3j/////SAAAAfwAAAN/g+N4/////0gAAAH8AAADLBkAAv////9AgADE/////ywaAAD/////QIIAvP////9IAAAB/AAAA3x3G3j/////gB0ADP////9UAAc5/////0CCAAz/////SAAAAfwAAANIAABM/////4AdAAz/////VAAG9/////9BggAY/////4AdABj/////LAAAAP////9AggAM/////0gAAAH8AAADSAAALP////+AHQAM/////1QAB3b/////kB0ADP////88YABQ/////1cgEDr/////fBkAUP////98YwQw/////0gAAAH8AAADfuO7eP////9IAAAB/AAAA0gAAAH8AAADVyQQOv////88AIAA/////3yAIhT/////gAQwwP////98nwBQ/////3wA+FD/////fIADeP////9UAA/+/////3/eA3n/////QIIAEP////+AGwAA/////5AdABz/////k/0AIP////9IAAAB/AAAAyweAAD/////QYIADP////84YAAA/////0gAABT/////gH0AIP////9IAAAM/////3/AADT/////VAPZfv////85YQBA/////0gAAAH8AAADgAEARP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: EXIGetID + size: 940 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_23 + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_23 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 696 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 812 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 920 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: ef429b5d7d3133695833a63a90cba2a5933043ac + signature: fAgCpv////+QAQAE/////5Qh/7j/////vuEAJP////98eRt5/////ztEAAD/////O2UAAP////9UZDAy/////zxgAAD//wAAOAMAAP//AAB/4CIU/////0CCACT/////KBoAAv////9AggAc/////4AAAAD/4AAAKAAAAP////9BggAQ/////5AbAAD/////OGAAAf////9IAANQ/////ywZAAL/////QIAA4P////8oGgAA/////0CCANj/////fyPLeP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAyj/////gJ8AIP////9XIBA6/////zxggAD/////O8MwwP////9/3gIU/////4AeAAD/////fAQAAP////9AggAU/////4AfABz/////kBsAAP////+AfwAg/////0gAAvj/////SAAAAfwAAAN8fBt4/////4AfAAz/////VAAHOf////9AggAU/////38jy3j/////SAAAAfwAAAMsAwAA/////0CCABT/////f4PjeP////9IAAAB/AAAAzgAAAD/////SAAASP////84eQAA/////ziAAAH/////OKAAAP////84wAAA/////0gAAAH8AAADOAAAAP////+QHwAI/////zxgABD/////HBkAA/////98YwQw/////0gAAAH8AAADgB8ADP////9gAAAI/////5AfAAz/////f4PjeP////9IAAAB/AAAAzgAAAH/////LAAAAP////9AggAM/////zhgAAD/////SAACcP////+DvgAA/////0gAAAH8AAADO4MAAP////84AAAA/////ywZAAL/////QIAAEP////8oGgAA/////0CCAAj/////OAAAAf////8sAAAA/////0GCABD/////PGAAAP//AAA4owAA//8AAEgAAAj/////OKAAAP////84eQAA/////ziaAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////fB4Def////9AggE0/////zh5AAD/////OJoAAP////84oAAA/////0gAAAH8AAADfGAANP////9UANl+/////3weA3n/////QIIAkP////84AAAA/////5ABABz/////OHkAAP////84gQAc/////zigAAL/////OMAAAf////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////OHkAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////zh5AAD/////OJsAAP////84oAAE/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9/3gN4/////zh5AAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f94DeP////84eQAA/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3j/////SAAAAfwAAAN8dxt4/////4AfAAz/////VAAG9/////9AggAQ/////37ju3j/////SAAAAfwAAANIAABo/////4AfAAz/////VAAHNP////+QHwAM/////zh5AAD/////OJ8AAP////9IAAAB/AAAA4B/ACT/////LAMAAP////9AgQA8/////4MfACz/////NAP///////+QHwAk/////0CBABj/////OH8AKP////84nwAw/////4AfACT/////VAUYOP////9IAAAB/AAAAzh5AAD/////OIAAAP////85mAAA/////32IA6b/////ToAAIf////9+47t4/////0gAAAH8AAADf4PjeP////9IAAAB/AAAAywZAAL/////QIAAxP////8oGgAA/////0CCALz/////SAAAAfwAAAN8dxt4/////4AfAAz/////VAAHOf////9AggAQ/////37ju3j/////SAAAAfwAAANIAABM/////4AfAAz/////VAAG9/////9BggAc/////4AfABj/////KAAAAP////9AggAQ/////37ju3j/////SAAAAfwAAANIAAAo/////4AfAAz/////VAAHdv////+QHwAM/////zxgAFD/////HBkAA/////98YwQw/////0gAAAH8AAADfuO7eP////9IAAAB/AAAA0gAAAH8AAADVyAQOv////88gIAA/////ziEMMD/////fAQALv////98nQBQ/////zAE////////fAAhEP////9/3gN5/////0CCABD/////gBsAAP////+QHwAc/////5O/ACD/////SAAAAfwAAAMsHgAA/////0GCAAz/////OGAAAP////9IAAAg/////4B/ACD/////SAAAGP////8sHgAA/////0GCAAz/////OGAAAP////9IAAAI/////zhgAAH/////gAEATP////+64QAk/////zghAEj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: EXIGetID + size: 944 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIClearInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockedHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetExiInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: memmove + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 348 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 812 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/EXIInit.yml b/assets/EXIInit.yml new file mode 100644 index 0000000..4b1c85b --- /dev/null +++ b/assets/EXIInit.yml @@ -0,0 +1,1528 @@ +- symbol: 0 + hash: 47824d184ba6145ec5e7756e318c0514536f78b4 + signature: fAgCpv////+QAQAE/////5Qh//j/////PGAAgP////84Y4AA/////0gAAAH8AAADOAAAAP////88YMwA/////5ADaAD/////OAAAAP////88YMwA/////5ADaBT/////OAAAAP////88YMwA/////5ADaCj/////OAAgAP////88YMwA/////5ADaAD/////OGAACf////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAK/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAv/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAADP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAN/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAA7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAD/////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAQ/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAA0gAAAH8AAADVGAAx/////9BggAI/////0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: EXIInit + size: 232 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIProbeReset + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 70c8e734320a016714a0f4bedc89ed3b3819991a + signature: fAgCpv////88YACA/////5ABAAT/////OGOAAP////+UIf/o/////5PhABT/////k8EAEP////+ToQAM/////5OBAAj/////SAAAAfwAAAM8oMwA/////zuAAAD/////k4VoAP////84ACAA/////zxgAAD//wAAk4VoFP////87owAA//8AADidAAD/////k4VoKP////84YAAJ/////5AFaAD/////SAAAAfwAAAM8YAAA//8AADvDAAD//wAAOJ4AAP////84YAAK/////0gAAAH8AAADPGAAAP//AAA74wAA//8AADifAAD/////OGAAC/////9IAAAB/AAAAzidAAD/////OGAADP////9IAAAB/AAAAzieAAD/////OGAADf////9IAAAB/AAAAzifAAD/////OGAADv////9IAAAB/AAAAzidAAD/////OGAAD/////9IAAAB/AAAAzieAAD/////OGAAEP////9IAAAB/AAAA0gAAAH8AAADVGAAx/////9BggAg/////zyAgAD/////k4QwxP////84YAAA/////5OEMMD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADgAEAHP////+D4QAU/////4PBABD/////fAgDpv////+DoQAM/////4OBAAj/////OCEAGP////9OgAAg/////w== + symbols: + - kind: Function + name: EXIInit + size: 260 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIProbe + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 7d5f31bc4e5ef5081a8f9c5148f19d589a9421eb + signature: fAgCpv////88YACA/////5ABAAT/////OGOAAP////+UIf/o/////5PhABT/////k8EAEP////+ToQAM/////5OBAAj/////SAAAAfwAAAM8oMwA/////zvgAAD/////k+VoAP////84ACAA/////zxgAAD//wAAk+VoFP////87gwAA//8AADicAAD/////k+VoKP////84YAAJ/////5AFaAD/////SAAAAfwAAAM8YAAA//8AADujAAD//wAAOJ0AAP////84YAAK/////0gAAAH8AAADPGAAAP//AAA7wwAA//8AADieAAD/////OGAAC/////9IAAAB/AAAAzicAAD/////OGAADP////9IAAAB/AAAAzidAAD/////OGAADf////9IAAAB/AAAAzieAAD/////OGAADv////9IAAAB/AAAAzicAAD/////OGAAD/////9IAAAB/AAAAzidAAD/////OGAAEP////9IAAAB/AAAA0gAAAH8AAADVGAAx/////9BggAw/////zyggAD/////k+UwxP////88YAAA//8AADiDAAD//wAAk+UwwP////84YAAA/////5PkAGD/////k+QAIP////9IAAAB/AAAAzhgAAH/////SAAAAfwAAAOAAQAc/////4PhABT/////g8EAEP////+DoQAM/////4OBAAj/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: EXIInit + size: 276 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 721d0810e246b442b7cf054c5bac198de7b015cc + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////k4EACP////+AYAAA/+AAAEgAAAH8AAADPGAAgP////84Y4AA/////0gAAAH8AAADO+AAAP////88gMwA/////5PkaAD/////k+RoFP////+T5Ggo/////zgAIAD/////kARoAP////84YAAJ/////zyAAAD//wAAO4QAAP//AAA4nAAA/////0gAAAH8AAADOGAACv////88gAAA//8AADukAAD//wAAOJ0AAP////9IAAAB/AAAAzhgAAv/////PIAAAP//AAA7xAAA//8AADieAAD/////SAAAAfwAAAM4YAAM/////zicAAD/////SAAAAfwAAAM4YAAN/////zidAAD/////SAAAAfwAAAM4YAAO/////zieAAD/////SAAAAfwAAAM4YAAP/////zicAAD/////SAAAAfwAAAM4YAAQ/////zidAAD/////SAAAAfwAAANIAAAB/AAAA1RgAMf/////QYIAMP////88gIAA/////5PkMMT/////k+QwwP////88YAAA//8AADhjAAD//wAAk+MAYP////+T4wAg/////zhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADgAEAHP////+D4QAU/////4PBABD/////g6EADP////+DgQAI/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: EXIInit + size: 284 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: dcdd33a5147b3f8588ce3cbb7ac2bd45a2c1174d + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////k4EACP////88YMwA/////zhjaAD/////gAMADP////9UAAf+/////ygAAAH/////QYL/9P////+AAwAg/////1QAB/7/////KAAAAf////9Bgv/k/////4ADADT/////VAAH/v////8oAAAB/////0GC/9T/////PGAAgP////84Y4AA/////0gAAAH8AAADO+AAAP////88gMwA/////5PkaAD/////k+RoFP////+T5Ggo/////zgAIAD/////kARoAP////84YAAJ/////zyAAAD//wAAO4QAAP//AAA4nAAA/////0gAAAH8AAADOGAACv////88gAAA//8AADukAAD//wAAOJ0AAP////9IAAAB/AAAAzhgAAv/////PIAAAP//AAA7xAAA//8AADieAAD/////SAAAAfwAAAM4YAAM/////zicAAD/////SAAAAfwAAAM4YAAN/////zidAAD/////SAAAAfwAAAM4YAAO/////zieAAD/////SAAAAfwAAAM4YAAP/////zicAAD/////SAAAAfwAAAM4YAAQ/////zidAAD/////SAAAAfwAAANIAAAB/AAAA1RgAMf/////QYIAMP////88gIAA/////5PkMMT/////k+QwwP////88YAAA//8AADhjAAD//wAAk+MAYP////+T4wAg/////zhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADOGAAAP////84gAAC/////zigAAD/4AAASAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADgAEAHP////+D4QAU/////4PBABD/////g6EADP////+DgQAI/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: EXIInit + size: 356 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: EXIGetID + size: 0 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + relocations: + - offset: 92 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 7f0f76f243b61008c0b451b8d5685f346aedd0c9 + signature: fAgCpv////+QAQAE/////5Qh//D/////PGDMAP////+AA2gM/////1QAB/7/////KAAAAf////9Bgv/w/////zxgzAD/////gANoIP////9UAAf+/////ygAAAH/////QYL/3P////88YMwA/////4ADaDT/////VAAH/v////8oAAAB/////0GC/8j/////PGAAgP////84Y4AA/////0gAAAH8AAADOAAAAP////88YMwA/////5ADaAD/////OAAAAP////88YMwA/////5ADaBT/////OAAAAP////88YMwA/////5ADaCj/////OAAgAP////88YMwA/////5ADaAD/////OGAACf////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAK/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAv/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAADP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAN/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAA7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAD/////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAQ/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAD/////OIAAAv////84oAAA/+AAAEgAAAH8AAADgAAAAP/gAAAsAAAA/////0GCAAz/////SAAAAfwAAANIAABw/////zhgAAD/////OIAAAP////84oQAI/////0gAAAH8AAADLAMAAP////9BggAk/////4BhAAj/////PAP4//////8oAAAA/////0CCABT/////OGAAAf////84gAAA/////0gAAAH8AAADSAAAOP////84YAAB/////ziAAAD/////OKEACP////9IAAAB/AAAAywDAAD/////QYIAIP////+AYQAI/////zwD+P//////KAAAAP////9AggAQ/////zhgAAD/////OIAAAv////9IAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAQAU/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: EXIInit + size: 428 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: EXIGetID + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: EXIProbeReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSEnableBarnacle + size: 0 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + relocations: + - offset: 80 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: a73ce3ed1f82fc4df557a42815a17f6e6119f403 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YM0A/////4ADaAz/////VAAH/v////8oAAAB/////0GC//T/////gANoIP////9UAAf+/////ygAAAH/////QYL/5P////+AA2g0/////1QAB/7/////KAAAAf////9Bgv/U/////zxgAID/////OGOAAP////9IAAAB/AAAAzuAAAD/////PGDNAP////+Tg2gA/////5ODaBT/////k4NoKP////84ACAA/////5ADaAD/////OGAACf////8/oAAA//8AADidAAD//wAASAAAAfwAAAM4YAAK/////z/AAAD//wAAOJ4AAP//AABIAAAB/AAAAzhgAAv/////P+AAAP//AAA4nwAA//8AAEgAAAH8AAADOGAADP////84nQAA//8AAEgAAAH8AAADOGAADf////84ngAA//8AAEgAAAH8AAADOGAADv////84nwAA//8AAEgAAAH8AAADOGAAD/////84nQAA//8AAEgAAAH8AAADOGAAEP////84ngAA//8AAEgAAAH8AAADOGAAAP////84gAAC/////zigAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIANP////88YIAA/////5ODMMT/////k4MwwP////88YAAA//8AADhjAAD//wAAk4MAYP////+TgwAg/////zhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADSAAAcP////84YAAA/////ziAAAD/////OKEACP////9IAAAB/AAAAywDAAD/////QYIAJP////+AYQAI/////zwD+P//////KAAAAP////9AggAU/////zhgAAH/////OIAAAP////9IAAAB/AAAA0gAADj/////OGAAAf////84gAAA/////zihAAj/////SAAAAfwAAAMsAwAA/////0GCACD/////gGEACP////88A/j//////ygAAAD/////QIIAEP////84YAAA/////ziAAAL/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: EXIInit + size: 452 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: EXIGetID + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSEnableBarnacle + size: 0 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + relocations: + - offset: 88 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: 003bd3def0d6d30569cb4f0678c3738ca21b5c27 + signature: lCH/8P////98CAKm/////5ABABT/////PGDNAP////+AA2gM/////1QAB/7/////KAAAAf////9Bgv/w/////zxgzQD/////gANoIP////9UAAf+/////ygAAAH/////QYL/3P////88YM0A/////4ADaDT/////VAAH/v////8oAAAB/////0GC/8j/////PGAAgP////84Y4AA/////0gAAAH8AAADOAAAAP////88YM0A/////5ADaAD/////OAAAAP////88YM0A/////5ADaBT/////OAAAAP////88YM0A/////5ADaCj/////OAAgAP////88YM0A/////5ADaAD/////OGAACf////98Ywc0/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAr/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAL/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAADP////98Ywc0/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAA3/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAO/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAD/////98Ywc0/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgABD/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAA/////ziAAAL/////OKAAAP/gAABIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAM/////0gAAAH8AAADSAAAcP////84YAAA/////ziAAAD/////OKEACP////9IAAAB/AAAAywDAAD/////QYIAJP////+AYQAI/////zwD+P//////KAAAAP////9AggAU/////zhgAAH/////OIAAAP////9IAAAB/AAAA0gAADj/////OGAAAf////84gAAA/////zihAAj/////SAAAAfwAAAMsAwAA/////0GCACD/////gGEACP////88A/j//////ygAAAD/////QIIAEP////84YAAA/////ziAAAL/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: EXIInit + size: 460 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: EXIGetID + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: EXIProbeReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSEnableBarnacle + size: 0 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + relocations: + - offset: 80 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 436 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: e87652f7e78fd7e45925b56e73cbe9311a8f0b97 + signature: fAgCpv////+QAQAE/////5Qh/+D/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YMwA/////zhjaAD/////gAMADP////9UAAf+/////ygAAAH/////QYL/9P////+AAwAg/////1QAB/7/////KAAAAf////9Bgv/k/////4ADADT/////VAAH/v////8oAAAB/////0GC/9T/////PGAAgP////84Y4AA/////0gAAAH8AAADO+AAAP////88gMwA/////5PkaAD/////k+RoFP////+T5Ggo/////zgAIAD/////kARoAP////84YAAJ/////zyAAAD//wAAO4QAAP//AAA4nAAA/////0gAAAH8AAADOGAACv////88gAAA//8AADukAAD//wAAOJ0AAP////9IAAAB/AAAAzhgAAv/////PIAAAP//AAA7xAAA//8AADieAAD/////SAAAAfwAAAM4YAAM/////zicAAD/////SAAAAfwAAAM4YAAN/////zidAAD/////SAAAAfwAAAM4YAAO/////zieAAD/////SAAAAfwAAAM4YAAP/////zicAAD/////SAAAAfwAAAM4YAAQ/////zidAAD/////SAAAAfwAAAM4YAAA/////ziAAAL/////OKAAAP/gAABIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggA0/////zyAgAD/////k+QwxP////+T5DDA/////zxgAAD//wAAOGMAAP//AACT4wBg/////5PjACD/////OGAAAP////9IAAAB/AAAAzhgAAH/////SAAAAfwAAANIAABw/////zhgAAD/////OIAAAP////84oQAI/////0gAAAH8AAADLAMAAP////9BggAk/////4BhAAj/////PAP4//////8oAAAA/////0CCABT/////OGAAAf////84gAAA/////0gAAAH8AAADSAAAOP////84YAAB/////ziAAAD/////OKEACP////9IAAAB/AAAAywDAAD/////QYIAIP////+AYQAI/////zwD+P//////KAAAAP////9AggAQ/////zhgAAD/////OIAAAv////9IAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAQAk/////4PhABz/////g8EAGP////+DoQAU/////4OBABD/////OCEAIP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: EXIInit + size: 468 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TCIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: EXTIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: IDSerialPort1 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: EXIGetID + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: Ecb + size: 192 + flags: 2 + section: .bss + - kind: Function + name: __EXIProbe + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSEnableBarnacle + size: 0 + flags: 1 + section: .text + - kind: Object + name: __EXIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + relocations: + - offset: 92 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 13 + addend: 0 diff --git a/assets/IOS_Open.yml b/assets/IOS_Open.yml new file mode 100644 index 0000000..699a106 --- /dev/null +++ b/assets/IOS_Open.yml @@ -0,0 +1,129 @@ +- symbol: 0 + hash: 6023916e799ae851d6b0821b68c83ae1e758fe85 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+QYQAI/////5CBAAz/////O+AAAP////84YAAA/////ziAAAH/////OKAAAP////84wAAA/////zjhABD/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIAMP////+AYQAQ/////4CBAAj/////gKEADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAU/////4BhABD/////OIAAAP////9IAAAB/AAAA3x/G3j/////f+P7eP////+D4QAc/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IOS_Open + size: 132 + flags: 1 + section: .text + - kind: Function + name: __ios_Ipc1 + size: 0 + flags: 2 + section: .text + - kind: Function + name: __ios_Open + size: 0 + flags: 2 + section: .text + - kind: Function + name: __ios_Ipc2 + size: 0 + flags: 2 + section: .text + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: dbc519205df008731e1195cae0ab139600b07598 + signature: lCH/4P////98CAKm/////5ABACT/////NAEACP////+T4QAc/////5PBABj/////O8AAAP////+ToQAU/////3ydI3j/////k4EAEP////98fBt4/////0CCAAz/////O8D//P////9IAABM/////4BgAAD/4AAAOIAAQP////84oAAg/////0gAAAH8AAADLAMAAP////+QYQAI/////0CCAAz/////O8D/6v////9IAAAo/////zigAAD/////OAAAAf////+QowAg/////4CBAAj/////kKQAJP////+AgQAI/////5CkACj/////kAMAAP////+QowAI/////yweAAD/////QIIAeP////+D4QAI/////zvAAAD/////LB8AAP////9AggAM/////zvA//z/////SAAASP////9/g+N4/////ziAAED/////SAAACP////84YwAB/////4gDAAD/////LAAAAP////9BggAQ/////ywEAAD/////OIT///////9Agv/o/////3ycGFD/////f4PjeP////84hAAB/////0gAAAH8AAADPByAAP////+QHwAM/////5O/ABD/////LB4AAP////9AggAU/////4BhAAj/////OIAAAP////9IAAAB/AAAA3x+G3j/////f8PzeP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IOS_Open + size: 288 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosAllocAligned + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: __ios_Ipc2 + size: 0 + flags: 2 + section: .text + relocations: + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 364b5f41a5e0b21e8c9592bddf46d689a4a14d22 + signature: lCH/4P////98CAKm/////5ABACT/////NAEACP////+T4QAc/////5PBABj/////O8AAAP////+ToQAU/////3ydI3j/////k4EAEP////98fBt4/////0CCAAz/////O8D//P////9IAABM/////4BgAAD/4AAAOIAAQP////84oAAg/////0gAAAH8AAADLAMAAP////+QYQAI/////0CCAAz/////O8D/6v////9IAAAo/////zigAAD/////kKMAIP////84AAAB/////4CBAAj/////kKQAJP////+AgQAI/////5CkACj/////kAMAAP////+QowAI/////yweAAD/////QIIAfP////+D4QAI/////zvAAAD/////LB8AAP////9AggAM/////zvA//z/////SAAATP////9/g+N4/////ziAAED/////SAAADP////9gAAAA/////zhjAAH/////iAMAAP////8sAAAA/////0GCABD/////LAQAAP////84hP///////0CC/+j/////fJwYUP////9/g+N4/////ziEAAH/////SAAAAfwAAAM8HIAA/////5AfAAz/////k78AEP////8sHgAA/////0CCABT/////gGEACP////84gAAA/////0gAAAH8AAADfH4beP////9/w/N4/////4PhABz/////g8EAGP////+DoQAU/////4OBABD/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: IOS_Open + size: 292 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosAllocAligned + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: __ios_Ipc2 + size: 0 + flags: 2 + section: .text + relocations: + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/IPCCltInit.yml b/assets/IPCCltInit.yml new file mode 100644 index 0000000..17f2fc5 --- /dev/null +++ b/assets/IPCCltInit.yml @@ -0,0 +1,948 @@ +- symbol: 0 + hash: fd5de4e252c85e7c8b292f3884a43c78939a6c83 + signature: lCH/4P////98CAKm/////5ABACT/////gAAAAP/gAACT4QAc/////ywAAAD/////k8EAGP////87wAAA/////5OhABT/////QIIAcP////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAA3x9G3j/////O+MQAP////9IAAAB/AAAA3wfGED/////QIEADP////87wP/q/////0gAAET/////f6PreP////84gBAA/////0gAAAH8AAADkGAAAP/gAAB/4/t4/////0gAAAH8AAADPIAAAP//AAA4YAAb/////ziEAAD//wAASAAAAfwAAAM4YAAQ/////0gAAAH8AAADOGAAAf////84gAA4/////0gAAAH8AAADSAAAAfwAAAN/w/N4/////4PhABz/////g8EAGP////+DoQAU/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IPCCltInit + size: 180 + flags: 1 + section: .text + - kind: Object + name: initialized$654 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 5f6f394b1954a043c812cad956d9990f05ac1f3d + signature: lCH/4P////98CAKm/////5ABACT/////gAAAAP/gAACT4QAc/////ywAAAD/////k8EAGP////87wAAA/////5OhABT/////QIIAcP////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAA3x9G3j/////O+MIAP////9IAAAB/AAAA3wfGED/////QIEADP////87wP/q/////0gAAET/////f6PreP////84gAgA/////0gAAAH8AAADkGAAAP/gAAB/4/t4/////0gAAAH8AAADPIAAAP//AAA4YAAb/////ziEAAD//wAASAAAAfwAAAM4YAAQ/////0gAAAH8AAADOGAAAf////84gAA4/////0gAAAH8AAADSAAAAfwAAAN/w/N4/////4PhABz/////g8EAGP////+DoQAU/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IPCCltInit + size: 180 + flags: 1 + section: .text + - kind: Object + name: initialized$653 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 75fe101660de817c64a4225c23b068493fe59840 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////O6AAAP////+AAAAA/+AAACwAAAD/////QIIAeP////84AAAB/////5AAAAD/4AAASAAAAfwAAAM74BAA/////0gAAAH8AAADfH4beP////9IAAAB/AAAA3we+hT/////fAAYQP////9AgQAM/////zug/+r/////SAAASP////9/w/N4/////3/k+3j/////SAAAAfwAAAOQYAAA/+AAAHx++hT/////SAAAAfwAAAM4YAAb/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAEP////9IAAAB/AAAAzhgAAH/////OIAAOP////9IAAAB/AAAA0gAAAH8AAADf6PreP////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: IPCCltInit + size: 188 + flags: 1 + section: .text + - kind: Object + name: initialized$698 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 96646a32323640796a93b92c8d7d73f50061dafc + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////O6AAAP////+AAAAA/+AAACwAAAD/////QIIAeP////84AAAB/////5AAAAD/4AAASAAAAfwAAAM74AgA/////0gAAAH8AAADfH4beP////9IAAAB/AAAA3we+hT/////fAAYQP////9AgQAM/////zug/+r/////SAAASP////9/w/N4/////3/k+3j/////SAAAAfwAAAOQYAAA/+AAAHx++hT/////SAAAAfwAAAM4YAAb/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAEP////9IAAAB/AAAAzhgAAH/////OIAAOP////9IAAAB/AAAA0gAAAH8AAADf6PreP////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: IPCCltInit + size: 188 + flags: 1 + section: .text + - kind: Object + name: initialized$688 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 0ec54eb7618a93be3da6e33c683ead3c8f24723a + signature: lCH/4P////98CAKm/////5ABACT/////gAAAAP/gAACT4QAc/////ywAAAD/////k8EAGP////87wAAA/////5OhABT/////QIIAfP////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAA3x9G3j/////O+MgAP////9IAAAB/AAAA3wfGED/////QIEADP////87wP/q/////0gAAFD/////f6PreP////84gCAA/////0gAAAH8AAADkGAAAP/gAAB/4/t4/////0gAAAH8AAADPIAAAP//AAA4YAAb/////ziEAAD//wAASAAAAfwAAAM4YAAQ/////0gAAAH8AAADOGAAAf////84gAA4/////0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAAN/w/N4/////4PhABz/////g8EAGP////+DoQAU/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IPCCltInit + size: 192 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@IPCCltInit__Fv@initialized' + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __timeout_alarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 14 + addend: 0 +- symbol: 0 + hash: 6f125540d94f3457601d6e4ead4cfc4a330bd23d + signature: lCH/4P////98CAKm/////5ABACT/////gAAAAP/gAACT4QAc/////ywAAAD/////k8EAGP////87wAAA/////5OhABT/////QIIAfP////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAA3x9G3j/////O+MQAP////9IAAAB/AAAA3wfGED/////QIEADP////87wP/q/////0gAAFD/////f6PreP////84gBAA/////0gAAAH8AAADkGAAAP/gAAB/4/t4/////0gAAAH8AAADPIAAAP//AAA4YAAb/////ziEAAD//wAASAAAAfwAAAM4YAAQ/////0gAAAH8AAADOGAAAf////84gAA4/////0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAAN/w/N4/////4PhABz/////g8EAGP////+DoQAU/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: IPCCltInit + size: 192 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@IPCCltInit__Fv@initialized' + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __timeout_alarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 14 + addend: 0 +- symbol: 0 + hash: c92ede02c00a13a0d999174a0a292dd66236948d + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////O6AAAP////+AAAAA/+AAACwAAAD/////QIIAhP////84AAAB/////5AAAAD/4AAASAAAAfwAAAM74CAA/////0gAAAH8AAADfH4beP////9IAAAB/AAAA3we+hT/////fAAYQP////9AgQAM/////zug/+r/////SAAAVP////9/w/N4/////3/k+3j/////SAAAAfwAAAOQYAAA/+AAAHx++hT/////SAAAAfwAAAM4YAAb/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAEP////9IAAAB/AAAAzhgAAH/////OIAAOP////9IAAAB/AAAA0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADf6PreP////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: IPCCltInit + size: 200 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@IPCCltInit__Fv@initialized' + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCiProfInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __timeout_alarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 14 + addend: 0 diff --git a/assets/IPCiProfQueueReq.yml b/assets/IPCiProfQueueReq.yml new file mode 100644 index 0000000..33e15d9 --- /dev/null +++ b/assets/IPCiProfQueueReq.yml @@ -0,0 +1,291 @@ +- symbol: 0 + hash: 381639cae99d046a39952da55ada36fd90ce5f80 + signature: gKAAAP/gAACAgAAA/+AAADgFAAH/////kAAAAP/gAAA4BAAB/////5AAAAD/4AAASAAAAPwAAAM= + symbols: + - kind: Function + name: IPCiProfQueueReq + size: 28 + flags: 1 + section: .text + - kind: Object + name: IpcNumPendingReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcNumUnIssuedReqs + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: AddReqInfo + size: 0 + flags: 2 + section: .text + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 8be1c16a257153bda86348c6f5d9163c96fa0bab + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+AYAAA/+AAADgDAAH/////kAAAAP/gAACAYAAA/+AAADgDAAH/////kAAAAP/gAACAYQAI/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: IPCiProfQueueReq + size: 64 + flags: 1 + section: .text + - kind: Object + name: IpcNumPendingReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcNumUnIssuedReqs + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: AddReqInfo + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 8b9e17ee5e144548fe33ecd8fdbf1769c51c8a0c + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+QgQAM/////4BgAAD/4AAAOAMAAf////+QAAAA/+AAAIBgAAD/4AAAOAMAAf////+QAAAA/+AAAIBhAAj/////gIEADP////9IAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: IPCiProfQueueReq + size: 72 + flags: 1 + section: .text + - kind: Object + name: IpcNumPendingReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcNumUnIssuedReqs + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: AddReqInfo + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 4fb6d321e54688cb5e472b9a80fbef13021494ae + signature: gMAAAP/gAAA9AAAA//8AAICgAAD/4AAAPSAAAP//AAA4xgAB/////zgAACD/////OKUAAf////+QwAAA/+AAADkIAAD//wAAOSkAAP//AACQoAAA/+AAADjgAAD/////fAkDpv////+ACAAA/////ywAAAD/////QIIAMP////+ACQAA/////ywA////////QIIAJP////88wAAA//8AADygAAD//wAAVOAQOv////84xgAA//8AADilAAD//wAAfGYBLv////98hQEu/////06AACD/////OQgABP////85KQAE/////zjnAAH/////QgD/vP////9OgAAg/////w== + symbols: + - kind: Function + name: IPCiProfQueueReq + size: 128 + flags: 1 + section: .text + - kind: Object + name: IpcNumPendingReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcReqPtrArray + size: 128 + flags: 2 + section: .bss + - kind: Object + name: IpcNumUnIssuedReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcFdArray + size: 128 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 +- symbol: 0 + hash: 6e58b8e351f60d86acf6968c34354517d368b8ab + signature: gMAAAP/gAAA9AAAA//8AAICgAAD/4AAAPSAAAP//AAA4xgAB/////zgAACD/////OKUAAf////+QwAAA/+AAADkIAAD//wAAOSkAAP//AACQoAAA/+AAADjgAAD/////fAkDpv////9gAAAA/////4AIAAD/////LAAAAP////9AggAw/////4AJAAD/////LAD///////9AggAk/////zzAAAD//wAAPKAAAP//AABU4BA6/////zjGAAD//wAAOKUAAP//AAB8ZgEu/////3yFAS7/////ToAAIP////85CAAE/////zkpAAT/////OOcAAf////9CAP+8/////06AACD///// + symbols: + - kind: Function + name: IPCiProfQueueReq + size: 132 + flags: 1 + section: .text + - kind: Object + name: IpcNumPendingReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcReqPtrArray + size: 128 + flags: 2 + section: .bss + - kind: Object + name: IpcNumUnIssuedReqs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: IpcFdArray + size: 128 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 diff --git a/assets/ISFS_OpenAsync.yml b/assets/ISFS_OpenAsync.yml new file mode 100644 index 0000000..aac5af7 --- /dev/null +++ b/assets/ISFS_OpenAsync.yml @@ -0,0 +1,222 @@ +- symbol: 0 + hash: 123de856cb46af3254274bf3b26a3296b05cff57 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAywDAAD/////fHobeP////98myN4/////3y8K3j/////fN0zeP////9BggAY/////ziAAED/////SAAAAfwAAAMoAwBA/////3x/G3j/////QIIADP////84YP+b/////0gAAFz/////gGAAAP/gAAA4gAFA/////zigACD/////SAAAAfwAAAMsAwAA/////3x+G3j/////QIIADP////84YP+K/////0gAADj/////k4MBAP////84AAAA/////39E03j/////OL8AAf////+TowEE/////5ADAQj/////SAAAAfwAAAM8oAAA//8AAH/D83j/////f2TbeP////9/xvN4/////zilAAD//wAASAAAAfwAAAM5YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: ISFS_OpenAsync + size: 184 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Function + name: strnlen + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: iosAllocAligned + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: _isfsFuncCb + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 90d12e5b3884f9c68abc145aac7af8746af13eea + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////98fBt4/////5CBAAj/////kKEADP////+QwQAQ/////zvAAAD/////OAAAAP////98HABA/////0GCABz/////f4PjeP////84gABA/////0gAAAH8AAADfH0beP////8oHQBA/////0CCAAz/////O8D/m/////9IAABs/////4BgAAD/4AAAOIABQP////84oAAg/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////O8D/iv////9IAABI/////4ABAAz/////kB8BAP////+AAQAQ/////5AfAQT/////OAAAAP////+QHwEI/////3/j+3j/////f4TjeP////84vQAB/////0gAAAH8AAADf+P7eP////+AgQAI/////zygAAD//wAAOKUAAP//AAB/5vt4/////0gAAAH8AAADfH4beP////9/w/N4/////4PhACz/////g8EAKP////+DoQAk/////4OBACD/////gAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: ISFS_OpenAsync + size: 232 + flags: 1 + section: .text + - kind: Function + name: strnlen + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: iosAllocAligned + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Function + name: _isfsFuncCb + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 68 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 15ef32caab55ef4363c52b76b6f782b73627607c + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////98fRt4/////5CBAAj/////kKEADP////+QwQAQ/////zvAAAD/////OAAAAP////98HQBA/////0GCABz/////f6PreP////84gABA/////0gAAAH8AAADfHwbeP////8oHABA/////0CCAAz/////O8D/m/////9IAABs/////4BgAAD/4AAAOIABQP////84oAAg/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////O8D/iv////9IAABI/////4ABAAz/////kB8BAP////+AAQAQ/////5AfAQT/////OAAAAP////+QHwEI/////3/j+3j/////f6TreP////84vAAB/////0gAAAH8AAADf+P7eP////+AgQAI/////zygAAD//wAAOKUAAP//AAB/5vt4/////0gAAAH8AAADfH4beP////9/w/N4/////4PhACz/////g8EAKP////+DoQAk/////4OBACD/////gAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: ISFS_OpenAsync + size: 232 + flags: 1 + section: .text + - kind: Function + name: strnlen + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: iosAllocAligned + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Function + name: _isfsFuncCb + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 68 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/ISFS_OpenLib.yml b/assets/ISFS_OpenLib.yml new file mode 100644 index 0000000..42f2230 --- /dev/null +++ b/assets/ISFS_OpenLib.yml @@ -0,0 +1,820 @@ +- symbol: 0 + hash: 30e384ea3a2eec1825c0e213da7ea485cf18d7dd + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAACT4QAM/////zvgAAD/////LAAAAP////+TwQAI/////0GCABT/////SAAAAfwAAAOQYAAA/+AAAEgAAAH8AAADkGAAAP/gAACAYAAA/+AAAIAAAAD/4AAAOGMAH/////9UYwA0/////ywAAAD/////kGAAAP/gAABBggAs/////4AAAAD/4AAAOIMAQP////98BABA/////0CBABz/////PGAAAP//AAA4YwAA//8AAEzGMYL/////SAAAAfwAAAM74P/q/////0gAAJj/////OIAAAP/gAABIAAAB/AAAA4BgAAD/4AAAOIAAAP////9IAAAB/AAAAywDAAD/////kGAAAP/gAABAgAAM/////3x/G3j/////SAAAcP////+AgAAA/+AAAIPAAAD/4AAALAQAAP////9BggAs/////4AAAAD/4AAAOH4VQP////98AwBA/////0CBABz/////PGAAAP//AAA4YwAA//8AAEzGMYL/////SAAAAfwAAAM74P/q/////0gAADj/////LAQAAP////9BggAU/////zh+FUD/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAAf8PzeP////84gBVA/////0gAAAH8AAADLAMAAP////+QYAAA/+AAAECAAAj/////O+D/6v////9/4/t4/////4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ISFS_OpenLib + size: 296 + flags: 1 + section: .text + - kind: Object + name: firstFl$691 + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: lo$688 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: hi$689 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __devfs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@1651' + size: 33 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1652' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: __fsFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 +- symbol: 0 + hash: 1a64e82127ffa271cbf419f414f08f02f62424ad + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////874AAA/////5PBAAj/////gAAAAP/gAAAsAAAA/////0CCABT/////SAAAAfwAAAOQYAAA/+AAAEgAAAH8AAADkGAAAP/gAACAYAAA/+AAAIAAAAD/4AAAOGMAH/////9UYwA0/////ywAAAD/////kGAAAP/gAABAggAs/////4AAAAD/4AAAOIMAQP////98BABA/////0CBABz/////PGAAAP//AAA4YwAA//8AAEzGMYL/////SAAAAfwAAAM74P/q/////0gAAJj/////OIAAAP/gAABIAAAB/AAAA4BgAAD/4AAAOIAAAP////9IAAAB/AAAAywDAAD/////kGAAAP/gAABAgAAM/////3x/G3j/////SAAAcP////+AgAAA/+AAAIPAAAD/4AAALAQAAP////9AggAs/////4AAAAD/4AAAOH4VQP////98AwBA/////0CBABz/////PGAAAP//AAA4YwAA//8AAEzGMYL/////SAAAAfwAAAM74P/q/////0gAADj/////LAQAAP////9AggAU/////zh+FUD/////SAAAAfwAAAM4AAAB/////5AAAAD/4AAAf8PzeP////84gBVA/////0gAAAH8AAADLAMAAP////+QYAAA/+AAAECAAAj/////O+D/6v////9/4/t4/////4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ISFS_OpenLib + size: 296 + flags: 1 + section: .text + - kind: Object + name: __fsInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: lo$688 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: hi$689 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __devfs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@1687' + size: 33 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1688' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: __fsFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 +- symbol: 0 + hash: c26ca994cd3aa68c4623c2e8d655471c0aca7638 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////zvgAAD/////O8AAAP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAA5BgAAD/4AAASAAAAfwAAAOQYAAA/+AAAIBgAAD/4AAAOAMAH/////9UAAA0/////5AAAAD/4AAAgAAAAP/gAAAsAAAA/////0CCADD/////gGAAAP/gAAA4YwBA/////4AAAAD/4AAAfAMAQP////9AgQAc/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADO+D/6v////9IAACo/////4BgAAD/4AAAOIAAAP/gAABIAAAB/AAAA4BgAAD/4AAAOIAAAP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAAAsAAAA/////0CAAAz/////g+AAAP/gAABIAAB4/////4PAAAD/4AAAgAAAAP/gAAAsAAAA/////0CCACz/////OH4VQP////+AAAAA/+AAAHwDAED/////QIEAHP////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAAzvg/+r/////SAAAQP////+AAAAA/+AAACwAAAD/////QIIAFP////84fhVA/////0gAAAH8AAADOAAAAf////+QAAAA/+AAAH/D83j/////OIAVQP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAAAsAAAA/////0CAAAj/////O+D/6v////9/4/t4/////4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ISFS_OpenLib + size: 320 + flags: 1 + section: .text + - kind: Object + name: __fsInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: lo$697 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: hi$698 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __devfs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@716' + size: 33 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@717' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: __fsFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 +- symbol: 0 + hash: 05aaa518077ac5f036558662567494a89d9865be + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////zvgAAD/////O8AAAP////+AAAAA/+AAACwAAAD/////QYIAFP////9IAAAB/AAAA5BgAAD/4AAASAAAAfwAAAOQYAAA/+AAAIBgAAD/4AAAOAMAH/////9UAAA0/////5AAAAD/4AAAgAAAAP/gAAAsAAAA/////0GCADD/////gGAAAP/gAAA4YwBA/////4AAAAD/4AAAfAMAQP////9AgQAc/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADO+D/6v////9IAACo/////4BgAAD/4AAAOIAAAP/gAABIAAAB/AAAA4BgAAD/4AAAOIAAAP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAAAsAAAA/////0CAAAz/////g+AAAP/gAABIAAB4/////4PAAAD/4AAAgAAAAP/gAAAsAAAA/////0GCACz/////OH4VQP////+AAAAA/+AAAHwDAED/////QIEAHP////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAAzvg/+r/////SAAAQP////+AAAAA/+AAACwAAAD/////QYIAFP////84fhVA/////0gAAAH8AAADOAAAAP////+QAAAA/+AAAH/D83j/////OIAVQP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAAAsAAAA/////0CAAAj/////O+D/6v////9/4/t4/////4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ISFS_OpenLib + size: 320 + flags: 1 + section: .text + - kind: Object + name: firstFl$691 + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCGetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: lo$688 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCGetBufferHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: hi$689 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __devfs + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@708' + size: 33 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@709' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: __fsFd + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCSetBufferLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: iosCreateHeap + size: 0 + flags: 1 + section: .text + - kind: Object + name: hId + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 28 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 diff --git a/assets/InitMetroTRK.yml b/assets/InitMetroTRK.yml new file mode 100644 index 0000000..0e79a05 --- /dev/null +++ b/assets/InitMetroTRK.yml @@ -0,0 +1,144 @@ +# If this is in a separate section, it's .dbgtext +# Otherwise .text +- symbol: 0 + hash: 208efe0e06985ffb4916ba3ac472dd2d8144f108 + signature: OCH//P////+QYQAA/////zxgAAD//wAAYGMAAP//AAC8AwAA/////4CBAAD/////OCEABP////+QIwAE/////5CDAAz/////fIgCpv////+QgwCE/////5CDAID/////fIAAJv////+QgwCI/////3yAAKb/////YIOAAP////9oY4AA/////3xgAST/////fJsDpv////9IAAAB/AAAAzxgAAD//wAAYGMAAP//AAC4AwAA/////zgAAAD/////fBL7pv////98Ffum/////zwgAAD//wAAYCEAAP//AAB8oyt4/////0gAAAH8AAADLAMAAf////9AggAU/////4CDAIT/////fIgDpv////+4AwAA/////06AACD/////SAAAAPwAAAM= + symbols: + - kind: Function + name: InitMetroTRK + size: 148 + flags: 1 + section: .dbgtext + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + - kind: Function + name: TRKSaveExtended1Block + size: 0 + flags: 1 + section: .dbgtext + - kind: Unknown + name: _db_stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: InitMetroTRKCommTable + size: 0 + flags: 1 + section: .dbgtext + - kind: Function + name: TRK_main + size: 0 + flags: 1 + section: .dbgtext + relocations: + - offset: 8 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 23fc7c31e89a118810ba6c673e78695dc1cb1de9 + signature: OCH//P////+QYQAA/////zxgAAD//wAAYGMAAP//AAC8AwAA/////4CBAAD/////OCEABP////+QIwAE/////5CDAAz/////fIgCpv////+QgwCE/////5CDAID/////fIAAJv////+QgwCI/////3yAAKb/////YIOAAP////9oY4AA/////3xgAST/////fJsDpv////9IAAAB/AAAAzxgAAD//wAAYGMAAP//AAC4AwAA/////zgAAAD/////fBL7pv////98Ffum/////zwgAAD//wAAYCEAAP//AAB8oyt4/////0gAAAH8AAADLAMAAf////9AggAU/////4CDAIT/////fIgDpv////+4AwAA/////06AACD/////SAAAAPwAAANOgAAg/////w== + symbols: + - kind: Function + name: InitMetroTRK + size: 152 + flags: 1 + section: .dbgtext + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + - kind: Function + name: TRKSaveExtended1Block + size: 0 + flags: 1 + section: .dbgtext + - kind: Unknown + name: _db_stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: InitMetroTRKCommTable + size: 0 + flags: 1 + section: .dbgtext + - kind: Function + name: TRK_main + size: 0 + flags: 1 + section: .dbgtext + relocations: + - offset: 8 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/InitMetroTRKCommTable.yml b/assets/InitMetroTRKCommTable.yml new file mode 100644 index 0000000..ccb8947 --- /dev/null +++ b/assets/InitMetroTRKCommTable.yml @@ -0,0 +1,2002 @@ +- symbol: 0 + hash: a94c5ebf2a43b844625f4d295ac08073b5100a21 + signature: lCH/8P////98CAKm/////ywDAAH/////kAEAFP////9AggBk/////0gAAAH8AAADPWAAAP//AAA9IAAA//8AADlrAAD//wAAPUAAAP//AAA9AAAA//8AADzgAAD//wAAPMAAAP//AAA8oAAA//8AADyAAAD//wAAlWoAAP//AAA5KQAA//8AADkIAAD//wAAOOcAAP//AAA4xgAA//8AADilAAD//wAAOAQAAP//AACRKgAE/////5EKAAj/////kOoADP////+QygAQ/////5CqABT/////kAoAGP////9IAABg/////0gAAAH8AAADPWAAAP//AAA9IAAA//8AADlrAAD//wAAPUAAAP//AAA9AAAA//8AADzgAAD//wAAPMAAAP//AAA8oAAA//8AADyAAAD//wAAlWoAAP//AAA5KQAA//8AADkIAAD//wAAOOcAAP//AAA4xgAA//8AADilAAD//wAAOAQAAP//AACRKgAE/////5EKAAj/////kOoADP////+QygAQ/////5CqABT/////kAoAGP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 224 + flags: 1 + section: .text + - kind: Function + name: Hu_IsStub + size: 0 + flags: 5 + section: .text + - kind: Function + name: DBInitComm + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBInitInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: gDBCommTable + size: 28 + flags: 1 + section: .data + - kind: Function + name: DBQueryData + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBRead + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBOpen + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBClose + size: 0 + flags: 1 + section: .text + - kind: Function + name: AMC_IsStub + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Init + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_EnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Poll + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_ReadN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_WriteN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Reserve + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Unreserve + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 +- symbol: 0 + hash: 162778d79cd4249e130b7109f83a5567e3cdf955 + signature: fAgCpv////+QAQAE/////5Qh//j/////LAMAAf////9AggBo/////0gAAAH8AAADPKAAAP//AAA8gAAA//8AADgFAAD//wAAOKQAAP//AAA8gAAA//8AAJAFAAD/////OAQAAP//AAA8gAAA//8AAJAFAAT/////OAQAAP//AAA8gAAA//8AAJAFAAj/////OAQAAP//AAA8gAAA//8AAJAFAAz/////OAQAAP//AAA8gAAA//8AAJAFABD/////OAQAAP//AAA8gAAA//8AAJAFABT/////OAQAAP//AACQBQAY/////0gAAGT/////SAAAAfwAAAM8oAAA//8AADyAAAD//wAAOAUAAP//AAA4pAAA//8AADyAAAD//wAAkAUAAP////84BAAA//8AADyAAAD//wAAkAUABP////84BAAA//8AADyAAAD//wAAkAUACP////84BAAA//8AADyAAAD//wAAkAUADP////84BAAA//8AADyAAAD//wAAkAUAEP////84BAAA//8AADyAAAD//wAAkAUAFP////84BAAA//8AAJAFABj/////OCEACP////+AAQAE/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 232 + flags: 1 + section: .text + - kind: Function + name: Hu_IsStub + size: 0 + flags: 5 + section: .text + - kind: Function + name: DBInitComm + size: 0 + flags: 1 + section: .text + - kind: Object + name: gDBCommTable + size: 28 + flags: 1 + section: .data + - kind: Function + name: DBInitInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBQueryData + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBRead + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBOpen + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBClose + size: 0 + flags: 1 + section: .text + - kind: Function + name: AMC_IsStub + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Init + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_EnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Poll + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_ReadN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_WriteN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Reserve + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Unreserve + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 +- symbol: 0 + hash: 655302feb7299c0eb0904aebe322acc97249e7a0 + signature: lCH/8P////98CAKm/////ywDAAH/////kAEAFP////9AggB0/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADSAAAAfwAAAM9YAAA//8AAD0gAAD//wAAOWsAAP//AAA9QAAA//8AAD0AAAD//wAAPOAAAP//AAA8wAAA//8AADygAAD//wAAPIAAAP//AACVagAA//8AADkpAAD//wAAOQgAAP//AAA45wAA//8AADjGAAD//wAAOKUAAP//AAA4BAAA//8AAJEqAAT/////kQoACP////+Q6gAM/////5DKABD/////kKoAFP////+QCgAY/////0gAAHD/////PGAAAP//AAA4YwAA//8AAEzGMYL/////SAAAAfwAAANIAAAB/AAAAz1gAAD//wAAPSAAAP//AAA5awAA//8AAD1AAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AAJVqAAD//wAAOSkAAP//AAA5CAAA//8AADjnAAD//wAAOMYAAP//AAA4pQAA//8AADgEAAD//wAAkSoABP////+RCgAI/////5DqAAz/////kMoAEP////+QqgAU/////5AKABj/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 256 + flags: 1 + section: .text + - kind: Object + name: '@154' + size: 33 + flags: 2 + section: .rodata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: Hu_IsStub + size: 0 + flags: 5 + section: .text + - kind: Function + name: DBInitComm + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBInitInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: gDBCommTable + size: 28 + flags: 1 + section: .data + - kind: Function + name: DBQueryData + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBRead + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBOpen + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBClose + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@155' + size: 36 + flags: 2 + section: .rodata + - kind: Function + name: AMC_IsStub + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Init + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_EnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Poll + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_ReadN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_WriteN + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Reserve + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXI2_Unreserve + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 164 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 +- symbol: 0 + hash: 75b5d5df65134de9fae582e86c5b939f133e2cab + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98fxt4/////3/k+3j/////k8EACP////8/wAAA//8AADh+AAD//wAATMYxgv////9IAAAB/AAAAzveAAD//wAAOIAAQP////84fgAV/////0zGMYL/////SAAAAfwAAAMsHwAC/////zgAAAD/////mAAAAP/gAABAggAM/////zhgAAD/////SAAAzP////8sHwAB/////0CCAJj/////OH4AOv////9MxjGC/////0gAAAH8AAADPGAAAP//AAA/wAAA//8AAD/gAAD//wAAPWAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AADveAAD//wAAOYMAAP//AAA7/wAA//8AADlrAAD//wAAOUoAAP//AAA5KQAA//8AADkIAAD//wAAOOcAAP//AAA4xgAA//8AADilAAD//wAAOIQAAP//AACTwwAA//8AADhgAAD/////k+wAGP////+RbAAc/////5FMABD/////kSwAFP////+RDAAI/////5DsAAz/////kMwAIP////+QrAAk/////5CMAAT/////SAAAMP////9/5Pt4/////zh+AFv/////TMYxgv////9IAAAB/AAAAzh+AIb/////TMYxgv////9IAAAB/AAAAzh+ALX/////TMYxgv////9IAAAB/AAAAzhgAAH/////gAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 312 + flags: 1 + section: .text + - kind: Object + name: '@stringBase0' + size: 225 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: TRK_Use_BBA + size: 1 + flags: 1 + section: .sbss + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .bss + - kind: Function + name: gdev_cc_initialize + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_open + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_close + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_read + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_write + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_shutdown + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_peek + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_pre_continue + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_post_stop + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_initinterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 0b26523864adec8bc90d529e4cf3355475192346 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////3x/G3j/////P8AAAP//AAB/5Pt4/////zh+AAD//wAATMYxgv////9IAAAB/AAAAzveAAD//wAAOIAAQP////84fgAV/////0zGMYL/////SAAAAfwAAAM4AAAA/////ywfAAL/////mAAAAP/gAABAggAM/////zhgAAD/////SAAAzP////8sHwAB/////0CCAJj/////OH4AOv////9MxjGC/////0gAAAH8AAADPYAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AADxgAAD//wAAP+AAAP//AAA7zAAA//8AAD1gAAD//wAAOYsAAP//AAA4AwAA//8AADl/AAD//wAAOUoAAP//AAA5KQAA//8AADkIAAD//wAAOOcAAP//AAA4xgAA//8AADilAAD//wAAOIQAAP//AACT3wAA//8AADhgAAD/////kYsAGP////+RSwAc/////5ErABD/////kQsAFP////+Q6wAI/////5DLAAz/////kKsAIP////+QiwAk/////5ALAAT/////SAAAMP////9/5Pt4/////zh+AFv/////TMYxgv////9IAAAB/AAAAzh+AIb/////TMYxgv////9IAAAB/AAAAzh+ALX/////TMYxgv////9IAAAB/AAAAzhgAAH/////gAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 312 + flags: 1 + section: .text + - kind: Object + name: '@stringBase0' + size: 225 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: TRK_Use_BBA + size: 1 + flags: 1 + section: .sbss + - kind: Function + name: gdev_cc_initialize + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_close + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_read + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_write + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_shutdown + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_peek + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_pre_continue + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_post_stop + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_initinterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .bss + - kind: Function + name: gdev_cc_open + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 64a70a635a98c7571d4448eb0f625fbd9765e5f7 + signature: lCH/4P////98CAKm/////zyAAAD//wAAkAEAJP////+T4QAc/////5PBABj/////fH4beP////+ToQAU/////zukAAD//wAAf8TzeP////84fQAI/////0zGMYL/////SAAAAfwAAAM4fQAg/////ziAAED/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOAAAAP////8sHgAC/////5gDAAD//wAAQIIAoP////84fQBI/////0zGMYL/////SAAAAfwAAAM9gAAA//8AAD1gAAD//wAAO+wAAP//AAA9QAAA//8AADmLAAD//wAAOAAAAP////85agAA//8AAD0gAAD//wAAOUkAAP//AAA9AAAA//8AADkoAAD//wAAPOAAAP//AAA5BwAA//8AADzAAAD//wAAOOYAAP//AAA8oAAA//8AADjFAAD//wAAPIAAAP//AAA4pAAA//8AADxgAAD//wAAOIMAAP//AAA/wAAA//8AADugAAH/////k+wAAP////84YAAA/////5u+AAD//wAAkWwAGP////+RTAAc/////5EsABD/////kQwAFP////+Q7AAI/////5DMAAz/////kKwAIP////+QjAAk/////5AMAAT/////SAAAyP////8sHgAB/////0CCAJT/////OH0AYP////9MxjGC/////0gAAAH8AAADP+AAAP//AAA9YAAA//8AADv/AAD//wAAPYAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AADxgAAD//wAAOAMAAP//AACX7AAA//8AADlrAAD//wAAOUoAAP//AAA5KQAA//8AADkIAAD//wAAOOcAAP//AAA4xgAA//8AADilAAD//wAAOIQAAP//AACRbAAY/////zhgAAD/////kUwAHP////+RLAAQ/////5EMABT/////kOwACP////+QzAAM/////5CsACD/////kIwAJP////+QDAAE/////0gAADD/////f8TzeP////84fQCE/////0zGMYL/////SAAAAfwAAAM4fQCw/////0zGMYL/////SAAAAfwAAAM4fQDg/////0zGMYL/////SAAAAfwAAAM4YAAB/////4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 468 + flags: 1 + section: .text + - kind: Object + name: EndofProgramInstruction$159 + size: 4 + flags: 2 + section: .rodata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: TRK_Use_BBA + size: 1 + flags: 1 + section: .bss + - kind: Function + name: udp_cc_initialize + size: 0 + flags: 5 + section: .text + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .data + - kind: Function + name: udp_cc_open + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_close + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_read + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_write + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_shutdown + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_peek + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_pre_continue + size: 0 + flags: 5 + section: .text + - kind: Function + name: udp_cc_post_stop + size: 0 + flags: 5 + section: .text + - kind: Function + name: gdev_cc_initialize + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_open + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_close + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_read + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_write + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_shutdown + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_peek + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_pre_continue + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_post_stop + size: 0 + flags: 1 + section: .text + - kind: Function + name: gdev_cc_initinterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 300 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 308 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 316 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 328 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 344 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: c52023aad3079648f485435cd6363adbf36e4995 + signature: lCH/4P////98CAKm/////zyAAAD//wAAkAEAJP////+T4QAc/////zvgAAH/////k8EAGP////98fht4/////5OhABT/////O6QAAP//AAB/xPN4/////zh9AAj/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOAAAAP////8sHgAC/////5gDAAD//wAAQIIApP////84fQAg/////0zGMYL/////SAAAAfwAAAM/wAAA//8AAD2AAAD//wAAPWAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AADxgAAD//wAAO/4AAP//AAA7oAAB/////zvMAAD//wAAOYsAAP//AAA5agAA//8AADlJAAD//wAAOSgAAP//AAA5BwAA//8AADjmAAD//wAAOMUAAP//AAA4pAAA//8AADiDAAD//wAAOAAAAP////+bvwAA/////zhgAAD/////k8wAAP////+RbAAY/////5FMABz/////kSwAEP////+RDAAU/////5DsAAj/////kMwADP////+QrAAg/////5CMACT/////kAwABP////9IAAFo/////yweAAH/////QIIAmP////84fQA4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAAz/gAAD//wAAPYAAAP//AAA7/wAA//8AAD/AAAD//wAAPWAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AAJf+AAD//wAAOYwAAP//AAA5awAA//8AADlKAAD//wAAOSkAAP//AAA5CAAA//8AADjnAAD//wAAOMYAAP//AAA4pQAA//8AADgEAAD//wAAkZ4AGP////98fxt4/////5F+ABz/////kV4AEP////+RPgAU/////5EeAAj/////kP4ADP////+Q3gAg/////5C+ACT/////kB4ABP////9IAADI/////yweAAD/////QIIAmP////84fQBc/////0zGMYL/////SAAAAfwAAANIAAAB/AAAAz/gAAD//wAAPYAAAP//AAA7/wAA//8AAD/AAAD//wAAPWAAAP//AAA9QAAA//8AAD0gAAD//wAAPQAAAP//AAA84AAA//8AADzAAAD//wAAPKAAAP//AAA8gAAA//8AAJf+AAD//wAAOYwAAP//AAA5awAA//8AADlKAAD//wAAOSkAAP//AAA5CAAA//8AADjnAAD//wAAOMYAAP//AAA4pQAA//8AADgEAAD//wAAkZ4AGP////98fxt4/////5F+ABz/////kV4AEP////+RPgAU/////5EeAAj/////kP4ADP////+Q3gAg/////5C+ACT/////kB4ABP////9IAAAs/////3/E83j/////OH0AgP////9MxjGC/////0gAAAH8AAADOH0ArP////9MxjGC/////0gAAAH8AAADOH0A3P////9MxjGC/////0gAAAH8AAADf+P7eP////+AAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: InitMetroTRKCommTable + size: 620 + flags: 1 + section: null + - kind: Object + name: EndofProgramInstruction$162 + size: 4 + flags: 2 + section: .rodata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: TRK_Use_BBA + size: 1 + flags: 1 + section: .bss + - kind: Function + name: udp_cc_initialize + size: 0 + flags: 5 + section: null + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .data + - kind: Function + name: udp_cc_open + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_close + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_read + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_write + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_shutdown + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_peek + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_pre_continue + size: 0 + flags: 5 + section: null + - kind: Function + name: udp_cc_post_stop + size: 0 + flags: 5 + section: null + - kind: Function + name: Hu_IsStub + size: 0 + flags: 5 + section: .text + - kind: Function + name: gdev_cc_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_open + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_close + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_read + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_write + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_shutdown + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_peek + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_pre_continue + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_post_stop + size: 0 + flags: 1 + section: null + - kind: Function + name: gdev_cc_initinterrupts + size: 0 + flags: 1 + section: null + - kind: Function + name: AMC_IsStub + size: 0 + flags: 1 + section: .text + - kind: Function + name: ddh_cc_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_open + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_close + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_read + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_write + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_shutdown + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_peek + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_pre_continue + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_post_stop + size: 0 + flags: 1 + section: null + - kind: Function + name: ddh_cc_initinterrupts + size: 0 + flags: 1 + section: null + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 300 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 316 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 328 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 344 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 416 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 27 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 432 + kind: PpcAddr16Ha + symbol: 28 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 29 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 30 + addend: 0 + - offset: 444 + kind: PpcAddr16Ha + symbol: 31 + addend: 0 + - offset: 448 + kind: PpcAddr16Ha + symbol: 32 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 33 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 34 + addend: 0 + - offset: 460 + kind: PpcAddr16Ha + symbol: 35 + addend: 0 + - offset: 464 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 27 + addend: 0 + - offset: 472 + kind: PpcAddr16Lo + symbol: 28 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 29 + addend: 0 + - offset: 480 + kind: PpcAddr16Lo + symbol: 30 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 31 + addend: 0 + - offset: 488 + kind: PpcAddr16Lo + symbol: 32 + addend: 0 + - offset: 492 + kind: PpcAddr16Lo + symbol: 33 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 34 + addend: 0 + - offset: 500 + kind: PpcAddr16Lo + symbol: 35 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/NANDInit.yml b/assets/NANDInit.yml new file mode 100644 index 0000000..7b1073f --- /dev/null +++ b/assets/NANDInit.yml @@ -0,0 +1,1799 @@ +- symbol: 0 + hash: e5e0191af84508f4740b2fd97d8a37d96a759771 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////8/4AAA//8AADv/AAD//wAAk8EAGP////9IAAAB/AAAA4AAAAD/4AAALAAAAf////9AggAQ/////0gAAAH8AAADOGD//f////9IAADg/////ywAAAL/////QIIAEP////9IAAAB/AAAAzhgAAD/////SAAAzP////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAAywDAAD/////fH4beP////9AggCY/////0gAAAH8AAADLAMAAP////98fht4/////0CCABD/////OGEACP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggAc/////zygAAD//wAAgGEACP////+AgQAM/////zilAAD//wAASAAAAfwAAAN8fht4/////yweAAD/////QIIAFP////88gAAA//8AADh/AGD/////OIQAAP//AABIAAAB/AAAA0gAAAH8AAADLB4AAP////9BggAQ/////zh/ATD/////TMYxgv////9IAAAB/AAAAzh/AKD/////SAAAAfwAAANIAAAB/AAAAzgAAAL/////kAAAAP/gAABIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAM4YAAA/////0gAABz/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAAfwAAAN/w/N4/////0gAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: NANDInit + size: 300 + flags: 1 + section: .text + - kind: Object + name: '@2834' + size: 73 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_GetTitleId + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: ESP_GetDataDir + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 58c9debfd8e44145f203f8452cd005afc4cde90a + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////8/4AAA//8AADv/AAD//wAAk8EAGP////9IAAAB/AAAA4AAAAD/4AAALAAAAf////9AggAQ/////0gAAAH8AAADOGD//f////9IAADo/////ywAAAL/////QIIAEP////9IAAAB/AAAAzhgAAD/////SAAA1P////84AAAB/////5AAAAD/4AAASAAAAfwAAANIAAAB/AAAAywDAAD/////fH4beP////9AggCg/////0gAAAH8AAADLAMAAP////98fht4/////0CCABD/////OGEACP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggAc/////zygAAD//wAAgGEACP////+AgQAM/////zilAAD//wAASAAAAfwAAAN8fht4/////yweAAD/////QIIAFP////88gAAA//8AADh/AGD/////OIQAAP//AABIAAAB/AAAA0gAAAH8AAADLB4AAP////9BggAQ/////zh/ATD/////TMYxgv////9IAAAB/AAAAzh/AKD/////SAAAAfwAAANIAAAB/AAAAzgAAAL/////kAAAAP/gAABIAAAB/AAAAzhgAAH/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADOGAAAP////9IAAAc/////0gAAAH8AAADOAAAAP////+QAAAA/+AAAEgAAAH8AAADf8PzeP////9IAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: NANDInit + size: 308 + flags: 1 + section: .text + - kind: Object + name: '@2807' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_GetTitleId + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: ESP_GetDataDir + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: NANDSetAutoErrorMessaging + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 9a48224f50e3b4da8550b69631b8e4323f2a9a16 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////PGAAAP//AAA7YwAA//8AAEgAAAH8AAADfH4beP////+AAAAA/+AAACwAAAH/////QIIAFP////9/w/N4/////0gAAAH8AAADOGD//f////9IAAEE/////4AAAAD/4AAALAAAAv////9AggAU/////3/D83j/////SAAAAfwAAAM4YAAA/////0gAAOj/////O4D/i/////84AAAB/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA0gAAAH8AAADfHwbeP////8sHAAA/////0CCAKD/////SAAAAfwAAAN8fRt4/////ywdAAD/////QIIAEP////84fwAI/////0gAAAH8AAADfH0beP////8sHQAA/////0CCABz/////gH8ACP////+AnwAM/////zygAAD//wAAOKUAAP//AABIAAAB/AAAA3x9G3j/////LB0AAP////9AggAU/////zh7AGD/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADSAAAAfwAAAMsHQAA/////0GCABD/////OHsCgP////9MxjGC/////0gAAAH8AAADOHsAoP////9IAAAB/AAAA0gAAAH8AAADfH4beP////84AAAC/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA4BgAAD/4AAASAAAAfwAAAM4YAAA/////0gAACj/////SAAAAfwAAAN8fht4/////zgAAAD/////kAAAAP/gAAB/w/N4/////0gAAAH8AAADf4PjeP////9IAAAB/AAAA0gAAAT/////f+r7eP////85agAw/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: NANDInit + size: 356 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2628' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_GetTitleId + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: ESP_GetDataDir + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 234dacdbde32146d5b2818de227e12c2fbb4ec6e + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////PGAAAP//AAA7YwAA//8AAEgAAAH8AAADfH4beP////+AAAAA/+AAACwAAAH/////QIIAFP////9/w/N4/////0gAAAH8AAADOGD//f////9IAAEM/////4AAAAD/4AAALAAAAv////9AggAU/////3/D83j/////SAAAAfwAAAM4YAAA/////0gAAPD/////O4D/i/////84AAAB/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA0gAAAH8AAADfHwbeP////8sHAAA/////0CCAKj/////SAAAAfwAAAN8fRt4/////ywdAAD/////QIIAEP////84fwAI/////0gAAAH8AAADfH0beP////8sHQAA/////0CCABz/////gH8ACP////+AnwAM/////zygAAD//wAAOKUAAP//AABIAAAB/AAAA3x9G3j/////LB0AAP////9AggAU/////zh7AGD/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADSAAAAfwAAAMsHQAA/////0GCABD/////OHsCvP////9MxjGC/////0gAAAH8AAADOHsAoP////9IAAAB/AAAA0gAAAH8AAADfH4beP////84AAAC/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAAzhgAAH/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADOGAAAP////9IAAAo/////0gAAAH8AAADfH4beP////84AAAA/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA3+D43j/////SAAAAfwAAANIAAAE/////3/q+3j/////OWoAMP////9IAAAB/AAAA4FBAAD/////gAoABP////99QVN4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: NANDInit + size: 364 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2665' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_GetTitleId + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: ESP_GetDataDir + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: NANDSetAutoErrorMessaging + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: ace08c2138fc21c1708aa8def274a9b5f2fa6abb + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////SAAAAfwAAAN8fxt4/////4AAAAD/4AAALAAAAf////9AggAU/////3/j+3j/////SAAAAfwAAAM4YP/9/////0gAARj/////gAAAAP/gAAAsAAAC/////0CCABT/////f+P7eP////9IAAAB/AAAAzhgAAD/////SAAA/P////87oP+L/////zgAAAH/////kAAAAP/gAAB/4/t4/////0gAAAH8AAADSAAAAfwAAAN8fRt4/////ywdAAD/////QIIAuP////84AP///////5ABAAj/////OGEACP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggAU/////zhhAAj/////OIEAEP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggAg/////zhhAAj/////gKEAEP////+AwQAU/////zyAAAD//wAAOOQAAP//AABIAAAB/AAAA3x+G3j/////LB4AAP////9AggAY/////zxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAASAAAAfwAAAM4YQAI/////0gAAAH8AAADLB4AAP////9BggAU/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADSAAAAfwAAAN8fxt4/////zgAAAL/////kAAAAP/gAAB/4/t4/////0gAAAH8AAADgGAAAP/gAABIAAAB/AAAAzhgAAD/////SAAAJP////9IAAAB/AAAA3x/G3j/////OAAAAP////+QAAAA/+AAAH/j+3j/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADg+EALP////+DwQAo/////4OhACT/////gAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: NANDInit + size: 364 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: _ES_InitLib + size: 0 + flags: 2 + section: .text + - kind: Function + name: _ES_GetTitleId + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: _ES_GetDataDir + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_currentDir + size: 64 + flags: 2 + section: .data + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: _ES_CloseLib + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@2838' + size: 31 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 735ed4fcfa27a6e6a4cf927baf1f78e22c10b0a4 + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////98Pwt4/////0gAAAH8AAADfH4beP////+AAAAA/+AAACwAAAH/////QIIAFP////9/w/N4/////0gAAAH8AAADOGD//f////9IAAEo/////4AAAAD/4AAALAAAAv////9AggAU/////3/D83j/////SAAAAfwAAAM4YAAA/////0gAAQz/////O4D/i/////84AAAB/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA0gAAAH8AAADfHwbeP////8sHAAA/////0CCAMT/////OAD///////+QHwAI/////zh/AAj/////SAAAAfwAAAN8fRt4/////ywdAAD/////QIIAFP////84fwAI/////zifABD/////SAAAAfwAAAN8fRt4/////ywdAAD/////QIIAIP////84fwAI/////4C/ABD/////gN8AFP////88gAAA//8AADjkAAD//wAASAAAAfwAAAN8fRt4/////ywdAAD/////QIIAGP////88YAAA//8AADhjAAD//wAAPIAAAP//AAA4hAAA//8AAEgAAAH8AAADOH8ACP////9IAAAB/AAAAywdAAD/////QYIAFP////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAA0gAAAH8AAADfH4beP////84AAAC/////5AAAAD/4AAAf8PzeP////9IAAAB/AAAA4BgAAD/4AAASAAAAfwAAAM4YAAA/////0gAACj/////SAAAAfwAAAN8fht4/////zgAAAD/////kAAAAP/gAAB/w/N4/////0gAAAH8AAADf4PjeP////9IAAAB/AAAA0gAAAT/////f+r7eP////+D6gAs/////4PKACj/////g6oAJP////+DigAg/////4FBAAD/////gAoABP////99QVN4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: NANDInit + size: 400 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: _ES_InitLib + size: 0 + flags: 2 + section: .text + - kind: Function + name: _ES_GetTitleId + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: _ES_GetDataDir + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_currentDir + size: 64 + flags: 2 + section: .data + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: _ES_CloseLib + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@2921' + size: 31 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: s_shutdownFuncInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 4bf2307d73aed4500f9523d42b1b63f0d15ef810 + signature: VCsG/v////98LAt4/////yFr/UD/////fCFZbv////98CAKm/////5AMAAT/////k+z//P////8/4AAA//8AADv/AAD//wAAk8z/+P////+TrP/0/////5OM//D/////SAAAAfwAAAOAAAAA/+AAACwAAAH/////QIIAEP////9IAAAB/AAAAzhg//3/////SAACAP////8sAAAC/////0CCABD/////SAAAAfwAAAM4YAAA/////0gAAez/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADSAAAAfwAAAMsAwAA/////3x8G3j/////QIIBJP////84YP///////zuAAAD/////kGEAIP////84YAAA/+AAADiAAAD/////SAAAAfwAAAMsAwAA/////5BhACD/////QIAACP////98fBt4/////ywcAAD/////QIIAZP////8sAwAA/////zjhAED/////QYAAFP////84gQAo/////zgAAAD/////fAQAQP////9AggAM/////zhg/Af/////SAAAPP////84gQBg/////zgAAAj/////kIEAQP////84gAAg/////zigAAD/////OMAAAf////+QAQBE/////0gAAAH8AAADLAMAAP////9AggAU/////4ABAGD/////gIEAZP////+QAQAo/////5CBACz/////fHwbeP////8sHAAA/////0CCACD/////POAAAP//AACAoQAo/////4DBACz/////OGEAIP////845wAA//8AAEgAAAH8AAADfHwbeP////8sHAAA/////0CCABT/////PIAAAP//AAA4fwBg/////ziEAAD//wAASAAAAfwAAAOAYQAg/////ywDAAD/////QYAAGP////9IAAAB/AAAAywDAAD/////QIIADP////84YP///////5BhACD/////LBwAAP////9BggAQ/////zh/AOz/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADOAAAAv////+QAAAA/+AAAEgAAAH8AAADgGAAAP/gAABIAAAB/AAAAzhgAAD/////SAAAsP////9IAAAB/AAAAzgAAAD/////kAAAAP/gAABIAAAB/AAAAzxgAAD//wAAOAAAJ/////84YwAA//8AADihAVz/////OIP//P////98CQOm/////4BkAAT/////hAQACP////+QZQAE/////5QFAAj/////QgD/8P////8sHAAA/////zugAAD/////OGAAAP////9BgAAI/////0gAAFz/////OAAAJ/////87wQFg/////3wJA6b/////fB4YLv////98HAAA/////0CCABz/////f4PjeP////9IAAAB/AAAAzgdAAH/////VAAQOv////9/ngAu/////0gAACz/////O70AAv////84YwAI/////0IA/9T/////f4TjeP////84fwC4/////0zGMYL/////SAAAAfwAAAN/g+N4/////0gAAAH8AAADO4D/wP////9/g+N4/////4FBAAD/////gAoABP////+D6v/8/////4PK//j/////g6r/9P////+Div/w/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: NANDInit + size: 620 + flags: 1 + section: .text + - kind: Object + name: '@2587' + size: 73 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@3938' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Ioctlv + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: _ES_GetDataDir + size: 0 + flags: 2 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Close + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2852' + size: 312 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 312 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 436 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 83bc3afb55cb9aa93ef82b8a17df12f610047b5d + signature: VCsG/v////98LAt4/////yFr/UD/////fCFZbv////98CAKm/////5AMAAT/////k+z//P////8/4AAA//8AADv/AAD//wAAk8z/+P////+TrP/0/////5OM//D/////SAAAAfwAAAOAAAAA/+AAACwAAAH/////QIIAEP////9IAAAB/AAAAzhg//3/////SAACCP////8sAAAC/////0CCABD/////SAAAAfwAAAM4YAAA/////0gAAfT/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADSAAAAfwAAAMsAwAA/////3x8G3j/////QIIBLP////84YP///////zuAAAD/////kGEAIP////84YAAA/+AAADiAAAD/////SAAAAfwAAAMsAwAA/////5BhACD/////QIAACP////98fBt4/////ywcAAD/////QIIAZP////8sAwAA/////zjhAED/////QYAAFP////84gQAo/////zgAAAD/////fAQAQP////9AggAM/////zhg/Af/////SAAAPP////84gQBg/////zgAAAj/////kIEAQP////84gAAg/////zigAAD/////OMAAAf////+QAQBE/////0gAAAH8AAADLAMAAP////9AggAU/////4ABAGD/////gIEAZP////+QAQAo/////5CBACz/////fHwbeP////8sHAAA/////0CCACD/////POAAAP//AACAoQAo/////4DBACz/////OGEAIP////845wAA//8AAEgAAAH8AAADfHwbeP////8sHAAA/////0CCABT/////PIAAAP//AAA4fwBg/////ziEAAD//wAASAAAAfwAAAOAYQAg/////ywDAAD/////QYAAGP////9IAAAB/AAAAywDAAD/////QIIADP////84YP///////5BhACD/////LBwAAP////9BggAQ/////zh/APz/////TMYxgv////9IAAAB/AAAAzh/AKD/////SAAAAfwAAANIAAAB/AAAAzgAAAL/////kAAAAP/gAABIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAM4YAAA/////0gAALD/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAAfwAAAM8YAAA//8AADgAACj/////OGMAAP//AAA4oQFc/////ziD//z/////fAkDpv////+AZAAE/////4QEAAj/////kGUABP////+UBQAI/////0IA//D/////LBwAAP////87oAAA/////zhgAAD/////QYAACP////9IAABc/////zgAACj/////O8EBYP////98CQOm/////3weGC7/////fBwAAP////9AggAc/////3+D43j/////SAAAAfwAAAM4HQAB/////1QAEDr/////f54ALv////9IAAAs/////zu9AAL/////OGMACP////9CAP/U/////3+E43j/////OH8AyP////9MxjGC/////0gAAAH8AAADf4PjeP////9IAAAB/AAAAzuA/8D/////f4PjeP////+BQQAA/////4AKAAT/////g+r//P////+Dyv/4/////4Oq//T/////g4r/8P////98CAOm/////31BU3j/////ToAAIP////8= + symbols: + - kind: Function + name: NANDInit + size: 628 + flags: 1 + section: .text + - kind: Object + name: '@2602' + size: 73 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_OpenLib + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@4010' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Ioctlv + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_homeDir + size: 64 + flags: 2 + section: .bss + - kind: Function + name: _ES_GetDataDir + size: 0 + flags: 2 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: IOS_Close + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Object + name: __NANDVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2869' + size: 320 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 312 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 18 + addend: 0 diff --git a/assets/NANDLoggingAddMessageAsync.yml b/assets/NANDLoggingAddMessageAsync.yml new file mode 100644 index 0000000..9391e15 --- /dev/null +++ b/assets/NANDLoggingAddMessageAsync.yml @@ -0,0 +1,394 @@ +- symbol: 0 + hash: b2f354b6b821c6f6f2185c5ee06519a79920d634 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////98nyN4/////5PBAHj/////fH4beP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAABw/////ziBAIj/////OAEACP////88oAIA/////zxgAAD//wAAkKEAaP////84wQBo/////3/l+3j/////OGMAAP//AACQgQBs/////ziAAQD/////kAEAcP////9IAAAB/AAAAzgAAAH/////PGAAAP//AAA8oAAA//8AAJPAAAD/4AAAOGMAAP//AAA4gAAD/////5AAAAD/4AAAOKUAAP//AAA4wAAA/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAH/////SAAACP////84YAAA/////4ABAIT/////g+EAfP////+DwQB4/////3wIA6b/////OCEAgP////9OgAAg/////w== + symbols: + - kind: Function + name: NANDLoggingAddMessageAsync + size: 248 + flags: 1 + section: .text + - kind: Function + name: reserveFileDescriptor + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_message + size: 256 + flags: 2 + section: .bss + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1208' + size: 27 + flags: 2 + section: .data + - kind: Function + name: asyncRoutine + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_stage + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 96 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: d43166fc1209ee67bcaca26927eb7ee9fd0db452 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////5BhAGj/////fJ4jeP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////O+D/i/////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAHz/////OGEAbP////88AAIA/////5ADAAD/////OAEAiP////+QAwAE/////zgBAAj/////kAMACP////88YAAA//8AADhjAAD//wAAOIABAP////9/xfN4/////zjBAGz/////SAAAAfwAAAOAAQBo/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAADxgAAD//wAAOGMAAP//AAA4gAAD/////zygAAD//wAAOKUAAP//AAA4wAAA/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////OGAAAf////9IAAAI/////zhgAAD/////g+EAfP////+DwQB4/////4ABAIT/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: NANDLoggingAddMessageAsync + size: 264 + flags: 1 + section: .text + - kind: Function + name: reserveFileDescriptor + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_message + size: 256 + flags: 2 + section: .bss + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_stage + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@756' + size: 27 + flags: 2 + section: .data + - kind: Function + name: asyncRoutine + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 100 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: eb049a828382dc849b8408fdb561b0c796f0d6bf + signature: lCH/cP////98CAKm/////5ABAJT/////k+EAjP////98vyt4/////5PBAIj/////fJ4jeP////+ToQCE/////3x9G3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////+QgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////0gAAAH8AAADLAMAAP////9AggAM/////zhgAAD/////SAAAhP////84gQCY/////zgBAAj/////PKADAP////88YAAA//8AAJChAGj/////OMEAaP////9/5ft4/////zhjAAD//wAAkIEAbP////84gAEA/////5ABAHD/////SAAAAfwAAAMsHv+L/////zgAAAH/////k6AAAP/gAACQAAAA/+AAAEGCAAz/////LB7/9/////9AggAI/////5PAAAD/4AAAPGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAAA/////84pQAA//8AADjAAAD/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAf////9IAAAI/////zhgAAD/////gAEAlP////+D4QCM/////4PBAIj/////g6EAhP////98CAOm/////zghAJD/////ToAAIP////8= + symbols: + - kind: Function + name: NANDLoggingAddMessageAsync + size: 280 + flags: 1 + section: .text + - kind: Function + name: reserveFileDescriptor + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_message + size: 256 + flags: 2 + section: .bss + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_stage + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_err + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@1150' + size: 27 + flags: 2 + section: .data + - kind: Function + name: asyncRoutine + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 104 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: a8db8d80d97d0798e08115696faac63d749619c2 + signature: lCH/cP////98CAKm/////5ABAJT/////k+EAjP////+TwQCI/////5OhAIT/////kGEAaP////98niN4/////3y9K3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////+QgQAM/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////zvg/4v/////SAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAACQ/////zhhAGz/////PAADAP////+QAwAA/////zgBAJj/////kAMABP////84AQAI/////5ADAAj/////PGAAAP//AAA4YwAA//8AADiAAQD/////f6XreP////84wQBs/////0gAAAH8AAADgAEAaP////+QAAAA/+AAADgAAAH/////kAAAAP/gAAAsHv+L/////0GCAAz/////LB7/9/////9AggAI/////5PAAAD/4AAAPGAAAP//AAA4YwAA//8AADiAAAP/////PKAAAP//AAA4pQAA//8AADjAAAD/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIADP////84YAAB/////0gAAAj/////OGAAAP////+D4QCM/////4PBAIj/////g6EAhP////+AAQCU/////3wIA6b/////OCEAkP////9OgAAg/////w== + symbols: + - kind: Function + name: NANDLoggingAddMessageAsync + size: 296 + flags: 1 + section: .text + - kind: Function + name: reserveFileDescriptor + size: 0 + flags: 2 + section: .text + - kind: Object + name: s_message + size: 256 + flags: 2 + section: .bss + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_stage + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: s_err + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@699' + size: 27 + flags: 2 + section: .data + - kind: Function + name: asyncRoutine + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 108 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 9 + addend: 0 diff --git a/assets/NANDPrivateOpenAsync.yml b/assets/NANDPrivateOpenAsync.yml new file mode 100644 index 0000000..d869921 --- /dev/null +++ b/assets/NANDPrivateOpenAsync.yml @@ -0,0 +1,415 @@ +- symbol: 0 + hash: acab046e51fe1bca3e1406866134c508bf70180c + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////fJwjeP////98vSt4/////3zeM3j/////fP87eP////9IAAAB/AAAAywDAAD/////QIIADP////84YP+A/////0gAACj/////k98ABP////9/Y9t4/////3+k63j/////f+X7eP////+TnwAI/////zjAAAH/////OOAAAf////9IAAAB/AAAA0gAAAH8AAADOWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: NANDPrivateOpenAsync + size: 120 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsInitialized + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpen + size: 0 + flags: 2 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: bff1ee12621b5359722778317c8e6061af10d253 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA5BhAAj/////fJsjeP////+YoQAM/////5DBABD/////fP87eP////87wP+L/////zugAAH/////LBsAAP////9AggAw/////zxgAAD//wAAOGMAAP//AAA4gADJ/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO4AAAP////8sHAAA/////0CCAAj/////O6AAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YP+A/////0gAADT/////gAEAEP////+QHwAE/////5N/AAj/////gGEACP////+IgQAM/////3/l+3j/////OMAAAf////844AAB/////0gAAAH8AAADfH4beP////9/w/N4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: NANDPrivateOpenAsync + size: 192 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2382' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2383' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: nandIsInitialized + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpen + size: 0 + flags: 2 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 3f0b713345bbd8f9c3175f4df0b1d6efa184dd1b + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA5BhAAj/////fJsjeP////+YoQAM/////5DBABD/////fP87eP////87wP+L/////zugAAH/////LBsAAP////9AggAw/////zxgAAD//wAAOGMAAP//AAA4gAEt/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO4AAAP////8sHAAA/////0CCAAj/////O6AAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YP+A/////0gAADT/////gAEAEP////+QHwAE/////5N/AAj/////gGEACP////+IgQAM/////3/l+3j/////OMAAAf////844AAB/////0gAAAH8AAADfH4beP////9/w/N4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: NANDPrivateOpenAsync + size: 192 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2384' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2385' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: nandIsInitialized + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpen + size: 0 + flags: 2 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 5d18c32335f1c22d493ee5315437544b59e97699 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA5BhAAj/////fJsjeP////+YoQAM/////5DBABD/////fP87eP////87wP+L/////zugAAH/////LBsAAP////9AggAw/////zxgAAD//wAAOGMAAP//AAA4gAET/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO4AAAP////8sHAAA/////0CCAAj/////O6AAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YP+A/////0gAADT/////gAEAEP////+QHwAE/////5N/AAj/////gGEACP////+IgQAM/////3/l+3j/////OMAAAf////844AAB/////0gAAAH8AAADfH4beP////9/w/N4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: NANDPrivateOpenAsync + size: 192 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2424' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2425' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: nandIsInitialized + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpen + size: 0 + flags: 2 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: c6c44174d817dad1eaad21aeee27dffc0fe96387 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA5BhAAj/////fJsjeP////+YoQAM/////5DBABD/////fP87eP////87wP+L/////zugAAH/////LBsAAP////9AggAw/////zxgAAD//wAAOGMAAP//AAA4gAEz/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO4AAAP////8sHAAA/////0CCAAj/////O6AAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YP+A/////0gAADT/////gAEAEP////+QHwAE/////5N/AAj/////gGEACP////+IgQAM/////3/l+3j/////OMAAAf////844AAB/////0gAAAH8AAADfH4beP////9/w/N4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: NANDPrivateOpenAsync + size: 192 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2479' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2480' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: nandIsInitialized + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpen + size: 0 + flags: 2 + section: .text + - kind: Function + name: nandConvertErrorCode + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 diff --git a/assets/NANDSetAutoErrorMessaging.yml b/assets/NANDSetAutoErrorMessaging.yml new file mode 100644 index 0000000..45aff28 --- /dev/null +++ b/assets/NANDSetAutoErrorMessaging.yml @@ -0,0 +1,108 @@ +- symbol: 0 + hash: 4a3dea7febf021321ed40143f2f8f98045ed0d34 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98fxt4/////0gAAAH8AAADgKAAAP/gAAAsHwAA/////ziAAAD/////fAUA0P////98ACt4/////1QfD/7/////QYIADP////88gAAA//8AADiEAAD//wAAkIAAAP/gAABIAAAB/AAAA3/j+3j/////g+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: NANDSetAutoErrorMessaging + size: 92 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: NANDErrorFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __NANDShowErrorMessage + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 36341f6ac94fe65cf46272a6cc8531246d067277 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////+QYQAI/////0gAAAH8AAADfH8beP////+AAAAA/+AAACwAAAD/////QYIADP////87oAAB/////0gAAAj/////O6AAAP////9/vut4/////4ABAAj/////LAAAAP////9BggAQ/////zxgAAD//wAAO4MAAP//AABIAAAI/////zuAAAD/////k4AAAP/gAAB/4/t4/////0gAAAH8AAADf8PzeP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: NANDSetAutoErrorMessaging + size: 144 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: NANDErrorFunc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __NANDShowErrorMessage + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/OSDefaultExceptionHandler.yml b/assets/OSDefaultExceptionHandler.yml new file mode 100644 index 0000000..0ae98e5 --- /dev/null +++ b/assets/OSDefaultExceptionHandler.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: 1f40a0e9104d8a3d93a7d76126d0214d7f4f1a9c + signature: kAQAAP////+QJAAE/////5BEAAj/////vMQAGP////98EeKm/////5AEAaj/////fBLipv////+QBAGs/////3wT4qb/////kAQBsP////98FOKm/////5AEAbT/////fBXipv////+QBAG4/////3wW4qb/////kAQBvP////98F+Km/////5AEAcD/////fLICpv////980wKm/////0gAAAD8AAAD + symbols: + - kind: Function + name: OSDefaultExceptionHandler + size: 84 + flags: 1 + section: .text + - kind: Function + name: __OSUnhandledException + size: 0 + flags: 1 + section: .text + relocations: + - offset: 80 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 9d37c8031b331d5e70bf7c323ab01cc75101dc04 + signature: kAQAAP////+QJAAE/////5BEAAj/////vMQAGP////98EeKm/////5AEAaj/////fBLipv////+QBAGs/////3wT4qb/////kAQBsP////98FOKm/////5AEAbT/////fBXipv////+QBAG4/////3wW4qb/////kAQBvP////98F+Km/////5AEAcD/////fLICpv////980wKm/////5Qh//j/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSDefaultExceptionHandler + size: 88 + flags: 1 + section: .text + - kind: Function + name: __OSUnhandledException + size: 0 + flags: 1 + section: .text + relocations: + - offset: 84 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/OSDisableScheduler.yml b/assets/OSDisableScheduler.yml new file mode 100644 index 0000000..25b5a72 --- /dev/null +++ b/assets/OSDisableScheduler.yml @@ -0,0 +1,205 @@ +- symbol: 0 + hash: ee5c55472633eaf5f94d727bf4350ce336bd16f8 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA4PgAAD/4AAAOB8AAf////+QAAAA/+AAAEgAAAH8AAADf+P7eP////+D4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: OSDisableScheduler + size: 60 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 2e405f9ac24bac0d3459f4bf5339c412ecdc979e + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4CAAAD/4AAAOAQAAf////+QAAAA/+AAAHyfI3j/////SAAAAfwAAAOAAQAU/////3/j+3j/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSDisableScheduler + size: 64 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: e9f10d6ae89fde5544b275e4fc3952fb56956333 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4CAAAD/4AAAOAQAAf////+QAAAA/+AAAHyfI3j/////SAAAAfwAAAN/4/t4/////4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSDisableScheduler + size: 64 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 6f529c59daa6ba4d07b95a8ab888943ba2236349 + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////9IAAAB/AAAA3x/G3j/////g8AAAP/gAAA4HgAB/////5AAAAD/4AAAf+P7eP////9IAAAB/AAAA3/D83j/////gAEAFP////+7wQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSDisableScheduler + size: 68 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 0148739b5c101c6e675b8640b1ecc249e22dd5aa + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADfH8beP////+DwAAA/+AAADgeAAH/////kAAAAP/gAAB/4/t4/////0gAAAH8AAADf8PzeP////+D4QAM/////4PBAAj/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSDisableScheduler + size: 76 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/OSExceptionInit.yml b/assets/OSExceptionInit.yml new file mode 100644 index 0000000..54e61c0 --- /dev/null +++ b/assets/OSExceptionInit.yml @@ -0,0 +1,4941 @@ +- symbol: 0 + hash: 675f2c0120c0511092166ce3c67f17ab7194309a + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAAz8AgAD/////P4AAAP//AACAGABg/////zxgAAD//wAAP8AAAP//AACHvgAA//8AACwAAAD/////O5wAAP//AAA4YwAA//8AAH98GFD/////QIIAQP////88gAAA//8AADygAAD//wAAOIQAAP//AAA4eABg/////zilAAD//wAAfuQoUP////9+5bt4/////0gAAAH8AAADfuS7eP////84eABg/////0gAAAH8AAADfAAErP////9+5Lt4/////zh4AGD/////SAAAAfwAAAM8gAAA//8AADxgAAD//wAAP0AAAP//AAA74AAA/////ziEAAD//wAAOGMAAP//AAB+5BhQ/////ztaAAD//wAAPyBgAP////8/AAAA//8AAIBgAAD/4AAALAMAAP////9BggAQ/////4ADAAD/////KAAAAv////9AgACs/////1fgBj7/////KBcAAP////9/oAN4/////zh3AAP/////kB4AAP////84mAAA//8AAFRj8L7/////QIEAVP////9UYOj//////3wJA6b/////QYIANP////+TJAAA/////5MkAAT/////kyQACP////+TJAAM/////5MkABD/////kyQAFP////+TJAAY/////5MkABz/////OIQAIP////9CAP/c/////3BjAAf/////QYIAGP////98aQOm/////2AAAAD/////kyQAAP////84hAAE/////0IA//j/////V+AVuv////9/hON4/////3x6AC7/////f2XbeP////8+w4AA/////37Ds3j/////SAAAAfwAAAN+w7N4/////39k23j/////SAAAAfwAAAN8AASs/////37Ds3j/////f2TbeP////9IAAAB/AAAAzv/AAH/////KB8AD/////9BgP84/////zxggAD/////PIAAAP//AAA4YzAA/////5BgAAD/4AAAOIQAAP//AAA5YQAw/////5CDAAD/////gGAAAP/gAACQgwAE/////4BgAAD/4AAAkIMACP////+AYAAA/+AAAJCDAAz/////gGAAAP/gAACQgwAQ/////4BgAAD/4AAAkIMAFP////+AYAAA/+AAAJCDABj/////gGAAAP/gAACQgwAc/////4BgAAD/4AAAkIMAIP////+AYAAA/+AAAJCDACT/////gGAAAP/gAACQgwAo/////4BgAAD/4AAAkIMALP////+AYAAA/+AAAJCDADD/////gGAAAP/gAACQgwA0/////4BgAAD/4AAAkIMAOP////+TvgAA/////0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 532 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_22 + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSExceptionLocations + size: 60 + flags: 2 + section: .data + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_22 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 372 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 436 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 444 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 452 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 468 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 484 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 500 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 055325a41d77f9b381b758019044892694d257e6 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3w/C3j/////OAAAAf////+QHwAM/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAfAQAUP////8oAAEA/////0CBADj/////OGAAAP/gAAA4gAcm/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QHwAI/////4AfAAj/////LAAAAP////9AggAM/////zgAAAD/////kB8ADP////88YAAA//8AADuDAAD//wAAgBwAAP////+QHwAY/////zxgAAD//wAAOAMAAP//AACQHwAU/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAf2QAUP////84YABg/////0gAAAH8AAADfH0beP////+AHQAA/////ywAAAD/////QIIAZP////9/o+t4/////zygAAD//wAAOIUAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAAN/o+t4/////zyAAAD//wAAOKQAAP//AAA8gAAA//8AADgEAAD//wAAfIUAUP////9IAAAB/AAAA3wABKz/////f6PreP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAM7wAAA/////0gAAMT/////gAAAAP/gAAAsAAAA/////0GCABT/////gGAAAP/gAACAAwAA/////ygAAAL/////QIAApP////+AfwAY/////1fABj7/////fGADeP////+QHAAA/////zxgAAD//wAAOAMAAP//AACQHwAQ/////ztAAAD/////SAAAHP////88AGAA/////4B/ABD/////kAMAAP////84AwAE/////5AfABD/////O1oABP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////fBoAQP////9BgP/Q/////1fABj7/////VAAQOv////88YAAA//8AADhjAAD//wAAfGMALv////9IAAAB/AAAA3x9G3j/////f6PreP////+AnwAU/////39l23j/////SAAAAfwAAAN/o+t4/////39k23j/////SAAAAfwAAAN8AASs/////3+j63j/////f2TbeP////9IAAAB/AAAAzveAAH/////V8AGPv////8oAAAP/////0GA/zj/////OGAwAP////9IAAAB/AAAA5BgAAD/4AAAO8AAAP////9IAAAY/////1fDBj7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADO94AAf////9XwAY+/////ygAAA//////QYD/5P////+AHwAY/////5AcAAD/////f+r7eP////85agBA/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 584 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@991' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1257' + size: 50 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSExceptionLocations + size: 60 + flags: 2 + section: .data + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 256 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 376 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 380 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 388 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 516 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 520 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 7c3f577eee246205b7a0cce81adb5f20cf0f3caf + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAAz7AgAD/////P0AAAP//AACAFgBg/////zxgAAD//wAAP4AAAP//AAA/wAAA//8AACwAAAD/////O1oAAP//AAA4YwAA//8AAId8AAD//wAAO94AAP//AAB/OhhQ/////0CCAEz/////OH4DVP////9MxjGC/////0gAAAH8AAADPIAAAP//AAA8oAAA//8AADiEAAD//wAAOHYAYP////84pQAA//8AAH6kKFD/////fqWreP////9IAAAB/AAAA36kq3j/////OHYAYP////9IAAAB/AAAA3wABKz/////fqSreP////84dgBg/////0gAAAH8AAADP+AAAP//AAA8YAAA//8AADgfAAD//wAAOx4DGP////84YwAA//8AADugAAD/////fqAYUP////8+4GAA/////z7AAAD//wAAgGAAAP/gAAAsAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgNw/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAANj/////V6MGPv////9/YBt4/////5AcAAD/////SAAAAfwAAAMsAwAA/////0GCACj/////OH4DoP////9XpAY+/////0zGMYL/////SAAAAfwAAAN+pat4/////zh2AAD//wAAOJ8AAP//AABIAAAB/AAAA0gAAGT/////KBUAAP////84dQAD/////ziWAAD//wAAVGPwvv////9AgQBQ/////1Rg6P//////fAkDpv////9BggA0/////5LkAAD/////kuQABP////+S5AAI/////5LkAAz/////kuQAEP////+S5AAU/////5LkABj/////kuQAHP////84hAAg/////0IA/9z/////cGMAB/////9BggAU/////3xpA6b/////kuQAAP////84hAAE/////0IA//j/////V6AVuv////9/RNN4/////3x4AC7/////fyXLeP////8+g4AA/////36Do3j/////SAAAAfwAAAN+g6N4/////38ky3j/////SAAAAfwAAAN8AASs/////36Do3j/////fyTLeP////9IAAAB/AAAAzu9AAH/////KB0AD/////9BgP7o/////zxggAD/////PKAAAP//AAA4gzAA/////5CAAAD/4AAAOKUAAP//AAA4fgPQ/////5CkAAD/////gIAAAP/gAACQpAAE/////4CAAAD/4AAAkKQACP////+AgAAA/+AAAJCkAAz/////gIAAAP/gAACQpAAQ/////4CAAAD/4AAAkKQAFP////+AgAAA/+AAAJCkABj/////gIAAAP/gAACQpAAc/////4CAAAD/4AAAkKQAIP////+AgAAA/+AAAJCkACT/////gIAAAP/gAACQpAAo/////4CAAAD/4AAAkKQALP////+AgAAA/+AAAJCkADD/////gIAAAP/gAACQpAA0/////4CAAAD/4AAAkKQAOP////+TfAAA/////0zGMYL/////SAAAAfwAAAM5YQBA/////0gAAAH8AAADgAEARP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_20 + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_20 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 480 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 508 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 572 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 580 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 588 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 596 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 7a9df3d25f684a00f624c328cb031d2b3172fce6 + signature: fAgCpv////+QAQAE/////5Qh/8j/////voEACP////88YIAA/////4ADAGD/////PIAAAP//AAA7xAAA//8AADygAAD//wAAgz4AAP////88gAAA//8AADilAAD//wAAOIQAAP//AAA8wAAA//8AACgAAAD/////fLgreP////87pgAA//8AAH7lIFD/////OoMAYP////9AggBM/////zh9AST/////TMYxgv////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA4AwAA//8AADiEAAD//wAAfqQAUP////9+g6N4/////36lq3j/////SAAAAfwAAAN+g6N4/////36kq3j/////SAAAAfwAAAN8AASs/////36Do3j/////fqSreP////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA75AAA//8AADgDAAD//wAAO50A6P////9/fwBQ/////ztAAAD/////SAAABP////88YAAA//8AADqjAAD//wAAPsBgAP////9IAAAE/////0gAAUj/////gGAAAP/gAAAoAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQFA/////0zGMYL/////V0QGPv////9IAAAB/AAAA0gAAQT/////V1QGPv////9/IKN4/////5AeAAD/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAKP////9+hKN4/////0zGMYL/////OH0BcP////9IAAAB/AAAA36jq3j/////f+T7eP////9/Zdt4/////0gAAAH8AAADSAAAkP////9+pKt4/////0gAAAT/////KBsAAP////84ewAD/////1Rj8L7/////QIEAeP////9UYOj+/////ygAAAD/////fAkDpv////9BggBU/////0gAAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////9CAP/A/////3BjAAf/////QYIAGP////98aQOm/////0gAAAT/////ksQAAP////84hAAE/////0IA//j/////gHwAAP////9/BMN4/////37lu3j/////PoOAAP////9+g6N4/////0gAAAH8AAADfoOjeP////9+5Lt4/////0gAAAH8AAADfAAErP////9+g6N4/////37ku3j/////SAAAAfwAAAM7nAAE/////ztaAAH/////V0AGPv////8oAAAP/////0GA/rT/////PGCAAP////84AzAA/////5AAAAD/4AAAOoAAAP////9IAAAE/////zxgAAD//wAAOuMAAP//AABIAAAE/////0gAABT/////foOjeP////9+5Lt4/////0gAAAH8AAADOpQAAf////9WgAY+/////ygAAA//////QYD/6P////+TPgAA/////zh9AaD/////TMYxgv////9IAAAB/AAAA7qBAAj/////gAEAPP////84IQA4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@73' + size: 30 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: f6cab2af9357a841be258436bcfc54a2b62f657f + signature: fAgCpv////+QAQAE/////5Qh/8j/////voEACP////88YIAA/////4ADAGD/////PIAAAP//AAA7xAAA//8AADygAAD//wAAgz4AAP////88gAAA//8AADilAAD//wAAOIQAAP//AAA8wAAA//8AACgAAAD/////fLgreP////87pgAA//8AAH7lIFD/////OoMAYP////9AggBM/////zh9AXD/////TMYxgv////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA4AwAA//8AADiEAAD//wAAfqQAUP////9+g6N4/////36lq3j/////SAAAAfwAAAN+g6N4/////36kq3j/////SAAAAfwAAAN8AASs/////36Do3j/////fqSreP////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA75AAA//8AADgDAAD//wAAO50BNP////9/fwBQ/////ztAAAD/////SAAABP////88YAAA//8AADqjAAD//wAAPsBgAP////9IAAAE/////0gAAUj/////gGAAAP/gAAAoAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQGM/////0zGMYL/////V0QGPv////9IAAAB/AAAA0gAAQT/////V1QGPv////9/IKN4/////5AeAAD/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAKP////9+hKN4/////0zGMYL/////OH0BvP////9IAAAB/AAAA36jq3j/////f+T7eP////9/Zdt4/////0gAAAH8AAADSAAAkP////9+pKt4/////0gAAAT/////KBsAAP////84ewAD/////1Rj8L7/////QIEAeP////9UYOj+/////ygAAAD/////fAkDpv////9BggBU/////0gAAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////9CAP/A/////3BjAAf/////QYIAGP////98aQOm/////0gAAAT/////ksQAAP////84hAAE/////0IA//j/////gHwAAP////9/BMN4/////37lu3j/////PoOAAP////9+g6N4/////0gAAAH8AAADfoOjeP////9+5Lt4/////0gAAAH8AAADfAAErP////9+g6N4/////37ku3j/////SAAAAfwAAAM7nAAE/////ztaAAH/////V0AGPv////8oAAAP/////0GA/rT/////PGCAAP////84AzAA/////5AAAAD/4AAAOoAAAP////9IAAAE/////zxgAAD//wAAOuMAAP//AABIAAAE/////0gAABT/////foOjeP////9+5Lt4/////0gAAAH8AAADOpQAAf////9WgAY+/////ygAAA//////QYD/6P////+TPgAA/////zh9Aez/////TMYxgv////9IAAAB/AAAA7qBAAj/////gAEAPP////84IQA4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 68 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 27692fb1f81ed00a0ef0d4728e7a83362e10f73c + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAAz7AgAD/////P0AAAP//AACAFgBg/////zxgAAD//wAAP4AAAP//AAA/wAAA//8AACwAAAD/////O1oAAP//AAA4YwAA//8AAId8AAD//wAAO94AAP//AAB/OhhQ/////0CCAEz/////OH4EdP////9MxjGC/////0gAAAH8AAADPIAAAP//AAA8oAAA//8AADiEAAD//wAAOHYAYP////84pQAA//8AAH6kKFD/////fqWreP////9IAAAB/AAAA36kq3j/////OHYAYP////9IAAAB/AAAA3wABKz/////fqSreP////84dgBg/////0gAAAH8AAADP+AAAP//AAA8YAAA//8AADgfAAD//wAAOx4EOP////84YwAA//8AADugAAD/////fqAYUP////8+4GAA/////z7AAAD//wAAgGAAAP/gAAAsAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgSQ/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAANj/////V6MGPv////9/YBt4/////5AcAAD/////SAAAAfwAAAMsAwAA/////0GCACj/////OH4EwP////9XpAY+/////0zGMYL/////SAAAAfwAAAN+pat4/////zh2AAD//wAAOJ8AAP//AABIAAAB/AAAA0gAAGT/////KBUAAP////84dQAD/////ziWAAD//wAAVGPwvv////9AgQBQ/////1Rg6P//////fAkDpv////9BggA0/////5LkAAD/////kuQABP////+S5AAI/////5LkAAz/////kuQAEP////+S5AAU/////5LkABj/////kuQAHP////84hAAg/////0IA/9z/////cGMAB/////9BggAU/////3xpA6b/////kuQAAP////84hAAE/////0IA//j/////V6AVuv////9/RNN4/////3x4AC7/////fyXLeP////8+g4AA/////36Do3j/////SAAAAfwAAAN+g6N4/////38ky3j/////SAAAAfwAAAN8AASs/////36Do3j/////fyTLeP////9IAAAB/AAAAzu9AAH/////KB0AD/////9BgP7o/////zxggAD/////PKAAAP//AAA4gzAA/////5CAAAD/4AAAOKUAAP//AAA4fgTw/////5CkAAD/////gIAAAP/gAACQpAAE/////4CAAAD/4AAAkKQACP////+AgAAA/+AAAJCkAAz/////gIAAAP/gAACQpAAQ/////4CAAAD/4AAAkKQAFP////+AgAAA/+AAAJCkABj/////gIAAAP/gAACQpAAc/////4CAAAD/4AAAkKQAIP////+AgAAA/+AAAJCkACT/////gIAAAP/gAACQpAAo/////4CAAAD/4AAAkKQALP////+AgAAA/+AAAJCkADD/////gIAAAP/gAACQpAA0/////4CAAAD/4AAAkKQAOP////+TfAAA/////0zGMYL/////SAAAAfwAAAM5YQBA/////0gAAAH8AAADgAEARP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_20 + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_20 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 480 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 508 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 572 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 580 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 588 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 596 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 081e0ba716341a8a952253863962d99bfb3b6772 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAAz7AgAD/////P0AAAP//AACAFgBg/////zxgAAD//wAAP4AAAP//AAA/wAAA//8AACwAAAD/////O1oAAP//AAA4YwAA//8AAId8AAD//wAAO94AAP//AAB/OhhQ/////0CCAEz/////OH4EDP////9MxjGC/////0gAAAH8AAADPIAAAP//AAA8oAAA//8AADiEAAD//wAAOHYAYP////84pQAA//8AAH6kKFD/////fqWreP////9IAAAB/AAAA36kq3j/////OHYAYP////9IAAAB/AAAA3wABKz/////fqSreP////84dgBg/////0gAAAH8AAADP+AAAP//AAA8YAAA//8AADgfAAD//wAAOx4D0P////84YwAA//8AADugAAD/////fqAYUP////8+4GAA/////z7AAAD//wAAgGAAAP/gAAAsAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgQo/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAANj/////V6MGPv////9/YBt4/////5AcAAD/////SAAAAfwAAAMsAwAA/////0GCACj/////OH4EWP////9XpAY+/////0zGMYL/////SAAAAfwAAAN+pat4/////zh2AAD//wAAOJ8AAP//AABIAAAB/AAAA0gAAGT/////KBUAAP////84dQAD/////ziWAAD//wAAVGPwvv////9AgQBQ/////1Rg6P//////fAkDpv////9BggA0/////5LkAAD/////kuQABP////+S5AAI/////5LkAAz/////kuQAEP////+S5AAU/////5LkABj/////kuQAHP////84hAAg/////0IA/9z/////cGMAB/////9BggAU/////3xpA6b/////kuQAAP////84hAAE/////0IA//j/////V6AVuv////9/RNN4/////3x4AC7/////fyXLeP////8+g4AA/////36Do3j/////SAAAAfwAAAN+g6N4/////38ky3j/////SAAAAfwAAAN8AASs/////36Do3j/////fyTLeP////9IAAAB/AAAAzu9AAH/////KB0AD/////9BgP7o/////zxggAD/////PKAAAP//AAA4gzAA/////5CAAAD/4AAAOKUAAP//AAA4fgSI/////5CkAAD/////gIAAAP/gAACQpAAE/////4CAAAD/4AAAkKQACP////+AgAAA/+AAAJCkAAz/////gIAAAP/gAACQpAAQ/////4CAAAD/4AAAkKQAFP////+AgAAA/+AAAJCkABj/////gIAAAP/gAACQpAAc/////4CAAAD/4AAAkKQAIP////+AgAAA/+AAAJCkACT/////gIAAAP/gAACQpAAo/////4CAAAD/4AAAkKQALP////+AgAAA/+AAAJCkADD/////gIAAAP/gAACQpAA0/////4CAAAD/4AAAkKQAOP////+TfAAA/////0zGMYL/////SAAAAfwAAAM5YQBA/////0gAAAH8AAADgAEARP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_20 + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_20 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 480 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 500 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 508 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 572 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 580 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 588 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 596 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: da442caeea882c2aa045154ab2b63dc43f6fc3af + signature: fAgCpv////+QAQAE/////5Qh/8j/////voEACP////88YIAA/////4ADAGD/////PIAAAP//AAA7xAAA//8AADygAAD//wAAgz4AAP////88gAAA//8AADilAAD//wAAOIQAAP//AAA8wAAA//8AACgAAAD/////fLgreP////87pgAA//8AAH7lIFD/////OoMAYP////9AggBM/////zh9AWD/////TMYxgv////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA4AwAA//8AADiEAAD//wAAfqQAUP////9+g6N4/////36lq3j/////SAAAAfwAAAN+g6N4/////36kq3j/////SAAAAfwAAAN8AASs/////36Do3j/////fqSreP////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA75AAA//8AADgDAAD//wAAO50BJP////9/fwBQ/////ztAAAD/////SAAABP////88YAAA//8AADqjAAD//wAAPsBgAP////9IAAAE/////0gAAUj/////gGAAAP/gAAAoAwAA/////0GCADT/////gAMAAP////8oAAAC/////0GAACj/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQF8/////0zGMYL/////V0QGPv////9IAAAB/AAAA0gAAQT/////V1QGPv////9/IKN4/////5AeAAD/////f0PTeP////9IAAAB/AAAAywDAAD/////QYIAKP////9+hKN4/////0zGMYL/////OH0BrP////9IAAAB/AAAA36jq3j/////f+T7eP////9/Zdt4/////0gAAAH8AAADSAAAkP////9+pKt4/////0gAAAT/////KBsAAP////84ewAD/////1Rj8L7/////QIEAeP////9UYOj+/////ygAAAD/////fAkDpv////9BggBU/////0gAAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////+SxAAA/////ziEAAT/////ksQAAP////84hAAE/////5LEAAD/////OIQABP////9CAP/A/////3BjAAf/////QYIAGP////98aQOm/////0gAAAT/////ksQAAP////84hAAE/////0IA//j/////gHwAAP////9/BMN4/////37lu3j/////PoOAAP////9+g6N4/////0gAAAH8AAADfoOjeP////9+5Lt4/////0gAAAH8AAADfAAErP////9+g6N4/////37ku3j/////SAAAAfwAAAM7nAAE/////ztaAAH/////V0AGPv////8oAAAP/////0GA/rT/////PGCAAP////84AzAA/////5AAAAD/4AAAOoAAAP////9IAAAE/////zxgAAD//wAAOuMAAP//AABIAAAE/////0gAABT/////foOjeP////9+5Lt4/////0gAAAH8AAADOpQAAf////9WgAY+/////ygAAA//////QYD/6P////+TPgAA/////zh9Adz/////TMYxgv////9IAAAB/AAAA7qBAAj/////gAEAPP////84IQA4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSExceptionInit + size: 640 + flags: 2 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 68 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 5a878fd4343838d45b34876f2b48c071106d5c27 + signature: fAgCpv////+QAQAE/////5Qh/9D/////vuEADP////88YAAA//8AADujAAD//wAAOAAAAP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQAk/////zhgAAD/4AAAOIAELf////84vQJ0/////0zGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////zxgAAD//wAAO4MAAP//AACDXAAA/////zxgAAD//wAAOwMAAP//AAA8YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAH9kAFD/////OGAAYP////9IAAAB/AAAA3x+G3j/////gB4AAP////8oAAAA/////0CCAHD/////OH0CqP////9MxjGC/////0gAAAH8AAADf8PzeP////88gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf8PzeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3/D83j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO+AAAP////9IAAEg/////4AAAAD/4AAAKAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQLE/////1fkBj7/////TMYxgv////9IAAAB/AAAA0gAANz/////V+AGPv////9/QAN4/////5AcAAD/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAQP////84fQL0/////1fkBj7/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADSAAAQP////88YAAA//8AADrjAAD//wAAOyAAAP////9IAAAU/////zwAYAD/////kBcAAP////869wAE/////zs5AAT/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////3wZAED/////QYD/2P////9X4AY+/////1QAEDr/////fH0CFP////+AYwFQ/////0gAAAH8AAADfH4beP////9/w/N4/////38Ew3j/////f2XbeP////9IAAAB/AAAA3/D83j/////f2TbeP////9IAAAB/AAAA3wABKz/////f8PzeP////9/ZNt4/////0gAAAH8AAADO/8AAf////9X4AY+/////ygAAA//////QYD+3P////84YDAA/////0gAAAH8AAADkGAAAP/gAAA74AAA/////0gAABj/////f+P7eP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM7/wAB/////1fgBj7/////KAAAD/////9BgP/k/////5NcAAD/////OH0DJP////9MxjGC/////0gAAAH8AAADgAEANP////+64QAM/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 656 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 388 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 408 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 424 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 576 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 596 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 7b9f56ca29f2f0fe5594cbbf7d82da1a47b77b28 + signature: fAgCpv////+QAQAE/////5Qh/9D/////vuEADP////88YAAA//8AADujAAD//wAAOAAAAP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQAk/////zhgAAD/4AAAOIAEKv////84vQJ8/////0zGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////zxgAAD//wAAO4MAAP//AACDXAAA/////zxgAAD//wAAOwMAAP//AAA8YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAH9kAFD/////OGAAYP////9IAAAB/AAAA3x+G3j/////gB4AAP////8oAAAA/////0CCAHD/////OH0CsP////9MxjGC/////0gAAAH8AAADf8PzeP////88gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf8PzeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3/D83j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO+AAAP////9IAAEg/////4AAAAD/4AAAKAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQLM/////1fkBj7/////TMYxgv////9IAAAB/AAAA0gAANz/////V+AGPv////9/QAN4/////5AcAAD/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAQP////84fQL8/////1fkBj7/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADSAAAQP////88YAAA//8AADrjAAD//wAAOyAAAP////9IAAAU/////zwAYAD/////kBcAAP////869wAE/////zs5AAT/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////3wZAED/////QYD/2P////9X4AY+/////1QAEDr/////fH0CFP////+AYwFY/////0gAAAH8AAADfH4beP////9/w/N4/////38Ew3j/////f2XbeP////9IAAAB/AAAA3/D83j/////f2TbeP////9IAAAB/AAAA3wABKz/////f8PzeP////9/ZNt4/////0gAAAH8AAADO/8AAf////9X4AY+/////ygAAA//////QYD+3P////84YDAA/////0gAAAH8AAADkGAAAP/gAAA74AAA/////0gAABj/////f+P7eP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM7/wAB/////1fgBj7/////KAAAD/////9BgP/k/////5NcAAD/////OH0DLP////9MxjGC/////0gAAAH8AAADgAEANP////+64QAM/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 656 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 388 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 408 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 424 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 576 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 596 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 058d202d65d742128bc8a6e702a7c04c89071df0 + signature: fAgCpv////+QAQAE/////5Qh/9D/////vuEADP////88YAAA//8AADujAAD//wAAOAAAAP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQAk/////zhgAAD/4AAAOIAEKv////84vQJ0/////0zGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////zxgAAD//wAAO4MAAP//AACDXAAA/////zxgAAD//wAAOwMAAP//AAA8YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAH9kAFD/////OGAAYP////9IAAAB/AAAA3x+G3j/////gB4AAP////8oAAAA/////0CCAHD/////OH0CqP////9MxjGC/////0gAAAH8AAADf8PzeP////88gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf8PzeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3/D83j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO+AAAP////9IAAEg/////4AAAAD/4AAAKAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAGP////84fQLE/////1fkBj7/////TMYxgv////9IAAAB/AAAA0gAANz/////V+AGPv////9/QAN4/////5AcAAD/////f+P7eP////9IAAAB/AAAAywDAAD/////QYIAQP////84fQL0/////1fkBj7/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADSAAAQP////88YAAA//8AADrjAAD//wAAOyAAAP////9IAAAU/////zwAYAD/////kBcAAP////869wAE/////zs5AAT/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////3wZAED/////QYD/2P////9X4AY+/////1QAEDr/////fH0CFP////+AYwFQ/////0gAAAH8AAADfH4beP////9/w/N4/////38Ew3j/////f2XbeP////9IAAAB/AAAA3/D83j/////f2TbeP////9IAAAB/AAAA3wABKz/////f8PzeP////9/ZNt4/////0gAAAH8AAADO/8AAf////9X4AY+/////ygAAA//////QYD+3P////84YDAA/////0gAAAH8AAADkGAAAP/gAAA74AAA/////0gAABj/////f+P7eP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM7/wAB/////1fgBj7/////KAAAD/////9BgP/k/////5NcAAD/////OH0DJP////9MxjGC/////0gAAAH8AAADgAEANP////+64QAM/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 656 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 388 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 408 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 424 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 576 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 596 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 8c2a64c347377fb90dc45fa594a6f43c062c825c + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3w/C3j/////PGAAAP//AAA7wwAA//8AADgAAAH/////kB8ADP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQA0/////zhgAAD/4AAAOIAHHP////84vgWU/////0zGMYL/////SAAAAfwAAAM4AAAA/////5AfAAj/////gB8ACP////8sAAAA/////0CCAAz/////OAAAAP////+QHwAM/////zxgAAD//wAAO2MAAP//AACAGwAA/////5AfACD/////PGAAAP//AAA4AwAA//8AAJAfABz/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////5AfABj/////OGAAYP////9IAAAB/AAAA3x8G3j/////gBwAAP////8sAAAA/////0CCAHD/////OH4FyP////9MxjGC/////0gAAAH8AAADf4PjeP////88oAAA//8AADiFAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf4PjeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3+D43j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO6AAAP////9IAAFA/////4AAAAD/4AAALAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgXk/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAAPz/////gH8AIP////9XoAY+/////3xgA3j/////kBsAAP////9XowY+/////0gAAAH8AAADLAMAAP////9BggBA/////zh+BhT/////V6QGPv////9MxjGC/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADygAAD//wAAOIUAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAANIAABc/////zxgAAD//wAAOAMAAP//AACQHwAU/////zgAAAD/////kB8AEP////9IAAAk/////zwAYAD/////gH8AFP////+QAwAA/////zgDAAT/////kB8AFP////+AfwAQ/////zgDAAT/////kB8AEP////+AvwAQ/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAfAQAUP////98BQBA/////0GA/8T/////V6AGPv////9UABA6/////zh+BHD/////fGMALv////9IAAAB/AAAA3x8G3j/////f4PjeP////+AnwAc/////4C/ABj/////SAAAAfwAAAN/g+N4/////4CfABj/////SAAAAfwAAAN8AASs/////3+D43j/////gJ8AGP////9IAAAB/AAAAzu9AAH/////V6AGPv////8oAAAP/////0GA/rz/////OGAwAP////9IAAAB/AAAA5BgAAD/4AAAO6AAAP////9IAAAY/////1ejBj7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADO70AAf////9XoAY+/////ygAAA//////QYD/5P////+AHwAg/////5AbAAD/////OH4GRP////9MxjGC/////0gAAAH8AAADf+r7eP////85agBA/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 740 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@990' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 448 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 524 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 528 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 644 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 1e17776c6094966dc2c8e3054246ef1e85334540 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3w/C3j/////PGAAAP//AAA7wwAA//8AADgAAAH/////kB8ADP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQA0/////zhgAAD/4AAAOIAGx/////84vgR0/////0zGMYL/////SAAAAfwAAAM4AAAA/////5AfAAj/////gB8ACP////8sAAAA/////0CCAAz/////OAAAAP////+QHwAM/////zxgAAD//wAAO2MAAP//AACAGwAA/////5AfACD/////PGAAAP//AAA4AwAA//8AAJAfABz/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////5AfABj/////OGAAYP////9IAAAB/AAAA3x8G3j/////gBwAAP////8sAAAA/////0CCAHD/////OH4EqP////9MxjGC/////0gAAAH8AAADf4PjeP////88oAAA//8AADiFAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf4PjeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3+D43j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO6AAAP////9IAAFA/////4AAAAD/4AAALAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgTE/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAAPz/////gH8AIP////9XoAY+/////3xgA3j/////kBsAAP////9XowY+/////0gAAAH8AAADLAMAAP////9BggBA/////zh+BPT/////V6QGPv////9MxjGC/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADygAAD//wAAOIUAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAANIAABc/////zxgAAD//wAAOAMAAP//AACQHwAU/////zgAAAD/////kB8AEP////9IAAAk/////zwAYAD/////gH8AFP////+QAwAA/////zgDAAT/////kB8AFP////+AfwAQ/////zgDAAT/////kB8AEP////+AvwAQ/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAfAQAUP////98BQBA/////0GA/8T/////V6AGPv////9UABA6/////zh+A1D/////fGMALv////9IAAAB/AAAA3x8G3j/////f4PjeP////+AnwAc/////4C/ABj/////SAAAAfwAAAN/g+N4/////4CfABj/////SAAAAfwAAAN8AASs/////3+D43j/////gJ8AGP////9IAAAB/AAAAzu9AAH/////V6AGPv////8oAAAP/////0GA/rz/////OGAwAP////9IAAAB/AAAA5BgAAD/4AAAO6AAAP////9IAAAY/////1ejBj7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADO70AAf////9XoAY+/////ygAAA//////QYD/5P////+AHwAg/////5AbAAD/////OH4FJP////9MxjGC/////0gAAAH8AAADf+r7eP////85agBA/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 740 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@961' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 448 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 524 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 528 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 644 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 1f9d4b7d7a6adb73730ec0d141f11354774fa7bc + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3w/C3j/////PGAAAP//AAA7wwAA//8AADgAAAH/////kB8ADP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////KAABAP////9AgQA0/////zhgAAD/4AAAOIAHAv////84vgR0/////0zGMYL/////SAAAAfwAAAM4AAAA/////5AfAAj/////gB8ACP////8sAAAA/////0CCAAz/////OAAAAP////+QHwAM/////zxgAAD//wAAO2MAAP//AACAGwAA/////5AfACD/////PGAAAP//AAA4AwAA//8AAJAfABz/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////5AfABj/////OGAAYP////9IAAAB/AAAA3x8G3j/////gBwAAP////8sAAAA/////0CCAHD/////OH4EqP////9MxjGC/////0gAAAH8AAADf4PjeP////88oAAA//8AADiFAAD//wAAPKAAAP//AAA4xQAA//8AADygAAD//wAAOAUAAP//AAB8pgBQ/////0gAAAH8AAADf4PjeP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAN8AASs/////3+D43j/////PIAAAP//AAA4pAAA//8AADyAAAD//wAAOAQAAP//AAB8hQBQ/////0gAAAH8AAADO6AAAP////9IAAFA/////4AAAAD/4AAALAAAAP////9BggA4/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAACj/////V6MGPv////9IAAAB/AAAAywDAAD/////QYIAGP////84fgTE/////1ekBj7/////TMYxgv////9IAAAB/AAAA0gAAPz/////gH8AIP////9XoAY+/////3xgA3j/////kBsAAP////9XowY+/////0gAAAH8AAADLAMAAP////9BggBA/////zh+BPT/////V6QGPv////9MxjGC/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADygAAD//wAAOIUAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAANIAABc/////zxgAAD//wAAOAMAAP//AACQHwAU/////zgAAAD/////kB8AEP////9IAAAk/////zwAYAD/////gH8AFP////+QAwAA/////zgDAAT/////kB8AFP////+AfwAQ/////zgDAAT/////kB8AEP////+AvwAQ/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAfAQAUP////98BQBA/////0GA/8T/////V6AGPv////9UABA6/////zh+A1D/////fGMALv////9IAAAB/AAAA3x8G3j/////f4PjeP////+AnwAc/////4C/ABj/////SAAAAfwAAAN/g+N4/////4CfABj/////SAAAAfwAAAN8AASs/////3+D43j/////gJ8AGP////9IAAAB/AAAAzu9AAH/////V6AGPv////8oAAAP/////0GA/rz/////OGAwAP////9IAAAB/AAAA5BgAAD/4AAAO6AAAP////9IAAAY/////1ejBj7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADO70AAf////9XoAY+/////ygAAA//////QYD/5P////+AHwAg/////5AbAAD/////OH4FJP////9MxjGC/////0gAAAH8AAADf+r7eP////85agBA/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSExceptionInit + size: 740 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@976' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 448 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 468 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 524 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 528 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 532 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 644 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: ed0f4e53970f02217ca3f06335b7e5e7d184ce51 + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////5OhADT/////k4EAMP////88YAAA//8AADvjAAD//wAAOAAAAf////+QAQAM/////zxgAAD//wAAOIMAAP//AAA8YAAA//8AADgDAAD//wAAfAQAUP////8oAAEA/////0CBADT/////OGAAAP/gAAA4gAa7/////zi/BHT/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIADP////84AAAA/////5ABAAz/////PGAAAP//AAA7gwAA//8AAIAcAAD/////kAEAIP////88YAAA//8AADgDAAD//wAAkAEAHP////88YAAA//8AADiDAAD//wAAPGAAAP//AAA4AwAA//8AAHwEAFD/////kAEAGP////84YABg/////0gAAAH8AAADfH0beP////+AHQAA/////ywAAAD/////QIIAcP////84fwSo/////0zGMYL/////SAAAAfwAAAN/o+t4/////zyAAAD//wAAOIQAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAAN/o+t4/////zyAAAD//wAAOKQAAP//AAA8gAAA//8AADgEAAD//wAAfIUAUP////9IAAAB/AAAA3wABKz/////f6PreP////88gAAA//8AADikAAD//wAAPIAAAP//AAA4BAAA//8AAHyFAFD/////SAAAAfwAAAM7wAAA/////0gAAUD/////gAAAAP/gAAAsAAAA/////0GCADj/////gGAAAP/gAACAAwAA/////ygAAAL/////QYAAKP////9XwwY+/////0gAAAH8AAADLAMAAP////9BggAY/////zh/BMT/////V8QGPv////9MxjGC/////0gAAAH8AAADSAAA/P////+AYQAg/////1fABj7/////fGADeP////+QHAAA/////1fDBj7/////SAAAAfwAAAMsAwAA/////0GCAED/////OH8E9P////9XxAY+/////0zGMYL/////SAAAAfwAAAM8YAAA//8AADhjAAD//wAAPIAAAP//AAA4hAAA//8AADygAAD//wAAOMUAAP//AAA8oAAA//8AADgFAAD//wAAfKYAUP////9IAAAB/AAAA0gAAFz/////PGAAAP//AAA4AwAA//8AAJABABT/////OAAAAP////+QAQAQ/////0gAACT/////PABgAP////+AYQAU/////5ADAAD/////OAMABP////+QAQAU/////4BhABD/////OAMABP////+QAQAQ/////4ChABD/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOAMAAP//AAB8BABQ/////3wFAED/////QYD/xP////9XwAY+/////1QAEDr/////OH8DUP////98YwAu/////0gAAAH8AAADfH0beP////9/o+t4/////4CBABz/////gKEAGP////9IAAAB/AAAA3+j63j/////gIEAGP////9IAAAB/AAAA3wABKz/////f6PreP////+AgQAY/////0gAAAH8AAADO94AAf////9XwAY+/////ygAAA//////QYD+vP////84YDAA/////0gAAAH8AAADkGAAAP/gAAA7wAAA/////0gAABj/////V8MGPv////88gAAA//8AADiEAAD//wAASAAAAfwAAAM73gAB/////1fABj7/////KAAAD/////9BgP/k/////4ABACD/////kBwAAP////84fwUk/////0zGMYL/////SAAAAfwAAAOD4QA8/////4PBADj/////g6EANP////+DgQAw/////4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: OSExceptionInit + size: 744 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Unknown + name: __OSEVStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSEVEnd + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@963' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: __OSEVSetNumber + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTSTART + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBINTEND + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DBIsExceptionMarked + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __DBVECTOR + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSDBJUMPEND + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 324 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 424 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 432 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 436 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 448 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 452 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 472 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 528 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 532 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 536 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 540 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 648 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 664 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 668 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 8 + addend: 0 diff --git a/assets/OSExceptionVector.yml b/assets/OSExceptionVector.yml new file mode 100644 index 0000000..6aba3f5 --- /dev/null +++ b/assets/OSExceptionVector.yml @@ -0,0 +1,23 @@ +- symbol: 0 + hash: 3d7b32329cadb2fdefaf64fc81291e03178f6e7d + signature: fJBDpv////+AgADA/////5BkAAz/////fHBCpv////+QZAAQ/////5CkABT/////oGQBov////9gYwAC/////7BkAaL/////fGAAJv////+QZACA/////3xoAqb/////kGQAhP////98aQKm/////5BkAIj/////fGECpv////+QZACM/////3x6Aqb/////kGQBmP////98ewKm/////5BkAZz/////fGUbeP////9gAAAA/////3xgAKb/////YGMAMP////98ewOm/////zhgAAD/////gIAA1P////9UpQe9/////0CCABT/////PKAAAP//AAA4pQAA//8AAHy6A6b/////TAAAZP////9UZRW6/////4ClMAD/////fLoDpv////9MAABk/////2AAAAD///// + symbols: + - kind: Function + name: OSExceptionVector + size: 156 + flags: 2 + section: .text + - kind: Function + name: OSDefaultExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 120 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/OSInit.yml b/assets/OSInit.yml new file mode 100644 index 0000000..4b477ab --- /dev/null +++ b/assets/OSInit.yml @@ -0,0 +1,17055 @@ +- symbol: 0 + hash: efb41335af9528827216818ebbc0a26c3051a107 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////4AAAAD/4AAAPGAAAP//AAA74wAA//8AACwAAAD/////QIICoP////84AAAB/////5AAAAD/4AAASAAAAfwAAAM4AAAA/////zxggAD/////kAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAgGMA9P////8oAwAA/////0GCABz/////OAMADP////+QAAAA/+AAAIADACD/////kAAAAP/gAACAAwAk/////5AAAAD/4AAAPGCAAP////+AYwAw/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA4BgAAD/4AAAgAMAMP////8oAAAA/////0CCADD/////gGAAAP/gAAAoAwAA/////0GCACT/////gAMAAP////8oAAAC/////0CAABj/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAB/AAAA4BgAAD/4AAAgGMANP////8oAwAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzxgAAD//wAAOIMAAP//AAA4YAAW/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAYAAA/+AAADiDACz/////gAQAAP////9UAADG/////ygAAAD/////QYIAFP////88YBAA/////zgDAAT/////kAQAAP////9IAAAM/////zgAAAH/////kAQAAP////88YMwA/////4CgAAD/4AAAOGMwAP////9MxjGC/////4ADACz/////f+P7eP////+AhQAs/////1QAAAb/////VAAnPv////98BAIU/////5AFACz/////SAAAAfwAAAM4fwAg/////0zGMYL/////OJ8AOP////84vwBE/////0gAAAH8AAADOH8AUP////9MxjGC/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABD/////gIMALP////8oBAAA/////0CCABD/////PGAQAP////84gwAC/////0gAAAT/////VIAAxv////8oAAAA/////0CCABT/////TMYxgv////84fwBg/////0gAAAH8AAADSAAAjP////88YBAA/////zgDAAL/////fAQAAP////9BggBI/////0CAABT/////fAQYAP////9BggAc/////0CAACj/////SAAAVP////84AwAE/////3wEAAD/////QIAASP////9IAAA0/////zh/AGz/////TMYxgv////9IAAAB/AAAA0gAAEj/////OH8AfP////9MxjGC/////0gAAAH8AAADSAAAOP////84fwCM/////0zGMYL/////SAAAAfwAAANIAAAo/////zh/AJz/////TMYxgv////9IAAAB/AAAA0gAABj/////PITwAP////9MxjGC/////zh/AKz/////OIT//f////9IAAAB/AAAA4CAAAD/4AAAOH8AwP////9MxjGC/////4AEACj/////VARlPv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9IAAAB/AAAA3xkG3j/////TMYxgv////9/xfN4/////zh/AND/////SAAAAfwAAAOAYAAA/+AAACgDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 732 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@51' + size: 30 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 620 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 676 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 30 + addend: 0 +- symbol: 0 + hash: d6ff106c395296a0688ae44067dfd23fc4f97cc1 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////4AAAAD/4AAAPGAAAP//AAA74wAA//8AACwAAAD/////QIICxP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4AAAA/////zxggAD/////kAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAgGMA9P////8oAwAA/////0GCABz/////OAMADP////+QAAAA/+AAAIADACD/////kAAAAP/gAACAAwAk/////5AAAAD/4AAAPGCAAP////+AYwAw/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA4BgAAD/4AAAgAMAMP////8oAAAA/////0CCADD/////gGAAAP/gAAAoAwAA/////0GCACT/////gAMAAP////8oAAAC/////0CAABj/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAB/AAAA4BgAAD/4AAAgGMANP////8oAwAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPGAAAP//AAA4gwAA//8AADhgABb/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADVGMAgP////9IAAAB/AAAA4BgAAD/4AAAOIMALP////+ABAAA/////1QAAMb/////KAAAAP////9BggAU/////zxgEAD/////OAMABP////+QBAAA/////0gAAAz/////OAAAAf////+QBAAA/////zxgzAD/////gIAAAP/gAAA4YzAA/////4ADACz/////gGQALP////9UAAAG/////1QAJz7/////fAMCFP////+QBAAs/////0gAAAH8AAADf+P7eP////9MxjGC/////0gAAAH8AAADOH8AIP////9MxjGC/////zifADj/////OL8ARP////9IAAAB/AAAAzh/AFD/////TMYxgv////9IAAAB/AAAA4BgAAD/4AAAKAMAAP////9BggAQ/////4CDACz/////KAQAAP////9AggAQ/////zxgEAD/////OIMAAv////9IAAAE/////1SAAMb/////KAAAAP////9AggAU/////0zGMYL/////OH8AYP////9IAAAB/AAAA0gAAIz/////PGAQAP////84AwAC/////3wEAAD/////QYIASP////9AgAAU/////3wEGAD/////QYIAHP////9AgAAo/////0gAAFT/////OAMABP////98BAAA/////0CAAEj/////SAAANP////84fwBs/////0zGMYL/////SAAAAfwAAANIAABI/////zh/AHz/////TMYxgv////9IAAAB/AAAA0gAADj/////OH8AjP////9MxjGC/////0gAAAH8AAADSAAAKP////84fwCc/////0zGMYL/////SAAAAfwAAANIAAAY/////zyE8AD/////TMYxgv////84fwCs/////ziE//3/////SAAAAfwAAAOAgAAA/+AAADh/AMD/////TMYxgv////+ABAAo/////1QEZT7/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////SAAAAfwAAAN8ZBt4/////0zGMYL/////f8XzeP////84fwDQ/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABT/////gAMAAP////8oAAAC/////0GAAAj/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 768 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@68' + size: 30 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 4 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 452 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 652 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 684 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 37 + addend: 0 +- symbol: 0 + hash: 3c9bc87ba69cdd37f284ff38f699aa7e1c3dea1b + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////4AAAAD/4AAAPGAAAP//AAA74wAA//8AACwAAAD/////QIIDCP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4AAAA/////zyAgAD/////kAAAAP/gAACQgAAA/+AAAJAAAAD/4AAAgGQA9P////8oAwAA/////0GCADT/////OAMADP////+QAAAA/+AAAIADACT/////gGAAAP/gAACQAAAA/+AAAIADAAD/////VAAGPv////+YBDDo/////4AAAAD/4AAAVAAGPv////+YBDDp/////0gAACj/////gAQANP////8oAAAA/////0GCABz/////iGQw6P////84AAAA/+AAAJBgAAD/4AAAkAAAAP/gAACIBDDp/////5AAAAD/4AAAOAAAAf////+AYAAA/+AAAJAAAAD/4AAAgGMAMP////8oAwAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAT/////SAAAAfwAAAOAYAAA/+AAAIADADD/////KAAAAP////9AggAw/////4BgAAD/4AAAKAMAAP////9BggAk/////4ADAAD/////KAAAAv////9AgAAY/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAAAfwAAAOAYAAA/+AAAIBjADT/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzxgAAD//wAAOIMAAP//AAA4YAAW/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAYAAA/+AAADiDACz/////gAQAAP////9UAADG/////ygAAAD/////QYIAFP////88YBAA/////zgDAAT/////kAQAAP////9IAAAM/////zgAAAH/////kAQAAP////88YMwA/////4CAAAD/4AAAOGMwAP////+AAwAs/////4BkACz/////VAAABv////9UACc+/////3wDAhT/////kAQALP////9IAAAB/AAAA3/j+3j/////TMYxgv////9IAAAB/AAAAzh/ACD/////TMYxgv////84nwA4/////zi/AET/////SAAAAfwAAAM4fwBQ/////0zGMYL/////SAAAAfwAAAOAYAAA/+AAACgDAAD/////QYIAEP////+AgwAs/////ygEAAD/////QIIAEP////88YBAA/////ziDAAL/////SAAABP////9UgADG/////ygAAAD/////QIIAFP////9MxjGC/////zh/AGD/////SAAAAfwAAANIAACM/////zxgEAD/////OAMAAv////98BAAA/////0GCAEj/////QIAAFP////98BBgA/////0GCABz/////QIAAKP////9IAABU/////zgDAAT/////fAQAAP////9AgABI/////0gAADT/////OH8AbP////9MxjGC/////0gAAAH8AAADSAAASP////84fwB8/////0zGMYL/////SAAAAfwAAANIAAA4/////zh/AIz/////TMYxgv////9IAAAB/AAAA0gAACj/////OH8AnP////9MxjGC/////0gAAAH8AAADSAAAGP////88hPAA/////0zGMYL/////OH8ArP////84hP/9/////0gAAAH8AAADgIAAAP/gAAA4fwDA/////0zGMYL/////gAQAKP////9UBGU+/////0gAAAH8AAADSAAAAfwAAAN8fht4/////0gAAAH8AAADfGQbeP////9MxjGC/////3/F83j/////OH8A0P////9IAAAB/AAAA4BgAAD/4AAAKAMAAP////9BggAU/////4ADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 836 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@71' + size: 30 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 4 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 720 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 776 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 800 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 38 + addend: 0 +- symbol: 0 + hash: 2b679cd8bcd571503489a69fc0aa663df341cd33 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////4AAAAD/4AAAPGAAAP//AAA74wAA//8AACwAAAD/////QIIDFP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4AAAA/////zyAgAD/////kAAAAP/gAACQgAAA/+AAAJAAAAD/4AAAgGQA9P////8oAwAA/////0GCADT/////OAMADP////+QAAAA/+AAAIADACT/////gGAAAP/gAACQAAAA/+AAAIADAAD/////VAAGPv////+YBDDo/////4AAAAD/4AAAVAAGPv////+YBDDp/////0gAACj/////gAQANP////8oAAAA/////0GCABz/////iGQw6P////84AAAA/+AAAJBgAAD/4AAAkAAAAP/gAACIBDDp/////5AAAAD/4AAAOAAAAf////+AYAAA/+AAAJAAAAD/4AAAgGMAMP////8oAwAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAT/////SAAAAfwAAAOAYAAA/+AAAIADADD/////KAAAAP////9AggAw/////4BgAAD/4AAAKAMAAP////9BggAk/////4ADAAD/////KAAAAv////9AgAAY/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAAAfwAAAOAYAAA/+AAAIBjADT/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzxgAAD//wAAOIMAAP//AAA4YAAW/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAYAAA/+AAADiDACz/////gAQAAP////9UAADG/////ygAAAD/////QYIAFP////88YBAA/////zgDAAT/////kAQAAP////9IAAAM/////zgAAAH/////kAQAAP////88YMwA/////4CAAAD/4AAAOGMwAP////+AAwAs/////4BkACz/////VAAABv////9UACc+/////3wDAhT/////kAQALP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA3/j+3j/////TMYxgv////9IAAAB/AAAAzh/ACD/////TMYxgv////84nwA4/////zi/AET/////SAAAAfwAAAM4fwBQ/////0zGMYL/////SAAAAfwAAAOAYAAA/+AAACgDAAD/////QYIAEP////+AgwAs/////ygEAAD/////QIIAEP////88YBAA/////ziDAAL/////SAAABP////9UgADG/////ygAAAD/////QIIAFP////9MxjGC/////zh/AGD/////SAAAAfwAAANIAACM/////zxgEAD/////OAMAAv////98BAAA/////0GCAEj/////QIAAFP////98BBgA/////0GCABz/////QIAAKP////9IAABU/////zgDAAT/////fAQAAP////9AgABI/////0gAADT/////OH8AbP////9MxjGC/////0gAAAH8AAADSAAASP////84fwB8/////0zGMYL/////SAAAAfwAAANIAAA4/////zh/AIz/////TMYxgv////9IAAAB/AAAA0gAACj/////OH8AnP////9MxjGC/////0gAAAH8AAADSAAAGP////88hPAA/////0zGMYL/////OH8ArP////84hP/9/////0gAAAH8AAADgIAAAP/gAAA4fwDA/////0zGMYL/////gAQAKP////9UBGU+/////0gAAAH8AAADSAAAAfwAAAN8fht4/////0gAAAH8AAADfGQbeP////9MxjGC/////3/F83j/////OH8A0P////9IAAAB/AAAA4BgAAD/4AAAKAMAAP////9BggAU/////4ADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 848 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@73' + size: 30 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 4 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 472 + kind: PpcEmbSda21 + symbol: 32 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 732 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 812 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 39 + addend: 0 +- symbol: 0 + hash: b5c6fe38dcb1caaf92c9539e83a52bf6b72f05ef + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////gAAAAP/gAAA8YAAA//8AADvDAAD//wAALAAAAP////88YAAA//8AADvjAAD//wAAQIIDLP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5AAAAD/4AAAkIAAAP/gAACQAAAA/+AAAIBkAPT/////KAMAAP////9BggA0/////zgDAAz/////kAAAAP/gAACAAwAk/////4BgAAD/4AAAkAAAAP/gAACAAwAA/////1QABj7/////mAQw6P////+AAAAA/+AAAFQABj7/////mAQw6f////9IAAAo/////4AEADT/////KAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////gGAAAP/gAACQAAAA/+AAAIBjADD/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADgGAAAP/gAACAAwAw/////ygAAAD/////QIIAMP////+AYAAA/+AAACgDAAD/////QYIAJP////+AAwAA/////ygAAAL/////QIAAGP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAH8AAADgGAAAP/gAACAYwA0/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADiDAAD//wAAOGAAFv////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANUYwCA/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAM4fwBE/////0zGMYL/////SAAAAfwAAAM4fwBk/////0zGMYL/////OJ8AfP////84vwCI/////0gAAAH8AAADOH8AlP////9MxjGC/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABD/////gIMALP////8oBAAA/////0CCABD/////PGAQAP////84gwAC/////0gAAAT/////VIAAHv////8sAAAA/////0GCAAj/////SAAAFP////9MxjGC/////zh/AKT/////SAAAAfwAAANIAACU/////zxgEAD/////VIUEPv////84AwAC/////3wFAAD/////QYIASP////9AgAAU/////3wFGAD/////QYIAHP////9AgAAo/////0gAAFT/////OAMABP////98BQAA/////0CAAEj/////SAAANP////84fwCw/////0zGMYL/////SAAAAfwAAANIAABM/////zh/AMD/////TMYxgv////9IAAAB/AAAA0gAADz/////OH8A0P////9MxjGC/////0gAAAH8AAADSAAALP////84fwDg/////0zGMYL/////SAAAAfwAAANIAAAc/////1SGBD7/////TMYxgv////98hSN4/////zh/APD/////OIb//f////9IAAAB/AAAA4CAAAD/4AAAOH8BDP////9MxjGC/////4AEACj/////VARlPv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3xkG3j/////TMYxgv////9/pet4/////zh/ARz/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABT/////gAMAAP////8oAAAC/////0GAAAj/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAEj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88YAAB/////zgDkAD/////PGCAAP////+wAzDm/////0gAACT/////f8PzeP////84gAAg/////0gAAAH8AAADPGAAAP//AAA4owAA//8AAH/E83j/////OH4AIP////9IAAAB/AAAA4ABABz/////g+EAFP////+DwQAQ/////4OhAAz/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 888 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@1' + size: 68 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 468 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 680 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 736 + kind: PpcEmbSda21 + symbol: 40 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 780 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 46 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 840 + kind: PpcAddr16Ha + symbol: 48 + addend: 0 + - offset: 844 + kind: PpcAddr16Lo + symbol: 48 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 49 + addend: 0 +- symbol: 0 + hash: 8f53e84dd41aba6888fa3d61526403d1518da01d + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////gAAAAP/gAAA8gAAA//8AADxgAAD//wAALAAAAP////87xAAA//8AADvjAAD//wAAQIIDTP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5AAAAD/4AAAkIAAAP/gAACQAAAA/+AAAIBkAPT/////KAMAAP////9BggA0/////zgDAAz/////kAAAAP/gAACAAwAk/////4BgAAD/4AAAkAAAAP/gAACAAwAA/////1QABj7/////mAQw6P////+AAAAA/+AAAFQABj7/////mAQw6f////9IAAAo/////4AEADT/////KAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////gGAAAP/gAACQAAAA/+AAAIBjADD/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADgGAAAP/gAACAAwAw/////ygAAAD/////QIIAMP////+AYAAA/+AAACgDAAD/////QYIAJP////+AAwAA/////ygAAAL/////QIAAGP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAH8AAADgGAAAP/gAACAYwA0/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADiDAAD//wAAOGAAFv////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANUYwCA/////0gAAAH8AAADgGAAAP/gAAA4gwAs/////4AEAAD/////VAAAxv////8oAAAA/////0GCABT/////PGAQAP////84AwAE/////5AEAAD/////SAAADP////84AAAB/////5AEAAD/////PGDMAP////+AgAAA/+AAADhjMAD/////gAMALP////+AZAAs/////1QAAAb/////VAAnPv////98AwIU/////5AEACz/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAN/4/t4/////0zGMYL/////SAAAAfwAAAM4fwAg/////0zGMYL/////OJ8AOP////84vwBE/////0gAAAH8AAADOH8AUP////9MxjGC/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABD/////gIMALP////8oBAAA/////0CCABD/////PGAQAP////84gwAC/////0gAAAT/////VIAAxv////8oAAAA/////0CCABT/////TMYxgv////84fwBg/////0gAAAH8AAADSAAAjP////88YBAA/////zgDAAL/////fAQAAP////9BggBI/////0CAABT/////fAQYAP////9BggAc/////0CAACj/////SAAAVP////84AwAE/////3wEAAD/////QIAASP////9IAAA0/////zh/AGz/////TMYxgv////9IAAAB/AAAA0gAAEj/////OH8AfP////9MxjGC/////0gAAAH8AAADSAAAOP////84fwCM/////0zGMYL/////SAAAAfwAAANIAAAo/////zh/AJz/////TMYxgv////9IAAAB/AAAA0gAABj/////PITwAP////9MxjGC/////zh/AKz/////OIT//f////9IAAAB/AAAA4CAAAD/4AAAOH8AwP////9MxjGC/////4AEACj/////VARlPv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3xkG3j/////TMYxgv////9/pet4/////zh/AND/////SAAAAfwAAAOAYAAA/+AAACgDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////9IAAAB/AAAA3/D83j/////OIAAIP////9IAAAB/AAAAzxgAAD//wAAOKMAAP//AAB/xPN4/////zh+ACD/////SAAAAfwAAAOAAQAc/////4PhABT/////g8EAEP////+DoQAM/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 920 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@81' + size: 30 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 552 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 752 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 832 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 872 + kind: PpcAddr16Ha + symbol: 45 + addend: 0 + - offset: 876 + kind: PpcAddr16Lo + symbol: 45 + addend: 0 + - offset: 888 + kind: PpcRel24 + symbol: 46 + addend: 0 +- symbol: 0 + hash: a8e67415d4f1f3df1cdb2851ad4dee257f3d3e9b + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////gAAAAP/gAAA8gAAA//8AADxgAAD//wAALAAAAP////87xAAA//8AADvjAAD//wAAQIIDbP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5AAAAD/4AAAkIAAAP/gAACQAAAA/+AAAIBkAPT/////KAMAAP////9BggA0/////zgDAAz/////kAAAAP/gAACAAwAk/////4BgAAD/4AAAkAAAAP/gAACAAwAA/////1QABj7/////mAQw6P////+AAAAA/+AAAFQABj7/////mAQw6f////9IAAAo/////4AEADT/////KAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////gGAAAP/gAACQAAAA/+AAAIBjADD/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADgGAAAP/gAACAAwAw/////ygAAAD/////QIIAMP////+AYAAA/+AAACgDAAD/////QYIAJP////+AAwAA/////ygAAAL/////QIAAGP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAH8AAADgGAAAP/gAACAYwA0/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADiDAAD//wAAOGAAFv////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANUYwCA/////0gAAAH8AAADgGAAAP/gAAA4gwAs/////4AEAAD/////VAAAxv////8oAAAA/////0GCABT/////PGAQAP////84AwAE/////5AEAAD/////SAAADP////84AAAB/////5AEAAD/////PGDMAP////+AgAAA/+AAADhjMAD/////gAMALP////+AZAAs/////1QAAAb/////VAAnPv////98AwIU/////5AEACz/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAN/4/t4/////0zGMYL/////SAAAAfwAAAM4fwAg/////0zGMYL/////OJ8AOP////84vwBE/////0gAAAH8AAADOH8AUP////9MxjGC/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABD/////gIMALP////8oBAAA/////0CCABD/////PGAQAP////84gwAC/////0gAAAT/////VIAAxv////8oAAAA/////0CCABT/////TMYxgv////84fwBg/////0gAAAH8AAADSAAAjP////88YBAA/////zgDAAL/////fAQAAP////9BggBI/////0CAABT/////fAQYAP////9BggAc/////0CAACj/////SAAAVP////84AwAE/////3wEAAD/////QIAASP////9IAAA0/////zh/AGz/////TMYxgv////9IAAAB/AAAA0gAAEj/////OH8AfP////9MxjGC/////0gAAAH8AAADSAAAOP////84fwCM/////0zGMYL/////SAAAAfwAAANIAAAo/////zh/AJz/////TMYxgv////9IAAAB/AAAA0gAABj/////PITwAP////9MxjGC/////zh/AKz/////OIT//f////9IAAAB/AAAA4CAAAD/4AAAOH8AwP////9MxjGC/////4AEACj/////VARlPv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3xkG3j/////TMYxgv////9/pet4/////zh/AND/////SAAAAfwAAAOAYAAA/+AAACgDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIASP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zxgAAH/////OAOQAP////88YIAA/////7ADMOb/////SAAAJP////9/w/N4/////ziAACD/////SAAAAfwAAAM8YAAA//8AADijAAD//wAAf8TzeP////84fgAg/////0gAAAH8AAADgAEAHP////+D4QAU/////4PBABD/////g6EADP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSInit + size: 952 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@84' + size: 30 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 552 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 752 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 832 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 35 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 860 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 904 + kind: PpcAddr16Ha + symbol: 46 + addend: 0 + - offset: 908 + kind: PpcAddr16Lo + symbol: 46 + addend: 0 + - offset: 920 + kind: PpcRel24 + symbol: 47 + addend: 0 +- symbol: 0 + hash: 4983b5ac189974b61b72d31111e004997a71654a + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////gAAAAP/gAAA8YAAA//8AADvDAAD//wAALAAAAP////88YAAA//8AADvjAAD//wAAQIIDjP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5AAAAD/4AAAkIAAAP/gAACQAAAA/+AAAIBkAPT/////KAMAAP////9BggA0/////zgDAAz/////kAAAAP/gAACAAwAk/////4BgAAD/4AAAkAAAAP/gAACAAwAA/////1QABj7/////mAQw6P////+AAAAA/+AAAFQABj7/////mAQw6f////9IAAAo/////4AEADT/////KAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////gGAAAP/gAACQAAAA/+AAAIBjADD/////KAMAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAE/////0gAAAH8AAADgGAAAP/gAACAAwAw/////ygAAAD/////QIIAMP////+AYAAA/+AAACgDAAD/////QYIAJP////+AAwAA/////ygAAAL/////QIAAGP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAH8AAADgGAAAP/gAACAYwA0/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADiDAAD//wAAOGAAFv////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANUYwCA/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAM4fwBE/////0zGMYL/////SAAAAfwAAAM4fwBU/////0zGMYL/////OJ8AbP////84vwB4/////0gAAAH8AAADOH8AhP////9MxjGC/////0gAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABD/////gIMALP////8oBAAA/////0CCABD/////PGAQAP////84gwAC/////0gAAAT/////VIMABv////88ABAA/////3wDAAD/////QYIANP////9AgAAQ/////ywDAAD/////QYIAGP////9IAAC4/////zwAIAD/////fAMAAP////9BggAY/////0gAAKj/////TMYxgv////84fwCU/////0gAAAH8AAADSAAApP////88YBAA/////1SFAT7/////OAMAAv////98BQAA/////0GCAEj/////QIAAFP////98BRgA/////0GCABz/////QIAAKP////9IAABU/////zgDAAT/////fAUAAP////9AgABI/////0gAADT/////OH8AoP////9MxjGC/////0gAAAH8AAADSAAAXP////84fwCw/////0zGMYL/////SAAAAfwAAANIAABM/////zh/AMD/////TMYxgv////9IAAAB/AAAA0gAADz/////OH8A0P////9MxjGC/////0gAAAH8AAADSAAALP////9UhgE+/////0zGMYL/////fIUjeP////84fwDg/////ziG//3/////SAAAAfwAAANIAAAQ/////0zGMYL/////OGAAAP/gAABIAAAB/AAAA4CAAAD/4AAAOH8A/P////9MxjGC/////4AEACj/////VARlPv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3xkG3j/////TMYxgv////9/pet4/////zh/AQz/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADgGAAAP/gAAAoAwAA/////0GCABT/////gAMAAP////8oAAAC/////0GAAAj/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAEj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88YAAB/////zgDkAD/////PGCAAP////+wAzDm/////0gAACT/////f8PzeP////84gAAg/////0gAAAH8AAADPGAAAP//AAA4owAA//8AAH/E83j/////OH4AIP////9IAAAB/AAAA4ABABz/////g+EAFP////+DwQAQ/////4OhAAz/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 984 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@1' + size: 68 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@97' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 348 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 364 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 368 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 400 + kind: PpcAddr16Ha + symbol: 30 + addend: 0 + - offset: 404 + kind: PpcAddr16Lo + symbol: 30 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 456 + kind: PpcEmbSda21 + symbol: 41 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 696 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 776 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 796 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 800 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 828 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 832 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 876 + kind: PpcEmbSda21 + symbol: 41 + addend: 0 + - offset: 888 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 892 + kind: PpcEmbSda21 + symbol: 53 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 936 + kind: PpcAddr16Ha + symbol: 55 + addend: 0 + - offset: 940 + kind: PpcAddr16Lo + symbol: 55 + addend: 0 + - offset: 952 + kind: PpcRel24 + symbol: 56 + addend: 0 +- symbol: 0 + hash: db2121bd773eab56d3381a50c35c9670214767bd + signature: fAgCpv////+QAQAE/////5Qh/+D/////v2EADP////88YAAA//8AADujAAD//wAAPGAAAP//AAA74wAA//8AAIAAAAD/4AAALAAAAP////9AggPE/////zgAAAH/////kAAAAP/gAABIAAAB/AAAA5CAAAD/4AAAkGAAAP/gAABIAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAPT/////SAAAAfwAAAODgwAA/////ygcAAD/////QYIARP////84HAAM/////5AAAAD/4AAAgBwAJP////+QAAAA/+AAAIBgAAD/4AAAgAMAAP////9UGwY+/////zhgMOj/////SAAAAfwAAAObYwAA/////4AAAAD/4AAAVBsGPv////84YDDp/////0gAAAH8AAADm2MAAP////9IAAA8/////4BgAAD/4AAAgAMANP////8oAAAA/////0GCACz/////OGAw6P////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAA/+AAAJAAAAD/4AAAOGAw6f////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAgGAAAP/gAACAAwAw/////ygAAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAADP////+AYAAA/+AAAIBjADD/////SAAAAfwAAAOAYAAA/+AAAIADADD/////KAAAAP////9AggA0/////4AAAAD/4AAAKAAAAP////9BggAo/////4BgAAD/4AAAgAMAAP////8oAAAC/////0CAABj/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAB/AAAA4BgAAD/4AAAgAMANP////8oAAAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAz/////gGAAAP/gAACAYwA0/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzhgABb/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADOH8AcP////9MxjGC/////0gAAAH8AAADOH8AgP////84nwCY/////zi/AKT/////TMYxgv////9IAAAB/AAAAzh/ALD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9XwwAG/////zwAEAD/////fAMAAP////9BggA4/////0CAABD/////LAMAAP////9BggAY/////0gAAMT/////PAAgAP////98AwAA/////0GCABz/////SAAAtP////84fwDA/////3/E83j/////TMYxgv////9IAAAB/AAAA0gAALD/////V8QBPv////88YBAA/////zhjAAL/////fAQYAP////9BggBQ/////0CAABj/////PAAQAP////98BAAA/////0GCACD/////QIAALP////9IAABY/////zxgEAD/////OGMABP////98BBgA/////0CAAEj/////SAAANP////84fwDM/////0zGMYL/////SAAAAfwAAANIAABg/////zh/ANz/////TMYxgv////9IAAAB/AAAA0gAAFD/////OH8A7P////9MxjGC/////0gAAAH8AAADSAAAQP////84fwD8/////0zGMYL/////SAAAAfwAAANIAAAw/////zh/AQz/////V8QBPv////84hP/9/////3/F83j/////TMYxgv////9IAAAB/AAAA0gAABT/////OGAAAP/gAAB/xPN4/////0zGMYL/////SAAAAfwAAAM4fwEo/////4CAAAD/4AAAgAQAKP////9UBGU+/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x7G3j/////SAAAAfwAAAN8ZBt4/////zh/ATj/////f2XbeP////9MxjGC/////0gAAAH8AAADgGAAAP/gAABIAAAB/AAAA4AAAAD/4AAAKAAAAP////9BggAY/////4BgAAD/4AAAgAMAAP////8oAAAC/////0GAAAj/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAEj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////ziEkAD/////PGCAAP////+wgzDm/////0gAACT/////f6PreP////84gAAg/////0gAAAH8AAADOH0AIP////9/pOt4/////zygAAD//wAAOKUAAP//AABIAAAB/AAAA4ABACT/////u2EADP////84IQAg/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSInit + size: 1024 + flags: 1 + section: .text + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@76' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 340 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 384 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 388 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 432 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 31 + addend: 0 + - offset: 472 + kind: PpcAddr16Lo + symbol: 31 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 512 + kind: PpcEmbSda21 + symbol: 41 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 796 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 804 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 824 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 844 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 876 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 884 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 896 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 916 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 920 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 924 + kind: PpcEmbSda21 + symbol: 41 + addend: 0 + - offset: 936 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 940 + kind: PpcEmbSda21 + symbol: 54 + addend: 0 + - offset: 980 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 992 + kind: PpcAddr16Ha + symbol: 56 + addend: 0 + - offset: 996 + kind: PpcAddr16Lo + symbol: 56 + addend: 0 + - offset: 1000 + kind: PpcRel24 + symbol: 57 + addend: 0 +- symbol: 0 + hash: f7a968742ce319c529a3b49a2b7c28e3af96e9fa + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////8/wAAA//8AADveAAD//wAAgAAAAP/gAAAsAAAA/////0CCA7z/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADkIAAAP/gAACQYAAA/+AAAEgAAAH8AAADOH4AAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzxgg5D/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5CAAAD/4AAAkAAAAP/gAACQAAAA/+AAAICkAPT/////LAUAAP////9BggAo/////zhlAAz/////kGAAAP/gAACABQAk/////5AAAAD/4AAAgAUADP////+YBDDo/////4AAAAD/4AAAmAQw6f////9IAAAo/////4AEADT/////LAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////PICAAP////+QAAAA/+AAAIBkMQz/////LAMAAP////9AggBs/////zxgAAD//wAAOGMAAP//AABUYACH/////0CCAFj/////gIAAAP/gAACABAAw/////ywAAAD/////QIIACP////9IAAAI/////3wDA3j/////gIAAAP/gAACABAAw/////ywAAAD/////QIIANP////+AgAAA/+AAACwEAAD/////QYIAKP////+ABAAA/////ygAAAL/////QIAAHP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAj/////OGRAAP////9IAAAB/AAAAzxggAD/////gGMxEP////8sAwAA/////0CCABz/////gGAAAP/gAACAYwA0/////ywDAAD/////QIIADP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YIAA/////4BjMST/////LAMAAP////9BggBs/////zygAAD//wAAOKUAAP//AABUpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAfKMreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACT/////gAAAAP/gAAAsAAAA/////0CCABj/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////4AAAAD/4AAALAAAAP////9AggDI/////zxggAD/////iAMxXP////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/Alj/////TMYxgv////9IAAAB/AAAAzi/Aqj/////OGAAAP/gAAA4gARO/////0zGMYL/////SAAAAfwAAAM8YIAA/////4gDMV3/////LAAAgf////9BggAM/////0CAACj/////SAAAJP////84fwLA/////0zGMYL/////SAAAAfwAAAM4vwKo/////zhgAAD/4AAAOIAEYP////9MxjGC/////0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////zxggAD/////OASQAP////+wAzDm/////0gAADT/////PGCAAP////+gAzDm/////ywAAAD/////QIIAJP////84fgAg/////ziAACD/////SAAAAfwAAAM8oAAA//8AADh+AED/////OJ4AIP////84pQAA//8AAEgAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSInit + size: 1024 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1720' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1722' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 25 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 25 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 492 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 628 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 648 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 652 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 696 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 720 + kind: PpcEmbSda21 + symbol: 56 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 752 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 796 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 804 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 860 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 880 + kind: PpcEmbSda21 + symbol: 63 + addend: 0 + - offset: 936 + kind: PpcRel24 + symbol: 64 + addend: 0 + - offset: 940 + kind: PpcAddr16Ha + symbol: 65 + addend: 0 + - offset: 952 + kind: PpcAddr16Lo + symbol: 65 + addend: 0 + - offset: 956 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 960 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 972 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 984 + kind: PpcEmbSda21 + symbol: 56 + addend: 0 + - offset: 996 + kind: PpcRel24 + symbol: 67 + addend: 0 +- symbol: 0 + hash: 0008459be9b2bb41ae5664ff78d2745440667cf2 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////8/wAAA//8AADveAAD//wAAgAAAAP/gAAAsAAAA/////0CCA8D/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADkIAAAP/gAACQYAAA/+AAAEgAAAH8AAADOH4AAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzxgg5D/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5CAAAD/4AAAkAAAAP/gAACQAAAA/+AAAICkAPT/////LAUAAP////9BggAo/////zhlAAz/////kGAAAP/gAACABQAk/////5AAAAD/4AAAgAUADP////+YBDDo/////4AAAAD/4AAAmAQw6f////9IAAAo/////4AEADT/////LAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////PICAAP////+QAAAA/+AAAIBkMQz/////LAMAAP////9AggBs/////zxgAAD//wAAOGMAAP//AABUYACH/////0CCAFj/////gIAAAP/gAACABAAw/////ywAAAD/////QIIACP////9IAAAI/////3wDA3j/////gIAAAP/gAACABAAw/////ywAAAD/////QIIANP////+AgAAA/+AAACwEAAD/////QYIAKP////+ABAAA/////ygAAAL/////QIAAHP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAj/////OGRAAP////9IAAAB/AAAAzxggAD/////gGMxEP////8sAwAA/////0CCABz/////gGAAAP/gAACAYwA0/////ywDAAD/////QIIADP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YIAA/////4BjMST/////LAMAAP////9BggBs/////zygAAD//wAAOKUAAP//AABUpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAfKMreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////gAAAAP/gAAAsAAAA/////0CCABz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAMj/////PGCAAP////+IAzFc/////ywAAIH/////QYIADP////9AgAAo/////0gAACT/////OH8CWP////9MxjGC/////0gAAAH8AAADOL8CqP////84YAAA/+AAADiABFj/////TMYxgv////9IAAAB/AAAAzxggAD/////iAMxXf////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/AsD/////TMYxgv////9IAAAB/AAAAzi/Aqj/////OGAAAP/gAAA4gARq/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zyAAAH/////PGCAAP////84BJAA/////7ADMOb/////SAAANP////88YIAA/////6ADMOb/////LAAAAP////9AggAk/////zh+ACD/////OIAAIP////9IAAAB/AAAAzygAAD//wAAOH4AQP////84ngAg/////zilAAD//wAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 1028 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1716' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1718' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 25 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 25 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 492 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 628 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 648 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 652 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 696 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 720 + kind: PpcEmbSda21 + symbol: 56 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 756 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 800 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 864 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 884 + kind: PpcEmbSda21 + symbol: 64 + addend: 0 + - offset: 940 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 944 + kind: PpcAddr16Ha + symbol: 66 + addend: 0 + - offset: 956 + kind: PpcAddr16Lo + symbol: 66 + addend: 0 + - offset: 960 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 964 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 976 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 988 + kind: PpcEmbSda21 + symbol: 56 + addend: 0 + - offset: 1000 + kind: PpcRel24 + symbol: 68 + addend: 0 +- symbol: 0 + hash: 7d32e97bfe9cd7961e094a0201ee1a5a5731ab0a + signature: fAgCpv////+QAQAE/////5Qh/+D/////v2EADP////88YAAA//8AADvjAAD//wAAPGAAAP//AAA7owAA//8AAIAAAAD/4AAALAAAAP////9AggPM/////zgAAAH/////kAAAAP/gAABIAAAB/AAAA5CAAAD/4AAAkGAAAP/gAABIAAAB/AAAAzh9AFD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGAAAP////9IAAAB/AAAA5BgAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA4YAD0/////0gAAAH8AAADg4MAAP////8oHAAA/////0GCAET/////OBwADP////+QAAAA/+AAAIAcACT/////kAAAAP/gAACAYAAA/+AAAIADAAD/////VBsGPv////84YDDo/////0gAAAH8AAADm2MAAP////+AAAAA/+AAAFQbBj7/////OGAw6f////9IAAAB/AAAA5tjAAD/////SAAAPP////+AYAAA/+AAAIADADT/////KAAAAP////9BggAs/////zhgMOj/////SAAAAfwAAAOIAwAA/////5AAAAD/4AAAOAAAAP/gAACQAAAA/+AAADhgMOn/////SAAAAfwAAAOIAwAA/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAAIBgAAD/4AAAgAMAMP////8oAAAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAz/////gGAAAP/gAACAYwAw/////0gAAAH8AAADgGAAAP/gAACAAwAw/////ygAAAD/////QIIANP////+AAAAA/+AAACgAAAD/////QYIAKP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAAY/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAAAfwAAAOAYAAA/+AAAIADADT/////KAAAAP////9AggAQ/////zxgAAD//wAAOGMAAP//AABIAAAM/////4BgAAD/4AAAgGMANP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAW/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAAzh/AHj/////TMYxgv////9IAAAB/AAAAzh/AIj/////OJ8AoP////84vwCs/////0zGMYL/////SAAAAfwAAAM4fwC4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////V8MABv////88ABAA/////3wDAAD/////QYIAOP////9AgAAQ/////ywDAAD/////QYIAGP////9IAADE/////zwAIAD/////fAMAAP////9BggAc/////0gAALT/////OH8AyP////9/xPN4/////0zGMYL/////SAAAAfwAAANIAACw/////1fEAT7/////PGAQAP////84YwAC/////3wEGAD/////QYIAUP////9AgAAY/////zwAEAD/////fAQAAP////9BggAg/////0CAACz/////SAAAWP////88YBAA/////zhjAAT/////fAQYAP////9AgABI/////0gAADT/////OH8A1P////9MxjGC/////0gAAAH8AAADSAAAYP////84fwDk/////0zGMYL/////SAAAAfwAAANIAABQ/////zh/APT/////TMYxgv////9IAAAB/AAAA0gAAED/////OH8BBP////9MxjGC/////0gAAAH8AAADSAAAMP////84fwEU/////1fEAT7/////OIT//f////9/xfN4/////0zGMYL/////SAAAAfwAAANIAAAU/////zhgAAD/4AAAf8TzeP////9MxjGC/////0gAAAH8AAADOH8BMP////+AgAAA/+AAAIAEACj/////VARlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8ext4/////0gAAAH8AAADfGQbeP////84fwFA/////39l23j/////TMYxgv////9IAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACgAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9AggBI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0GCABj/////PIAAAf////84hJAA/////zxggAD/////sIMw5v////9IAAAk/////3+j63j/////OIAAIP////9IAAAB/AAAAzh9ACD/////f6TreP////88oAAA//8AADilAAD//wAASAAAAfwAAAOAAQAk/////7thAAz/////OCEAIP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1032 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@76' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 192 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 324 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 328 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 348 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 364 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 376 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 25 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 25 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 476 + kind: PpcAddr16Ha + symbol: 32 + addend: 0 + - offset: 480 + kind: PpcAddr16Lo + symbol: 32 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 812 + kind: PpcEmbSda21 + symbol: 46 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 832 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 848 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 860 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 884 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 888 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 892 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 904 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 920 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 924 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 932 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 944 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 948 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 988 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 1000 + kind: PpcAddr16Ha + symbol: 57 + addend: 0 + - offset: 1004 + kind: PpcAddr16Lo + symbol: 57 + addend: 0 + - offset: 1008 + kind: PpcRel24 + symbol: 58 + addend: 0 +- symbol: 0 + hash: 53b7104d749422fb38536b85adc9dc294b5477d1 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAzxgAAD//wAAO8MAAP//AACAAAAA/+AAACwAAAD/////QIID4P////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fgAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAPT/////SAAAAfwAAAODowAA/////ywdAAD/////QYIARP////84HQAM/////5AAAAD/4AAAgB0AJP////+QAAAA/+AAAIBgAAD/4AAAgAMAAP////9UGgY+/////zhgMOj/////SAAAAfwAAAObQwAA/////4AAAAD/4AAAVBoGPv////84YDDp/////0gAAAH8AAADm0MAAP////9IAAA8/////4BgAAD/4AAAgAMANP////8sAAAA/////0GCACz/////OGAw6P////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAA/+AAAJAAAAD/4AAAOGAw6f////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAOGAxDP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggCI/////zxgAAD//wAAOAMAAP//AABUAACG/////ywAAAD/////QIIAbP////+AYAAA/+AAAIADADD/////LAAAAP////9AggAQ/////zxgAAD//wAAO4MAAP//AABIAAAM/////4BgAAD/4AAAg4MAMP////9/n+N4/////4BgAAD/4AAAgAMAMP////8sAAAA/////0CCADz/////gAAAAP/gAAAsAAAA/////0GCADD/////gGAAAP/gAACAAwAA/////ygAAAL/////QIAAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHwA0/////0gAAAz/////P+CAAP////87/0AA/////3/j+3j/////SAAAAfwAAAM4YDEQ/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCACz/////gGAAAP/gAACAAwA0/////ywAAAD/////QIIAEP////88YAAA//8AADtjAAD//wAASAAADP////+AYAAA/+AAAINjADT/////f3/beP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggCA/////zxgAAD//wAAOAMAAP//AABUAwCG/////zwD8AD/////KAAAAP////9AggA8/////zxgAAD//wAAO+MAAP//AACAAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAJP////+AAAAA/+AAACwAAAD/////QIIAGP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////gAAAAP/gAAAsAAAA/////0CCAFz/////SAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zyAAAH/////OISQAP////88YIAA/////7CDMOb/////SAAANP////88YIAA/////6ADMOb/////LAAAAP////9AggAk/////zh+ACD/////OIAAIP////9IAAAB/AAAAzh+AED/////OJ4AIP////88oAAA//8AADilAAD//wAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAAzlhACD/////SAAAAfwAAAOAAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 1052 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 508 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 512 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 584 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 588 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 592 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 620 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 624 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 828 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 832 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 54 + addend: 0 + - offset: 856 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 888 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 904 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 908 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 964 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 976 + kind: PpcAddr16Ha + symbol: 63 + addend: 0 + - offset: 980 + kind: PpcAddr16Lo + symbol: 63 + addend: 0 + - offset: 984 + kind: PpcRel24 + symbol: 64 + addend: 0 + - offset: 988 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1000 + kind: PpcEmbSda21 + symbol: 54 + addend: 0 + - offset: 1012 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 1024 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 1032 + kind: PpcRel24 + symbol: 66 + addend: 0 +- symbol: 0 + hash: 05a135da11660b5d6f741a70f22a03253fd52c2b + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAzxgAAD//wAAO6MAAP//AACAAAAA/+AAACwAAAD/////QIID5P////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fQAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAPT/////SAAAAfwAAAODwwAA/////yweAAD/////QYIARP////84HgAM/////5AAAAD/4AAAgB4AJP////+QAAAA/+AAAIBgAAD/4AAAgAMAAP////9UGgY+/////zhgMOj/////SAAAAfwAAAObQwAA/////4AAAAD/4AAAVBoGPv////84YDDp/////0gAAAH8AAADm0MAAP////9IAAA8/////4BgAAD/4AAAgAMANP////8sAAAA/////0GCACz/////OGAw6P////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAA/+AAAJAAAAD/4AAAOGAw6f////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAOGAxDP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggCI/////zxgAAD//wAAOAMAAP//AABUAACG/////ywAAAD/////QIIAbP////+AYAAA/+AAAIADADD/////LAAAAP////9AggAQ/////zxgAAD//wAAO4MAAP//AABIAAAM/////4BgAAD/4AAAg4MAMP////9/n+N4/////4BgAAD/4AAAgAMAMP////8sAAAA/////0CCADz/////gAAAAP/gAAAsAAAA/////0GCADD/////gGAAAP/gAACAAwAA/////ygAAAL/////QIAAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHwA0/////0gAAAz/////P+CAAP////87/0AA/////3/j+3j/////SAAAAfwAAAM4YDEQ/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCACz/////gGAAAP/gAACAAwA0/////ywAAAD/////QIIAEP////88YAAA//8AADtjAAD//wAASAAADP////+AYAAA/+AAAINjADT/////f3/beP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggCA/////zxgAAD//wAAOAMAAP//AABUAwCG/////zwD8AD/////KAAAAP////9AggA8/////zxgAAD//wAAO+MAAP//AACAAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////+AAAAA/+AAACwAAAD/////QIIAHP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAXP////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0GCABj/////PIAAAf////84hJAA/////zxggAD/////sIMw5v////9IAAA0/////zxggAD/////oAMw5v////8sAAAA/////0CCACT/////OH0AIP////84gAAg/////0gAAAH8AAADOH0AQP////84nQAg/////zygAAD//wAAOKUAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAg/////4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADOWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1056 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 508 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 512 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 584 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 588 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 592 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 620 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 624 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 828 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 832 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 54 + addend: 0 + - offset: 856 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 888 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 892 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 904 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 912 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 968 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 980 + kind: PpcAddr16Ha + symbol: 64 + addend: 0 + - offset: 984 + kind: PpcAddr16Lo + symbol: 64 + addend: 0 + - offset: 988 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 992 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1004 + kind: PpcEmbSda21 + symbol: 54 + addend: 0 + - offset: 1016 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 1028 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1036 + kind: PpcRel24 + symbol: 67 + addend: 0 +- symbol: 0 + hash: d7ce8e8669b941cde8d05c39bb4d3df768c0679a + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////8/wAAA//8AADveAAD//wAAgAAAAP/gAAAsAAAA/////0CCBDT/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADkIAAAP/gAACQYAAA/+AAAEgAAAH8AAADOH4AAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzxgg5D/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5CAAAD/4AAAkAAAAP/gAACQAAAA/+AAAICkAPT/////LAUAAP////9BggAo/////zhlAAz/////kGAAAP/gAACABQAk/////5AAAAD/4AAAgAUADP////+YBDDo/////4AAAAD/4AAAmAQw6f////9IAAAo/////4AEADT/////LAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////PICAAP////+QAAAA/+AAAIBkMQz/////LAMAAP////9AggBs/////zxgAAD//wAAOGMAAP//AABUYACH/////0CCAFj/////gIAAAP/gAACABAAw/////ywAAAD/////QIIACP////9IAAAI/////3wDA3j/////gIAAAP/gAACABAAw/////ywAAAD/////QIIANP////+AgAAA/+AAACwEAAD/////QYIAKP////+ABAAA/////ygAAAL/////QIAAHP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAj/////OGRAAP////9IAAAB/AAAAzxggAD/////gGMxEP////8sAwAA/////0CCABz/////gGAAAP/gAACAYwA0/////ywDAAD/////QIIADP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YIAA/////4BjMST/////LAMAAP////9BggBs/////zygAAD//wAAOKUAAP//AABUpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAfKMreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAY/////4AAAAD/4AAALAAAAP////9AggAM/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////gAAAAP/gAAAsAAAA/////0CCABz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAQj/////PGCAAP////+IAzFc/////ywAAIH/////QYIADP////9AgAAo/////0gAACT/////OH8CWP////9MxjGC/////0gAAAH8AAADOL8CqP////84YAAA/+AAADiABH7/////TMYxgv////9IAAAB/AAAAzxggAD/////iAMxXf////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/AsD/////TMYxgv////9IAAAB/AAAAzi/Aqj/////OGAAAP/gAAA4gASQ/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zyAAAH/////PGCAAP////84BJAA/////7ADMOb/////SAAANP////88YIAA/////6ADMOb/////LAAAAP////9AggAk/////zh+ACD/////OIAAIP////9IAAAB/AAAAzygAAD//wAAOH4AQP////84ngAg/////zilAAD//wAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIADP////84AABA/////0gAAAz/////PGCAAP////+IAzGE/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSInit + size: 1144 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1788' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1790' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 25 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 25 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 492 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 628 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 648 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 652 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 692 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 732 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 780 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 832 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 844 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 888 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 904 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 908 + kind: PpcEmbSda21 + symbol: 64 + addend: 0 + - offset: 964 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 968 + kind: PpcAddr16Ha + symbol: 66 + addend: 0 + - offset: 980 + kind: PpcAddr16Lo + symbol: 66 + addend: 0 + - offset: 984 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 988 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1024 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1036 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1048 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1052 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1064 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1076 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1080 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1092 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1104 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1116 + kind: PpcRel24 + symbol: 71 + addend: 0 +- symbol: 0 + hash: 2b4c6a3561768eab2cfc7927dfc194c49943a5d4 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAzxgAAD//wAAO6MAAP//AACAAAAA/+AAACwAAAD/////QIIERP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fQAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAPT/////SAAAAfwAAAODwwAA/////yweAAD/////QYIARP////84HgAM/////5AAAAD/4AAAgB4AJP////+QAAAA/+AAAIBgAAD/4AAAgAMAAP////9UGgY+/////zhgMOj/////SAAAAfwAAAObQwAA/////4AAAAD/4AAAVBoGPv////84YDDp/////0gAAAH8AAADm0MAAP////9IAAA8/////4BgAAD/4AAAgAMANP////8sAAAA/////0GCACz/////OGAw6P////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAA/+AAAJAAAAD/4AAAOGAw6f////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAOGAxDP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggCI/////zxgAAD//wAAOAMAAP//AABUAACG/////ywAAAD/////QIIAbP////+AYAAA/+AAAIADADD/////LAAAAP////9AggAQ/////zxgAAD//wAAO4MAAP//AABIAAAM/////4BgAAD/4AAAg4MAMP////9/n+N4/////4BgAAD/4AAAgAMAMP////8sAAAA/////0CCADz/////gAAAAP/gAAAsAAAA/////0GCADD/////gGAAAP/gAACAAwAA/////ygAAAL/////QIAAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHwA0/////0gAAAz/////P+CAAP////87/0AA/////3/j+3j/////SAAAAfwAAAM4YDEQ/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCACz/////gGAAAP/gAACAAwA0/////ywAAAD/////QIIAEP////88YAAA//8AADtjAAD//wAASAAADP////+AYAAA/+AAAINjADT/////f3/beP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggCA/////zxgAAD//wAAOAMAAP//AABUAwCG/////zwD8AD/////KAAAAP////9AggA8/////zxgAAD//wAAO+MAAP//AACAAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABj/////gAAAAP/gAAAsAAAA/////0CCAAz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////+AAAAA/+AAACwAAAD/////QIIAHP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAiP////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0GCABj/////PIAAAf////84hJAA/////zxggAD/////sIMw5v////9IAAA0/////zxggAD/////oAMw5v////8sAAAA/////0CCACT/////OH0AIP////84gAAg/////0gAAAH8AAADOH0AQP////84nQAg/////zygAAD//wAAOKUAAP//AABIAAAB/AAAA0gAAAH8AAADVGAGPv////8oAACA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////SAAAAfwAAAMsAwAA/////0CCAAj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAg/////4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADOWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1152 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetAppType + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 508 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 512 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 584 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 588 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 592 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 620 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 624 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 828 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 860 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 868 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 880 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 892 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 896 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 916 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 936 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 992 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 1004 + kind: PpcAddr16Ha + symbol: 64 + addend: 0 + - offset: 1008 + kind: PpcAddr16Lo + symbol: 64 + addend: 0 + - offset: 1012 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 1016 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1032 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1044 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1056 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1060 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1072 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1084 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1088 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1100 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1112 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1124 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1132 + kind: PpcRel24 + symbol: 71 + addend: 0 +- symbol: 0 + hash: 67048adcf70e6f6713e9aeb11dfae61a543c8d86 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAzxgAAD//wAAO6MAAP//AACAAAAA/+AAACwAAAD/////QIIESP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fQAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YAAA/////0gAAAH8AAADkGAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAPT/////SAAAAfwAAAODwwAA/////yweAAD/////QYIARP////84HgAM/////5AAAAD/4AAAgB4AJP////+QAAAA/+AAAIBgAAD/4AAAgAMAAP////9UGgY+/////zhgMOj/////SAAAAfwAAAObQwAA/////4AAAAD/4AAAVBoGPv////84YDDp/////0gAAAH8AAADm0MAAP////9IAAA8/////4BgAAD/4AAAgAMANP////8sAAAA/////0GCACz/////OGAw6P////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAA/+AAAJAAAAD/4AAAOGAw6f////9IAAAB/AAAA4gDAAD/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAOGAxDP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggCI/////zxgAAD//wAAOAMAAP//AABUAACG/////ywAAAD/////QIIAbP////+AYAAA/+AAAIADADD/////LAAAAP////9AggAQ/////zxgAAD//wAAO4MAAP//AABIAAAM/////4BgAAD/4AAAg4MAMP////9/n+N4/////4BgAAD/4AAAgAMAMP////8sAAAA/////0CCADz/////gAAAAP/gAAAsAAAA/////0GCADD/////gGAAAP/gAACAAwAA/////ygAAAL/////QIAAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHwA0/////0gAAAz/////P+CAAP////87/0AA/////3/j+3j/////SAAAAfwAAAM4YDEQ/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCACz/////gGAAAP/gAACAAwA0/////ywAAAD/////QIIAEP////88YAAA//8AADtjAAD//wAASAAADP////+AYAAA/+AAAINjADT/////f3/beP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggCA/////zxgAAD//wAAOAMAAP//AABUAwCG/////zwD8AD/////KAAAAP////9AggA8/////zxgAAD//wAAO+MAAP//AACAAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABj/////gAAAAP/gAAAsAAAA/////0CCAAz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////+AAAAA/+AAACwAAAD/////QIIAHP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAjP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////ziEkAD/////PGCAAP////+wgzDm/////0gAADT/////PGCAAP////+gAzDm/////ywAAAD/////QIIAJP////84fQAg/////ziAACD/////SAAAAfwAAAM4fQBA/////zidACD/////PKAAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAANUYAY+/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAM5YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: OSInit + size: 1156 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: CheckFirmare + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetAppType + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 332 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 508 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 512 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 564 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 584 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 588 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 592 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 620 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 624 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 768 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 828 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 860 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 868 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 880 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 892 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 896 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 916 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 936 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 940 + kind: PpcEmbSda21 + symbol: 63 + addend: 0 + - offset: 996 + kind: PpcRel24 + symbol: 64 + addend: 0 + - offset: 1008 + kind: PpcAddr16Ha + symbol: 65 + addend: 0 + - offset: 1012 + kind: PpcAddr16Lo + symbol: 65 + addend: 0 + - offset: 1016 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1020 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1036 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1048 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1060 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1064 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1076 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1088 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1092 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1104 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1116 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1128 + kind: PpcRel24 + symbol: 71 + addend: 0 + - offset: 1136 + kind: PpcRel24 + symbol: 72 + addend: 0 +- symbol: 0 + hash: 635f789abc95f73c314497ce05a9571812fc259b + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHgA0/////zwAgXP/////kAEAEP////+AAAAA/+AAACwAAAD/////QIIESP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM8YIOQ/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzhgAAD/////SAAAAfwAAAOQYAAA/+AAADgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOGAA9P////9IAAAB/AAAA4OjAAD/////LB0AAP////9BggBE/////zgdAAz/////kAAAAP/gAACAHQAk/////5AAAAD/4AAAgGAAAP/gAACAAwAA/////1QcBj7/////OGAw6P////9IAAAB/AAAA5uDAAD/////gAAAAP/gAABUHAY+/////zhgMOn/////SAAAAfwAAAObgwAA/////0gAADz/////gGAAAP/gAACAAwA0/////ywAAAD/////QYIALP////84YDDo/////0gAAAH8AAADiAMAAP////+QAAAA/+AAADgAAAD/4AAAkAAAAP/gAAA4YDDp/////0gAAAH8AAADiAMAAP////+QAAAA/+AAADgAAAH/////kAAAAP/gAAA4YDEM/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCAID/////V8AAhv////8sAAAA/////0CCAGz/////gGAAAP/gAACAAwAw/////ywAAAD/////QIIADP////+TwQAM/////0gAABD/////gGAAAP/gAACAAwAw/////5ABAAz/////g+EADP////+AYAAA/+AAAIADADD/////LAAAAP////9AggA8/////4AAAAD/4AAALAAAAP////9BggAw/////4BgAAD/4AAAgAMAAP////8oAAAC/////0CAACD/////PGAAAP//AAA4YwAA//8AADgDAB//////VB8ANP////9IAAAM/////z/ggAD/////O/9AAP////9/4/t4/////0gAAAH8AAADOGAxEP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggAw/////4BgAAD/4AAAgAMANP////8sAAAA/////0CCABD/////gAEAEP////+QAQAI/////0gAABD/////gGAAAP/gAACAAwA0/////5ABAAj/////g+EACP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggB0/////1fDAIb/////PAPwAP////8oAAAA/////0CCADj/////f9/zeP////+AAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABj/////gAAAAP/gAAAsAAAA/////0CCAAz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////+AAAAA/+AAACwAAAD/////QIIAHP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAmP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////ziEkAD/////PGCAAP////+wgzDm/////0gAAED/////PGCAAP////+gAzDm/////ywAAAD/////QIIAMP////88YAAA//8AADhjAAD//wAAOIAAIP////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAAPKAAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAANUYAY+/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOD4QAs/////4PBACj/////g6EAJP////+DgQAg/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1188 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: CheckFirmare + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: DriveBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetAppType + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 4 + - offset: 80 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 616 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 632 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 636 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 780 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 796 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 800 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 820 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 852 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 880 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 892 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 904 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 924 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 928 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 940 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 944 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 948 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 952 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 1000 + kind: PpcAddr16Ha + symbol: 62 + addend: 0 + - offset: 1004 + kind: PpcAddr16Lo + symbol: 62 + addend: 0 + - offset: 1012 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 1016 + kind: PpcAddr16Ha + symbol: 64 + addend: 0 + - offset: 1020 + kind: PpcAddr16Lo + symbol: 64 + addend: 0 + - offset: 1024 + kind: PpcAddr16Ha + symbol: 62 + addend: 0 + - offset: 1028 + kind: PpcAddr16Lo + symbol: 62 + addend: 0 + - offset: 1032 + kind: PpcAddr16Ha + symbol: 65 + addend: 0 + - offset: 1036 + kind: PpcAddr16Lo + symbol: 65 + addend: 0 + - offset: 1040 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1044 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1060 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 1072 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1084 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1088 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 1100 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 1112 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1116 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 1128 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 1140 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 1152 + kind: PpcRel24 + symbol: 71 + addend: 0 +- symbol: 0 + hash: da0ef81bcceceb555938fb047d1f8cc880235f46 + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////88YAAA//8AADhjAAD//wAAOAMAH/////9UHgA0/////zwAgXD/////kAEAEP////+AAAAA/+AAACwAAAD/////QIIESP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM8YIOQ/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzhgAAD/////SAAAAfwAAAOQYAAA/+AAADgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOGAA9P////9IAAAB/AAAA4OjAAD/////LB0AAP////9BggBE/////zgdAAz/////kAAAAP/gAACAHQAk/////5AAAAD/4AAAgGAAAP/gAACAAwAA/////1QcBj7/////OGAw6P////9IAAAB/AAAA5uDAAD/////gAAAAP/gAABUHAY+/////zhgMOn/////SAAAAfwAAAObgwAA/////0gAADz/////gGAAAP/gAACAAwA0/////ywAAAD/////QYIALP////84YDDo/////0gAAAH8AAADiAMAAP////+QAAAA/+AAADgAAAD/4AAAkAAAAP/gAAA4YDDp/////0gAAAH8AAADiAMAAP////+QAAAA/+AAADgAAAH/////kAAAAP/gAAA4YDEM/////0gAAAH8AAADg+MAAP////8sHwAA/////0CCAID/////V8AAhv////8sAAAA/////0CCAGz/////gGAAAP/gAACAAwAw/////ywAAAD/////QIIADP////+TwQAM/////0gAABD/////gGAAAP/gAACAAwAw/////5ABAAz/////g+EADP////+AYAAA/+AAAIADADD/////LAAAAP////9AggA8/////4AAAAD/4AAALAAAAP////9BggAw/////4BgAAD/4AAAgAMAAP////8oAAAC/////0CAACD/////PGAAAP//AAA4YwAA//8AADgDAB//////VB8ANP////9IAAAM/////z/ggAD/////O/9AAP////9/4/t4/////0gAAAH8AAADOGAxEP////9IAAAB/AAAA4PjAAD/////LB8AAP////9AggAw/////4BgAAD/4AAAgAMANP////8sAAAA/////0CCABD/////gAEAEP////+QAQAI/////0gAABD/////gGAAAP/gAACAAwA0/////5ABAAj/////g+EACP////9/4/t4/////0gAAAH8AAADOGAxJP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggB0/////1fDAIb/////PAPwAP////8oAAAA/////0CCADj/////f9/zeP////+AAAAA/+AAACwAAAD/////QYIATP////+AYAAA/+AAAIADAAD/////KAAAAv////9AgAA8/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QfADT/////SAAAKP////88AJAA/////3wfAED/////QYAAHP////88YJAA/////zhjCAD/////fB8YQP////9AgAAM/////z/gkAD/////O/8IAP////9/4/t4/////0gAAAH8AAADOGAxKP////9IAAAB/AAAA4PjAAD/////LB8AAP////9BggAM/////3/j+3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////+AYAAA/+AAAIADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABj/////gAAAAP/gAAAsAAAA/////0CCAAz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAKP////+AAAAA/+AAACwAAAD/////QIIAHP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAMoAwAB/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAmP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////ziEkAD/////PGCAAP////+wgzDm/////0gAAED/////PGCAAP////+gAzDm/////ywAAAD/////QIIAMP////88YAAA//8AADhjAAD//wAAOIAAIP////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAA8gAAA//8AADiEAAD//wAAPKAAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAANUYAY+/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOD4QAs/////4PBACj/////g6EAJP////+DgQAg/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1188 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: DisableWriteGatherPipe + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Function + name: CheckTargets + size: 0 + flags: 2 + section: .text + - kind: Function + name: CheckFirmare + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Object + name: DriveBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetAppType + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 4 + - offset: 80 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 456 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 604 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 616 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 632 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 636 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 780 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 796 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 800 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 820 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 852 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 880 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 892 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 904 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 924 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 928 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 940 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 944 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 948 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 952 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 1000 + kind: PpcAddr16Ha + symbol: 62 + addend: 0 + - offset: 1004 + kind: PpcAddr16Lo + symbol: 62 + addend: 0 + - offset: 1012 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 1016 + kind: PpcAddr16Ha + symbol: 64 + addend: 0 + - offset: 1020 + kind: PpcAddr16Lo + symbol: 64 + addend: 0 + - offset: 1024 + kind: PpcAddr16Ha + symbol: 62 + addend: 0 + - offset: 1028 + kind: PpcAddr16Lo + symbol: 62 + addend: 0 + - offset: 1032 + kind: PpcAddr16Ha + symbol: 65 + addend: 0 + - offset: 1036 + kind: PpcAddr16Lo + symbol: 65 + addend: 0 + - offset: 1040 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1044 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1060 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 1072 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1084 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1088 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 1100 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 1112 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1116 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 1128 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 1140 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 1152 + kind: PpcRel24 + symbol: 71 + addend: 0 +- symbol: 0 + hash: c89ed0a2cf5035ffc50709de0a9c8ebea019094b + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////gAAAAP/gAAA8YAAA//8AADvjAAD//wAALAAAAP////88YAAA//8AADvDAAD//wAAQIIElP////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fwBQ/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzgAAAD/////PICAAP////+QAAAA/+AAAJCAAAD/4AAAkAAAAP/gAACAZAD0/////ygDAAD/////QYIANP////84AwAM/////5AAAAD/4AAAgAMAJP////+AYAAA/+AAAJAAAAD/4AAAgAMAAP////9UAAY+/////5gEMOj/////gAAAAP/gAABUAAY+/////5gEMOn/////SAAAKP////+ABAA0/////ygAAAD/////QYIAHP////+IZDDo/////zgAAAD/4AAAkGAAAP/gAACQAAAA/+AAAIgEMOn/////kAAAAP/gAAA4AAAB/////4BgAAD/4AAAkAAAAP/gAACAYwAw/////ygDAAD/////QIIAEP////88YAAA//8AADhjAAD//wAASAAABP////9IAAAB/AAAA4BgAAD/4AAAgAMAMP////8oAAAA/////0CCADD/////gGAAAP/gAAAoAwAA/////0GCACT/////gAMAAP////8oAAAC/////0CAABj/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAB/AAAA4BgAAD/4AAAgGMANP////8oAwAA/////0CCABD/////PGAAAP//AAA4YwAA//8AAEgAAAT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPGAAAP//AAA4gwAA//8AADhgABb/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADVGMAgP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADOH4ARP////9MxjGC/////0gAAAH8AAADOH4AVP////9MxjGC/////zieAGz/////OL4AeP////9IAAAB/AAAAzh+AIT/////TMYxgv////9IAAAB/AAAA4BgAAD/4AAAKAMAAP////9BggAQ/////4CDACz/////KAQAAP////9AggAQ/////zxgEAD/////OIMAAv////9IAAAE/////1SDAAb/////PAAQAP////98AwAA/////0GCADT/////QIAAEP////8sAwAA/////0GCABj/////SAAAuP////88ACAA/////3wDAAD/////QYIAGP////9IAACo/////0zGMYL/////OH4AlP////9IAAAB/AAAA0gAAKT/////PGAQAP////9UhQE+/////zgDAAL/////fAUAAP////9BggBI/////0CAABT/////fAUYAP////9BggAc/////0CAACj/////SAAAVP////84AwAE/////3wFAAD/////QIAASP////9IAAA0/////zh+AKD/////TMYxgv////9IAAAB/AAAA0gAAFz/////OH4AsP////9MxjGC/////0gAAAH8AAADSAAATP////84fgDA/////0zGMYL/////SAAAAfwAAANIAAA8/////zh+AND/////TMYxgv////9IAAAB/AAAA0gAACz/////VIYBPv////9MxjGC/////3yFI3j/////OH4A4P////84hv/9/////0gAAAH8AAADSAAAEP////9MxjGC/////zhgAAD/4AAASAAAAfwAAAOAgAAA/+AAADh+APz/////TMYxgv////+ABAAo/////1QEZT7/////SAAAAfwAAANIAAAB/AAAA3x9G3j/////SAAAAfwAAAN8ZBt4/////0zGMYL/////f6XreP////84fgEM/////0gAAAH8AAADgGAAAP/gAABIAAAB/AAAA4BgAAD/4AAAKAMAAP////9BggAU/////4ADAAD/////KAAAAv////9BgAAI/////0gAAAH8AAADSAAAAfwAAANUYAAA/////ygAAAD/////QYIADP////84AAAB/////0gAAAj/////OAAAAP////8sAAAA/////0CCACj/////SAAAAfwAAAN8fht4/////0gAAAH8AAADf8PwUP////9IAAAB/AAAA3/F83j/////OIAAAP////9IAAAB/AAAA0gAAMD/////O78AXP////+AHQAA/////ygAAAD/////QIIAKP////9IAAAB/AAAA3x+G3j/////SAAAAfwAAAN/w/BQ/////0gAAAH8AAADf8XzeP////84gAAA/////0gAAAH8AAADSAAAjP////9IAAAB/AAAA4AdAAD/////fAMAQP////9AgAB8/////0gAAAH8AAADgB0AAP////98AwBA/////0GBACj/////SAAAAfwAAAN8fht4/////0gAAAH8AAADf8PwUP////9IAAAB/AAAA3/F83j/////OIAAAP////9IAAAB/AAAA0gAAEj/////SAAAAfwAAAOAHQAA/////3/DAFD/////SAAAAfwAAAN/xfN4/////ziAAAD/////SAAAAfwAAANIAAAB/AAAAzifAGD/////g6QAAP////98A+hA/////0CBABj/////SAAAAfwAAAN8vRhQ/////3+j63j/////OIAAAP////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAEj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88YAAB/////zgDkAD/////PGCAAP////+wAzDm/////0gAACT/////f+P7eP////84gAAg/////0gAAAH8AAADPGAAAP//AAA4owAA//8AAH/k+3j/////OH8AIP////9IAAAB/AAAA4ABABz/////g+EAFP////+DwQAQ/////4OhAAz/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1248 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DriveInfo + size: 32 + flags: 2 + section: .bss + - kind: Object + name: '@1' + size: 68 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSResetSWInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@116' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetResetCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 336 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 372 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 376 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 408 + kind: PpcAddr16Ha + symbol: 31 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 31 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 776 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 784 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 844 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 848 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 876 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 920 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 940 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 964 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 972 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 980 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 992 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 1000 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 1016 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 1032 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 1040 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 1048 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 1060 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 1068 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 1080 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 1092 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 1096 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 1116 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 1132 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 1136 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 1140 + kind: PpcEmbSda21 + symbol: 42 + addend: 0 + - offset: 1152 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 1156 + kind: PpcEmbSda21 + symbol: 55 + addend: 0 + - offset: 1196 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 1200 + kind: PpcAddr16Ha + symbol: 57 + addend: 0 + - offset: 1204 + kind: PpcAddr16Lo + symbol: 57 + addend: 0 + - offset: 1216 + kind: PpcRel24 + symbol: 58 + addend: 0 +- symbol: 0 + hash: eeb360d26b31efc5795eba402d15c821ad89bfc8 + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////8/4AAA//8AADv/AAD//wAAk8EAKP////8/wAAA//8AADveAAD//wAAk6EAJP////+TgQAg/////4AAAAD/4AAALAAAAP////9AggUA/////zgAAAH/////kAAAAP/gAABIAAAB/AAAA5CAAAD/4AAAkGAAAP/gAABIAAAB/AAAAzh+AAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM8YIOQ/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzgAAAD/////PICAAP////+QgAAA/+AAAJAAAAD/4AAAkAAAAP/gAACApAD0/////ywFAAD/////QYIAKP////84ZQAM/////5BgAAD/4AAAgAUAJP////+QAAAA/+AAAIAFAAz/////mAQw6P////+AAAAA/+AAAJgEMOn/////SAAAKP////+ABAA0/////ywAAAD/////QYIAHP////+IZDDo/////zgAAAD/4AAAkGAAAP/gAACQAAAA/+AAAIgEMOn/////kAAAAP/gAAA4AAAB/////5AAAAD/4AAAPICAAP////+AZDEM/////ywDAAD/////QIIAbP////88YAAA//8AADhjAAD//wAAVGAAh/////9AggBY/////4CAAAD/4AAAgAQAMP////8sAAAA/////0CCAAj/////SAAACP////98AwN4/////4CAAAD/4AAAgAQAMP////8sAAAA/////0CCADT/////gIAAAP/gAAAsBAAA/////0GCACj/////gAQAAP////8oAAAC/////0CAABz/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAI/////zhkQAD/////SAAAAfwAAAM8YIAA/////4BjMRD/////LAMAAP////9AggAc/////4BgAAD/4AAAgGMANP////8sAwAA/////0CCAAz/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGCAAP////+AYzEk/////ywDAAD/////QYIAbP////88oAAA//8AADilAAD//wAAVKQAhv////88BPAA/////ygAAAD/////QIIANP////+AgAAA/+AAAHyjK3j/////LAQAAP////9BggBA/////4AEAAD/////KAAAAv////9AgAA0/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAAIP////88gJAA/////3wDIED/////QYAAFP////84BAgA/////3wDAED/////QIAACP////98AwN4/////0gAAAH8AAADPGCAAP////+AYzEo/////ywDAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANUYwCA/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA4CAAAD/4AAAOGAAAP/gAABMxjGC/////0gAAAH8AAADgGAAAP/gAAAsAwAA/////0GCABT/////gAMAAP////8oAAAC/////0GAAAj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAGP////+AAAAA/+AAACwAAAD/////QIIADP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAo/////4AAAAD/4AAALAAAAP////9AggAc/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAygDAAH/////QYL/+P////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggHU/////zxggAD/////iAMxXP////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/AfD/////TMYxgv////9IAAAB/AAAAzi/AkD/////OGAAAP/gAAA4gASB/////0zGMYL/////SAAAAfwAAAM8YIAA/////4gDMV3/////LAAAgf////9BggAM/////0CAACj/////SAAAJP////84fwJY/////0zGMYL/////SAAAAfwAAAM4vwJA/////zhgAAD/4AAAOIAEk/////9MxjGC/////0gAAAH8AAADPIDAAP////88YIAA/////4GEMUT/////gWQxQP////9VgOc+/////1WHZz7/////HKAACv////+AYzGI/////1WEBz7/////g6AAAP/gAABVaIY+/////5kBABH/////VGCEPv////98hCoU/////3wIAED/////VYanPv////84BAfQ/////1WIhz7/////VWpGPv////9VacY+/////5lBABD/////HOcACv////9Vhcc+/////4OAAAD/4AAAmSEAEv////9VagI+/////xyGAAr/////fMg6FP////+ZYQAT/////3yFIhT/////mMEAFP////+YgQAV/////7ABABb/////QIIAEP////9AggBE/////3wKGED/////QIAAPP////84fwKw/////0zGMYL/////SAAAAfwAAAOToQAM/////ziBAAz/////OGEACP////84vwMQ/////5OBAAj/////SAAAAfwAAAM4vwJA/////zhgAAD/4AAAOIAE1P////9MxjGC/////0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIAGP////88gAAB/////zxggAD/////OASQAP////+wAzDm/////0gAADT/////PGCAAP////+gAzDm/////ywAAAD/////QIIAJP////84fgAg/////ziAACD/////SAAAAfwAAAM8oAAA//8AADh+AED/////OJ4AIP////84pQAA//8AAEgAAAH8AAADgAAAAP/gAAAsAAAA/////0GCAAz/////OAAAQP////9IAAAM/////zxggAD/////iAMxhP////8oAACA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////SAAAAfwAAAMsAwAA/////0CCAAj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAg/////4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAEANP////+D4QAs/////4PBACj/////g6EAJP////+DgQAg/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 1364 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1854' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1856' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1009' + size: 4 + flags: 2 + section: .sdata2 + - kind: Object + name: '@1011' + size: 4 + flags: 2 + section: .sdata2 + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 72 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 364 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 25 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 25 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 448 + kind: PpcAddr16Ha + symbol: 22 + addend: 0 + - offset: 452 + kind: PpcAddr16Lo + symbol: 22 + addend: 0 + - offset: 472 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 500 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 504 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 636 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 656 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 660 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 672 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 696 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 700 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 712 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 740 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 752 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 788 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 832 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 888 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 896 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 948 + kind: PpcEmbSda21 + symbol: 63 + addend: 0 + - offset: 1004 + kind: PpcEmbSda21 + symbol: 64 + addend: 0 + - offset: 1068 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 1092 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 1100 + kind: PpcEmbSda21 + symbol: 61 + addend: 0 + - offset: 1112 + kind: PpcRel24 + symbol: 62 + addend: 0 + - offset: 1116 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1120 + kind: PpcEmbSda21 + symbol: 67 + addend: 0 + - offset: 1176 + kind: PpcRel24 + symbol: 68 + addend: 0 + - offset: 1180 + kind: PpcAddr16Ha + symbol: 69 + addend: 0 + - offset: 1192 + kind: PpcAddr16Lo + symbol: 69 + addend: 0 + - offset: 1196 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1200 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1236 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1248 + kind: PpcRel24 + symbol: 71 + addend: 0 + - offset: 1260 + kind: PpcRel24 + symbol: 72 + addend: 0 + - offset: 1264 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1276 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1288 + kind: PpcRel24 + symbol: 73 + addend: 0 + - offset: 1292 + kind: PpcEmbSda21 + symbol: 44 + addend: 0 + - offset: 1304 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1316 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1328 + kind: PpcRel24 + symbol: 74 + addend: 0 +- symbol: 0 + hash: 6399037c71f086824305db36ad75fa573e3f99b4 + signature: lCH/0P////98CAKm/////zxgAAD//wAAkAEANP////84YwAA//8AAJPhACz/////P+AAAP//AAA7/wAA//8AAJPBACj/////P8AAAP//AAA73gAA//8AAJOhACT/////k4EAIP////8/gIFz/////4AAAAD/4AAALAAAAP////84AwAf/////1QdADT/////QIIE8P////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fgAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4AAAA/////zyAgAD/////kIAAAP/gAACQAAAA/+AAAJAAAAD/4AAAgKQA9P////8sBQAA/////0GCACj/////OGUADP////+QYAAA/+AAAIAFACT/////kAAAAP/gAACABQAM/////5gEMOj/////gAAAAP/gAACYBDDp/////0gAACj/////gAQANP////8sAAAA/////0GCABz/////iGQw6P////84AAAA/+AAAJBgAAD/4AAAkAAAAP/gAACIBDDp/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAADyAgAD/////gGQxDP////8sAwAA/////0CCAGD/////V6AAh/////9AggBU/////4BgAAD/4AAAgGMAMP////8sAwAA/////0CCAAj/////f6PreP////+AgAAA/+AAAIAEADD/////LAAAAP////9AggA0/////4CAAAD/4AAALAQAAP////9BggAo/////4AEAAD/////KAAAAv////9AgAAc/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAACP////84ZEAA/////0gAAAH8AAADPGCAAP////+AYzEQ/////ywDAAD/////QIIAIP////+AYAAA/+AAAIADADT/////LAAAAP////9AggAI/////0gAAAj/////fBwDeP////9/g+N4/////0gAAAH8AAADPGCAAP////+AYzEk/////ywDAAD/////QYIAZP////9XpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAf6PreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAY/////4AAAAD/4AAALAAAAP////9AggAM/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////gAAAAP/gAAAsAAAA/////0CCABz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAdT/////PGCAAP////+IAzFc/////ywAAIH/////QYIADP////9AgAAo/////0gAACT/////OH8B8P////9MxjGC/////0gAAAH8AAADOL8CQP////84YAAA/+AAADiABIj/////TMYxgv////9IAAAB/AAAAzxggAD/////iAMxXf////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/Alj/////TMYxgv////9IAAAB/AAAAzi/AkD/////OGAAAP/gAAA4gASa/////0zGMYL/////SAAAAfwAAAM8gMAA/////zxggAD/////gYQxRP////+BZDFA/////1WA5z7/////VYdnPv////8coAAK/////4BjMYj/////VYQHPv////+DgAAA/+AAAFVohj7/////mQEAEf////9UYIQ+/////3yEKhT/////fAgAQP////9Vhqc+/////zgEB9D/////VYiHPv////9VakY+/////1Vpxj7/////mUEAEP////8c5wAK/////1WFxz7/////g6AAAP/gAACZIQAS/////1VqAj7/////HIYACv////98yDoU/////5lhABP/////fIUiFP////+YwQAU/////5iBABX/////sAEAFv////9AggAQ/////0CCAET/////fAoYQP////9AgAA8/////zh/ArD/////TMYxgv////9IAAAB/AAAA5OBAAz/////OIEADP////84YQAI/////zi/AxD/////k6EACP////9IAAAB/AAAAzi/AkD/////OGAAAP/gAAA4gATb/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zyAAAH/////PGCAAP////84BJAA/////7ADMOb/////SAAANP////88YIAA/////6ADMOb/////LAAAAP////9AggAk/////zh+ACD/////OIAAIP////9IAAAB/AAAAzygAAD//wAAOH4AQP////84ngAg/////zilAAD//wAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIADP////84AABA/////0gAAAz/////PGCAAP////+IAzGE/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOAAQA0/////4PhACz/////g8EAKP////+DoQAk/////4OBACD/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1368 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1847' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1849' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1010' + size: 4 + flags: 2 + section: .sdata2 + - kind: Object + name: '@1012' + size: 4 + flags: 2 + section: .sdata2 + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 6 + addend: 4 + - offset: 92 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 504 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 508 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 640 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 660 + kind: PpcEmbSda21 + symbol: 46 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 676 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 716 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 756 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 788 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 792 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 892 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 900 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 952 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 1008 + kind: PpcEmbSda21 + symbol: 63 + addend: 0 + - offset: 1072 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 1096 + kind: PpcRel24 + symbol: 64 + addend: 0 + - offset: 1104 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 1116 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 1120 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 1124 + kind: PpcEmbSda21 + symbol: 66 + addend: 0 + - offset: 1180 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1184 + kind: PpcAddr16Ha + symbol: 68 + addend: 0 + - offset: 1196 + kind: PpcAddr16Lo + symbol: 68 + addend: 0 + - offset: 1200 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1204 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1240 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1252 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1264 + kind: PpcRel24 + symbol: 71 + addend: 0 + - offset: 1268 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1280 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1292 + kind: PpcRel24 + symbol: 72 + addend: 0 + - offset: 1296 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1308 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1320 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1332 + kind: PpcRel24 + symbol: 73 + addend: 0 +- symbol: 0 + hash: 3d738f076ae92d973e0dda01f790d726df920db3 + signature: lCH/0P////98CAKm/////zxgAAD//wAAkAEANP////84YwAA//8AAJPhACz/////P+AAAP//AAA7/wAA//8AAJPBACj/////P8AAAP//AAA73gAA//8AAJOhACT/////k4EAIP////8/gIFw/////4AAAAD/4AAALAAAAP////84AwAf/////1QdADT/////QIIE8P////84AAAB/////5AAAAD/4AAASAAAAfwAAAOQgAAA/+AAAJBgAAD/4AAASAAAAfwAAAM4fgAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADPGCDkP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4AAAA/////zyAgAD/////kIAAAP/gAACQAAAA/+AAAJAAAAD/4AAAgKQA9P////8sBQAA/////0GCACj/////OGUADP////+QYAAA/+AAAIAFACT/////kAAAAP/gAACABQAM/////5gEMOj/////gAAAAP/gAACYBDDp/////0gAACj/////gAQANP////8sAAAA/////0GCABz/////iGQw6P////84AAAA/+AAAJBgAAD/4AAAkAAAAP/gAACIBDDp/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAADyAgAD/////gGQxDP////8sAwAA/////0CCAGD/////V6AAh/////9AggBU/////4BgAAD/4AAAgGMAMP////8sAwAA/////0CCAAj/////f6PreP////+AgAAA/+AAAIAEADD/////LAAAAP////9AggA0/////4CAAAD/4AAALAQAAP////9BggAo/////4AEAAD/////KAAAAv////9AgAAc/////zxgAAD//wAAOGMAAP//AAA4AwAf/////1QDADT/////SAAACP////84ZEAA/////0gAAAH8AAADPGCAAP////+AYzEQ/////ywDAAD/////QIIAIP////+AYAAA/+AAAIADADT/////LAAAAP////9AggAI/////0gAAAj/////fBwDeP////9/g+N4/////0gAAAH8AAADPGCAAP////+AYzEk/////ywDAAD/////QYIAZP////9XpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAf6PreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAY/////4AAAAD/4AAALAAAAP////9AggAM/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////gAAAAP/gAAAsAAAA/////0CCABz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAdT/////PGCAAP////+IAzFc/////ywAAIH/////QYIADP////9AgAAo/////0gAACT/////OH8B8P////9MxjGC/////0gAAAH8AAADOL8CQP////84YAAA/+AAADiABIj/////TMYxgv////9IAAAB/AAAAzxggAD/////iAMxXf////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/Alj/////TMYxgv////9IAAAB/AAAAzi/AkD/////OGAAAP/gAAA4gASa/////0zGMYL/////SAAAAfwAAAM8gMAA/////zxggAD/////gYQxRP////+BZDFA/////1WA5z7/////VYdnPv////8coAAK/////4BjMYj/////VYQHPv////+DgAAA/+AAAFVohj7/////mQEAEf////9UYIQ+/////3yEKhT/////fAgAQP////9Vhqc+/////zgEB9D/////VYiHPv////9VakY+/////1Vpxj7/////mUEAEP////8c5wAK/////1WFxz7/////g6AAAP/gAACZIQAS/////1VqAj7/////HIYACv////98yDoU/////5lhABP/////fIUiFP////+YwQAU/////5iBABX/////sAEAFv////9AggAQ/////0CCAET/////fAoYQP////9AgAA8/////zh/ArD/////TMYxgv////9IAAAB/AAAA5OBAAz/////OIEADP////84YQAI/////zi/AxD/////k6EACP////9IAAAB/AAAAzi/AkD/////OGAAAP/gAAA4gATb/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAY/////zyAAAH/////PGCAAP////84BJAA/////7ADMOb/////SAAANP////88YIAA/////6ADMOb/////LAAAAP////9AggAk/////zh+ACD/////OIAAIP////9IAAAB/AAAAzygAAD//wAAOH4AQP////84ngAg/////zilAAD//wAASAAAAfwAAAOAAAAA/+AAACwAAAD/////QYIADP////84AABA/////0gAAAz/////PGCAAP////+IAzGE/////ygAAID/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAU/////4AAAAD/4AAALAAAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACD/////gAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOAAQA0/////4PhACz/////g8EAKP////+DoQAk/////4OBACD/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: OSInit + size: 1368 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1847' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1849' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1010' + size: 4 + flags: 2 + section: .sdata2 + - kind: Object + name: '@1012' + size: 4 + flags: 2 + section: .sdata2 + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 6 + addend: 4 + - offset: 92 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 280 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 504 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 508 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 640 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 45 + addend: 0 + - offset: 660 + kind: PpcEmbSda21 + symbol: 46 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 47 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 676 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 49 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 716 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 52 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 53 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 756 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 788 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 792 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 836 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 892 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 900 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 952 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 1008 + kind: PpcEmbSda21 + symbol: 63 + addend: 0 + - offset: 1072 + kind: PpcRel24 + symbol: 48 + addend: 0 + - offset: 1096 + kind: PpcRel24 + symbol: 64 + addend: 0 + - offset: 1104 + kind: PpcEmbSda21 + symbol: 60 + addend: 0 + - offset: 1116 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 1120 + kind: PpcRel24 + symbol: 65 + addend: 0 + - offset: 1124 + kind: PpcEmbSda21 + symbol: 66 + addend: 0 + - offset: 1180 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1184 + kind: PpcAddr16Ha + symbol: 68 + addend: 0 + - offset: 1196 + kind: PpcAddr16Lo + symbol: 68 + addend: 0 + - offset: 1200 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1204 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1240 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1252 + kind: PpcRel24 + symbol: 70 + addend: 0 + - offset: 1264 + kind: PpcRel24 + symbol: 71 + addend: 0 + - offset: 1268 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1280 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1292 + kind: PpcRel24 + symbol: 72 + addend: 0 + - offset: 1296 + kind: PpcEmbSda21 + symbol: 43 + addend: 0 + - offset: 1308 + kind: PpcEmbSda21 + symbol: 50 + addend: 0 + - offset: 1320 + kind: PpcEmbSda21 + symbol: 51 + addend: 0 + - offset: 1332 + kind: PpcRel24 + symbol: 73 + addend: 0 +- symbol: 0 + hash: 25b8043c604c2732fb90ea0e435cf8f711b32e07 + signature: lCH/sP////98CAKm/////5ABAFT/////OWEAUP////9IAAAB/AAAA4AAAAD/4AAAP8AAAP//AAA/4AAA//8AACwAAAD/////O94AAP//AAA7/wAA//8AAECCBUD/////OAAAAf////+QAAAA/+AAAEgAAAH8AAADkIAAAP/gAACQYAAA/+AAAEgAAAH8AAADOH4AAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzxgg5D/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAAAAP////88gIAA/////5CAAAD/4AAAkAAAAP/gAACQAAAA/+AAAICkAPT/////LAUAAP////9BggAo/////zhlAAz/////kGAAAP/gAACABQAk/////5AAAAD/4AAAgAUADP////+YBDDo/////4AAAAD/4AAAmAQw6f////9IAAAo/////4AEADT/////LAAAAP////9BggAc/////4hkMOj/////OAAAAP/gAACQYAAA/+AAAJAAAAD/4AAAiAQw6f////+QAAAA/+AAADgAAAH/////PICAAP////+QAAAA/+AAAIBkMQz/////LAMAAP////9AggBs/////zxgAAD//wAAOGMAAP//AABUYACH/////0CCAFj/////gIAAAP/gAACABAAw/////ywAAAD/////QIIACP////9IAAAI/////3wDA3j/////gIAAAP/gAACABAAw/////ywAAAD/////QIIANP////+AgAAA/+AAACwEAAD/////QYIAKP////+ABAAA/////ygAAAL/////QIAAHP////88YAAA//8AADhjAAD//wAAOAMAH/////9UAwA0/////0gAAAj/////OGRAAP////9IAAAB/AAAAzxggAD/////gGMxEP////8sAwAA/////0CCABz/////gGAAAP/gAACAYwA0/////ywDAAD/////QIIADP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YIAA/////4BjMST/////LAMAAP////9BggBs/////zygAAD//wAAOKUAAP//AABUpACG/////zwE8AD/////KAAAAP////9AggA0/////4CAAAD/4AAAfKMreP////8sBAAA/////0GCAED/////gAQAAP////8oAAAC/////0CAADT/////PGAAAP//AAA4YwAA//8AADgDAB//////VAMANP////9IAAAg/////zyAkAD/////fAMgQP////9BgAAU/////zgECAD/////fAMAQP////9AgAAI/////3wDA3j/////SAAAAfwAAAM8YIAA/////4BjMSj/////LAMAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA1RjAID/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADgIAAAP/gAAA4YAAA/+AAAEzGMYL/////SAAAAfwAAAOAYAAA/+AAACwDAAD/////QYIAFP////+AAwAA/////ygAAAL/////QYAACP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAY/////4AAAAD/4AAALAAAAP////9AggAM/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////gAAAAP/gAAAsAAAA/////0CCABz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADKAMAAf////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCAhT/////PGCAAP////+IAzFc/////ywAAIH/////QYIADP////9AgAAo/////0gAACT/////OH8CWP////9MxjGC/////0gAAAH8AAADOL8CqP////84YAAA/+AAADiABIH/////TMYxgv////9IAAAB/AAAAzxggAD/////iAMxXf////8sAACB/////0GCAAz/////QIAAKP////9IAAAk/////zh/AsD/////TMYxgv////9IAAAB/AAAAzi/Aqj/////OGAAAP/gAAA4gAST/////0zGMYL/////SAAAAfwAAAM8gMAA/////4qgAAD/4AAAgoQxRP////88YIAA/////4AEMUD/////VoXnPv////9WiGc+/////xzFAAr/////gIMxiP////9WhQc+/////4rAAAD/4AAAVoenPv////+K4AAA/+AAAHylMhT/////VAyGPv////8dKAAK/////1SDhD7/////iwAAAP/gAABUHUY+/////4sgAAD/4AAAVAvGPv////+LQAAA/+AAADilB9D/////i2AAAP/gAAAcxwAK/////1aKhz7/////i4AAAP/gAABWiMc+/////5qhAAj/////fOpKFP////98DBhA/////3xoMhT/////msEACf////9UBgI+/////5rhAAr/////mwEAC/////+bIQAM/////5tBAA3/////m2EADv////+bgQAP/////5uhABj/////mYEAGf////+ZYQAa/////5gBABv/////mOEAHP////+YYQAd/////7ChAB7/////QIIAEP////9AggBM/////3wGIED/////QIAARP////84fwMY/////0zGMYL/////SAAAAfwAAAOAoQAI/////ziBABT/////gAEADP////84YQAQ/////5ChABT/////OL8DeP////+QAQAQ/////0gAAAH8AAADOL8CqP////84YAAA/+AAADiABNT/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0GCABj/////PIAAAf////88YIAA/////zgEkAD/////sAMw5v////9IAAA0/////zxggAD/////oAMw5v////8sAAAA/////0CCACT/////OH4AIP////84gAAg/////0gAAAH8AAADPKAAAP//AAA4fgBA/////zieACD/////OKUAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9BggAM/////zgAAED/////SAAADP////88YIAA/////4gDMYT/////KAAAgP////9AggAg/////4AAAAD/4AAALAAAAP////9AggAU/////0gAAAH8AAADLAMAAP////9AggAI/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABT/////gAAAAP/gAAAsAAAA/////0CCAAj/////SAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAIP////+AAAAA/+AAACwAAAD/////QIIAFP////+AAAAA/+AAACwAAAD/////QIIACP////9IAAAB/AAAAzlhAFD/////SAAAAfwAAAOAAQBU/////3wIA6b/////OCEAUP////9OgAAg/////w== + symbols: + - kind: Function + name: OSInit + size: 1412 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_20 + size: 0 + flags: 1 + section: .text + - kind: Object + name: AreWeInitialized + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __OSRebootParams + size: 28 + flags: 1 + section: .bss + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSStartTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetExecParams + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmmcr1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc1 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc3 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtpmc4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid4 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCDisableSpeculation + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCSetFpNonIEEEMode + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: BI2DebugFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __DVDLongFileNameFlag + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: __PADSpec + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: BI2DebugFlagHolder + size: 4 + flags: 2 + section: .sbss + - kind: Unknown + name: __ArenaLo + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __ArenaHi + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitIPCBuffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSExceptionInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSInitSystemCall + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSModuleInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInterruptInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSContextInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSThreadInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitMemoryProtection + size: 0 + flags: 1 + section: .text + - kind: Function + name: ReportOSInfo + size: 0 + flags: 2 + section: .text + - kind: Object + name: __OSVersion + size: 4 + flags: 1 + section: .sdata + - kind: Object + name: '@1846' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: EnableMetroTRKInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ClearArena + size: 0 + flags: 2 + section: .text + - kind: Function + name: ClearMEM2Arena + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCCltInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitNet + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1848' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@1006' + size: 4 + flags: 2 + section: .sdata2 + - kind: Object + name: '@1008' + size: 4 + flags: 2 + section: .sdata2 + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSIsGcam + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: InquiryCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDInquiryAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDCheckDevice + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReturnToMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSInitPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStartPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_20 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 6 + addend: 4 + - offset: 64 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 244 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 26 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 26 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 23 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 23 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 492 + kind: PpcAddr16Ha + symbol: 24 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 24 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 29 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 30 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 31 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 32 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 33 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 34 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 35 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 36 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 37 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 38 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 39 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 40 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 41 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 42 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 43 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 44 + addend: 0 + - offset: 628 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 46 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 47 + addend: 0 + - offset: 648 + kind: PpcEmbSda21 + symbol: 48 + addend: 0 + - offset: 652 + kind: PpcEmbSda21 + symbol: 49 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 51 + addend: 0 + - offset: 692 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 53 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 54 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 55 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 56 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 57 + addend: 0 + - offset: 732 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 53 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 58 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 59 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 60 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 61 + addend: 0 + - offset: 780 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 832 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 844 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 888 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 900 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 908 + kind: PpcEmbSda21 + symbol: 64 + addend: 0 + - offset: 944 + kind: PpcEmbSda21 + symbol: 64 + addend: 1 + - offset: 952 + kind: PpcEmbSda21 + symbol: 64 + addend: 2 + - offset: 972 + kind: PpcEmbSda21 + symbol: 64 + addend: 3 + - offset: 980 + kind: PpcEmbSda21 + symbol: 65 + addend: 0 + - offset: 988 + kind: PpcEmbSda21 + symbol: 65 + addend: 1 + - offset: 996 + kind: PpcEmbSda21 + symbol: 65 + addend: 2 + - offset: 1008 + kind: PpcEmbSda21 + symbol: 65 + addend: 3 + - offset: 1116 + kind: PpcRel24 + symbol: 50 + addend: 0 + - offset: 1148 + kind: PpcRel24 + symbol: 66 + addend: 0 + - offset: 1156 + kind: PpcEmbSda21 + symbol: 62 + addend: 0 + - offset: 1168 + kind: PpcRel24 + symbol: 63 + addend: 0 + - offset: 1172 + kind: PpcRel24 + symbol: 67 + addend: 0 + - offset: 1176 + kind: PpcEmbSda21 + symbol: 68 + addend: 0 + - offset: 1232 + kind: PpcRel24 + symbol: 69 + addend: 0 + - offset: 1236 + kind: PpcAddr16Ha + symbol: 70 + addend: 0 + - offset: 1248 + kind: PpcAddr16Lo + symbol: 70 + addend: 0 + - offset: 1252 + kind: PpcRel24 + symbol: 71 + addend: 0 + - offset: 1256 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 1292 + kind: PpcEmbSda21 + symbol: 53 + addend: 0 + - offset: 1304 + kind: PpcRel24 + symbol: 72 + addend: 0 + - offset: 1316 + kind: PpcRel24 + symbol: 73 + addend: 0 + - offset: 1320 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 1332 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1344 + kind: PpcRel24 + symbol: 74 + addend: 0 + - offset: 1348 + kind: PpcEmbSda21 + symbol: 45 + addend: 0 + - offset: 1360 + kind: PpcEmbSda21 + symbol: 52 + addend: 0 + - offset: 1372 + kind: PpcEmbSda21 + symbol: 53 + addend: 0 + - offset: 1384 + kind: PpcRel24 + symbol: 75 + addend: 0 + - offset: 1392 + kind: PpcRel24 + symbol: 76 + addend: 0 diff --git a/assets/OSInitAlarm.yml b/assets/OSInitAlarm.yml new file mode 100644 index 0000000..d5047a2 --- /dev/null +++ b/assets/OSInitAlarm.yml @@ -0,0 +1,276 @@ +- symbol: 0 + hash: 3103f04a41ff8065012de10fee61921c6d6700e1 + signature: fAgCpv////84YAAI/////5ABAAT/////lCH/+P////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AAB8AyBA/////0GCABz/////OAAAAP////84YAAA/+AAAJADAAT/////OGAACP////+QAAAA/+AAAEgAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSInitAlarm + size: 76 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: a6fd8724a0e0d9f7ebc75e073eee60cd9d278871 + signature: fAgCpv////+QAQAE/////5Qh//j/////OGAACP////9IAAAB/AAAAzyAAAD//wAAOAQAAP//AAB8AwBA/////0GCACT/////OAAAAP////84YAAA/+AAAJADAAT/////kAAAAP/gAAA4YAAI/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAA4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInitAlarm + size: 84 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: cd0c2c0c5c1f967e73b67bd54df2e9e60637cc45 + signature: fAgCpv////84YAAI/////5ABAAT/////lCH/+P////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AAB8AyBA/////0GCACj/////OAAAAP////84YAAA/+AAAJADAAT/////OGAACP////+QAAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSInitAlarm + size: 88 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 00dd13efaab34b9738d60c71e2a000a2c72fc1a2 + signature: fAgCpv////+QAQAE/////5Qh//j/////OGAACP////9IAAAB/AAAAzyAAAD//wAAOAQAAP//AAB8AwBA/////0GCADD/////OAAAAP////84YAAA/+AAAJADAAT/////kAAAAP/gAAA4YAAI/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAA4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSInitAlarm + size: 96 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/OSRegisterResetFunction.yml b/assets/OSRegisterResetFunction.yml new file mode 100644 index 0000000..96dd4a3 --- /dev/null +++ b/assets/OSRegisterResetFunction.yml @@ -0,0 +1,241 @@ +- symbol: 0 + hash: 0cc2704c2734b37fa89aa8c037758f1602f9779d + signature: gKAAAP/gAABIAAAI/////4ClAAj/////KAUAAP////9BggAU/////4CFAAT/////gAMABP////98BABA/////0CB/+j/////KAUAAP////9AggA0/////zigAAD/4AAAhIUABP////8oBAAA/////0CCAAz/////kGAAAP/gAABIAAAI/////5BkAAj/////kIMADP////84AAAA/////5ADAAj/////kGUAAP////9OgAAg/////5CjAAj/////gIUADP////+QZQAM/////ygEAAD/////kIMADP////9AggAM/////5BgAAD/4AAAToAAIP////+QZAAI/////06AACD///// + symbols: + - kind: Function + name: OSRegisterResetFunction + size: 132 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 0d785a9e7e52a91563789e572d1ecbc434ea18de + signature: fAgCpv////+QAQAE/////5Qh/+D/////v4EAEP////98fxt4/////4AfAAD/////KAAAAP////9AggAg/////zxgAAD//wAAOGMAAP//AAA4gAC4/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADg8AAAP/gAABIAAAI/////4PeAAj/////KB4AAP////9BggAU/////4B+AAT/////gB8ABP////98AwBA/////0CB/+j/////KB4AAP////9AggA4/////zhgAAD/4AAAg4MABP////8oHAAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P8AAj/////k58ADP////84AAAA/////5AfAAj/////OGAAAP/gAACT4wAE/////0gAACj/////k98ACP////+DvgAM/////5P+AAz/////k78ADP////8oHQAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P9AAj/////gAEAJP////+7gQAQ/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterResetFunction + size: 212 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@28' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: a20085c18d4012ea4adbba85493918535d2cd204 + signature: fAgCpv////+QAQAE/////5Qh/+D/////v4EAEP////98fxt4/////4AfAAD/////KAAAAP////9AggAg/////zxgAAD//wAAOGMAAP//AAA4gADT/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADg8AAAP/gAABIAAAI/////4PeAAj/////KB4AAP////9BggAU/////4B+AAT/////gB8ABP////98AwBA/////0CB/+j/////KB4AAP////9AggA4/////zhgAAD/4AAAg4MABP////8oHAAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P8AAj/////k58ADP////84AAAA/////5AfAAj/////OGAAAP/gAACT4wAE/////0gAACj/////k98ACP////+DvgAM/////5P+AAz/////k78ADP////8oHQAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P9AAj/////gAEAJP////+7gQAQ/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterResetFunction + size: 212 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@28' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: a0af3ba0af7c71da659ac072d179c47827ba7d7c + signature: fAgCpv////+QAQAE/////5Qh/+D/////v4EAEP////98fxt4/////4AfAAD/////KAAAAP////9AggAg/////zxgAAD//wAAOGMAAP//AAA4gAC8/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADg8AAAP/gAABIAAAI/////4PeAAj/////KB4AAP////9BggAU/////4B+AAT/////gB8ABP////98AwBA/////0CB/+j/////KB4AAP////9AggA4/////zhgAAD/4AAAg4MABP////8oHAAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P8AAj/////k58ADP////84AAAA/////5AfAAj/////OGAAAP/gAACT4wAE/////0gAACj/////k98ACP////+DvgAM/////5P+AAz/////k78ADP////8oHQAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P9AAj/////gAEAJP////+7gQAQ/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterResetFunction + size: 212 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@28' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 diff --git a/assets/OSRegisterShutdownFunction.yml b/assets/OSRegisterShutdownFunction.yml new file mode 100644 index 0000000..c072c02 --- /dev/null +++ b/assets/OSRegisterShutdownFunction.yml @@ -0,0 +1,387 @@ +- symbol: 0 + hash: 64937b11213409f1db87e90e53b9310a01ac92a0 + signature: gKAAAP/gAABIAAAI/////4ClAAj/////LAUAAP////9BggAU/////4CFAAT/////gAMABP////98BABA/////0CB/+j/////LAUAAP////9AggA4/////ziAAAD/4AAAgIQABP////8sBAAA/////0CCAAz/////kGAAAP/gAABIAAAI/////5BkAAj/////OAAAAP////+QgwAM/////ziAAAD/4AAAkAMACP////+QZAAE/////06AACD/////kKMACP////+AhQAM/////5BlAAz/////LAQAAP////+QgwAM/////0CCAAz/////kGAAAP/gAABOgAAg/////5BkAAj/////ToAAIP////8= + symbols: + - kind: Function + name: OSRegisterShutdownFunction + size: 136 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 5f4439f3348835b7602c09a2f8b56bfaf4f79f29 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x/G3j/////O2AAAf////+AHwAA/////ywAAAD/////QIIAMP////88YAAA//8AADhjAAD//wAAOIABC/////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAztAAAD/////LBoAAP////9AggAI/////ztgAAD/////g8AAAP/gAABIAAAI/////4PeAAj/////LB4AAP////9BggAU/////4B+AAT/////gB8ABP////98AwBA/////0CB/+j/////LB4AAP////9AggA4/////zhgAAD/4AAAg4MABP////8sHAAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P8AAj/////k58ADP////84AAAA/////5AfAAj/////OGAAAP/gAACT4wAE/////0gAACj/////k98ACP////+DvgAM/////5P+AAz/////k78ADP////8sHQAA/////0CCAAz/////k+AAAP/gAABIAAAI/////5P9AAj/////OWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: OSRegisterShutdownFunction + size: 240 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@728' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@729' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 9f1ee5168de7f1091519f98af0bbed2cb8ba5c87 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////fH4beP////87QAAB/////4AeAAD/////LAAAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gAF1/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QHwAI/////4AfAAj/////LAAAAP////9AggAI/////ztAAAD/////g6AAAP/gAABIAAAI/////4O9AAj/////LB0AAP////9BggAU/////4B9AAT/////gB4ABP////98AwBA/////0CB/+j/////LB0AAP////9AggA4/////zhgAAD/4AAAg2MABP////8sGwAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PbAAj/////k34ADP////84AAAA/////5AeAAj/////OGAAAP/gAACTwwAE/////0gAACj/////k74ACP////+DnQAM/////5PdAAz/////k54ADP////8sHAAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PcAAj/////f+r7eP////85agAw/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterShutdownFunction + size: 260 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1581' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1582' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 4957e29f96b148dff0bd1e1765fbf25f89ffe16b + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////fH4beP////87QAAB/////4AeAAD/////LAAAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gAFj/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QHwAI/////4AfAAj/////LAAAAP////9AggAI/////ztAAAD/////g6AAAP/gAABIAAAI/////4O9AAj/////LB0AAP////9BggAU/////4B9AAT/////gB4ABP////98AwBA/////0CB/+j/////LB0AAP////9AggA4/////zhgAAD/4AAAg2MABP////8sGwAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PbAAj/////k34ADP////84AAAA/////5AeAAj/////OGAAAP/gAACTwwAE/////0gAACj/////k74ACP////+DnQAM/////5PdAAz/////k54ADP////8sHAAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PcAAj/////f+r7eP////85agAw/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterShutdownFunction + size: 260 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1276' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1277' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 56a0cbd5c859dd71287b7ec1fc43fe76ee903efc + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////fH4beP////87QAAB/////4AeAAD/////LAAAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gAE3/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QHwAI/////4AfAAj/////LAAAAP////9AggAI/////ztAAAD/////g6AAAP/gAABIAAAI/////4O9AAj/////LB0AAP////9BggAU/////4B9AAT/////gB4ABP////98AwBA/////0CB/+j/////LB0AAP////9AggA4/////zhgAAD/4AAAg2MABP////8sGwAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PbAAj/////k34ADP////84AAAA/////5AeAAj/////OGAAAP/gAACTwwAE/////0gAACj/////k74ACP////+DnQAM/////5PdAAz/////k54ADP////8sHAAA/////0CCAAz/////k8AAAP/gAABIAAAI/////5PcAAj/////f+r7eP////85agAw/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSRegisterShutdownFunction + size: 260 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1181' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1182' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/OSReport.yml b/assets/OSReport.yml new file mode 100644 index 0000000..90fabe5 --- /dev/null +++ b/assets/OSReport.yml @@ -0,0 +1,105 @@ +- symbol: 0 + hash: ee4785a7d0280ffb2f4b901bd30203d43c5b67ef + signature: lCH/kP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////OCEAcP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReport + size: 80 + flags: 1 + section: .text + relocations: [] +- symbol: 0 + hash: f27f3e1be708a93a1e3e68f1248444597bbeb53d + signature: fAgCpv////+QAQAE/////5Qh/4j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////88AAEA/////5CBAAz/////OIEAbP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////+QAQBs/////zgBAID/////kAEAcP////84AQAI/////5ABAHT/////SAAAAfwAAAOAAQB8/////zghAHj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSReport + size: 128 + flags: 1 + section: .text + - kind: Function + name: vprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 108 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 12c85922a2fe4b7b5064d98e5121c48505900b2f + signature: lCH/gP////98CAKm/////5ABAIT/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////OWEAiP////84AQAI/////z2AAQD/////kIEADP////84gQBo/////5BhAAj/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////kYEAaP////+RYQBs/////5ABAHD/////SAAAAfwAAAOAAQCE/////3wIA6b/////OCEAgP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReport + size: 128 + flags: 5 + section: .text + - kind: Function + name: vprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 108 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: fb8b066032761e2ed53ef1949c2c3fd5cc773f4e + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////85YQCI/////zgBAAj/////PYABAP////+QYQAI/////zvhAGj/////kIEADP////9/5Pt4/////5ChABD/////kMEAFP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////5GBAGj/////kWEAbP////+QAQBw/////0gAAAH8AAADgAEAhP////+D4QB8/////3wIA6b/////OCEAgP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReport + size: 140 + flags: 5 + section: .text + - kind: Function + name: vprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 116 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 8b4d03324cf93acdedafe4612efa769177cd224d + signature: fAgCpv////+QAQAE/////5Qh/4D/////k+EAfP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////5CBAAz/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////fH8beP////88AAEA/////5ABAGz/////OAEAiP////+QAQBw/////zgBAAj/////kAEAdP////84fwAA/////ziBAGz/////SAAAAfwAAAOAAQCE/////4PhAHz/////OCEAgP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSReport + size: 144 + flags: 5 + section: .text + - kind: Function + name: vprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 120 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: ab61e2a35076809d04b903f4bf9ca4b8c80de491 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////98fxt4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////5BhAAj/////kIEADP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////84YQBo/////zwAAQD/////kAMAAP////84AQCI/////5ADAAT/////OAEACP////+QAwAI/////3/j+3j/////OIEAaP////9IAAAB/AAAA4PhAHz/////gAEAhP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: OSReport + size: 148 + flags: 5 + section: .text + - kind: Function + name: vprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 124 + kind: PpcRel24 + symbol: 1 + addend: 0 \ No newline at end of file diff --git a/assets/OSResetSystem.yml b/assets/OSResetSystem.yml new file mode 100644 index 0000000..86f8d63 --- /dev/null +++ b/assets/OSResetSystem.yml @@ -0,0 +1,2623 @@ +- symbol: 0 + hash: d6e61fd933b8784ac4ac7ec7e441582d3905fa90 + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAEav////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@1720' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1790' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 598fa9b10fe1f23ea9d6859e3d405aeb6dfde1cc + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIADp/////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@1546' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1552' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 6e31f09a510647f92cfd845d8233e5549a375f87 + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAEof////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@2083' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@2163' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 3823145575ddff9bd7fd3dd88f1a36739cbb9e55 + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAEZ/////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@1719' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1789' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 971b59cadc035537d20446e206f83c34558c4065 + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAD0v////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@1580' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1588' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 29fd1f3991a9ee4d40be692d7649a75760679012 + signature: PGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAD/P////84pQAA//8AAEzGMYL/////SAAAAPwAAAM= + symbols: + - kind: Function + name: OSResetSystem + size: 28 + flags: 1 + section: .text + - kind: Object + name: '@1593' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1601' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 6c863d45f1427c4aab717fe0786043bc89e8159d + signature: lCH/8P////98CAKm/////5ABABT/////PGAAAP//AAA4YwAA//8AADiAA/z/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 56 + flags: 1 + section: .text + - kind: Object + name: '@1181' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1415' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: f92be26fff6561ad208795c7f0c24ac15bc80b0b + signature: lCH/8P////98CAKm/////5ABABT/////PGAAAP//AAA4YwAA//8AADiABKH/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 56 + flags: 1 + section: .text + - kind: Object + name: '@1581' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1843' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 38968dc6cca39e9ca278db2ef488ae55b5647558 + signature: lCH/8P////98CAKm/////5ABABT/////PGAAAP//AAA4YwAA//8AADiABGr/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 56 + flags: 1 + section: .text + - kind: Object + name: '@1276' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1524' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: ead46ae4d913c603d087cbd93399a3f7c0f01503 + signature: lCH/8P////98CAKm/////5ABABT/////PGAAAP//AAA4YwAA//8AADiAArz/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 56 + flags: 1 + section: .text + - kind: Object + name: '@728' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@877' + size: 59 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 11f36dbfd1a5a2d0c17b6456a4f5cd7c02264fc7 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v4EAGP////98fxt4/////3yeI3j/////fLwreP////9IAAAB/AAAAywfAAH/////QIIALP////8sHAAA/////0GCACT/////SAAAAfwAAAN8fRt4/////4gdABP/////YAAAQP////+YHQAT/////zhgAAH/////SAAAAfwAAAM7wAAA/////ywfAAL/////QYIAJP////8sHwAA/////0CCACj/////gAAAAP/gAAAoAAAA/////0CCABD/////PB4///////8oAAAA/////0CCABD/////OGAAAP////9IAAAB/AAAA0gAAAz/////OGAAAf////9IAAAB/AAAAywfAAH/////QIIAEP////9/w/N4/////0gAAAH8AAADSAAANP////8sHwAA/////0CCACz/////LBwAAf////9AggAU/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADSAAAAfwAAAN/w/N4/////4CAAAD/4AAASAAAAfwAAAM4YABA/////0gAAAH8AAADOIAAAP////84oACM/////0gAAAH8AAADOGAA1P////9IAAAB/AAAAziAAAD/////OKAAFP////9IAAAB/AAAAzhgAPT/////SAAAAfwAAAM4gAAA/////zigAAT/////SAAAAfwAAAM4YDAA/////0gAAAH8AAADOIAAAP////84oADA/////0gAAAH8AAADOGAwyP////9IAAAB/AAAAziAAAD/////OKAADP////9IAAAB/AAAAzhgMOL/////SAAAAfwAAAM4gAAA/////zigAAH/////SAAAAfwAAAOAAQAs/////7uBABj/////OCEAKP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSResetSystem + size: 348 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootThisDol + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSDoHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@100' + size: 78 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: ce4ff7174301228077e9c440aad40a3fb40cda49 + signature: fAgCpv////+QAQAE/////5Qh/9D/////v0EAGP////98fxt4/////3yaI3j/////fLsreP////9IAAAB/AAAA0gAAAH8AAADLB8AAv////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fRt4/////zhgAAD/////SAAAAfwAAAMsAwAA/////0GC//T/////LB8AAf////9AggA0/////ywbAAD/////QYIALP////9IAAAB/AAAA3x8G3j/////iBwAE/////9gAABA/////5gcABP/////OGAAAf////9IAAAB/AAAA0gAAAH8AAADLAMAAP////9Bgv/4/////0gAAAH8AAADkGEAFP////84YAAB/////0gAAAH8AAADfH4beP////84AAAA/////yweAAD/////QIIALP////88YAAA//8AADhjAAD//wAAOIABg/////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////LAAAAP////9BggAI/////zgAAAH/////SAAAAfwAAAMsHwAB/////0CCABD/////f0PTeP////9IAAAB/AAAA0gAACD/////LB8AAP////9AggAY/////0gAAAH8AAADSAAAAfwAAAN/Q9N4/////39k23j/////SAAAAfwAAANIAAAB/AAAAzhgAED/////SAAAAfwAAAM4gAAA/////zigAIz/////SAAAAfwAAAM4YADU/////0gAAAH8AAADOIAAAP////84oAAU/////0gAAAH8AAADOGAA9P////9IAAAB/AAAAziAAAD/////OKAABP////9IAAAB/AAAAzhgMAD/////SAAAAfwAAAM4gAAA/////zigAMD/////SAAAAfwAAAM4YDDI/////0gAAAH8AAADOIAAAP////84oAAM/////0gAAAH8AAADOGAw4v////9IAAAB/AAAAziAAAD/////OKAAAf////9IAAAB/AAAA3+j63j/////SAAAAfwAAAOAAQA0/////7tBABj/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSResetSystem + size: 408 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallResetFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@87' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSDoHotReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: c5ba9aa6e9f65ba489d27160e9d442d1ad99e1f9 + signature: fAgCpv////+QAQAE/////5Qh/8j/////v0EAIP////98eht4/////3yeI3j/////fL8reP////9IAAAB/AAAA0gAAAH8AAADSAAABP////9IAAAE/////4OAAAD/4AAAO6AAAP////9IAAAE/////0gAAAT/////SAAAJP////84YAAA/////4GcAAD/////fYgDpv////9OgAAh/////3xgADT/////g5wACP////9UANl+/////3+9A3j/////KBwAAP////9Agv/c/////0gAAAH8AAADfGAANP////9UANl+/////3+9A3j/////LB0AAP////9BggAM/////zgAAAD/////SAAACP////84AAAB/////ywAAAD/////QYL/nP////8sGgAA/////0GCADj/////LB8AAP////9BggAw/////0gAAAH8AAADiAMAE/////9gAABA/////5gDABP/////OGAAAf////9IAAAB/AAAA0gAAAT/////SAAABP////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAA4OgAAD/4AAAfHsbeP////87gAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAH/////gZ0AAP////99iAOm/////06AACH/////fGAANP////+DvQAI/////1QA2X7/////f5wDeP////8oHQAA/////0CC/9z/////SAAAAfwAAAMsGgAB/////0CCACj/////SAAAAfwAAAM8YMwA/////zhjIAD/////OAAAAP////+wAwAC/////0gAAAH8AAADV8MYOP////9IAAAB/AAAA0gAAFj/////PGCAAP////+AYwDc/////0gAAAT/////SAAABP////9IAAAs/////6ADAsj/////g4MC/P////8sAAAE/////0GCABT/////QIAAFP////8sAAAB/////0GCAAj/////SAAACP////9IAAAB/AAAA3+D43j/////KAMAAP////9Agv/U/////0gAAAH8AAADf8PzeP////9/5Pt4/////0gAAAH8AAADf2PbeP////9IAAAB/AAAA0gAAAH8AAADu0EAIP////+AAQA8/////zghADj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 440 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: eec7b9cb80f5820dd1664548f1d33e1f2465644e + signature: fAgCpv////+QAQAE/////5Qh/8j/////v0EAIP////98eht4/////3yeI3j/////fL8reP////9IAAAB/AAAA0gAAAH8AAADSAAABP////9IAAAE/////4OAAAD/4AAAO6AAAP////9IAAAE/////0gAAAT/////SAAAJP////84YAAA/////4GcAAD/////fYgDpv////9OgAAh/////3xgADT/////g5wACP////9UANl+/////3+9A3j/////KBwAAP////9Agv/c/////0gAAAH8AAADfGAANP////9UANl+/////3+9A3j/////LB0AAP////9BggAM/////zgAAAD/////SAAACP////84AAAB/////ywAAAD/////QYL/nP////8sGgAA/////0GCADj/////LB8AAP////9BggAw/////0gAAAH8AAADiAMAE/////9gAABA/////5gDABP/////OGAAAf////9IAAAB/AAAA0gAAAT/////SAAABP////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAA4OgAAD/4AAAfHsbeP////87gAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAH/////gZ0AAP////99iAOm/////06AACH/////fGAANP////+DvQAI/////1QA2X7/////f5wDeP////8oHQAA/////0CC/9z/////SAAAAfwAAANIAAAB/AAAAywaAAH/////QIIAKP////9IAAAB/AAAAzxgzAD/////OGMgAP////84AAAA/////7ADAAL/////SAAAAfwAAANXwxg4/////0gAAAH8AAADSAAAWP////88YIAA/////4BjANz/////SAAABP////9IAAAE/////0gAACz/////oAMCyP////+DgwL8/////ywAAAT/////QYIAFP////9AgAAU/////ywAAAH/////QYIACP////9IAAAI/////0gAAAH8AAADf4PjeP////8oAwAA/////0CC/9T/////SAAAAfwAAAN/w/N4/////3/k+3j/////SAAAAfwAAAN/Y9t4/////0gAAAH8AAADSAAAAfwAAAO7QQAg/////4ABADz/////OCEAOP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSResetSystem + size: 444 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: ee31a9388c85c0a3b2d0b3076fb02eb8b03e3f60 + signature: fAgCpv////+QAQAE/////5Qh/9D/////v0EAGP////98fxt4/////3yaI3j/////fLsreP////9IAAAB/AAAA0gAAAH8AAADLB8AAv////9BggAY/////ywfAAD/////QIIAHP////+AAAAA/+AAACgAAAD/////QYIAEP////84YAAB/////0gAAAH8AAADfH4beP////84YAAA/////0gAAAH8AAADLAMAAP////9Bgv/0/////ywfAAH/////QIIANP////8sGwAA/////0GCACz/////SAAAAfwAAAN8fBt4/////4gcABP/////YAAAQP////+YHAAT/////zhgAAH/////SAAAAfwAAANIAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAA5BhABT/////OGAAAf////9IAAAB/AAAA3x9G3j/////OAAAAP////8sHQAA/////0CCACz/////PGAAAP//AAA4YwAA//8AADiAAYz/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////ywAAAD/////QYIACP////84AAAB/////0gAAAH8AAADLB8AAf////9AggAQ/////39D03j/////SAAAAfwAAANIAABA/////ywfAAD/////QIIAOP////+AAAAA/+AAADxggAD/////kAMw7P////+AAAAA/+AAACgAAAD/////QYIADP////9/w/N4/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA39D03j/////f2TbeP////9IAAAB/AAAA0gAAAH8AAADOGAAQP////9IAAAB/AAAAziAAAD/////OKAAjP////9IAAAB/AAAAzhgANT/////SAAAAfwAAAM4gAAA/////zigABT/////SAAAAfwAAAM4YAD0/////0gAAAH8AAADOIAAAP////84oAAE/////0gAAAH8AAADOGAwAP////9IAAAB/AAAAziAAAD/////OKAAwP////9IAAAB/AAAAzhgMMj/////SAAAAfwAAAM4gAAA/////zigAAz/////SAAAAfwAAAM4YDDi/////0gAAAH8AAADOIAAAP////84oAAB/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA4ABADT/////u0EAGP////84IQAw/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSResetSystem + size: 460 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootThisDol + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallResetFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@91' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSDoHotReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: bddc3ff38db3397871162cc5d8c546d9dc1de298 + signature: fAgCpv////+QAQAE/////5Qh/9D/////k+EALP////+TwQAo/////5OhACT/////k4EAIP////98fBt4/////3ydI3j/////fL4reP////9IAAAB/AAAAywcAAH/////QIIAKP////8sHgAA/////0GCACD/////SAAAAfwAAAOIAwAT/////2AAAED/////mAMAE/////84YAAB/////0gAAAH8AAADO6AAAP////8sHAAC/////0GCACT/////LBwAAP////9AggB4/////4AAAAD/4AAAKAAAAP////9AggAQ/////zwdP///////KAAAAP////9AggBg/////0gAAAH8AAADOGAAAf////9IAAAB/AAAA3x/G3j/////SAAABP////9IAAAE/////zhgAAD/////SAAAAfwAAAMsAwAA/////0GC//T/////SAAABP////9IAAAE/////0gAAAH8AAADLAMAAP////9Bgv/4/////0gAAAH8AAADOGAAAf////9IAAAB/AAAA0gAAAH8AAADf+P7eP////9IAAAB/AAAA0gAAAH8AAADSAAASP////9IAAAB/AAAA0gAAAT/////SAAABP////84YAAA/////0gAAAH8AAADLAMAAP////9Bgv/0/////0gAAAT/////SAAABP////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAAzhgAAH/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADLBwAAf////9AggAo/////0gAAAH8AAADPGDMAP////84YyAA/////zgAAAD/////sAMAAv////9IAAAB/AAAA1ejGDj/////SAAAAfwAAANIAAA0/////ywcAAD/////QIIALP////8sHgAB/////0CCABT/////PGAAAP//AABMxjGC/////zhjAAD//wAASAAAAfwAAANIAAAB/AAAA3+j63j/////gIAAAP/gAABIAAAB/AAAAz/ggAD/////OH8AQP////84gAAA/////zigAIz/////SAAAAfwAAAM4fwDU/////ziAAAD/////OKAAFP////9IAAAB/AAAAzh/APT/////OIAAAP////84oAAE/////0gAAAH8AAADOH8wAP////84gAAA/////zigAMD/////SAAAAfwAAAM4fzDI/////ziAAAD/////OKAADP////9IAAAB/AAAAzh/MOL/////OIAAAP////84oAAB/////0gAAAH8AAADgAEANP////+D4QAs/////4PBACj/////g6EAJP////+DgQAg/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 512 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootThisDol + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallResetFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@153' + size: 78 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 348 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 356 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 1dceaf8e3eaedf0c37f07b35d9486c1e9a5357be + signature: fAgCpv////+QAQAE/////5Qh/8D/////v0EAKP////98eht4/////3ydI3j/////fL4reP////9IAAAB/AAAA0gAAAH8AAADLBoAAv////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fxt4/////0gAAAT/////SAAABP////+DYAAA/+AAADuAAAD/////SAAABP////9IAAAE/////0gAACT/////OGAAAP////+BmwAA/////32IA6b/////ToAAIf////98YAA0/////4N7AAj/////VADZfv////9/nAN4/////ygbAAD/////QIL/3P////9IAAAB/AAAA3xgADT/////VADZfv////9/nAN4/////ywcAAD/////QYIADP////84AAAA/////0gAAAj/////OAAAAf////8sAAAA/////0GC/5z/////LBoAAf////9AggA4/////yweAAD/////QYIAMP////9IAAAB/AAAA4gDABP/////YAAAQP////+YAwAT/////zhgAAH/////SAAAAfwAAANIAAAE/////0gAAAT/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAODgAAA/+AAADtgAAD/////SAAABP////9IAAAE/////0gAACT/////OGAAAf////+BnAAA/////32IA6b/////ToAAIf////98YAA0/////4OcAAj/////VADZfv////9/ewN4/////ygcAAD/////QIL/3P////9IAAAB/AAAA0gAAAH8AAADLBoAAf////9AggAo/////0gAAAH8AAADPGDMAP////84YyAA/////zgAAAD/////sAMAAv////9IAAAB/AAAA1ejGDj/////SAAAAfwAAANIAABg/////ywaAAD/////QIIAWP////88YIAA/////4BjANz/////SAAABP////9IAAAE/////0gAACz/////oAMCyP////+DYwL8/////ywAAAT/////QYIAFP////9AgAAU/////ywAAAH/////QYIACP////9IAAAI/////0gAAAH8AAADf2PbeP////8oAwAA/////0CC/9T/////SAAAAfwAAAN/o+t4/////3/E83j/////SAAAAfwAAAM8YIAA/////4BjANz/////SAAABP////9IAAAE/////0gAACz/////oAMCyP////+DYwL8/////ywAAAT/////QYIAFP////9AgAAU/////ywAAAH/////QYIACP////9IAAAI/////0gAAAH8AAADf2PbeP////8oAwAA/////0CC/9T/////P6CAAP////84fQBA/////ziAAAD/////OKAAjP////9IAAAB/AAAAzh9ANT/////OIAAAP////84oAAU/////0gAAAH8AAADOH0A9P////84gAAA/////zigAAT/////SAAAAfwAAAM4fTAA/////ziAAAD/////OKAAwP////9IAAAB/AAAAzh9MMj/////OIAAAP////84oAAM/////0gAAAH8AAADf+P7eP////9IAAAB/AAAA7tBACj/////gAEARP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSResetSystem + size: 616 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 2d99b591ad3f66e6ffcc7d2f0766fcba9c5735c3 + signature: fAgCpv////+QAQAE/////5Qh/8D/////v0EAKP////98eht4/////3ydI3j/////fL4reP////9IAAAB/AAAA0gAAAH8AAADLBoAAv////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fxt4/////0gAAAT/////SAAABP////+DYAAA/+AAADuAAAD/////SAAABP////9IAAAE/////0gAACT/////OGAAAP////+BmwAA/////32IA6b/////ToAAIf////98YAA0/////4N7AAj/////VADZfv////9/nAN4/////ygbAAD/////QIL/3P////9IAAAB/AAAA3xgADT/////VADZfv////9/nAN4/////ywcAAD/////QYIADP////84AAAA/////0gAAAj/////OAAAAf////8sAAAA/////0GC/5z/////LBoAAf////9AggA4/////yweAAD/////QYIAMP////9IAAAB/AAAA4gDABP/////YAAAQP////+YAwAT/////zhgAAH/////SAAAAfwAAANIAAAE/////0gAAAT/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAODgAAA/+AAADtgAAD/////SAAABP////9IAAAE/////0gAACT/////OGAAAf////+BnAAA/////32IA6b/////ToAAIf////98YAA0/////4OcAAj/////VADZfv////9/ewN4/////ygcAAD/////QIL/3P////9IAAAB/AAAA0gAAAH8AAADLBoAAf////9AggAo/////0gAAAH8AAADPGDMAP////84YyAA/////zgAAAD/////sAMAAv////9IAAAB/AAAA1ejGDj/////SAAAAfwAAANIAABg/////ywaAAD/////QIIAWP////88YIAA/////4BjANz/////SAAABP////9IAAAE/////0gAACz/////oAMCyP////+DYwL8/////ywAAAT/////QYIAFP////9AgAAU/////ywAAAH/////QYIACP////9IAAAI/////0gAAAH8AAADf2PbeP////8oAwAA/////0CC/9T/////SAAAAfwAAAN/o+t4/////3/E83j/////SAAAAfwAAAM8YIAA/////4BjANz/////SAAABP////9IAAAE/////0gAACz/////oAMCyP////+DYwL8/////ywAAAT/////QYIAFP////9AgAAU/////ywAAAH/////QYIACP////9IAAAI/////0gAAAH8AAADf2PbeP////8oAwAA/////0CC/9T/////P6CAAP////84fQBA/////ziAAAD/////OKAAjP////9IAAAB/AAAAzh9ANT/////OIAAAP////84oAAU/////0gAAAH8AAADOH0A9P////84gAAA/////zigAAT/////SAAAAfwAAAM4fTAA/////ziAAAD/////OKAAwP////9IAAAB/AAAAzh9MMj/////OIAAAP////84oAAM/////0gAAAH8AAADOH0w4v////84gAAA/////zigAAH/////SAAAAfwAAAN/4/t4/////0gAAAH8AAADu0EAKP////+AAQBE/////zghAED/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: OSResetSystem + size: 632 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: ac317c847b229b78cdfe66824e9b29f7e215c3d1 + signature: fAgCpv////+QAQAE/////5Qh/8D/////v0EAKP////98eht4/////3ydI3j/////fL4reP////9IAAAB/AAAA0gAAAH8AAADLBoAAv////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fxt4/////0gAAAT/////SAAABP////+DYAAA/+AAADuAAAD/////SAAABP////9IAAAE/////0gAACT/////OGAAAP////+BmwAA/////32IA6b/////ToAAIf////98YAA0/////4N7AAj/////VADZfv////9/nAN4/////ygbAAD/////QYIADP////8sHAAA/////0GC/9T/////SAAAAfwAAAN8YAA0/////1QA2X7/////f5wDeP////8sHAAA/////0GCAAz/////OAAAAP////9IAAAI/////zgAAAH/////LAAAAP////9Bgv+U/////ywaAAH/////QIIAOP////8sHgAA/////0GCADD/////SAAAAfwAAAOIAwAT/////2AAAED/////mAMAE/////84YAAB/////0gAAAH8AAADSAAABP////9IAAAE/////0gAAAH8AAADLAMAAP////9Bgv/4/////0gAAAH8AAADg4AAAP/gAAA7YAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAH/////gZwAAP////99iAOm/////06AACH/////fGAANP////+DnAAI/////1QA2X7/////f3sDeP////8oHAAA/////0GCAAz/////LBsAAP////9Bgv/U/////0gAAAH8AAADSAAAAfwAAAMsGgAB/////0CCACj/////SAAAAfwAAAM8YMwA/////zhjIAD/////OAAAAP////+wAwAC/////0gAAAH8AAADV6MYOP////9IAAAB/AAAA0gAAGD/////LBoAAP////9AggBY/////zxggAD/////gGMA3P////9IAAAE/////0gAAAT/////SAAALP////+gAwLI/////4NjAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/Y9t4/////ygDAAD/////QIL/1P////9IAAAB/AAAA3+j63j/////f8TzeP////9IAAAB/AAAAzxggAD/////gGMA3P////9IAAAE/////0gAAAT/////SAAALP////+gAwLI/////4NjAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/Y9t4/////ygDAAD/////QIL/1P////8/oIAA/////zh9AED/////OIAAAP////84oACM/////0gAAAH8AAADOH0A1P////84gAAA/////zigABT/////SAAAAfwAAAM4fQD0/////ziAAAD/////OKAABP////9IAAAB/AAAAzh9MAD/////OIAAAP////84oADA/////0gAAAH8AAADOH0wyP////84gAAA/////zigAAz/////SAAAAfwAAAM4fTDi/////ziAAAD/////OKAAAf////9IAAAB/AAAA3/j+3j/////SAAAAfwAAAO7QQAo/////4ABAET/////OCEAQP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSResetSystem + size: 648 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 94156e7cb83e84608f4877f27fbe5a09af24dede + signature: fAgCpv////+QAQAE/////5Qh/8D/////v0EAKP////98fBt4/////3ydI3j/////fL4reP////9IAAAB/AAAA0gAAAH8AAADLBwAAv////9BggAY/////ywcAAD/////QIIAHP////+AAAAA/+AAACgAAAD/////QYIAEP////84YAAB/////0gAAAH8AAADfH8beP////9IAAAE/////0gAAAT/////g0AAAP/gAAA7YAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAD/////gZoAAP////99iAOm/////06AACH/////fGAANP////+DWgAI/////1QA2X7/////f3sDeP////8oGgAA/////0GCAAz/////LBsAAP////9Bgv/U/////0gAAAH8AAADfGAANP////9UANl+/////397A3j/////LBsAAP////9BggAM/////zgAAAD/////SAAACP////84AAAB/////ywAAAD/////QYL/lP////8sHAAB/////0CCADj/////LB4AAP////9BggAw/////0gAAAH8AAADiAMAE/////9gAABA/////5gDABP/////OGAAAf////9IAAAB/AAAA0gAAAT/////SAAABP////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAA4NgAAD/4AAAO0AAAP////9IAAAE/////0gAAAT/////SAAAJP////84YAAB/////4GbAAD/////fYgDpv////9OgAAh/////3xgADT/////g3sACP////9UANl+/////39aA3j/////KBsAAP////9BggAM/////ywaAAD/////QYL/1P////9IAAAB/AAAA0gAAAH8AAADLBwAAf////9AggAo/////0gAAAH8AAADPGDMAP////84YyAA/////zgAAAD/////sAMAAv////9IAAAB/AAAA1ejGDj/////SAAAAfwAAANIAAB8/////ywcAAD/////QIIAdP////+AAAAA/+AAADxggAD/////KAAAAP////+QAzDs/////0GCAAz/////f+P7eP////9IAAAB/AAAAzxggAD/////gGMA3P////9IAAAE/////0gAAAT/////SAAALP////+gAwLI/////4NDAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/Q9N4/////ygDAAD/////QIL/1P////9IAAAB/AAAA3+j63j/////f8TzeP////9IAAAB/AAAAzxggAD/////gGMA3P////9IAAAE/////0gAAAT/////SAAALP////+gAwLI/////4NDAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/Q9N4/////ygDAAD/////QIL/1P////8/gIAA/////zh8AED/////OIAAAP////84oACM/////0gAAAH8AAADOHwA1P////84gAAA/////zigABT/////SAAAAfwAAAM4fAD0/////ziAAAD/////OKAABP////9IAAAB/AAAAzh8MAD/////OIAAAP////84oADA/////0gAAAH8AAADOHwwyP////84gAAA/////zigAAz/////SAAAAfwAAAM4fDDi/////ziAAAD/////OKAAAf////9IAAAB/AAAA3/j+3j/////SAAAAfwAAAO7QQAo/////4ABAET/////OCEAQP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: OSResetSystem + size: 696 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootThisDol + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 3fcbedaed50a717f270e0392e4c9e4a8d9d76af7 + signature: fAgCpv////+QAQAE/////5Qh/8D/////v0EAKP////98fBt4/////3ydI3j/////fL4reP////9IAAAB/AAAA0gAAAH8AAADLBwAAv////9BggAY/////ywcAAD/////QIIAHP////+AAAAA/+AAACgAAAD/////QYIAEP////84YAAB/////0gAAAH8AAADfH8beP////9IAAAE/////0gAAAT/////g0AAAP/gAAA7YAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAD/////gZoAAP////99iAOm/////06AACH/////fGAANP////+DWgAI/////1QA2X7/////f3sDeP////8oGgAA/////0GCAAz/////LBsAAP////9Bgv/U/////0gAAAH8AAADfGAANP////9UANl+/////397A3j/////LBsAAP////9BggAM/////zgAAAD/////SAAACP////84AAAB/////ywAAAD/////QYL/lP////8sHAAB/////0CCADz/////LB4AAP////9BggA0/////0gAAAH8AAADiAMAE/////9gAABA/////5gDABP/////OGAAAf////9IAAAB/AAAA0gAAAT/////SAAABP////9IAAAB/AAAAywDAAD/////QYL/+P////87oAAA/////0gAAAH8AAADg2AAAP/gAAA7QAAA/////0gAAAT/////SAAABP////9IAAAk/////zhgAAH/////gZsAAP////99iAOm/////06AACH/////fGAANP////+DewAI/////1QA2X7/////f1oDeP////8oGwAA/////0GCAAz/////LBoAAP////9Bgv/U/////0gAAAH8AAADSAAAAfwAAAMsHAAB/////0CCACj/////SAAAAfwAAAM8YMwA/////zhjIAD/////OAAAAP////+wAwAC/////0gAAAH8AAADV6MYOP////9IAAAB/AAAA0gAAHz/////LBwAAP////9AggB0/////4AAAAD/4AAAPGCAAP////8oAAAA/////5ADMOz/////QYIADP////9/4/t4/////0gAAAH8AAADPGCAAP////+AYwDc/////0gAAAT/////SAAABP////9IAAAs/////6ADAsj/////g0MC/P////8sAAAE/////0GCABT/////QIAAFP////8sAAAB/////0GCAAj/////SAAACP////9IAAAB/AAAA39D03j/////KAMAAP////9Agv/U/////0gAAAH8AAADf6PreP////9/xPN4/////0gAAAH8AAADPGCAAP////+AYwDc/////0gAAAT/////SAAABP////9IAAAs/////6ADAsj/////g0MC/P////8sAAAE/////0GCABT/////QIAAFP////8sAAAB/////0GCAAj/////SAAACP////9IAAAB/AAAA39D03j/////KAMAAP////9Agv/U/////z+AgAD/////OHwAQP////84gAAA/////zigAIz/////SAAAAfwAAAM4fADU/////ziAAAD/////OKAAFP////9IAAAB/AAAAzh8APT/////OIAAAP////84oAAE/////0gAAAH8AAADOHwwAP////84gAAA/////zigAMD/////SAAAAfwAAAM4fDDI/////ziAAAD/////OKAADP////9IAAAB/AAAAzh8MOL/////OIAAAP////84oAAB/////0gAAAH8AAADf+P7eP////9IAAAB/AAAA7tBACj/////gAEARP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: OSResetSystem + size: 700 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Object + name: bootThisDol + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: Reset + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReboot + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/OSReturnToMenu.yml b/assets/OSReturnToMenu.yml new file mode 100644 index 0000000..e6e8da1 --- /dev/null +++ b/assets/OSReturnToMenu.yml @@ -0,0 +1,948 @@ +- symbol: 0 + hash: 93359fb74cf6d4e95829cbdc7a245b9901325873 + signature: lCH/8P////98CAKm/////zhgAAD/////kAEAFP////9IAAAB/AAAAzxgAAD//wAAPKAAAP//AAA4YwAA//8AADiAA0X/////OKUAAP//AABMxjGC/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSReturnToMenu + size: 64 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenu + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@1719' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1755' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 5ebef4c6c0d022a1197ab3e82bf314b87720bb56 + signature: lCH/8P////98CAKm/////zhgAAD/////kAEAFP////9IAAAB/AAAAzxgAAD//wAAPKAAAP//AAA4YwAA//8AADiAA3//////OKUAAP//AABMxjGC/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSReturnToMenu + size: 64 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenu + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@2083' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@2131' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 10a3d6c1031a7881bf6f2b23cd4c4c01bde5ec4e + signature: lCH/8P////98CAKm/////zhgAAD/////kAEAFP////9IAAAB/AAAAzxgAAD//wAAPKAAAP//AAA4YwAA//8AADiAA0j/////OKUAAP//AABMxjGC/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSReturnToMenu + size: 64 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenu + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@1720' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1756' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 91f8b4022f0606982c01f75475cb711d081e6c62 + signature: lCH/8P////98CAKm/////5ABABT/////OGAAAP////9UYwY+/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiAA0j/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReturnToMenu + size: 68 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenu + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@1276' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1450' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 07cf0972831dffc7d294a107810a7b865232199d + signature: lCH/8P////98CAKm/////5ABABT/////OGAAAP////9UYwY+/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiAA3//////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReturnToMenu + size: 68 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenu + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@1581' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1769' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 921900baddf9243b975743c08e87f1f2e36fafda + signature: lCH/0P////98CAKm/////5ABADT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA0gAAAH8AAADKAMAAv////9BggAQ/////zgAAAP/////mAEAFv////9IAAAs/////zhhAAj/////SAAAAfwAAAOAAQAI/////ywAAAD/////QYIAEP////84AAAC/////5gBABb/////SAAADP////84AAAB/////5gBABb/////OAAAA/////+YAQAV/////0gAAAH8AAADOGEAEP////9IAAAB/AAAA0gAAAH8AAADOGAABf////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADygAAD//wAAOGMAAP//AAA4gAMP/////zilAAD//wAATMYxgv////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: OSReturnToMenu + size: 180 + flags: 1 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1546' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1547' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 13 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 15 + addend: 0 +- symbol: 0 + hash: c2386b647dd70f17f002359615a616477aa38156 + signature: lCH/0P////98CAKm/////5ABADT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA0gAAAH8AAADKAMAAv////9BggAQ/////zgAAAP/////mAEAFv////9IAABA/////4gBABb/////KAAAAf////9AggAg/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCABz/////gAEACP////8sAAAA/////0GCABD/////OAAAAv////+YAQAW/////0gAAAz/////OAAAAf////+YAQAW/////zgAAAP/////mAEAFf////9IAAAB/AAAAzhhABD/////SAAAAfwAAANIAAAB/AAAAzhgAAX/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPGAAAP//AAA8oAAA//8AADhjAAD//wAAOIADIf////84pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReturnToMenu + size: 212 + flags: 1 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1580' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1581' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 52987d0cfdbba37cc270565637fa92f97c584af0 + signature: lCH/0P////98CAKm/////5ABADT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA0gAAAH8AAADKAMAAv////9BggAQ/////zgAAAP/////mAEAFv////9IAABA/////4gBABb/////KAAAAf////9AggAg/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCABz/////gAEACP////8sAAAA/////0GCABD/////OAAAAv////+YAQAW/////0gAAAz/////OAAAAf////+YAQAW/////zgAAAP/////mAEAFf////9IAAAB/AAAAzhhABD/////SAAAAfwAAANIAAAB/AAAAzhgAAX/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiAA0v/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReturnToMenu + size: 212 + flags: 1 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1181' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1379' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 17 + addend: 0 +- symbol: 0 + hash: 632ac2815030b01c9d18c0dab72334969eca2e48 + signature: lCH/0P////98CAKm/////5ABADT/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA0gAAAH8AAADKAMAAv////9BggAQ/////zgAAAP/////mAEAFv////9IAABA/////4gBABb/////KAAAAf////9AggAg/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCABz/////gAEACP////8sAAAA/////0GCABD/////OAAAAv////+YAQAW/////0gAAAz/////OAAAAf////+YAQAW/////zgAAAP/////mAEAFf////9IAAAB/AAAAzhhABD/////SAAAAfwAAANIAAAB/AAAAzhgAAX/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPGAAAP//AAA8oAAA//8AADhjAAD//wAAOIADS/////84pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: OSReturnToMenu + size: 212 + flags: 1 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1593' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1594' + size: 47 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 17 + addend: 0 diff --git a/assets/OSSetArenaHi.yml b/assets/OSSetArenaHi.yml new file mode 100644 index 0000000..0f6a637 --- /dev/null +++ b/assets/OSSetArenaHi.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetArenaHi + size: 8 + flags: 1 + section: .text + - kind: Object + name: __OSArenaHi + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 23860b6bb06db3b2406b4046270c6fae85b8eed4 + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+AYQAI/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSSetArenaHi + size: 40 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/OSSetArenaLo.yml b/assets/OSSetArenaLo.yml new file mode 100644 index 0000000..92fd28d --- /dev/null +++ b/assets/OSSetArenaLo.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetArenaLo + size: 8 + flags: 1 + section: .text + - kind: Object + name: __OSArenaLo + size: 4 + flags: 2 + section: .sdata + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 23860b6bb06db3b2406b4046270c6fae85b8eed4 + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+AYQAI/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: OSSetArenaLo + size: 40 + flags: 1 + section: .text + - kind: Function + name: OSSetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/OSSetMEM1ArenaHi.yml b/assets/OSSetMEM1ArenaHi.yml new file mode 100644 index 0000000..ed83283 --- /dev/null +++ b/assets/OSSetMEM1ArenaHi.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetMEM1ArenaHi + size: 8 + flags: 1 + section: .text + - kind: Object + name: __OSArenaHi + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/OSSetMEM1ArenaLo.yml b/assets/OSSetMEM1ArenaLo.yml new file mode 100644 index 0000000..fc80e19 --- /dev/null +++ b/assets/OSSetMEM1ArenaLo.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetMEM1ArenaLo + size: 8 + flags: 1 + section: .text + - kind: Object + name: __OSArenaLo + size: 4 + flags: 2 + section: .sdata + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/OSSetMEM2ArenaHi.yml b/assets/OSSetMEM2ArenaHi.yml new file mode 100644 index 0000000..69f62b5 --- /dev/null +++ b/assets/OSSetMEM2ArenaHi.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetMEM2ArenaHi + size: 8 + flags: 1 + section: .text + - kind: Object + name: s_mem2ArenaHi + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/OSSetMEM2ArenaLo.yml b/assets/OSSetMEM2ArenaLo.yml new file mode 100644 index 0000000..e938ad2 --- /dev/null +++ b/assets/OSSetMEM2ArenaLo.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 4ad80274e02f917e972ea9c1eff1247e22bc4803 + signature: kGAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: OSSetMEM2ArenaLo + size: 8 + flags: 1 + section: .text + - kind: Object + name: s_mem2ArenaLo + size: 4 + flags: 2 + section: .sdata + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/OSSwitchFPUContext.yml b/assets/OSSwitchFPUContext.yml new file mode 100644 index 0000000..e40798b --- /dev/null +++ b/assets/OSSwitchFPUContext.yml @@ -0,0 +1,28 @@ +- symbol: 0 + hash: d2bf04a5bce72b989d106a6c6c23c7c3966a5f83 + signature: fKAApv////9gpSAA/////3ygAST/////TAABLP////+ApAGc/////2ClIAD/////fLsDpv////88YIAA/////4CjANj/////kIMA2P////98BSAA/////0GCABT/////LAUAAP////9BggAI/////0gAAAH8AAADSAAAAfwAAAOAZACA/////3xv8SD/////gGQAhP////98aAOm/////4BkAZj/////fHoDpv////+AZACI/////3xpA6b/////gGQAjP////98YQOm/////6BkAaL/////VGMH+v////+wZAGi/////4CkABT/////gGQADP////+AhAAQ/////0wAAGT///// + symbols: + - kind: Function + name: OSSwitchFPUContext + size: 132 + flags: 2 + section: .text + - kind: Function + name: __OSSaveFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSLoadFPUContext + size: 0 + flags: 2 + section: .text + relocations: + - offset: 56 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/ReportOSInfo.yml b/assets/ReportOSInfo.yml new file mode 100644 index 0000000..cdcd48b --- /dev/null +++ b/assets/ReportOSInfo.yml @@ -0,0 +1,1870 @@ +- symbol: 0 + hash: 55bfd99f2668324159e0c27d4c87813973dc2543 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvjAAD//wAAOH8BQP////9MxjGC/////0gAAAH8AAADOH8BUP////84nwFo/////zi/AXT/////TMYxgv////9IAAAB/AAAAzh/AYD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9XwwAG/////zwAEAD/////fAMAAP////9BggCM/////0CAABD/////LAMAAP////9BggAY/////0gAATD/////PAAgAP////98AwAA/////0GCAQz/////SAABIP////8sHgAS/////0GCADD/////QIAAEP////8sHgAR/////0CAABT/////SAAAQP////8sHgAg/////0GCACj/////SAAANP////84fwGQ/////0zGMYL/////SAAAAfwAAANIAAD8/////zh/Aaj/////TMYxgv////9IAAAB/AAAA0gAAOz/////OH8BxP////9MxjGC/////0gAAAH8AAADSAAA3P////84fwHg/////3/E83j/////TMYxgv////9IAAAB/AAAA0gAAMj/////PJ7wAP////84hP/4/////ygEABn/////QYEAfP////88YAAA//8AADhjAAD//wAAVIQQOv////98YyAu/////3xpA6b/////ToAEIP////84fwHs/////0zGMYL/////SAAAAfwAAANIAACQ/////zh/Afj/////TMYxgv////9IAAAB/AAAA0gAAID/////OH8CBP////9MxjGC/////0gAAAH8AAADSAAAcP////84fwIQ/////0zGMYL/////SAAAAfwAAANIAABg/////zh/Ahz/////TMYxgv////9IAAAB/AAAA0gAAFD/////OH8CKP////9MxjGC/////0gAAAH8AAADSAAAQP////84fwJA/////3/E83j/////TMYxgv////9IAAAB/AAAA0gAACz/////OH8CXP////9XxAE+/////ziE//3/////TMYxgv////9IAAAB/AAAA0gAABT/////OGAAAP/gAAB/xPN4/////0zGMYL/////SAAAAfwAAAM4YQAI/////0gAAAH8AAADOH8CeP////+IgQAJ/////4ihAAr/////iMEAC/////9MxjGC/////0gAAAH8AAADOH8ClP////+IgQAM/////4ihAA3/////oMEADv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fBt4/////0gAAAH8AAADf6PiFP////84fwKg/////1ekZT7/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfHwbeP////9IAAAB/AAAA3xkG3j/////OH8CsP////9/heN4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x8G3j/////SAAAAfwAAAN8ZBt4/////zh/Asz/////f4XjeP////9MxjGC/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////g4EAEP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: ReportOSInfo + size: 620 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1062' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1056' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 260 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 9855228b120aa29f600e0c393bf343e34f80c920 + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////PGAAAP//AAA74wAA//8AADh/AUD/////TMYxgv////9IAAAB/AAAAzh/AVD/////OJ8BaP////84vwF0/////0zGMYL/////SAAAAfwAAAM4fwGA/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////V8MABv////88ABAA/////3wDAAD/////QYIAjP////9AgAAQ/////ywDAAD/////QYIAGP////9IAAEw/////zwAIAD/////fAMAAP////9BggEM/////0gAASD/////LB4AEv////9BggAw/////0CAABD/////LB4AEf////9AgAAU/////0gAAED/////LB4AIP////9BggAo/////0gAADT/////OH8BkP////9MxjGC/////0gAAAH8AAADSAAA/P////84fwGo/////0zGMYL/////SAAAAfwAAANIAADs/////zh/AcT/////TMYxgv////9IAAAB/AAAA0gAANz/////OH8B4P////9/xPN4/////0zGMYL/////SAAAAfwAAANIAADI/////zye8AD/////OIT/+P////8oBAAZ/////0GBAHz/////PGAAAP//AAA4YwAA//8AAFSEEDr/////fGMgLv////98aQOm/////06ABCD/////OH8B7P////9MxjGC/////0gAAAH8AAADSAAAkP////84fwH4/////0zGMYL/////SAAAAfwAAANIAACA/////zh/AgT/////TMYxgv////9IAAAB/AAAA0gAAHD/////OH8CEP////9MxjGC/////0gAAAH8AAADSAAAYP////84fwIc/////0zGMYL/////SAAAAfwAAANIAABQ/////zh/Aij/////TMYxgv////9IAAAB/AAAA0gAAED/////OH8CQP////9/xPN4/////0zGMYL/////SAAAAfwAAANIAAAs/////zh/Alz/////V8QBPv////84hP/9/////0zGMYL/////SAAAAfwAAANIAAAU/////zhgAAD/4AAAf8TzeP////9MxjGC/////0gAAAH8AAADOGEAEP////9IAAAB/AAAAzh/Anj/////iIEAEf////+IoQAS/////4jBABP/////TMYxgv////9IAAAB/AAAAzh/ApT/////iIEAFP////+IoQAV/////6DBABb/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3wD6hT/////kAEACP////84fwKg/////4ABAAj/////VARlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fRt4/////0gAAAH8AAADfGQbeP////84fwKw/////3+l63j/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3xkG3j/////OH8CzP////9/pet4/////0zGMYL/////SAAAAfwAAAOD4QAs/////4PBACj/////g6EAJP////+AAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: ReportOSInfo + size: 620 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1064' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1058' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 416 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 524 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: d50c10e37b37e56dd745d9a8a0b0f184df03d80f + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////z/AAAD//wAAO94AAP//AAA4fgBI/////0zGMYL/////SAAAAfwAAAM4fgBY/////zieAHD/////OL4AfP////9MxjGC/////0gAAAH8AAADOH4AiP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUZAAG/////zwAEAD/////fAQAAP////9BggCM/////0CAABD/////LAQAAP////9BggAY/////0gAATD/////PAAgAP////98BAAA/////0GCAQz/////SAABIP////8sAwAS/////0GCADD/////QIAAEP////8sAwAR/////0CAABT/////SAAAQP////8sAwAg/////0GCACj/////SAAANP////84fgCY/////0zGMYL/////SAAAAfwAAANIAAD8/////zh+ALD/////TMYxgv////9IAAAB/AAAA0gAAOz/////OH4AzP////9MxjGC/////0gAAAH8AAADSAAA3P////98ZBt4/////zh+AOj/////TMYxgv////9IAAAB/AAAA0gAAMj/////PKPwAP////84pf/4/////ygFABn/////QYEAfP////88gAAA//8AAFSlEDr/////OIQAAP//AAB8hCgu/////3yJA6b/////ToAEIP////84fgD0/////0zGMYL/////SAAAAfwAAANIAACQ/////zh+AQD/////TMYxgv////9IAAAB/AAAA0gAAID/////OH4BDP////9MxjGC/////0gAAAH8AAADSAAAcP////84fgEY/////0zGMYL/////SAAAAfwAAANIAABg/////zh+AST/////TMYxgv////9IAAAB/AAAA0gAAFD/////OH4BMP////9MxjGC/////0gAAAH8AAADSAAAQP////98ZBt4/////zh+AUj/////TMYxgv////9IAAAB/AAAA0gAACz/////VGQBPv////84fgFk/////ziE//3/////TMYxgv////9IAAAB/AAAA0gAABT/////fGQbeP////84YAAA/+AAAEzGMYL/////SAAAAfwAAAM8gMAA/////zh+AYD/////gAQxQP////+D5DFE/////1QEhj7/////VAXGPv////9UBgY+/////0zGMYL/////SAAAAfwAAANX4Kc+/////1fjBj7/////HIAACv////9X5cc+/////zgDB9D/////OH4BnP////98pSIU/////1QGBD7/////V+SGPv////9UpQY+/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x/G3j/////SAAAAfwAAAN8A/oU/////zh+Aaj/////VARlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fxt4/////0gAAAH8AAADfGQbeP////9/5ft4/////zh+Abj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH8beP////9IAAAB/AAAA3xkG3j/////f+X7eP////84fgHU/////0zGMYL/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: ReportOSInfo + size: 628 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1684' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1678' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 460d6aede1c57ded1e69ede7d526789a135a479d + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvjAAD//wAAOH8CYP////9MxjGC/////0gAAAH8AAADOH8CcP////84nwKI/////zi/ApT/////TMYxgv////9IAAAB/AAAAzh/AqD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9XwwAG/////zwAEAD/////fAMAAP////9BggCo/////0CAABD/////LAMAAP////9BggAY/////0gAAUz/////PAAgAP////98AwAA/////0GCASj/////SAABPP////8sHgAg/////0GCAEz/////QIAAHP////8sHgAS/////0GCADD/////QIAAXP////8sHgAR/////0CAABT/////SAAAUP////8sHgEA/////0GCADj/////SAAARP////84fwKw/////0zGMYL/////SAAAAfwAAANIAAEM/////zh/Asj/////TMYxgv////9IAAAB/AAAA0gAAPz/////OH8C5P////9MxjGC/////0gAAAH8AAADSAAA7P////84YAAA/+AAAEzGMYL/////SAAAAfwAAANIAADc/////zh/AwD/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAAyP////88nvAA/////ziE//j/////KAQAGf////9BgQB8/////zxgAAD//wAAOGMAAP//AABUhBA6/////3xjIC7/////fGkDpv////9OgAQg/////zh/Awz/////TMYxgv////9IAAAB/AAAA0gAAJD/////OH8DGP////9MxjGC/////0gAAAH8AAADSAAAgP////84fwMk/////0zGMYL/////SAAAAfwAAANIAABw/////zh/AzD/////TMYxgv////9IAAAB/AAAA0gAAGD/////OH8DPP////9MxjGC/////0gAAAH8AAADSAAAUP////84fwNI/////0zGMYL/////SAAAAfwAAANIAABA/////zh/A2D/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAALP////84fwN8/////1fEAT7/////OIT//f////9MxjGC/////0gAAAH8AAADSAAAFP////84YAAA/+AAAH/E83j/////TMYxgv////9IAAAB/AAAAzhhAAj/////SAAAAfwAAAM4fwOY/////4iBAAn/////iKEACv////+IwQAL/////0zGMYL/////SAAAAfwAAAM4fwO0/////4iBAAz/////iKEADf////+gwQAO/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x8G3j/////SAAAAfwAAAN/o+IU/////zh/A8D/////V6RlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fBt4/////0gAAAH8AAADfGQbeP////84fwPQ/////3+F43j/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfHwbeP////9IAAAB/AAAA3xkG3j/////OH8D7P////9/heN4/////0zGMYL/////SAAAAfwAAAOD4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: ReportOSInfo + size: 648 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1103' + size: 7 + flags: 2 + section: .sdata + - kind: Object + name: '@1119' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1113' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 448 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 709c8f4ca413198146a7820cbe491f0969fe793f + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvjAAD//wAAOH8BQP////9MxjGC/////0gAAAH8AAADOH8BUP////84nwFo/////zi/AXT/////TMYxgv////9IAAAB/AAAAzh/AYD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9XwwAG/////zwAEAD/////fAMAAP////9BggCo/////0CAABD/////LAMAAP////9BggAY/////0gAAUz/////PAAgAP////98AwAA/////0GCASj/////SAABPP////8sHgAg/////0GCAEz/////QIAAHP////8sHgAS/////0GCADD/////QIAAXP////8sHgAR/////0CAABT/////SAAAUP////8sHgEA/////0GCADj/////SAAARP////84fwGQ/////0zGMYL/////SAAAAfwAAANIAAEM/////zh/Aaj/////TMYxgv////9IAAAB/AAAA0gAAPz/////OH8BxP////9MxjGC/////0gAAAH8AAADSAAA7P////84YAAA/+AAAEzGMYL/////SAAAAfwAAANIAADc/////zh/AeD/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAAyP////88nvAA/////ziE//j/////KAQAGf////9BgQB8/////zxgAAD//wAAOGMAAP//AABUhBA6/////3xjIC7/////fGkDpv////9OgAQg/////zh/Aez/////TMYxgv////9IAAAB/AAAA0gAAJD/////OH8B+P////9MxjGC/////0gAAAH8AAADSAAAgP////84fwIE/////0zGMYL/////SAAAAfwAAANIAABw/////zh/AhD/////TMYxgv////9IAAAB/AAAA0gAAGD/////OH8CHP////9MxjGC/////0gAAAH8AAADSAAAUP////84fwIo/////0zGMYL/////SAAAAfwAAANIAABA/////zh/AkD/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAALP////84fwJc/////1fEAT7/////OIT//f////9MxjGC/////0gAAAH8AAADSAAAFP////84YAAA/+AAAH/E83j/////TMYxgv////9IAAAB/AAAAzhhAAj/////SAAAAfwAAAM4fwJ4/////4iBAAn/////iKEACv////+IwQAL/////0zGMYL/////SAAAAfwAAAM4fwKU/////4iBAAz/////iKEADf////+gwQAO/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x8G3j/////SAAAAfwAAAN/o+IU/////zh/AqD/////V6RlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fBt4/////0gAAAH8AAADfGQbeP////84fwKw/////3+F43j/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfHwbeP////9IAAAB/AAAA3xkG3j/////OH8CzP////9/heN4/////0zGMYL/////SAAAAfwAAAOD4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: ReportOSInfo + size: 648 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1063' + size: 7 + flags: 2 + section: .sdata + - kind: Object + name: '@1079' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1073' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 448 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 12fc6bfca5ff2a1f793431b4b1f2b8aede64156b + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvjAAD//wAAOH8CWP////9MxjGC/////0gAAAH8AAADOH8CaP////84nwKA/////zi/Aoz/////TMYxgv////9IAAAB/AAAAzh/Apj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9XwwAG/////zwAEAD/////fAMAAP////9BggCo/////0CAABD/////LAMAAP////9BggAY/////0gAAUz/////PAAgAP////98AwAA/////0GCASj/////SAABPP////8sHgAg/////0GCAEz/////QIAAHP////8sHgAS/////0GCADD/////QIAAXP////8sHgAR/////0CAABT/////SAAAUP////8sHgEA/////0GCADj/////SAAARP////84fwKo/////0zGMYL/////SAAAAfwAAANIAAEM/////zh/AsD/////TMYxgv////9IAAAB/AAAA0gAAPz/////OH8C3P////9MxjGC/////0gAAAH8AAADSAAA7P////84YAAA/+AAAEzGMYL/////SAAAAfwAAANIAADc/////zh/Avj/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAAyP////88nvAA/////ziE//j/////KAQAGf////9BgQB8/////zxgAAD//wAAOGMAAP//AABUhBA6/////3xjIC7/////fGkDpv////9OgAQg/////zh/AwT/////TMYxgv////9IAAAB/AAAA0gAAJD/////OH8DEP////9MxjGC/////0gAAAH8AAADSAAAgP////84fwMc/////0zGMYL/////SAAAAfwAAANIAABw/////zh/Ayj/////TMYxgv////9IAAAB/AAAA0gAAGD/////OH8DNP////9MxjGC/////0gAAAH8AAADSAAAUP////84fwNA/////0zGMYL/////SAAAAfwAAANIAABA/////zh/A1j/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAALP////84fwN0/////1fEAT7/////OIT//f////9MxjGC/////0gAAAH8AAADSAAAFP////84YAAA/+AAAH/E83j/////TMYxgv////9IAAAB/AAAAzhhAAj/////SAAAAfwAAAM4fwOQ/////4iBAAn/////iKEACv////+IwQAL/////0zGMYL/////SAAAAfwAAAM4fwOs/////4iBAAz/////iKEADf////+gwQAO/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x8G3j/////SAAAAfwAAAN/o+IU/////zh/A7j/////V6RlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fBt4/////0gAAAH8AAADfGQbeP////84fwPI/////3+F43j/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfHwbeP////9IAAAB/AAAA3xkG3j/////OH8D5P////9/heN4/////0zGMYL/////SAAAAfwAAAOD4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: ReportOSInfo + size: 648 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1104' + size: 7 + flags: 2 + section: .sdata + - kind: Object + name: '@1120' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1114' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 448 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: adfb298ecce30ce1646a035c34c44d6284ededf2 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////84fwBI/////0zGMYL/////SAAAAfwAAAM4fwBY/////zifAHD/////OL8AfP////9MxjGC/////0gAAAH8AAADOH8AiP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUZAAG/////zwAEAD/////fAQAAP////9BggCM/////0CAABD/////LAQAAP////9BggAY/////0gAATD/////PAAgAP////98BAAA/////0GCAQz/////SAABIP////8sAwAS/////0GCADD/////QIAAEP////8sAwAR/////0CAABT/////SAAAQP////8sAwAg/////0GCACj/////SAAANP////84fwCY/////0zGMYL/////SAAAAfwAAANIAAD8/////zh/ALD/////TMYxgv////9IAAAB/AAAA0gAAOz/////OH8AzP////9MxjGC/////0gAAAH8AAADSAAA3P////98ZBt4/////zh/AOj/////TMYxgv////9IAAAB/AAAA0gAAMj/////PKPwAP////84pf/4/////ygFABn/////QYEAfP////88gAAA//8AAFSlEDr/////OIQAAP//AAB8hCgu/////3yJA6b/////ToAEIP////84fwD0/////0zGMYL/////SAAAAfwAAANIAACQ/////zh/AQD/////TMYxgv////9IAAAB/AAAA0gAAID/////OH8BDP////9MxjGC/////0gAAAH8AAADSAAAcP////84fwEY/////0zGMYL/////SAAAAfwAAANIAABg/////zh/AST/////TMYxgv////9IAAAB/AAAA0gAAFD/////OH8BMP////9MxjGC/////0gAAAH8AAADSAAAQP////98ZBt4/////zh/AUj/////TMYxgv////9IAAAB/AAAA0gAACz/////VGQBPv////84fwFk/////ziE//3/////TMYxgv////9IAAAB/AAAA0gAABT/////fGQbeP////84YAAA/+AAAEzGMYL/////SAAAAfwAAAM8gMAA/////zh/AYD/////gAQxQP////+DxDFE/////1QEhj7/////VAXGPv////9UBgY+/////0zGMYL/////SAAAAfwAAANXw+c+/////1fGZz7/////HIMACv////9Xxac+/////1fABz7/////V8iHPv////98gCIU/////1fHxz7/////HMYACv////84fwGc/////zgEB9D/////fIgyFP////8cpQAK/////1QGBD7/////VIQGPv////98ByoU/////1QFBj7/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9IAAAB/AAAA3wD8hT/////OH8BqP////9UBGU+/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////SAAAAfwAAAN8ZBt4/////3/F83j/////OH8BuP////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fht4/////0gAAAH8AAADfGQbeP////9/xfN4/////zh/AdT/////TMYxgv////9IAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: ReportOSInfo + size: 656 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1680' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1674' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: fb4e8f5a547ff3676c7f53ffb6434c2d21ebb749 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////84fwBI/////0zGMYL/////SAAAAfwAAAM4fwBY/////zifAHD/////OL8AfP////9MxjGC/////0gAAAH8AAADOH8AiP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUZAAH/////0GCACD/////PATwAP////8oAAAA/////0GCAIz/////PATgAP////8oAAAA/////0GCASz/////SAABQP////8oAwAR/////0GCACD/////KAMAEv////9BggAo/////ygDACD/////QYIAMP////8oAwEA/////0GCADj/////SAAARP////84fwCY/////0zGMYL/////SAAAAfwAAANIAAEc/////zh/ALD/////TMYxgv////9IAAAB/AAAA0gAAQz/////OH8AzP////9MxjGC/////0gAAAH8AAADSAAA/P////84YAAA/+AAAEzGMYL/////SAAAAfwAAANIAADs/////3xkG3j/////OH8A6P////9MxjGC/////0gAAAH8AAADSAAA2P////88A/AA/////ygAACH/////QYIAMP////8oAAAg/////0GCADj/////KAAAEv////9BggBA/////ygAABH/////QYIASP////8oAAAQ/////0GCAFD/////KAAACP////9BggBY/////0gAAGT/////OH8A9P////9MxjGC/////0gAAAH8AAADSAAAkP////84fwEA/////0zGMYL/////SAAAAfwAAANIAACA/////zh/AQz/////TMYxgv////9IAAAB/AAAA0gAAHD/////OH8BGP////9MxjGC/////0gAAAH8AAADSAAAYP////84fwEk/////0zGMYL/////SAAAAfwAAANIAABQ/////zh/ATD/////TMYxgv////9IAAAB/AAAA0gAAED/////fGQbeP////84fwFI/////0zGMYL/////SAAAAfwAAANIAAAs/////1RkAT7/////OH8BZP////84hP/9/////0zGMYL/////SAAAAfwAAANIAAAU/////3xkG3j/////OGAAAP/gAABMxjGC/////0gAAAH8AAADPIDAAP////84fwGA/////4AEMUD/////g8QxRP////9UBIY+/////1QFxj7/////VAYGPv////9MxjGC/////0gAAAH8AAADV8PnPv////9Xxmc+/////xyDAAr/////V8WnPv////9XwAc+/////1fIhz7/////fIAiFP////9Xx8c+/////xzGAAr/////OH8BnP////84BAfQ/////3yIMhT/////HKUACv////9UBgQ+/////1SEBj7/////fAcqFP////9UBQY+/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////SAAAAfwAAAN8A/IU/////zh/Aaj/////VARlPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fht4/////0gAAAH8AAADfGQbeP////9/xfN4/////zh/Abj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9IAAAB/AAAA3xkG3j/////f8XzeP////84fwHU/////0zGMYL/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: ReportOSInfo + size: 676 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1784' + size: 7 + flags: 2 + section: .sdata + - kind: Object + name: '@1794' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 432 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 620 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: dc2677f78e3cbe22f70a142d9952dd9f938c8c92 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////84fwBI/////0zGMYL/////SAAAAfwAAAM4fwBY/////zifAHD/////OL8AfP////9MxjGC/////0gAAAH8AAADOH8AiP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUZAAG/////zwAEAD/////fAQAAP////9BggCo/////0CAABD/////LAQAAP////9BggAY/////0gAAUz/////PAAgAP////98BAAA/////0GCASj/////SAABPP////8sAwAg/////0GCAEz/////QIAAHP////8sAwAS/////0GCADD/////QIAAXP////8sAwAR/////0CAABT/////SAAAUP////8sAwEA/////0GCADj/////SAAARP////84fwCY/////0zGMYL/////SAAAAfwAAANIAAEM/////zh/ALD/////TMYxgv////9IAAAB/AAAA0gAAPz/////OH8AzP////9MxjGC/////0gAAAH8AAADSAAA7P////84YAAA/+AAAEzGMYL/////SAAAAfwAAANIAADc/////3xkG3j/////OH8A6P////9MxjGC/////0gAAAH8AAADSAAAyP////88o/AA/////zil//j/////KAUAGf////9BgQB8/////zyAAAD//wAAVKUQOv////84hAAA//8AAHyEKC7/////fIkDpv////9OgAQg/////zh/APT/////TMYxgv////9IAAAB/AAAA0gAAJD/////OH8BAP////9MxjGC/////0gAAAH8AAADSAAAgP////84fwEM/////0zGMYL/////SAAAAfwAAANIAABw/////zh/ARj/////TMYxgv////9IAAAB/AAAA0gAAGD/////OH8BJP////9MxjGC/////0gAAAH8AAADSAAAUP////84fwEw/////0zGMYL/////SAAAAfwAAANIAABA/////3xkG3j/////OH8BSP////9MxjGC/////0gAAAH8AAADSAAALP////9UZAE+/////zh/AWT/////OIT//f////9MxjGC/////0gAAAH8AAADSAAAFP////98ZBt4/////zhgAAD/4AAATMYxgv////9IAAAB/AAAAzyAwAD/////OH8BgP////+ABDFA/////4PEMUT/////VASGPv////9UBcY+/////1QGBj7/////TMYxgv////9IAAAB/AAAA1fD5z7/////V8ZnPv////8cgwAK/////1fFpz7/////V8AHPv////9XyIc+/////3yAIhT/////V8fHPv////8cxgAK/////zh/AZz/////OAQH0P////98iDIU/////xylAAr/////VAYEPv////9UhAY+/////3wHKhT/////VAUGPv////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fht4/////0gAAAH8AAADfAPyFP////84fwGo/////1QEZT7/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADfH4beP////9IAAAB/AAAA3xkG3j/////f8XzeP////84fwG4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////SAAAAfwAAAN8ZBt4/////3/F83j/////OH8B1P////9MxjGC/////0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: ReportOSInfo + size: 684 + flags: 2 + section: .text + - kind: Object + name: '@1' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1730' + size: 7 + flags: 2 + section: .sdata + - kind: Object + name: '@1746' + size: 104 + flags: 2 + section: .data + - kind: Object + name: '@1740' + size: 6 + flags: 2 + section: .sdata + - kind: Function + name: OSGetConsoleSimulatedMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMem1Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetMEM2ArenaLo + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/SCInit.yml b/assets/SCInit.yml new file mode 100644 index 0000000..2390a0c --- /dev/null +++ b/assets/SCInit.yml @@ -0,0 +1,299 @@ +- symbol: 0 + hash: 2397c01ccc7d246c742a75130818c3be1614777e + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA4gAAAD/4AAALAAAAP////9BggAM/////0gAAAH8AAADSAAAaP////874AAB/////5vgAAD/4AAAm+AAAP/gAABIAAAB/AAAA4BgAAD/4AAASAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAANIAAAB/AAAA1RgAMf/////QYIACP////+b4AAA/+AAAEgAAAH8AAADLAMAAP////9AggAg/////zxgAAD//wAAOIBAAP////84YwAA//8AADigAAD/////SAAAAfwAAAMsAwAA/////0GCAAz/////OAAAAv////+YAAAA/+AAAIABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: SCInit + size: 160 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Initialized + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: BgJobStatus + size: 1 + flags: 2 + section: .sbss + - kind: Object + name: __SCVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: IsDevKit + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: NANDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: ConfBuf + size: 16384 + flags: 2 + section: .bss + - kind: Function + name: SCReloadConfFileAsync + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: b265411c8590c058d105391be620a33d03b3c83f + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADfH8beP////+IAAAA/+AAACwAAAD/////QYIAEP////9/4/t4/////0gAAAH8AAADSAAAfP////84AAAB/////5gAAAD/4AAAOGAAAf////9IAAAB/AAAA3/j+3j/////SAAAAfwAAAOAYAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADSAAAAfwAAANUYADG/////ywAAAD/////QYIADP////84AAAB/////5gAAAD/4AAASAAAAfwAAAMsAwAA/////0CCACT/////SAAAAfwAAAN8fht4/////0gAAAH8AAADf8TzeP////84oAAA/////0gAAAH8AAADLAMAAP////9BggAM/////zhgAAL/////SAAAAfwAAAOD4QAM/////4PBAAj/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: SCInit + size: 196 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Initialized + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetBgJobStatus + size: 0 + flags: 2 + section: .text + - kind: Object + name: __SCVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleType + size: 0 + flags: 1 + section: .text + - kind: Object + name: IsDevKit + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: NANDInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __SCGetConfBufSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: __SCGetConfBuf + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCReloadConfFileAsync + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/SCReloadConfFileAsync.yml b/assets/SCReloadConfFileAsync.yml new file mode 100644 index 0000000..a24726a --- /dev/null +++ b/assets/SCReloadConfFileAsync.yml @@ -0,0 +1,1617 @@ +- symbol: 0 + hash: c7cf070e299b6e7c98eb3e54590ec4c874a36ac6 + signature: lCH/4P////98CAKm/////ygEQAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98fRt4/////0CAAAz/////OGD/gP////9IAADQ/////z/AAAD//wAAPSAAAP//AAA73gAA//8AAD0AAAD//wAAO+AAAP////88gIAA/////zjkOAD/////kL4BXP////85KQAA//8AADkIAAD//wAAOIAAAf////84wEAA/////zgAAQD/////mIAAAP/gAAA4gAAA/////zigQAD/////k/4BYP////+b/gFa/////5P+AXz/////k/4BgP////+RPgFk/////5EeAWj/////kH4BbP////+Q/gFw/////5DeAXT/////kB4BeP////9IAAAB/AAAA3+j63j/////OIAAAP/gAAA4oAAE/////0gAAAH8AAADOH0//P////84gAAA/+AAADigAAT/////SAAAAfwAAAM4AAAI/////7AdAAb/////PMAAAP//AAA4ngAI/////4geAVr/////OMYAAP//AACb/gFZ/////zj+AJT/////VAAQOv////84oAAB/////3x+AhT/////k+AAAP/gAACAYwFk/////5PgAAD/4AAAk+AAAP/gAABIAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 276 + flags: 2 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Object + name: BgJobStatus + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Object + name: '@2434' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: '@2435' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: 12293a71b60fd6cabfded9f07df2e555628f3bd6 + signature: lCH/4P////98CAKm/////ygEQAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98fRt4/////0CAAAz/////OGD/gP////9IAADQ/////z/AAAD//wAAPSAAAP//AAA73gAA//8AADvgAAD/////PQAAAP//AAA8gIAA/////zjkOAD/////OSkAAP//AAA5QAAB/////zkIAAD//wAAOMBAAP////84AAEA/////5C+AVz/////OIAAAP////84oEAA/////5lAAAD/4AAAk/4BYP////+b/gFa/////5P+AXz/////k/4BgP////+RPgFk/////5EeAWj/////kH4BbP////+Q/gFw/////5DeAXT/////kB4BeP////9IAAAB/AAAA3+j63j/////OIAAAP/gAAA4oAAE/////0gAAAH8AAADOH0//P////84gAAA/+AAADigAAT/////SAAAAfwAAAM4AAAI/////zzAAAD//wAAsB0ABv////84ngAI/////zjGAAD//wAAOP4AlP////+IHgFa/////zigAAH/////m/4BWf////9UABA6/////3x+AhT/////k+AAAP/gAACAYwFk/////5PgAAD/4AAAk+AAAP/gAABIAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 276 + flags: 2 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Object + name: BgJobStatus + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@2159' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@2160' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: 5d386645a2f3d2367ef8d79714df578ed66689da + signature: lCH/4P////98CAKm/////ygEQAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98fRt4/////0CAAAz/////OGD/gP////9IAADQ/////z/AAAD//wAAPSAAAP//AAA73gAA//8AADvgAAD/////PQAAAP//AAA8gIAA/////zjkOAD/////OSkAAP//AAA5QAAB/////zkIAAD//wAAOMBAAP////84AAEA/////5C+AVj/////OIAAAP////84oEAA/////5lAAAD/4AAAk/4BXP////+b/gFW/////5P+AXj/////k/4BfP////+RPgFg/////5EeAWT/////kH4BaP////+Q/gFs/////5DeAXD/////kB4BdP////9IAAAB/AAAA3+j63j/////OIAAAP/gAAA4oAAE/////0gAAAH8AAADOH0//P////84gAAA/+AAADigAAT/////SAAAAfwAAAM4AAAI/////zzAAAD//wAAsB0ABv////84ngAI/////zjGAAD//wAAOP4AlP////+IHgFW/////zigAAH/////m/4BVf////9UABA6/////3x+AhT/////k+AAAP/gAACAYwFg/////5PgAAD/4AAAk+AAAP/gAABIAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 276 + flags: 2 + section: .text + - kind: Object + name: Control + size: 396 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Object + name: BgJobStatus + size: 1 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@2118' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@2119' + size: 5 + flags: 2 + section: .sdata + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: 5444a3630859116069a6043409872398a7d61076 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////kIEACP////+QoQAM/////zxgAAD//wAAO6MAAP//AAA7gAAB/////zgAAAD/////fB4AQP////9AggAo/////zh9Aaj/////OIABdf////84vQG0/////0zGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////ztgAAH/////V8AG/v////8sAAAA/////0GCACj/////OH0BqP////84gAF2/////zi9AdT/////TMYxgv////9IAAAB/AAAAzsgAAD/////LBkAAP////9AggAI/////ztgAAD/////SAAAAfwAAAOAAQAI/////3wAGED/////QIAADP////84YP+A/////0gAAUz/////OGAAAf////9IAAAB/AAAA4ABAAz/////PGAAAP//AAA4YwAA//8AAJADAVj/////OAAAAP////88YAAA//8AADhjAAD//wAAkAMBXP////84AAAA/////zxgAAD//wAAOGMAAP//AACYAwFW/////zvgAAD/////SAAAIP////84gAAA/////zxgAAD//wAAOGMAAP//AABX4BA6/////3xjAhT/////kIMBeP////87/wAB/////ygfAAL/////QYD/4P////88YAAA//8AADgDAAD//wAAPGAAAP//AAA4YwAA//8AAJADAWD/////PGAAAP//AAA4AwAA//8AADxgAAD//wAAOGMAAP//AACQAwFk/////zxgAAD//wAAOGMAAP//AACTwwFo/////zhgOAD/////SAAAAfwAAAM8gAAA//8AADiEAAD//wAAkGQBbP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACQZAFw/////zgAAQD/////PIAAAP//AAA4hAAA//8AAJAEAXT/////f8PzeP////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////POAAAP//AAA45wAA//8AAJgHAVX/////POAAAP//AAA45wAA//8AADzgAAD//wAAOOcAAP//AACIBwFW/////1QAEDr/////fGcCFP////+AYwFg/////zzgAAD//wAAOOcAAP//AAA4hwAI/////zigAAH/////VKUGPv////88wAAA//8AADjGAAD//wAAPOAAAP//AAA45wAA//8AADjnAJT/////SAAAAfwAAAM5YQAw/////0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 520 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_25 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __SCGetConfBufSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetBgJobStatus + size: 0 + flags: 2 + section: .text + - kind: Object + name: Control + size: 396 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearConfBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_25 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 364 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 408 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 456 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 5e2fadd396f43c9712d06ee5b49eeefa368227a7 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////kIEACP////+QoQAM/////zxgAAD//wAAO6MAAP//AAA7gAAB/////zgAAAD/////fB4AQP////9AggAo/////zh9AVj/////OIABV/////84vQFk/////0zGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////ztgAAH/////V8AG/v////8sAAAA/////0GCACj/////OH0BWP////84gAFY/////zi9AYT/////TMYxgv////9IAAAB/AAAAzsgAAD/////LBkAAP////9AggAI/////ztgAAD/////SAAAAfwAAAOAAQAI/////3wAGED/////QIAADP////84YP+A/////0gAAUz/////OGAAAf////9IAAAB/AAAA4ABAAz/////PGAAAP//AAA4YwAA//8AAJADAVj/////OAAAAP////88YAAA//8AADhjAAD//wAAkAMBXP////84AAAA/////zxgAAD//wAAOGMAAP//AACYAwFW/////zvgAAD/////SAAAIP////84gAAA/////zxgAAD//wAAOGMAAP//AABX4BA6/////3xjAhT/////kIMBeP////87/wAB/////ygfAAL/////QYD/4P////88YAAA//8AADgDAAD//wAAPGAAAP//AAA4YwAA//8AAJADAWD/////PGAAAP//AAA4AwAA//8AADxgAAD//wAAOGMAAP//AACQAwFk/////zxgAAD//wAAOGMAAP//AACTwwFo/////zhgOAD/////SAAAAfwAAAM8gAAA//8AADiEAAD//wAAkGQBbP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACQZAFw/////zgAAQD/////PGAAAP//AAA4YwAA//8AAJADAXT/////f8PzeP////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////PGAAAP//AAA4YwAA//8AAJgDAVX/////PGAAAP//AAA4gwAA//8AADxgAAD//wAAOGMAAP//AACIAwFW/////1QAEDr/////fGQCFP////+AYwFg/////zyAAAD//wAAOIQAAP//AAA4hAAI/////zigAAH/////VKUGPv////88wAAA//8AADjGAAD//wAAPOAAAP//AAA45wAA//8AADjnAJT/////SAAAAfwAAAM5YQAw/////0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 520 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_25 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __SCGetConfBufSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetBgJobStatus + size: 0 + flags: 2 + section: .text + - kind: Object + name: Control + size: 396 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearConfBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_25 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 364 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 408 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 456 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 4eedf503e565cb05387a06c153f4971e9e055afa + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////kIEACP////+QoQAM/////zxgAAD//wAAO6MAAP//AAA7gAAB/////zgAAAD/////fB4AQP////9AggAo/////zh9AbD/////OIABef////84vQG8/////0zGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////ztgAAH/////V8AG/v////8sAAAA/////0GCACj/////OH0BsP////84gAF6/////zi9Adz/////TMYxgv////9IAAAB/AAAAzsgAAD/////LBkAAP////9AggAI/////ztgAAD/////SAAAAfwAAAOAAQAI/////3wAGED/////QIAADP////84YP+A/////0gAAUz/////OGAAAf////9IAAAB/AAAA4ABAAz/////PGAAAP//AAA4YwAA//8AAJADAVz/////OAAAAP////88YAAA//8AADhjAAD//wAAkAMBYP////84AAAA/////zxgAAD//wAAOGMAAP//AACYAwFa/////zvgAAD/////SAAAIP////84gAAA/////zxgAAD//wAAOGMAAP//AABX4BA6/////3xjAhT/////kIMBfP////87/wAB/////ygfAAL/////QYD/4P////88YAAA//8AADgDAAD//wAAPGAAAP//AAA4YwAA//8AAJADAWT/////PGAAAP//AAA4AwAA//8AADxgAAD//wAAOGMAAP//AACQAwFo/////zxgAAD//wAAOGMAAP//AACTwwFs/////zhgOAD/////SAAAAfwAAAM8gAAA//8AADiEAAD//wAAkGQBcP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACQZAF0/////zgAAQD/////PIAAAP//AAA4hAAA//8AAJAEAXj/////f8PzeP////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////POAAAP//AAA45wAA//8AAJgHAVn/////POAAAP//AAA45wAA//8AADzgAAD//wAAOOcAAP//AACIBwFa/////1QAEDr/////fGcCFP////+AYwFk/////zzgAAD//wAAOOcAAP//AAA4hwAI/////zigAAH/////VKUGPv////88wAAA//8AADjGAAD//wAAPOAAAP//AAA45wAA//8AADjnAJT/////SAAAAfwAAAM5YQAw/////0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 520 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_25 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __SCGetConfBufSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetBgJobStatus + size: 0 + flags: 2 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearConfBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_25 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 364 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 408 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 456 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 3f5400572e0a7e33354a9daeb5ac1f3c7528f508 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////kIEACP////+QoQAM/////zxgAAD//wAAO6MAAP//AAA7gAAB/////zgAAAD/////fB4AQP////9AggAo/////zh9Acj/////OIABiP////84vQHU/////0zGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////ztgAAH/////V8AG/v////8sAAAA/////0GCACj/////OH0ByP////84gAGJ/////zi9AfT/////TMYxgv////9IAAAB/AAAAzsgAAD/////LBkAAP////9AggAI/////ztgAAD/////SAAAAfwAAAOAAQAI/////3wAGED/////QIAADP////84YP+A/////0gAAUz/////OGAAAf////9IAAAB/AAAA4ABAAz/////PGAAAP//AAA4YwAA//8AAJADAVz/////OAAAAP////88YAAA//8AADhjAAD//wAAkAMBYP////84AAAA/////zxgAAD//wAAOGMAAP//AACYAwFa/////zvgAAD/////SAAAIP////84gAAA/////zxgAAD//wAAOGMAAP//AABX4BA6/////3xjAhT/////kIMBfP////87/wAB/////ygfAAL/////QYD/4P////88YAAA//8AADgDAAD//wAAPGAAAP//AAA4YwAA//8AAJADAWT/////PGAAAP//AAA4AwAA//8AADxgAAD//wAAOGMAAP//AACQAwFo/////zxgAAD//wAAOGMAAP//AACTwwFs/////zhgOAD/////SAAAAfwAAAM8gAAA//8AADiEAAD//wAAkGQBcP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACQZAF0/////zgAAQD/////PIAAAP//AAA4hAAA//8AAJAEAXj/////f8PzeP////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////POAAAP//AAA45wAA//8AAJgHAVn/////POAAAP//AAA45wAA//8AADzgAAD//wAAOOcAAP//AACIBwFa/////1QAEDr/////fGcCFP////+AYwFk/////zzgAAD//wAAOOcAAP//AAA4hwAI/////zigAAH/////VKUGPv////88wAAA//8AADjGAAD//wAAPOAAAP//AAA45wAA//8AADjnAJT/////SAAAAfwAAAM5YQAw/////0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: SCReloadConfFileAsync + size: 520 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_25 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __SCGetConfBufSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetBgJobStatus + size: 0 + flags: 2 + section: .text + - kind: Object + name: Control + size: 400 + flags: 2 + section: .bss + - kind: Object + name: ConfFileName + size: 21 + flags: 2 + section: .rodata + - kind: Object + name: ProductInfoFileName + size: 42 + flags: 2 + section: .rodata + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Function + name: ClearConfBuf + size: 0 + flags: 2 + section: .text + - kind: Object + name: ItemIDOffsetTblOffset + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemNumTotal + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ItemRestSize + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OpenCallbackFromReload + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDPrivateOpenAsync + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_25 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 296 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 364 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 408 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 428 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 456 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 16 + addend: 0 diff --git a/assets/SIGetType.yml b/assets/SIGetType.yml new file mode 100644 index 0000000..c3f6adb --- /dev/null +++ b/assets/SIGetType.yml @@ -0,0 +1,1102 @@ +- symbol: 0 + hash: 42af4d4e8ac72f0c9dcafd3af4adaa886a2cf014 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////SAAAAfwAAAM8oAAA//8AADyAAAD//wAAV2YQOv////9XYBg4/////zilAAD//wAAOIQAAP//AAB/hTAu/////3/FMhT/////fH0beP////9/5AIU/////0gAAAH8AAADgN8ABP////88oAAA//8AAIAfAAD/////OKUAAP//AAB9BiAQ/////4CFAAT/////fOAZEP////84YACA/////3xg3jD/////fIAAOf////9BggA0/////ygcAAj/////QYIAIP////9IAAAB/AAAA5CfAAT/////kH8AAP////9/o+t4/////0gAAAH8AAADf4PjeP////9IAAEI/////5B+AAD/////O4AAgP////9IAACY/////zyAgAD/////PGAQYv////+ApAD4/////zjDTdP/////OAAAAP////9s5IAA/////1Sj8L7/////fGYYFv////9sAIAA/////1Rl0b7/////HGUAMv////98aBgQ/////3yEARD/////fIABEP////98hADR/////0CCABz/////KBwACP////9BggAU/////3+j63j/////SAAAAfwAAAN/g+N4/////0gAAKT/////HGUAS/////84AAAA/////2zkgAD/////bACAAP////98aBgQ/////3yEARD/////fIABEP////98hADR/////0CCABD/////OAAAgP////+QHgAA/////0gAABD/////OAAAgP////87gACA/////5AeAAD/////SAAAAfwAAAOQnwAE/////zyAQxz/////OSTeg/////89AAAA//8AAJB/AAD/////PKCAAP////9/Y9t4/////3/G83j/////gAUA+P////85CAAA//8AADiAAAD/4AAAOKAAAf////9UAPC+/////zjgAAP/////fAkAFv////85IAAA/////1QKi/7/////VAC6cv////98AFIU/////1QK6P7/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADf4PjeP////85YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: SIGetType + size: 436 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Type + size: 16 + flags: 2 + section: .data + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: cmdTypeAndStatus$877 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 488d1c31267ad918442ad746fca69569703feec1 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////SAAAAfwAAAM8oAAA//8AADyAAAD//wAAV2YQOv////9XYBg4/////zilAAD//wAAOIQAAP//AAB/hTAu/////3/FMhT/////fH0beP////9/5AIU/////0gAAAH8AAADgN8ABP////88oAAA//8AAIAfAAD/////OKUAAP//AAB9BiAQ/////4CFAAT/////fOAZEP////84YACA/////3xg3jD/////fIAAOf////9BggA0/////ygcAAj/////QYIAIP////9IAAAB/AAAA5CfAAT/////kH8AAP////9/o+t4/////0gAAAH8AAADf4PjeP////9IAAEI/////5B+AAD/////O4AAgP////9IAACY/////zyAgAD/////PGAQYv////+ApAD4/////zjDTdP/////OAAAAP////9s5IAA/////1Sj8L7/////fGYYFv////9sAIAA/////1Rl0b7/////HGUAMv////98aBgQ/////3yEARD/////fIABEP////98hADR/////0CCABz/////KBwACP////9BggAU/////3+j63j/////SAAAAfwAAAN/g+N4/////0gAAKT/////HGUAS/////84AAAA/////2zkgAD/////bACAAP////98aBgQ/////3yEARD/////fIABEP////98hADR/////0CCABD/////OAAAgP////+QHgAA/////0gAABD/////OAAAgP////+QHgAA/////zuAAID/////SAAAAfwAAAOQnwAE/////zyAQxz/////OSTeg/////89AAAA//8AAJB/AAD/////PKCAAP////9/Y9t4/////3/G83j/////gAUA+P////85CAAA//8AADiAAAD/4AAAOKAAAf////9UAPC+/////zjgAAP/////fAkAFv////85IAAA/////1QKi/7/////VAC6cv////98AFIU/////1QK6P7/////SAAAAfwAAAN/o+t4/////0gAAAH8AAADf4PjeP////85YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: SIGetType + size: 436 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Type + size: 16 + flags: 2 + section: .data + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@LOCAL@SIGetType__Fl@cmdTypeAndStatus' + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 48c10135f4039cfe3ab7e327afeba90f405cca39 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v2EAFP////98ext4/////0gAAAH8AAADPIAAAP//AABXZRA6/////zgEAAD//wAAf8AqFP////+DngAA/////3x9G3j/////SAAAAfwAAAM8oAAA//8AAFdmGDj/////OAUAAP//AAB/4DIU/////4DfAAT/////PKAAAP//AAA4pQAA//8AAIAfAAD/////fIYgEP////98ABkQ/////4DFAAT/////OKAAgP////98o94w/////3zDGDn/////QYIANP////8oHAAI/////0GCACD/////SAAAAfwAAAOQnwAE/////5B/AAD/////f6PreP////9IAAAB/AAAA3+D43j/////SAABIP////+QvgAA/////zuAAID/////SAAAtP////88YIAA/////4DDAPj/////PKAQYv////84pU3T/////1TG8L7/////fKUwFv////9UpdG+/////xzlADL/////OGAAAP////9sZoAA/////2wFgAD/////fGQ4EP////98pTEQ/////3ymMRD/////fKUA0f////9AggAc/////ygcAAj/////QYIAFP////9/o+t4/////0gAAAH8AAADf4PjeP////9IAAC8/////zxggAD/////gMMA+P////88oBBi/////zilTdP/////VMbwvv////98pTAW/////1Sl0b7/////HMUAS/////84YAAA/////2xlgAD/////bAOAAP////98BDAQ/////3xjKRD/////fGUpEP////98YwDR/////0CCABD/////OAAAgP////+QHgAA/////0gAABD/////OAAAgP////+QHgAA/////zuAAID/////SAAAAfwAAAOQnwAE/////zyAQxz/////PKAAAP//AACQfwAA/////zxggAD/////OQUAAP//AACAAwD4/////ziE3oP/////OHsAAP////9UAPC+/////3wEABb/////VACL/v////8cAABB/////1QK6P7/////ON4AAP////84gAAA/+AAADigAAH/////OOAAA/////85IAAA/////0gAAAH8AAADf6PreP////9IAAAB/AAAA3+D43j/////u2EAFP////+AAQAs/////zghACj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: SIGetType + size: 452 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Type + size: 16 + flags: 2 + section: .data + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: cmdTypeAndStatus$371 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 348 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 0f20c35b8c352cd69deb19cec7dc829d32094aa1 + signature: fAgCpv////+QAQAE/////5Qh/9D/////vyEAFP////874wAA/////zxgAAD//wAAO2MAAP//AAA8YAAA//8AADvDAAD//wAASAAAAfwAAAN8fBt4/////ywfAAD/////QYAADP////8sHwAE/////0GAABj/////OH4AJP////84gATP/////zi+Aqj/////TMYxgv////9IAAAB/AAAA1fgEDr/////fH4CFP////+DowAU/////0gAAAH8AAADV+AYOP////98uwIU/////4AFASD/////gKUBJP////9/RSAQ/////38gGRD/////gH4ABP////84AACA/////3wA/jD/////fGAAOf////9BggBE/////ygdAAj/////QYIAKP////9IAAAB/AAAA1fgGDj/////fLsCFP////+QhQEk/////5BlASD/////f4PjeP////9IAAAB/AAAA3+j63j/////SAABMP////87oACA/////1fgEDr/////fH4CFP////+TowAU/////0gAALD/////PGCAAP////+AAwD4/////1QD8L7/////OAAD6P////98AwOW/////xygADL/////OAAAAP////9sBIAA/////28jgAD/////fBooEP////98YyEQ/////3xkIRD/////fGMA0f////9AggAc/////ygdAAj/////QYIAFP////9/g+N4/////0gAAAH8AAADf6PreP////9IAADM/////zxggAD/////gAMA+P////9UA/C+/////zgAA+j/////fAMDlv////8coABL/////zgAAAD/////bASAAP////9vI4AA/////3waKBD/////fGMhEP////98ZCEQ/////3xjANH/////QIIAGP////84gACA/////1fgEDr/////fH4CFP////+QgwAU/////0gAABT/////O6AAgP////9X4BA6/////3x+AhT/////k6MAFP////9IAAAB/AAAA1fgGDj/////fLsCFP////+QhQEk/////5BlASD/////OH8AAP////84gAAA/+AAADigAAH/////V+AQOv////983gIU/////zjgAAP/////PQAAAP//AAA5CAAA//8AAD0ggAD/////gAkA+P////9UAPC+/////z0gAAL/////OSnoSP////98AEuW/////xwAAEH/////VAro/v////85IAAA/////zjGABT/////SAAAAfwAAAN/g+N4/////0gAAAH8AAADf6PreP////+AAQA0/////7shABT/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SIGetType + size: 504 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: cmdTypeAndStatus$223 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 89516e345901133961896d879201b4097df38f62 + signature: fAgCpv////+QAQAE/////5Qh/9D/////vyEAFP////874wAA/////zxgAAD//wAAO2MAAP//AAA8YAAA//8AADvDAAD//wAASAAAAfwAAAN8fBt4/////ywfAAD/////QYAADP////8sHwAE/////0GAABj/////OH4AaP////84gATb/////zi+Auz/////TMYxgv////9IAAAB/AAAA1fgEDr/////fH4CFP////+DowBY/////0gAAAH8AAADV+AYOP////98uwIU/////4AFASD/////gKUBJP////9/RSAQ/////38gGRD/////gH4ASP////84AACA/////3wA/jD/////fGAAOf////9BggBE/////ygdAAj/////QYIAKP////9IAAAB/AAAA1fgGDj/////fLsCFP////+QhQEk/////5BlASD/////f4PjeP////9IAAAB/AAAA3+j63j/////SAABMP////87oACA/////1fgEDr/////fH4CFP////+TowBY/////0gAALD/////PGCAAP////+AAwD4/////1QD8L7/////OAAD6P////98AwOW/////xygADL/////OAAAAP////9sBIAA/////28jgAD/////fBooEP////98YyEQ/////3xkIRD/////fGMA0f////9AggAc/////ygdAAj/////QYIAFP////9/g+N4/////0gAAAH8AAADf6PreP////9IAADM/////zxggAD/////gAMA+P////9UA/C+/////zgAA+j/////fAMDlv////8coABL/////zgAAAD/////bASAAP////9vI4AA/////3waKBD/////fGMhEP////98ZCEQ/////3xjANH/////QIIAGP////84gACA/////1fgEDr/////fH4CFP////+QgwBY/////0gAABT/////O6AAgP////9X4BA6/////3x+AhT/////k6MAWP////9IAAAB/AAAA1fgGDj/////fLsCFP////+QhQEk/////5BlASD/////OH8AAP////84gAAA/+AAADigAAH/////V+AQOv////983gIU/////zjgAAP/////PQAAAP//AAA5CAAA//8AAD0ggAD/////gAkA+P////9UAPC+/////z0gAAL/////OSnoSP////98AEuW/////xwAAEH/////VAro/v////85IAAA/////zjGAFj/////SAAAAfwAAAN/g+N4/////0gAAAH8AAADf6PreP////+AAQA0/////7shABT/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SIGetType + size: 504 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: cmdTypeAndStatus$224 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 420 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 431ed8fa3fc71266400edf8ae0b7a6fde5b33eec + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x/G3j/////PGAAAP//AAA7owAA//8AAEgAAAH8AAADfHwbeP////87IAAB/////zsAAAD/////LB8AAP////9BgAAQ/////ywfAAT/////QIAACP////87AAAB/////ywYAAD/////QIIAMP////84fQBo/////ziABO3/////OL0C7P////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////zsgAAD/////V+AQOv////84fQBY/////3/DAC7/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////4AFAAD/////gKUABP////9/ZSAQ/////39AGRD/////OH0ARP////+AYwAE/////zgAAID/////fAD+MP////98YAA4/////ywAAAD/////QYIATP////8oHgAI/////0GCADD/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////5CFAAT/////kGUAAP////9/g+N4/////0gAAAH8AAADf8PzeP////9IAAFY/////zvAAID/////V+AQOv////84fQBY/////3/DAS7/////SAAAyP////88YIAA/////4ADAPj/////VADwvv////88YBBi/////zhjTdP/////fAMAFv////9UANG+/////xxgADL/////OAAAAP////9sAIAA/////29EgAD/////fHsYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0CCABz/////KB4ACP////9BggAU/////3+D43j/////SAAAAfwAAAN/w/N4/////0gAAOj/////PGCAAP////+AAwD4/////1QA8L7/////PGAQYv////84Y03T/////3wDABb/////VADRvv////8cYABL/////zgAAAD/////bACAAP////9vRIAA/////3x7GBD/////fIQBEP////98gAEQ/////3yEAND/////LAQAAP////9AggAY/////ziAAID/////V+AQOv////84fQBY/////3yDAS7/////SAAAFP////87wACA/////1fgEDr/////OH0AWP////9/wwEu/////0gAAAH8AAADV+YYOP////88oAAA//8AADgFAAD//wAAfKAyFP////+QhQAE/////5BlAAD/////f+P7eP////84gAAA/+AAADigAAH/////V+YQOv////84HQBY/////3zAMhT/////OOAAA/////89AAAA//8AADkIAAD//wAAPSCAAP////+ACQD4/////1QA8L7/////PSBDHP////85Kd6D/////3wJABb/////VAmL/v////9VIDAy/////3wAShT/////VAro/v////85IAAA/////0gAAAH8AAADf4PjeP////9IAAAB/AAAA3/D83j/////OWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: SIGetType + size: 612 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@SIGetType__Fl@cmdTypeAndStatus' + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 496 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 520 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 524 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: ab4473f936b6ca9e3f52e2fa959b1586aeab46c2 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x/G3j/////PGAAAP//AAA7owAA//8AAEgAAAH8AAADfHwbeP////87IAAB/////zsAAAD/////LB8AAP////9BgAAQ/////ywfAAT/////QIAACP////87AAAB/////ywYAAD/////QIIAMP////84fQBw/////ziABO3/////OL0C9P////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////zsgAAD/////V+AQOv////84fQBg/////3/DAC7/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////4AFAAD/////gKUABP////9/ZSAQ/////39AGRD/////OH0ASP////+AYwAE/////zgAAID/////fAD+MP////98YAA4/////ywAAAD/////QYIATP////8oHgAI/////0GCADD/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////5CFAAT/////kGUAAP////9/g+N4/////0gAAAH8AAADf8PzeP////9IAAFY/////zvAAID/////V+AQOv////84fQBg/////3/DAS7/////SAAAyP////88YIAA/////4ADAPj/////VADwvv////88YBBi/////zhjTdP/////fAMAFv////9UANG+/////xxgADL/////OAAAAP////9sAIAA/////29EgAD/////fHsYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0CCABz/////KB4ACP////9BggAU/////3+D43j/////SAAAAfwAAAN/w/N4/////0gAAOj/////PGCAAP////+AAwD4/////1QA8L7/////PGAQYv////84Y03T/////3wDABb/////VADRvv////8cYABL/////zgAAAD/////bACAAP////9vRIAA/////3x7GBD/////fIQBEP////98gAEQ/////3yEAND/////LAQAAP////9AggAY/////ziAAID/////V+AQOv////84fQBg/////3yDAS7/////SAAAFP////87wACA/////1fgEDr/////OH0AYP////9/wwEu/////0gAAAH8AAADV+YYOP////88oAAA//8AADgFAAD//wAAfKAyFP////+QhQAE/////5BlAAD/////f+P7eP////84gAAA/+AAADigAAH/////V+YQOv////84HQBg/////3zAMhT/////OOAAA/////89AAAA//8AADkIAAD//wAAPSCAAP////+ACQD4/////1QA8L7/////PSBDHP////85Kd6D/////3wJABb/////VAmL/v////9VIDAy/////3wAShT/////VAro/v////85IAAA/////0gAAAH8AAADf4PjeP////9IAAAB/AAAA3/D83j/////OWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: SIGetType + size: 612 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: cmdTypeAndStatus$1078 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 496 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 520 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 524 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: b1862a6662b309f86afcf5816977c01e26856eb3 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x/G3j/////PGAAAP//AAA7wwAA//8AAEgAAAH8AAADfHwbeP////87IAAB/////zsAAAD/////LB8AAP////9BgAAQ/////ywfAAT/////QIAACP////87AAAB/////ywYAAD/////QIIAMP////84fgBw/////ziABO3/////OL4C9P////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////zsgAAD/////V+AQOv////84fgBg/////3+jAC7/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////4AFAAD/////gKUABP////9/ZSAQ/////39AGRD/////OH4ASP////+AYwAE/////zgAAID/////fAD+MP////98YAA4/////ywAAAD/////QYIATP////8oHQAI/////0GCADD/////SAAAAfwAAANX5hg4/////zygAAD//wAAOAUAAP//AAB8oDIU/////5CFAAT/////kGUAAP////9/g+N4/////0gAAAH8AAADf6PreP////9IAAFY/////zugAID/////V+AQOv////84fgBg/////3+jAS7/////SAAAyP////88YIAA/////4ADAPj/////VADwvv////88YBBi/////zhjTdP/////fAMAFv////9UANG+/////xxgADL/////OAAAAP////9sAIAA/////29EgAD/////fHsYEP////98hAEQ/////3yAARD/////fIQA0P////8sBAAA/////0CCABz/////KB0ACP////9BggAU/////3+D43j/////SAAAAfwAAAN/o+t4/////0gAAOj/////PGCAAP////+AAwD4/////1QA8L7/////PGAQYv////84Y03T/////3wDABb/////VADRvv////8cYABL/////zgAAAD/////bACAAP////9vRIAA/////3x7GBD/////fIQBEP////98gAEQ/////3yEAND/////LAQAAP////9AggAY/////ziAAID/////V+AQOv////84fgBg/////3yDAS7/////SAAAFP////87oACA/////1fgEDr/////OH4AYP////9/owEu/////0gAAAH8AAADV+YYOP////88oAAA//8AADgFAAD//wAAfKAyFP////+QhQAE/////5BlAAD/////f+P7eP////84gAAA/+AAADigAAH/////V+YQOv////84HgBg/////3zAMhT/////OOAAA/////89AAAA//8AADkIAAD//wAAPSCAAP////+ACQD4/////1QA8L7/////PSBDHP////85Kd6D/////3wJABb/////VAmL/v////9VIDAy/////3wAShT/////VAro/v////85IAAA/////0gAAAH8AAADf4PjeP////9IAAAB/AAAA3+j63j/////OWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: SIGetType + size: 612 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: TypeTime + size: 32 + flags: 2 + section: .bss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: cmdTypeAndStatus$1067 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: GetTypeCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: SITransfer + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 496 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 520 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 524 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 11 + addend: 0 diff --git a/assets/SIInit.yml b/assets/SIInit.yml new file mode 100644 index 0000000..880ebaf --- /dev/null +++ b/assets/SIInit.yml @@ -0,0 +1,969 @@ +- symbol: 0 + hash: 412c6cb1221a1ae17754f3906f12582fd724532d + signature: fAgCpv////88YAAA//8AAJABAAT/////OMMAAP//AAA4oP///////5Qh//j/////PIDMAP////84AAAA/////5CmAGD/////kKYAQP////+QpgAg/////5CmAAD/////kARkMP////84pGQA/////4QFADT/////VAAH//////9Agv/0/////zwAgAD/////PGAAAP//AACQBQAA/////ziDAAD//wAAOGAAFP////9IAAAB/AAAAzhgCAD/////SAAAAfwAAAOAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: SIInit + size: 116 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Function + name: SIIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: adc9a6dcbbe18592f4aafbe4d0f333e215ae8604 + signature: fAgCpv////88YAAA//8AAJABAAT/////OMMAAP//AAA4oP///////5Qh//j/////PIDMAP////84AAAA/////5CmAGD/////kKYAQP////+QpgAg/////5CmAAD/////kARkMP////84pGQA/////4QFADT/////VAAH//////9Agv/0/////zwAgAD/////PGAAAP//AACQBQAA/////ziDAAD//wAAOGAAFP////9IAAAB/AAAAzhgCAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAf////9IAAAB/AAAAzhgAAL/////SAAAAfwAAAM4YAAD/////0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: SIInit + size: 148 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: b6fed773a9ad407829052f42818a554d3055776b + signature: fAgCpv////88YAAA//8AAJABAAT/////OMMAAP//AAA8YAAA//8AAJQh//j/////OKD///////84gwAA//8AAJCmAGD/////OAAAAP////84YAAA/////5CmAED/////kKYAIP////+QpgAA/////5AEAAT/////SAAAAfwAAAM8YMwA/////ziDZAD/////hAQANP////9UAAf//////0CC//T/////PACAAP////88YAAA//8AAJAEAAD/////OIMAAP//AAA4YAAU/////0gAAAH8AAADOGAIAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADOGAAAv////9IAAAB/AAAAzhgAAP/////SAAAAfwAAAOAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: SIInit + size: 164 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: c13406e3e1aeff629ed3b6c60845eedb0e3d2bf4 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAAOAD///////+QHwBg/////5AfAED/////kB8AIP////+QHwAA/////zgAAAD/////PGAAAP//AAA4YwAA//8AAJADAAT/////OGAAAP////9IAAAB/AAAAzxgzAD/////gANkNP////9UAAf//////0CC//T/////PACAAP////88YMwA/////5ADZDT/////OGAAFP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAgA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAAzhgAAH/////SAAAAfwAAAM4YAAC/////0gAAAH8AAADOGAAA/////9IAAAB/AAAA4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: SIInit + size: 172 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 479f2e3bbb4bf81f055d3f9a75ba28c9c1b0484a + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAAgGAAAP/gAABIAAAB/AAAAzgA////////kB8AYP////+QHwBA/////5AfACD/////kB8AAP////84AAAA/////zxgAAD//wAAOGMAAP//AACQAwAE/////zhgAAD/////SAAAAfwAAAM8YMwA/////4ADZDT/////VAAH//////9Agv/0/////zwAgAD/////PGDMAP////+QA2Q0/////zhgABT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAIAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADOGAAAv////9IAAAB/AAAAzhgAAP/////SAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SIInit + size: 180 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: __SIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: 44065e9f6f879ffb118a1f792a4eca7d3017cda2 + signature: fAgCpv////88gAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvkAAD//wAAgGAAAP/gAABIAAAB/AAAAzig////////kL8AYP////88YAAA//8AADiDAAD//wAAkL8AQP////84AAAA/////zhgAAD/////kL8AIP////+QvwAA/////5AEAAT/////SAAAAfwAAAM8YMwA/////ziDZAD/////hAQANP////9UAAf//////0CC//T/////PACAAP////88YAAA//8AAJAEAAD/////OIMAAP//AAA4YAAU/////0gAAAH8AAADOGAIAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADOGAAAv////9IAAAB/AAAAzhgAAP/////SAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SIInit + size: 180 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: __SIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: fa876e50ff64d3288ef762e3ab0383344ccf9685 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAAAA/////0CCAJz/////gGAAAP/gAABIAAAB/AAAAzzAAAD//wAAPIAAAP//AAA4pgAA//8AADjg////////OIQAAP//AAA4AAAA/////5DlAGD/////OGAAAP////+Q5QBA/////5DlACD/////kOYAAP//AACQBAAE/////0gAAAH8AAADPGDNAP////+AA2Q0/////1QAB///////QIL/+P////88YM0A/////zwAgAD/////PIAAAP//AACQA2Q0/////ziEAAD//wAAOGAAFP////9IAAAB/AAAAzhgCAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAf////9IAAAB/AAAAzhgAAL/////SAAAAfwAAAM4YAAD/////0gAAAH8AAADOAAAAf////+QAAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: SIInit + size: 192 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@SIInit__Fv@Initialized' + size: 4 + flags: 5 + section: .sbss + - kind: Object + name: __SIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 05080e9560422e3f63484be8beae8d400cbd2077 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAAAA/////0CCAJz/////gGAAAP/gAABIAAAB/AAAAzzAAAD//wAAPIAAAP//AAA44P///////zgAAAD/////OKYAAP//AAA4hAAA//8AAJDlAGD/////OGAAAP////+Q5QBA/////5DlACD/////kOYAAP//AACQBAAE/////0gAAAH8AAADPGDNAP////+AA2Q0/////1QAB///////QIL/+P////88AIAA/////zxgzQD/////PIAAAP//AACQA2Q0/////ziEAAD//wAAOGAAFP////9IAAAB/AAAAzhgCAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOGAAAf////9IAAAB/AAAAzhgAAL/////SAAAAfwAAAM4YAAD/////0gAAAH8AAADOAAAAf////+QAAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: SIInit + size: 192 + flags: 1 + section: .text + - kind: Object + name: Initialized$694 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __SIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: c6b343901bfdc2bae897cb917d39e8de46392ca8 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAAAA/////0CCALj/////gGAAAP/gAABIAAAB/AAAAzgA////////PGAAAP//AAA4YwAA//8AAJADAGD/////PGAAAP//AAA4YwAA//8AAJADAED/////PGAAAP//AAA4YwAA//8AAJADACD/////PGAAAP//AACQAwAA//8AADgAAAD/////PGAAAP//AAA4YwAA//8AAJADAAT/////OGAAAP////9IAAAB/AAAAzxgzQD/////gANkNP////9UAAf+/////ywAAAD/////QIL/8P////88AIAA/////zxgzQD/////kANkNP////84YAAU/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAIAP////9IAAAB/AAAAzhgAAD/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADOGAAAv////9IAAAB/AAAAzhgAAP/////SAAAAfwAAAM4AAAB/////5AAAAD/4AAAgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: SIInit + size: 220 + flags: 1 + section: .text + - kind: Object + name: Initialized$732 + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __SIVersion + size: 4 + flags: 1 + section: .sdata + - kind: Function + name: OSRegisterVersion + size: 0 + flags: 1 + section: .text + - kind: Object + name: Packet + size: 128 + flags: 2 + section: .bss + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: SISetSamplingRate + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SIGetType + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/SISetSamplingRate.yml b/assets/SISetSamplingRate.yml new file mode 100644 index 0000000..6a17b41 --- /dev/null +++ b/assets/SISetSamplingRate.yml @@ -0,0 +1,525 @@ +- symbol: 0 + hash: 93548cde9e260d7c01cf8c64ad1eb6aa436e99cc + signature: lCH/4P////98CAKm/////ygDAAv/////kAEAJP////+T4QAc/////z/gAAD//wAAO/8AAP//AACTwQAY/////5OhABT/////fH0beP////9AgQAI/////zugAAv/////SAAAAfwAAAOToAAA/+AAAHx+G3j/////SAAAAfwAAAMsAwAA/////0GCACD/////KAMAAv////9BggAY/////ygDAAX/////QYIAEP////8oAwAB/////0GCABD/////SAAAFP////84vwAA/////0gAACD/////OL8AMP////9IAAAY/////zh/AGD/////TMYxgv////9IAAAB/AAAAzugAAD/////OL8AAP////88YMwA/////1egEDr/////oIMgbP////98ZQIU/////3wFAi7/////VIUH/v////+IgwAC/////zhlAAH/////fGMB1v////9IAAAB/AAAA3/D83j/////SAAAAfwAAAOAAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: SISetSamplingRate + size: 212 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: d4a8fbcf13ebf0bce543ebf78f81c71f0dfd4bf9 + signature: lCH/4P////98CAKm/////ygDAAv/////kAEAJP////+T4QAc/////z/gAAD//wAAO/8AAP//AACTwQAY/////5OhABT/////fH0beP////9AgQAI/////zugAAv/////SAAAAfwAAAOToAAA/+AAAHx+G3j/////SAAAAfwAAAMsAwAC/////0GCACT/////QIAAFP////8sAwAA/////0GCABj/////QIAAHP////9IAAAg/////ywDAAX/////QYIACP////9IAAAU/////zi/AAD/////SAAAIP////84vwAw/////0gAABj/////OH8AYP////9MxjGC/////0gAAAH8AAADO6AAAP////84vwAA/////zxgzAD/////V6AQOv////+ggyBs/////3xlAhT/////fAUCLv////9UhQf+/////4iDAAL/////OGUAAf////98YwHW/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: SISetSamplingRate + size: 216 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: d66f88467d7915ce5054a4fded3f0606413b7f3d + signature: fAgCpv////+QAQAE/////5Qh/+D/////k+EAHP////+TwQAY/////5OhABT/////O6MAAP////8oHQAL/////zxgAAD//wAAO+MAAP//AABAgQAI/////zugAAv/////SAAAAfwAAAOToAAA/+AAAHx+G3j/////SAAAAfwAAAMsAwAC/////0GCACT/////QIAAFP////8sAwAA/////0GCABj/////QIAAHP////9IAAAg/////ywDAAX/////QYIACP////9IAAAU/////3/k+3j/////SAAAIP////84nwAw/////0gAABj/////OH8AYP////9MxjGC/////0gAAAH8AAADO6AAAP////84nwAA/////zxgzAD/////oAMgbP////9UAAf//////0GCAAz/////OKAAAv////9IAAAI/////zigAAH/////V6MQOv////98BBou/////3xkGhT/////iIMAAv////98ZQHW/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////OCEAIP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetSamplingRate + size: 228 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: a59087431baa0346170d93c85f928ee08c6fe055 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v2EAFP////87wwAA/////zxgAAD//wAAO+MAAP//AAAoHgAL/////0CBABj/////OH8AYP////84gAF2/////zi/AHT/////TMYxgv////9IAAAB/AAAAygeAAv/////QIEACP////87wAAL/////0gAAAH8AAADfHsbeP////+TwAAA/+AAAEgAAAH8AAADLAMAAv////9BggAk/////0CAABT/////LAMAAP////9BggAY/////0CAABz/////SAAAIP////8sAwAF/////0GCAAj/////SAAAFP////9//ft4/////0gAACD/////O78AMP////9IAAAY/////zh/AKj/////TMYxgv////9IAAAB/AAAAzvAAAD/////f/37eP////88YMwA/////6ADIGz/////VBwH/v////8sHAAA/////0GCAAz/////OGAAAv////9IAAAI/////zhgAAH/////V8AQOv////98HQIu/////3xjAdb/////V8QQOv////84BAAC/////3ydAK7/////SAAAAfwAAAN/Y9t4/////0gAAAH8AAADgAEALP////+7YQAU/////zghACj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: SISetSamplingRate + size: 248 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: a7ff7054fc42454967b4bfbda83658790b59bee5 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////PGAAAP//AAA7owAA//8AADtAAAH/////KB4AC/////9AgQAo/////zh9AGD/////OIABg/////84vQB0/////0zGMYL/////SAAAAfwAAAM7AAAA/////ywYAAD/////QIIACP////87QAAA/////ygeAAv/////QIEACP////87wAAL/////0gAAAH8AAADfHsbeP////+TwAAA/+AAAEgAAAH8AAADLAMAAv////9BggAk/////0CAABT/////LAMAAP////9BggAY/////0CAABz/////SAAAIP////8sAwAF/////0GCAAj/////SAAAFP////87/QAA/////0gAACD/////O/0AMP////9IAAAY/////zh9AKj/////TMYxgv////9IAAAB/AAAAzvAAAD/////O/0AAP////88YMwA/////6ADIGz/////VBwH/v////8sHAAA/////0GCAAz/////OyAAAv////9IAAAI/////zsgAAH/////V8AQOv////98HwIu/////3x5Adb/////V8AQOv////98nwIU/////4iEAAL/////SAAAAfwAAAN/Y9t4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: SISetSamplingRate + size: 276 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 980910f4633ccc6f35447e164bf6240c8be2457d + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x+G3j/////PGAAAP//AAA7owAA//8AADuAAAH/////KB4AC/////9AgQAo/////zh9AGD/////OIABg/////84vQB0/////0zGMYL/////SAAAAfwAAAM7AAAA/////ywYAAD/////QIIACP////87gAAA/////ygeAAv/////QIEACP////87wAAL/////0gAAAH8AAADfHkbeP////+TwAAA/+AAAEgAAAH8AAADLAMAAv////9BggAk/////0CAABT/////LAMAAP////9BggAY/////0CAABz/////SAAAIP////8sAwAF/////0GCAAj/////SAAAFP////87/QAA/////0gAACD/////O/0AMP////9IAAAY/////zh9AKj/////TMYxgv////9IAAAB/AAAAzvAAAD/////O/0AAP////88YMwA/////6ADIGz/////VBoH/v////8sGgAA/////0GCAAz/////O2AAAv////9IAAAI/////ztgAAH/////V8AQOv////98HwIu/////3x7Adb/////V8AQOv////98nwIU/////4iEAAL/////SAAAAfwAAAN/I8t4/////0gAAAH8AAADOWEAMP////9IAAAB/AAAA4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: SISetSamplingRate + size: 276 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: XYNTSC + size: 48 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: SamplingRate + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: VIGetTvFormat + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: SISetXY + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 10 + addend: 0 diff --git a/assets/SISetXY.yml b/assets/SISetXY.yml new file mode 100644 index 0000000..0d4d4d7 --- /dev/null +++ b/assets/SISetXY.yml @@ -0,0 +1,508 @@ +- symbol: 0 + hash: fcb79813708b29a87d6f83af70e191d96aa07e8b + signature: lCH/8P////98CAKm/////5ABABT/////VIBALv////+T4QAM/////1R/gB7/////f/8DeP////9IAAAB/AAAAzygAAD//wAAPIDNAP////84pQAA//8AAIAFAAT/////VAAGCv////98H/t4/////5PlAAT/////k+RkMP////9IAAAB/AAAA3/j+3j/////g+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: SISetXY + size: 92 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 360f5bd3e219095416b58ef6724b6ca4fc4db79c + signature: fAgCpv////+QAQAE/////1SAQC7/////lCH/6P////+T4QAU/////1R/gB7/////f/8DeP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACEBAAE/////1QABgr/////kAQAAP////+ABAAA/////3wA+3j/////kAQAAP////+D5AAA/////0gAAAH8AAADf+P7eP////+AAQAc/////4PhABT/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetXY + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: d1a3970deb92f6711b930996ef06eacf1d6ebc8f + signature: fAgCpv////+QAQAE/////1SAQC7/////lCH/6P////+T4QAU/////1R/gB7/////f/8DeP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACEBAAE/////1QABgr/////kAQAAP////+ABAAA/////3wA+3j/////kAQAAP////+D5AAA/////0gAAAH8AAADgAEAHP////9/4/t4/////4PhABT/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetXY + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 3235f7e37a71d8b42859850ca153bcf7ba1c524b + signature: fAgCpv////+QAQAE/////1SAQC7/////lCH/6P////+T4QAU/////1R/gB7/////f/8DeP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABAAE/////zikAAT/////PIDMAP////9UAAYK/////5AFAAD/////gAUAAP////98APt4/////5AFAAD/////g+UAAP////+T5GQw/////0gAAAH8AAADf+P7eP////+AAQAc/////4PhABT/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetXY + size: 108 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 55dfc8f2a47e1f9997f2b08fccde67e264223d96 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v2EAFP////87owAA/////ztkAAD/////PGAAAP//AAA74wAA//8AACgdAAj/////QIAAGP////84fwAk/////ziAAxf/////OL8BpP////9MxjGC/////0gAAAH8AAADKB0D//////9AgQAY/////zh/ACT/////OIADGP////84vwGk/////0zGMYL/////SAAAAfwAAAMoGwD//////0CBABj/////OH8AJP////84gAMZ/////zi/AdT/////TMYxgv////9IAAAB/AAAA1e+gB7/////V2BALv////9/3gN4/////0gAAAH8AAADfHwbeP////+AHwAE/////1QABgr/////kB8ABP////+AHwAE/////3wA83j/////kB8ABP////+D3wAE/////zxgzAD/////k8NkMP////9/g+N4/////0gAAAH8AAADf8PzeP////+AAQAs/////7thABT/////OCEAKP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetXY + size: 204 + flags: 1 + section: .text + - kind: Object + name: Si + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: abd6bb098c6a93f2fff3d7dc10fb576c5056e5a5 + signature: fAgCpv////+QAQAE/////5Qh/9j/////v2EAFP////87owAA/////ztkAAD/////PGAAAP//AAA74wAA//8AACgdAAj/////QIAAGP////84fwBo/////ziAAyP/////OL8B6P////9MxjGC/////0gAAAH8AAADKB0D//////9AgQAY/////zh/AGj/////OIADJP////84vwHo/////0zGMYL/////SAAAAfwAAAMoGwD//////0CBABj/////OH8AaP////84gAMl/////zi/Ahj/////TMYxgv////9IAAAB/AAAA1e+gB7/////V2BALv////9/3gN4/////0gAAAH8AAADfHwbeP////+AHwBI/////1QABgr/////kB8ASP////+AHwBI/////3wA83j/////kB8ASP////+D3wBI/////zxgzAD/////k8NkMP////9/g+N4/////0gAAAH8AAADf8PzeP////+AAQAs/////7thABT/////OCEAKP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: SISetXY + size: 204 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 66 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 519c8ee68ffe90c6163138ba678a2749616e35a3 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x6G3j/////fJkjeP////88YAAA//8AADvDAAD//wAAO6AAAf////8oGgAI/////0CAADD/////OH4AcP////84gAM1/////zi+AfD/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEAEP////+AAQAQ/////ywAAAD/////QIIACP////87oAAA/////zuAAAH/////KBoD//////9AgQAw/////zh+AHD/////OIADNv////84vgHw/////0zGMYL/////SAAAAfwAAAM4AAAA/////5ABAAz/////gAEADP////8sAAAA/////0CCAAj/////O4AAAP////87YAAB/////ygZAP//////QIEAMP////84fgBw/////ziAAzf/////OL4CIP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////ztgAAD/////V1+AHv////9XIEAu/////3//A3j/////SAAAAfwAAAOQYQAU/////zh+AEj/////gAMABP////9UAAYK/////5ADAAT/////OH4ASP////+AAwAE/////3wA+3j/////kAMABP////84fgBI/////4PjAAT/////PGDNAP////+T42Qw/////4BhABT/////SAAAAfwAAAN/4/t4/////zlhAED/////SAAAAfwAAAOAAQBE/////3wIA6b/////OCEAQP////9OgAAg/////w== + symbols: + - kind: Function + name: SISetXY + size: 308 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_25 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_25 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 2313315e44c034fc501641d79e3d6bffbc8bca20 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x5G3j/////fJgjeP////88YAAA//8AADvDAAD//wAAO4AAAf////8oGQAI/////0CAADD/////OH4AaP////84gAM1/////zi+Aej/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEAEP////+AAQAQ/////ywAAAD/////QIIACP////87gAAA/////ztgAAH/////KBkD//////9AgQAw/////zh+AGj/////OIADNv////84vgHo/////0zGMYL/////SAAAAfwAAAM4AAAA/////5ABAAz/////gAEADP////8sAAAA/////0CCAAj/////O2AAAP////87QAAB/////ygYAP//////QIEAMP////84fgBo/////ziAAzf/////OL4CGP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////ztAAAD/////Vz+AHv////9XAEAu/////3//A3j/////SAAAAfwAAAN8fRt4/////zh+AET/////gAMABP////9UAAYK/////5ADAAT/////OH4ARP////+AAwAE/////3wA+3j/////kAMABP////84fgBE/////4PjAAT/////PGDNAP////+T42Qw/////3+j63j/////SAAAAfwAAAN/4/t4/////zlhAED/////SAAAAfwAAAOAAQBE/////3wIA6b/////OCEAQP////9OgAAg/////w== + symbols: + - kind: Function + name: SISetXY + size: 308 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 67 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: e9bd338fae6f31975d9898894cc3178865675f95 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x5G3j/////fJgjeP////88YAAA//8AADvDAAD//wAAO4AAAf////8oGQAI/////0CAADD/////OH4AcP////84gAM1/////zi+AfD/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEAEP////+AAQAQ/////ywAAAD/////QIIACP////87gAAA/////ztgAAH/////KBkD//////9AgQAw/////zh+AHD/////OIADNv////84vgHw/////0zGMYL/////SAAAAfwAAAM4AAAA/////5ABAAz/////gAEADP////8sAAAA/////0CCAAj/////O2AAAP////87QAAB/////ygYAP//////QIEAMP////84fgBw/////ziAAzf/////OL4CIP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////ztAAAD/////Vz+AHv////9XAEAu/////3//A3j/////SAAAAfwAAAN8fRt4/////zh+AEj/////gAMABP////9UAAYK/////5ADAAT/////OH4ASP////+AAwAE/////3wA+3j/////kAMABP////84fgBI/////4PjAAT/////PGDNAP////+T42Qw/////3+j63j/////SAAAAfwAAAN/4/t4/////zlhAED/////SAAAAfwAAAOAAQBE/////3wIA6b/////OCEAQP////9OgAAg/////w== + symbols: + - kind: Function + name: SISetXY + size: 308 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1' + size: 69 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/TRKEXICallBack.yml b/assets/TRKEXICallBack.yml new file mode 100644 index 0000000..7f56462 --- /dev/null +++ b/assets/TRKEXICallBack.yml @@ -0,0 +1,56 @@ +- symbol: 0 + hash: adc2603b85fc094a88704359450171b0524bd6f1 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////98nyN4/////0gAAAH8AAADf+P7eP////84gAUA/////0gAAAH8AAADg+EADP////84IQAQ/////4ABAAT/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: TRKEXICallBack + size: 56 + flags: 1 + section: null + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TRKLoadContext + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 275dee48926851e503006205088214bed1847031 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98nyN4/////0gAAAH8AAADf+P7eP////84gAUA/////0gAAAH8AAADgAEAFP////+D4QAM/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKEXICallBack + size: 56 + flags: 1 + section: null + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: TRKLoadContext + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/TRKExceptionHandler.yml b/assets/TRKExceptionHandler.yml new file mode 100644 index 0000000..01719f0 --- /dev/null +++ b/assets/TRKExceptionHandler.yml @@ -0,0 +1,31 @@ +- symbol: 0 + hash: ab3e7b03efa016969a69a81f64e665638cd3cfc4 + signature: PEAAAP//AABgQgAA//8AALBiAAj/////fHoCpv////+QYgAA/////6BiAAj/////LAMCAP////9BggBQ/////ywDAwD/////QYIASP////8sAwQA/////0GCAED/////LAMGAP////9BggA4/////ywDBwD/////QYIAMP////8sAwgA/////0GCACj/////LAMQAP////9BggAg/////ywDEQD/////QYIAGP////8sAxIA/////0GCABD/////LAMTAP////9BggAI/////0gAABD/////fHoCpv////84YwAE/////3x6A6b/////PEAAAP//AABgQgAA//8AADhgAAH/////mGIADf////98c0Km/////3xv8SD/////fFFCpv////98ckKm/////0wAAGT///// + symbols: + - kind: Function + name: TRKExceptionHandler + size: 156 + flags: 1 + section: null + - kind: Object + name: gTRKExceptionStatus + size: 16 + flags: 2 + section: .data + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 120 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/TRKInitializeIntDrivenUART.yml b/assets/TRKInitializeIntDrivenUART.yml new file mode 100644 index 0000000..95d1894 --- /dev/null +++ b/assets/TRKInitializeIntDrivenUART.yml @@ -0,0 +1,196 @@ +- symbol: 0 + hash: 33fce890e83eea94a6c777ab58da804107a405f5 + signature: lCH/8P////98CAKm/////zyAAAD//wAAPGAAAP//AACQAQAU/////ziEAAD//wAAgYMAAP//AAB8wzN4/////32JA6b/////ToAEIf////+AAQAU/////zhgAAD/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: TRKInitializeIntDrivenUART + size: 60 + flags: 1 + section: null + - kind: Function + name: TRKEXICallBack + size: 0 + flags: 1 + section: null + - kind: Object + name: gDBCommTable + size: 28 + flags: 1 + section: .data + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: 9c78e3f67eaba576ca74e616ea4a805fe28b09bc + signature: fAgCpv////+QAQAE/////5Qh//j/////PGAAAP//AAA4YwAA//8AADyAAAD//wAAgYMAAP////84hAAA//8AAHzDM3j/////fYgDpv////9OgAAh/////zhgAAD/////OCEACP////+AAQAE/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: TRKInitializeIntDrivenUART + size: 64 + flags: 1 + section: null + - kind: Object + name: gDBCommTable + size: 28 + flags: 1 + section: .data + - kind: Function + name: TRKEXICallBack + size: 0 + flags: 1 + section: null + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: 5a03fd9b9149fe7a7552f6817f24b15b16ed9796 + signature: lCH/8P////98CAKm/////zyAAAD//wAAPGAAAP//AACQAQAU/////ziEAAD//wAAgYMAAP//AAB8wzN4/////32JA6b/////ToAEIf////88YAAA//8AADhjAAD//wAAgYMAGP////99iQOm/////06ABCH/////gAEAFP////84YAAA/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKInitializeIntDrivenUART + size: 80 + flags: 1 + section: null + - kind: Function + name: TRKEXICallBack + size: 0 + flags: 1 + section: null + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .data + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: daac0bb86870ed2fdee919472ee374758a3faf48 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADyAAAD//wAAgZ8AAP//AAB8wzN4/////ziEAAD//wAAfYkDpv////9OgAQh/////zh/AAD//wAAgYMAGP////99iQOm/////06ABCH/////OGAAAP////+AAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: TRKInitializeIntDrivenUART + size: 84 + flags: 1 + section: null + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .bss + - kind: Function + name: TRKEXICallBack + size: 0 + flags: 1 + section: null + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 1f834e30ffebd610c9629d1cd596a2299f7fb729 + signature: lCH/8P////98CAKm/////zyAAAD//wAAfKMreP////+QAQAU/////ziEAAD//wAAk+EADP////8/4AAA//8AAIGfAAD//wAAfYkDpv////9OgAQh/////zh/AAD//wAAgYMAGP////99iQOm/////06ABCH/////g+EADP////84YAAA/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: TRKInitializeIntDrivenUART + size: 84 + flags: 1 + section: null + - kind: Function + name: TRKEXICallBack + size: 0 + flags: 1 + section: null + - kind: Object + name: gDBCommTable + size: 40 + flags: 1 + section: .bss + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 diff --git a/assets/TRKInitializeNub.yml b/assets/TRKInitializeNub.yml new file mode 100644 index 0000000..d28de65 --- /dev/null +++ b/assets/TRKInitializeNub.yml @@ -0,0 +1,825 @@ +- symbol: 0 + hash: 0f9fc566b0e31821701f9174609869f65ce186ee + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADLAMAAP////98fxt4/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAMsHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAs/////zhgAAH/////OIAAAP////84oAAA/+AAAEgAAAH8AAADfH4beP////+AYAAA/+AAAEgAAAH8AAADLB4AAP////9BggAI/////3/f83j/////f+P7eP////+D4QAM/////4PBAAj/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRKInitializeNub + size: 172 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEndian + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: InitializeProgramEndTrap + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 124 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: 11a85998d4f05228deb28242c103dd2ce3a95c85 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADLAMAAP////98fxt4/////0CCAAj/////SAAAAfwAAAMsHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////9IAAAB/AAAAywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCADT/////PGAAAf////84gAAB/////zhj4QD/////OKAAAP////84wAAA/+AAAEgAAAH8AAADfH4beP////+AYAAA/+AAAEgAAAH8AAADLB4AAP////9BggAI/////3/f83j/////f+P7eP////+AAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRKInitializeNub + size: 208 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEndian + size: 0 + flags: 1 + section: null + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Function + name: InitializeProgramEndTrap + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: d922a7c5bfc474bb9db77da8a1facebe460e8f6a + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////0gAAAH8AAADfH4bef////9AggAI/////0gAAAH8AAADLB4AAP////9AggAM/////0gAAAH8AAADfH4beP////8sHgAA/////0CCAAz/////SAAAAfwAAAN8fht4/////yweAAD/////QIIADP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggBA/////zxgAAD//wAAO+MAAP//AAA8YAAB/////zjfAAD/////OGPhAP////84gAAB/////zigAAD/////SAAAAfwAAAN8YBt4/////4B/AAD/////fB8DeP////9IAAAB/AAAAywfAAD/////QYIACP////9//vt4/////yweAAD/////QIIADP////9IAAAB/AAAA3x+G3j/////LB4AAP////9AggAM/////0gAAAH8AAADfH4beP////9/w/N4/////4PhAAz/////g8EACP////84IQAQ/////4ABAAT/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: TRKInitializeNub + size: 212 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEndian + size: 0 + flags: 1 + section: null + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .bss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: eac9cbcfe559caf5c2a004c02f4d709216f0d4a4 + signature: lCH/4P////98CAKm/////zigABL/////OIAANP////+QAQAk/////zhgAFb/////OAAAeP////84wAAB/////5ihAAj/////PKAAAP//AACT4QAc/////zvgAAD/////k8EAGP////+YgQAJ/////5hhAAr/////mAEAC/////+AYQAI/////5TFAAD//wAAPAPtzP////8oAFZ4/////0CCAAz/////kMUAAP////9IAAAc/////zwDh6r/////KAA0Ev////9AggAM/////5PlAAD/////SAAACP////983zN4/////ywfAAD/////QIIACP////9IAAAB/AAAAywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIARP////88YAAA//8AADygAAH/////OMMAAP//AAA4gAAB/////zhl4QD/////OKAAAP////9IAAAB/AAAAzyAAAD//wAAfGAbeP////84ZAAA//8AAIBjAAD/////fB4DeP////9IAAAB/AAAAyweAAD/////QYIACP////9/3/N4/////ywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////+AAQAk/////3/j+3j/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKInitializeNub + size: 308 + flags: 1 + section: null + - kind: Object + name: gTRKBigEndian + size: 4 + flags: 1 + section: .bss + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .bss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: dd879376591055a5753a694b50bb3cbe27d3f33a + signature: lCH/4P////98CAKm/////zigABL/////OIAANP////+QAQAk/////zhgAFb/////OAAAeP////84wAAB/////5ihAAj/////PKAAAP//AACT4QAc/////zvgAAD/////k8EAGP////+YgQAJ/////5hhAAr/////mAEAC/////+AYQAI/////5TFAAD//wAAPAPtzP////8oAFZ4/////0CCAAz/////kMUAAP////9IAAAc/////zwDh6r/////KAA0Ev////9AggAM/////5PlAAD/////SAAACP////983zN4/////ywfAAD/////QIIACP////9IAAAB/AAAAywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADLB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIARP////88YAAA//8AADygAAH/////OMMAAP//AAA4gAAB/////zhl4QD/////OKAAAP////9IAAAB/AAAAzyAAAD//wAAfGAbeP////84ZAAA//8AAIBjAAD/////fB4DeP////9IAAAB/AAAAyweAAD/////QYIACP////9/3/N4/////4ABACT/////f+P7eP////+D4QAc/////4PBABj/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: TRKInitializeNub + size: 312 + flags: 1 + section: null + - kind: Object + name: gTRKBigEndian + size: 4 + flags: 1 + section: .bss + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Function + name: InitializeProgramEndTrap + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: a3ec4343ae0b135dabc237f063f0de57dc73b8f8 + signature: lCH/4P////98CAKm/////zigABL/////OIAANP////+QAQAk/////zhgAFb/////OAAAeP////84wAAB/////5ihAAj/////PKAAAP//AACT4QAc/////zvgAAD/////k8EAGP////+YgQAJ/////5hhAAr/////mAEAC/////+AYQAI/////5TFAAD//wAAPAPtzP////8oAFZ4/////0CCAAz/////kMUAAP////9IAAAc/////zwDh6r/////KAA0Ev////9AggAM/////5PlAAD/////SAAACP////983zN4/////ywfAAD/////QIIACP////9IAAAB/AAAAywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADLB8AAP////9AggBE/////zxgAAD//wAAPKAAAf////84wwAA//8AADiAAAH/////OGXhAP////84oAAA/////0gAAAH8AAADPIAAAP//AAB8YBt4/////zhkAAD//wAAgGMAAP////98HgN4/////0gAAAH8AAADLB4AAP////9BggAI/////3/f83j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////4ABACT/////f+P7eP////+D4QAc/////4PBABj/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: TRKInitializeNub + size: 312 + flags: 1 + section: null + - kind: Object + name: gTRKBigEndian + size: 4 + flags: 1 + section: .bss + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Function + name: InitializeProgramEndTrap + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .bss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 851b2b7e158863a6eb5fcef1dc487940b09bba36 + signature: lCH/4P////98CAKm/////zigABL/////OIAANP////+QAQAk/////zhgAFb/////OAAAeP////84wAAB/////5ihAAj/////PKAAAP//AACT4QAc/////zvgAAD/////k8EAGP////+YgQAJ/////5hhAAr/////mAEAC/////+AYQAI/////5TFAAD//wAAPAPtzP////8oAFZ4/////0CCAAz/////kMUAAP////9IAAAc/////zwDh6r/////KAA0Ev////9AggAM/////5PlAAD/////SAAACP////983zN4/////zxgAAD//wAAOIMAAP//AAA4YAAB/////0zGMYL/////SAAAAfwAAAMsHwAA/////0CCAAj/////SAAAAfwAAAMsHwAA/////0CCAAz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////9IAAAB/AAAAywfAAD/////QIIADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9AggAM/////0gAAAH8AAADfH8beP////8sHwAA/////0CCAET/////PGAAAP//AAA8oAAB/////zjDAAD//wAAOIAAAf////84ZeEA/////zigAAD/////SAAAAfwAAAM8gAAA//8AAHxgG3j/////OGQAAP//AACAYwAA/////3weA3j/////SAAAAfwAAAMsHgAA/////0GCAAj/////f9/zeP////+AAQAk/////3/j+3j/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKInitializeNub + size: 332 + flags: 1 + section: null + - kind: Object + name: gTRKBigEndian + size: 4 + flags: 1 + section: .bss + - kind: Object + name: '@154' + size: 16 + flags: 2 + section: .rodata + - kind: Function + name: MWTRACE + size: 0 + flags: 1 + section: null + - kind: Function + name: usr_put_initialize + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeEventQueue + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeMessageBuffers + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeDispatcher + size: 0 + flags: 1 + section: null + - kind: Function + name: InitializeProgramEndTrap + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeSerialHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeTarget + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKInitializeIntDrivenUART + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetInputPendingPtr + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 248 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 13 + addend: 0 diff --git a/assets/TRKInterruptHandler.yml b/assets/TRKInterruptHandler.yml new file mode 100644 index 0000000..e9da4ea --- /dev/null +++ b/assets/TRKInterruptHandler.yml @@ -0,0 +1,175 @@ +- symbol: 0 + hash: 940bb7f21ab18bce281eaa10d24739d5325075b7 + signature: fFoDpv////98mwOm/////3yTQqb/////fEAAJv////98U0Om/////zxAAAD//wAAYEIAAP//AACAQgCM/////2BCgAL/////aEKAAv////98AASs/////3xAAST/////fAAErP////88QAAA//8AAGBCAAD//wAAsGIAAP////8sAwUA/////0CCAIT/////PEAAAP//AABgQgAA//8AAHxoAqb/////kGIELP////9IAAAB/AAAAzxAAAD//wAAYEIAAP//AACAYgQs/////3xoA6b/////PEAAAP//AABgQgAA//8AAIBCAKD/////iEIAAP////8sAgAA/////0GCACz/////PEAAAP//AABgQgAA//8AAIhCAAz/////LAIAAf////9BggAY/////zxAAAD//wAAYEIAAP//AAA4YAAB/////5hiAJz/////SAAAIP////88QAAA//8AAGBCAAD//wAAgGIAiP////98b/Eg/////4BiAAz/////gEIACP////9MAABk/////zxAAAD//wAAYEIAAP//AACgYgAA/////zxAAAD//wAAYEIAAP//AACIQgAM/////ywCAAD/////QIIAAP//AAM8QAAA//8AAGBCAAD//wAAkAIAAP////+QIgAE/////3wRQqb/////kAIACP////+wYgL4/////7BiAvr/////fBJCpv////+QAgAM/////7yCABD/////f3oCpv////9/iAKm/////3+zQqb/////f8kCpv////9/4QKm/////79iAID/////SAAAAfwAAAM8QAAA//8AAGBCAAD//wAAOGAAAf////+YYgAM/////zxAAAD//wAAYEIAAP//AACAAgCM/////3wABKz/////fAABJP////98AASs/////4ACAID/////fAgDpv////+AAgCE/////3wJA6b/////gAIAiP////98AQOm/////4ACAJT/////fBIDpv////+AAgCQ/////3wTA6b/////uGIADP////+AAgAA/////4AiAAT/////gEIACP////9IAAAA/AAAAw== + symbols: + - kind: Function + name: TRKInterruptHandler + size: 404 + flags: 1 + section: null + - kind: Object + name: gTRKState + size: 164 + flags: 1 + section: .bss + - kind: Object + name: TRK_saved_exceptionID + size: 2 + flags: 2 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + - kind: Function + name: TRKUARTInterruptHandler + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKExceptionStatus + size: 16 + flags: 2 + section: .data + - kind: Object + name: gTRKSaveState + size: 148 + flags: 1 + section: .bss + - kind: Function + name: TRKExceptionHandler + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKSaveExtended1Block + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKPostInterruptEvent + size: 0 + flags: 1 + section: null + relocations: + - offset: 20 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 132 + kind: PpcAddr16Hi + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 172 + kind: PpcAddr16Hi + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 212 + kind: PpcAddr16Hi + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcRel14 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 304 + kind: PpcAddr16Hi + symbol: 5 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 9 + addend: 0 diff --git a/assets/TRKInterruptHandlerEnableInterrupts.yml b/assets/TRKInterruptHandlerEnableInterrupts.yml new file mode 100644 index 0000000..5e0151c --- /dev/null +++ b/assets/TRKInterruptHandlerEnableInterrupts.yml @@ -0,0 +1,32 @@ +- symbol: 0 + hash: ad1e363a52dd88252a4e726dce6f01c658f34869 + signature: PEAAAP//AABgQgAA//8AAIACAIz/////fAAErP////98AAEk/////3wABKz/////gAIAgP////98CAOm/////4ACAIT/////fAkDpv////+AAgCI/////3wBA6b/////gAIAlP////98EgOm/////4ACAJD/////fBMDpv////+4YgAM/////4ACAAD/////gCIABP////+AQgAI/////0gAAAD8AAAD + symbols: + - kind: Function + name: TRKInterruptHandlerEnableInterrupts + size: 84 + flags: 1 + section: null + - kind: Object + name: gTRKState + size: 164 + flags: 1 + section: .bss + - kind: Function + name: TRKPostInterruptEvent + size: 0 + flags: 1 + section: null + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/TRKLoadContext.yml b/assets/TRKLoadContext.yml new file mode 100644 index 0000000..3209bb4 --- /dev/null +++ b/assets/TRKLoadContext.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 39c774370cd691f26d7a4369050c34e1c0520adc + signature: gAMAAP////+AIwAE/////4BDAAj/////oKMBov////9Upge9/////0GCABT/////VKUH+v////+wowGi/////7ijABT/////SAAACP////+5owA0/////3x/G3j/////fIMjeP////+AnwCA/////3yP8SD/////gJ8AhP////98iAOm/////4CfAIj/////fIkDpv////+AnwCM/////3yBA6b/////fIAApv////9UhARe/////1SEB/r/////fIABJP////98UUOm/////4CfAAz/////fJJDpv////+AnwAQ/////3yTQ6b/////gF8BmP////+AnwGc/////4P/AHz/////SAAAAPwAAAM= + symbols: + - kind: Function + name: TRKLoadContext + size: 136 + flags: 1 + section: null + - kind: Function + name: TRKInterruptHandler + size: 0 + flags: 1 + section: null + relocations: + - offset: 132 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/TRKNubMainLoop.yml b/assets/TRKNubMainLoop.yml new file mode 100644 index 0000000..b1ad3b4 --- /dev/null +++ b/assets/TRKNubMainLoop.yml @@ -0,0 +1,494 @@ +- symbol: 0 + hash: d1064a7850a57807406a486a99a67fcae4a56bc0 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////874AAA/////5PBABj/////O8AAAP////9IAACw/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAGj/////gGEACP////87wAAA/////zgD//3/////KAAAAf////9AgQA4/////ywDAAL/////QYIAGP////8sAwAB/////0GCACD/////LAMABf////9BggAs/////0gAACz/////gGEAEP////9IAAAB/AAAA0gAAAH8AAADSAAAHP////874AAB/////0gAABT/////OGEACP////9IAAAB/AAAA0gAAAj/////SAAAAfwAAAM4YQAI/////0gAAAH8AAADSAAAPP////8sHgAA/////0GCABT/////gGAAAP/gAACIAwAA/////ywAAAD/////QYIAEP////87wAAB/////0gAAAH8AAADSAAAGP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAAzvAAAD/////LB8AAP////9Bgv9Q/////4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKNubMainLoop + size: 236 + flags: 1 + section: null + - kind: Function + name: TRKGetNextEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKGetBuffer + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDispatchMessage + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetInterrupt + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSupportRequest + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDestructEvent + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKGetInput + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetContinue + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 4b0874d845ffa7553d34cbbe7bfa95bb741af687 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////zvgAAD/////O8AAAP////9IAAC0/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAGz/////gAEACP////87wAAA/////ywAAAL/////QYIAKP////9AgAAU/////ywAAAD/////QYIARP////9AgAAo/////0gAADz/////LAAABf////9BggAw/////0CAADD/////SAAAHP////+AYQAQ/////0gAAAH8AAADSAAAAfwAAANIAAAc/////zvgAAH/////SAAAFP////84YQAI/////0gAAAH8AAADSAAACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAANIAAA8/////yweAAD/////QYIAFP////+AYAAA/+AAAIgDAAD/////LAAAAP////9BggAQ/////zvAAAH/////SAAAAfwAAANIAAAY/////0gAAAH8AAADLAMAAP////9AggAI/////0gAAAH8AAADO8AAAP////8sHwAA/////0GC/0z/////gAEAJP////+D4QAc/////4PBABj/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: TRKNubMainLoop + size: 240 + flags: 1 + section: null + - kind: Function + name: TRKGetNextEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKGetBuffer + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDispatchMessage + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetInterrupt + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSupportRequest + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDestructEvent + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKGetInput + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetContinue + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 969f44fa884d5d5704912064115f5950b7db8f86 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/4P////+T4QAc/////zvjAAD//wAAk8EAGP////87wAAA/////5OhABT/////O6AAAP////9IAACo/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAGz/////iAEACP////87oAAA/////ywAAAL/////QYIAKP////9AgAAU/////ywAAAD/////QYIARP////9AgAAk/////0gAADz/////LAAABf////9BggAs/////0CAADD/////SAAAGP////84YQAI/////0gAAAH8AAADSAAAIP////87wAAB/////0gAABj/////OGEACP////9IAAAB/AAAA0gAAAz/////OGEACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAANIAAAw/////ywdAAD/////QYIAFP////+AfwAA/////4gDAAD/////KAAAAP////9BggAQ/////zugAAH/////SAAAAfwAAANIAAAM/////0gAAAH8AAADO6AAAP////8sHgAA/////0GC/1j/////g+EAHP////+DwQAY/////4OhABT/////OCEAIP////+AAQAE/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: TRKNubMainLoop + size: 244 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .bss + - kind: Function + name: TRKGetNextEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKHandleRequestEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetInterrupt + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKHandleSupportEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDestructEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKGetInput + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKIdle + size: 0 + flags: 1 + section: null + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 9e8d35666e57877f9d33c1b2b0b1c57b447e3b88 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////874AAA/////5PBABj/////O8AAAP////9IAAC8/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAGz/////gAEACP////87wAAA/////ywAAAL/////QYIAKP////9AgAAU/////ywAAAD/////QYIARP////9AgAAo/////0gAADz/////LAAABf////9BggAw/////0CAADD/////SAAAHP////+AYQAQ/////0gAAAH8AAADSAAAAfwAAANIAAAc/////zvgAAH/////SAAAFP////84YQAI/////0gAAAH8AAADSAAACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAANIAABE/////yweAAD/////QYIAHP////88YAAA//8AADhjAAD//wAAgGMAAP////+IAwAA/////ygAAAD/////QYIAEP////87wAAB/////0gAAAH8AAADSAAAGP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAAzvAAAD/////LB8AAP////9Bgv9E/////4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKNubMainLoop + size: 248 + flags: 1 + section: null + - kind: Function + name: TRKGetNextEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKGetBuffer + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDispatchMessage + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetInterrupt + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSupportRequest + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDestructEvent + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: TRKGetInput + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetContinue + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 5e6d2586cade77fcfda4c777956aa9c01a4272db + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////874AAA/////5PBABj/////O8AAAP////9IAAC8/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAGz/////iAEACP////87wAAA/////ywAAAL/////QYIAKP////9AgAAU/////ywAAAD/////QYIARP////9AgAAo/////0gAADz/////LAAABf////9BggAw/////0CAADD/////SAAAHP////+AYQAQ/////0gAAAH8AAADSAAAAfwAAANIAAAc/////zvgAAH/////SAAAFP////84YQAI/////0gAAAH8AAADSAAACP////9IAAAB/AAAAzhhAAj/////SAAAAfwAAANIAABE/////yweAAD/////QYIAHP////88YAAA//8AADhjAAD//wAAgGMAAP////+IAwAA/////ygAAAD/////QYIAEP////87wAAB/////0gAAAH8AAADSAAAGP////9IAAAB/AAAAywDAAD/////QIIACP////9IAAAB/AAAAzvAAAD/////LB8AAP////9Bgv9E/////4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKNubMainLoop + size: 248 + flags: 1 + section: null + - kind: Function + name: TRKGetNextEvent + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKGetBuffer + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDispatchMessage + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetInterrupt + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetSupportRequest + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKDestructEvent + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKInputPendingPtr + size: 4 + flags: 1 + section: .bss + - kind: Function + name: TRKGetInput + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTargetContinue + size: 0 + flags: 1 + section: null + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 10 + addend: 0 diff --git a/assets/TRKNubWelcome.yml b/assets/TRKNubWelcome.yml new file mode 100644 index 0000000..8da3a59 --- /dev/null +++ b/assets/TRKNubWelcome.yml @@ -0,0 +1,96 @@ +- symbol: 0 + hash: 1096e8412ac1a6bc148db28304770dce50786182 + signature: PGAAAP//AAA4YwAA//8AAEgAAAD8AAAD + symbols: + - kind: Function + name: TRKNubWelcome + size: 12 + flags: 1 + section: null + - kind: Object + name: '@stringBase0' + size: 29 + flags: 2 + section: .data + - kind: Function + name: TRK_board_display + size: 0 + flags: 1 + section: null + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: bf1d250aadb41b687ba7d98a7f1a9e3feb36a805 + signature: lCH/8P////98CAKm/////zxgAAD//wAAkAEAFP////84YwAA//8AAEgAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRKNubWelcome + size: 40 + flags: 1 + section: null + - kind: Object + name: '@62' + size: 27 + flags: 2 + section: .rodata + - kind: Function + name: TRK_board_display + size: 0 + flags: 1 + section: null + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: d3a8cc933a90410913d19aa2c6aa838d0e140218 + signature: fAgCpv////88YAAA//8AAJABAAT/////OGMAAP//AACUIf/4/////0gAAAH8AAADOCEACP////+AAQAE/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: TRKNubWelcome + size: 40 + flags: 1 + section: null + - kind: Object + name: '@40' + size: 26 + flags: 2 + section: .rodata + - kind: Function + name: TRK_board_display + size: 0 + flags: 1 + section: null + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/TRKRestoreExtended1Block.yml b/assets/TRKRestoreExtended1Block.yml new file mode 100644 index 0000000..ee9b006 --- /dev/null +++ b/assets/TRKRestoreExtended1Block.yml @@ -0,0 +1,72 @@ +- symbol: 0 + hash: 188f59e23dc0ef4c474149b14f299ba5a3d2abd4 + signature: PEAAAP//AABgQgAA//8AADygAAD//wAAYKUAAP//AACIZQAA/////4jFAAH/////OAAAAP////+YBQAA/////5gFAAH/////LAMAAP////9BggAU/////4MCAej/////gyIB7P////9/HEOm/////389Q6b/////uoIC/P////9+kOOm/////36x46b/////ftLjpv////9+8+Om/////38U46b/////fzXjpv////9/VuOm/////39346b/////f5jjpv////9/2uOm/////3/746b/////SAAABP////+6YgKE/////351+6b/////fpnrpv////9+uuum/////37d66b/////fv7rpv////9/G+um/////38466b/////f1zrpv////9/2/um/////3/5+6b/////SAAABP////+6AgGo/////34AAaT/////fiEBpP////9+QgGk/////35jAaT/////foQBpP////9+pQGk/////37GAaT/////fucBpP////9/CAGk/////38pAaT/////f0oBpP////9/awGk/////3+MAaT/////f60BpP////9/zgGk/////3/vAaT/////uYIB8P////99kPum/////32x+6b/////fdsDpv////99/0Om/////34Qg6b/////fjGDpv////9+UoOm/////35zg6b/////fpSDpv////9+tYOm/////37Wg6b/////fveDpv////9/GIOm/////385g6b/////f1qDpv////9/e4Om/////3+cg6b/////f72Dpv////9/3oOm/////3//g6b/////usICXP////9+2QOm/////37zA6b/////fxIDpv////9/MEOm/////39RQ6b/////f3JDpv////9/k0Om/////3/S+6b/////f/pDpv////9OgAAg/////w== + symbols: + - kind: Function + name: TRKRestoreExtended1Block + size: 356 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + - kind: Object + name: gTRKRestoreFlags + size: 9 + flags: 1 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: 993dfd86ff97aa08c6ad8934c69d8d6029fbe63b + signature: PEAAAP//AABgQgAA//8AADygAAD//wAAYKUAAP//AACIZQAA/////4jFAAH/////OAAAAP////+YBQAA/////5gFAAH/////LAMAAP////9BggAU/////4MCAej/////gyIB7P////9/HEOm/////389Q6b/////uoIC/P////9+kOOm/////36x46b/////ftLjpv////9+8+Om/////38U46b/////fzXjpv////9/VuOm/////39346b/////f5jjpv////9/2uOm/////3/746b/////SAAAHP////+7QgLg/////39Q66b/////f3frpv////9/tvum/////3/X+6b/////f//7pv////+6YgKE/////351+6b/////fpnrpv////9+uuum/////37d66b/////fv7rpv////9/G+um/////38466b/////f1zrpv////9/fPum/////3+d+6b/////f777pv////9/2/um/////3/5+6b/////SAAANP////8sBgAA/////0GCAAz/////g0ICeP////9/VgOm/////7siAkD/////fzDzpv////9/UfOm/////39y86b/////f5Pzpv////9/tPOm/////3/V86b/////f/bzpv////+6AgGo/////34AAaT/////fiEBpP////9+QgGk/////35jAaT/////foQBpP////9+pQGk/////37GAaT/////fucBpP////9/CAGk/////38pAaT/////f0oBpP////9/awGk/////3+MAaT/////f60BpP////9/zgGk/////3/vAaT/////uYIB8P////99kPum/////32x+6b/////fdsDpv////99/0Om/////34Qg6b/////fjGDpv////9+UoOm/////35zg6b/////fpSDpv////9+tYOm/////37Wg6b/////fveDpv////9/GIOm/////385g6b/////f1qDpv////9/e4Om/////3+cg6b/////f72Dpv////9/3oOm/////3//g6b/////usICXP////9+2QOm/////37zA6b/////fxIDpv////9/MEOm/////39RQ6b/////f3JDpv////9/k0Om/////3/S+6b/////f/pDpv////9OgAAg/////w== + symbols: + - kind: Function + name: TRKRestoreExtended1Block + size: 440 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + - kind: Object + name: gTRKRestoreFlags + size: 9 + flags: 1 + section: .data + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 diff --git a/assets/TRKSaveExtended1Block.yml b/assets/TRKSaveExtended1Block.yml new file mode 100644 index 0000000..c1cb9cf --- /dev/null +++ b/assets/TRKSaveExtended1Block.yml @@ -0,0 +1,69 @@ +- symbol: 0 + hash: 282e360f42e342726fa4befd6ac32896cc39dc1d + signature: PEAAAP//AABgQgAA//8AAH4ABKb/////fiEEpv////9+QgSm/////35jBKb/////foQEpv////9+pQSm/////37GBKb/////fucEpv////9/CASm/////38pBKb/////f0oEpv////9/awSm/////3+MBKb/////f60Epv////9/zgSm/////3/vBKb/////vgIBqP////99TELm/////31tQub/////fZD6pv////99sfqm/////33bAqb/////ff9Cpv////9+EIKm/////34xgqb/////flKCpv////9+c4Km/////36Ugqb/////frWCpv////9+1oKm/////373gqb/////fxiCpv////9/OYKm/////39agqb/////f3uCpv////9/nIKm/////3+9gqb/////f96Cpv////9//4Km/////71CAej/////ftkCpv////9+8wKm/////38SAqb/////fzBCpv////9/UUKm/////39yQqb/////f5NCpv////87oAAA/////3/S+qb/////f/pCpv////++wgJc/////36Q4qb/////frHipv////9+0uKm/////37z4qb/////fxTipv////9/NeKm/////39W4qb/////f3fipv////9/mOKm/////3+54qb/////f9ripv////9/++Km/////76CAvz/////SAAASP////9+AOqm/////34n6qb/////fkjqpv////9+aeqm/////36K6qb/////fqvqpv////9+zOqm/////37t6qb/////fw7qpv////9/L+qm/////39Q6qb/////f3fqpv////9/n+qm/////3+2+qb/////f9f6pv////9///qm/////74CArj/////fnX6pv////9+meqm/////3666qb/////ft3qpv////9+/uqm/////38b6qb/////fzjqpv////9/XOqm/////398+qb/////f536pv////9/vvqm/////3/b+qb/////f/n6pv////++YgKE/////06AACD/////fzDypv////9/UfKm/////39y8qb/////f5Pypv////9/tPKm/////3/V8qb/////f/bypv////+/IgJA/////3/2Aqb/////k+ICeP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKSaveExtended1Block + size: 440 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 422b55c69624b98ec476f3d104a5042a4a402dbc + signature: PEAAAP//AABgQgAA//8AAH4ABKb/////fiEEpv////9+QgSm/////35jBKb/////foQEpv////9+pQSm/////37GBKb/////fucEpv////9/CASm/////38pBKb/////f0oEpv////9/awSm/////3+MBKb/////f60Epv////9/zgSm/////3/vBKb/////vgIBqP////99TELm/////31tQub/////fZD6pv////99sfqm/////33bAqb/////ff9Cpv////9+EIKm/////34xgqb/////flKCpv////9+c4Km/////36Ugqb/////frWCpv////9+1oKm/////373gqb/////fxiCpv////9/OYKm/////39agqb/////f3uCpv////9/nIKm/////3+9gqb/////f96Cpv////9//4Km/////71CAej/////ftkCpv////9+8wKm/////38SAqb/////fzBCpv////9/UUKm/////39yQqb/////f5NCpv////87oAAA/////3/S+qb/////f/pCpv////++wgJc/////36Q4qb/////frHipv////9+0uKm/////37z4qb/////fxTipv////9/NeKm/////39W4qb/////f3fipv////9/mOKm/////3+54qb/////f9ripv////9/++Km/////76CAvz/////SAAASP////9+AOqm/////34n6qb/////fkjqpv////9+aeqm/////36K6qb/////fqvqpv////9+zOqm/////37t6qb/////fw7qpv////9/L+qm/////39Q6qb/////f3fqpv////9/n+qm/////3+2+qb/////f9f6pv////9///qm/////74CArj/////fnX6pv////9+meqm/////3666qb/////ft3qpv////9+/uqm/////38b6qb/////fzjqpv////9/XOqm/////398+qb/////f536pv////9/vvqm/////3/b+qb/////f/n6pv////++YgKE/////0gAACz/////fzDypv////9/UfKm/////39y8qb/////f5Pypv////9/tPKm/////3/V8qb/////f/bypv////+/IgJA/////3/2Aqb/////k+ICeP////9OgAAg/////w== + symbols: + - kind: Function + name: TRKSaveExtended1Block + size: 440 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: a08ded918d6b4378c360f017a04cce78823c2adf + signature: PEAAAP//AABgQgAA//8AAH4ABKb/////fiEEpv////9+QgSm/////35jBKb/////foQEpv////9+pQSm/////37GBKb/////fucEpv////9/CASm/////38pBKb/////f0oEpv////9/awSm/////3+MBKb/////f60Epv////9/zgSm/////3/vBKb/////vgIBqP////9/bELm/////3+NQub/////f7D6pv////9/0fqm/////3/7Aqb/////v2IB6P////99/0Km/////34Qgqb/////fjGCpv////9+UoKm/////35zgqb/////fpSCpv////9+tYKm/////37Wgqb/////fveCpv////9/GIKm/////385gqb/////f1qCpv////9/e4Km/////3+cgqb/////f72Cpv////9/3oKm/////3//gqb/////veIB/P////9/EIqm/////38xiqb/////f1KKpv////9/c4qm/////3+Uiqb/////f7WKpv////9/1oqm/////3/3iqb/////vwICQP////9+2QKm/////37zAqb/////fxICpv////9/MEKm/////39RQqb/////f3JCpv////9/k0Km/////3+2Aqb/////f9L6pv////9/+kKm/////77CAlz/////fxX6pv////9/Oeqm/////39a6qb/////f33qpv////9/nuqm/////3+76qb/////f9jqpv////9//Oqm/////78CAoT/////f7eKpv////9/2Iqm/////3/5iqb/////v6ICpP////9/2/qm/////3/5+qb/////v8ICsP////9+GgKm/////5ICArj/////fjqKpv////+SIgK8/////38o6qb/////f0nqpv////9/auqm/////3+L6qb/////f6zqpv////9/zeqm/////3/u6qb/////vyICwP////9/O4qm/////39ciqb/////f32Kpv////9/noqm/////3+/iqb/////f9jipv////9/8/qm/////78iAtz/////fpDipv////9+seKm/////37S4qb/////fvPipv////9/FOKm/////3814qb/////f1bipv////9/d+Km/////3+Y4qb/////f7nipv////9/2uKm/////3/74qb/////voIC/P////9OgAAg/////w== + symbols: + - kind: Function + name: TRKSaveExtended1Block + size: 452 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/TRKSwapAndGo.yml b/assets/TRKSwapAndGo.yml new file mode 100644 index 0000000..f12c2c6 --- /dev/null +++ b/assets/TRKSwapAndGo.yml @@ -0,0 +1,83 @@ +- symbol: 0 + hash: 062032c22dec5fa721b11e6e1010fb9a9d97a406 + signature: PGAAAP//AABgYwAA//8AALwDAAD/////fAAApv////+QAwCM/////3wIAqb/////kAMAgP////98CQKm/////5ADAIT/////fAECpv////+QAwCI/////3wSAqb/////kAMAlP////98EwKm/////5ADAJD/////OCCAAv////98IQj4/////3xgAKb/////fGMIOP////98YAEk/////zxAAAD//wAAYEIAAP//AACAQgCg/////4hCAAD/////LAIAAP////9BggAY/////zxAAAD//wAAYEIAAP//AAA4YAAB/////5hiAJz/////SAAAAPwAAAM8QAAA//8AAGBCAAD//wAAOGAAAP////+YYgAM/////0gAAAH8AAADPEAAAP//AABgQgAA//8AALtiAID/////f3oDpv////9/iAOm/////3+v8SD/////f8kDpv////9/4QOm/////7hiAAz/////gAIAAP////+AIgAE/////4BCAAj/////TAAAZP////8= + symbols: + - kind: Function + name: TRKSwapAndGo + size: 196 + flags: 1 + section: null + - kind: Object + name: gTRKState + size: 164 + flags: 1 + section: .bss + - kind: Function + name: TRKInterruptHandlerEnableInterrupts + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKExceptionStatus + size: 16 + flags: 2 + section: .data + - kind: Function + name: TRKRestoreExtended1Block + size: 0 + flags: 1 + section: null + - kind: Object + name: gTRKCPUState + size: 1072 + flags: 1 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 124 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Hi + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 diff --git a/assets/TRKTargetContinue.yml b/assets/TRKTargetContinue.yml new file mode 100644 index 0000000..6ac57be --- /dev/null +++ b/assets/TRKTargetContinue.yml @@ -0,0 +1,138 @@ +- symbol: 0 + hash: 642f55af2878d23c75243dbcc9a63ff1bf3fe552 + signature: fAgCpv////84YAAA/////5ABAAT/////lCH/+P////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzhgAAD/////OCEACP////+AAQAE/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: TRKTargetContinue + size: 52 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: UnreserveEXI2Port + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKSwapAndGo + size: 0 + flags: 1 + section: null + - kind: Function + name: ReserveEXI2Port + size: 0 + flags: 1 + section: null + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 25c012dcebb107cca87399fe5836bb3152931ad6 + signature: lCH/8P////98CAKm/////5ABABT/////OGAAAP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzhgAAD/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRKTargetContinue + size: 52 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: UnreserveEXI2Port + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKSwapAndGo + size: 0 + flags: 1 + section: null + - kind: Function + name: ReserveEXI2Port + size: 0 + flags: 1 + section: null + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: c5ceb6c0acf128cbb6c089d79fb0c41eb8688748 + signature: lCH/8P////98CAKm/////zhgAAD/////kAEAFP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA4ABABT/////OGAAAP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRKTargetContinue + size: 52 + flags: 1 + section: null + - kind: Function + name: TRKTargetSetStopped + size: 0 + flags: 1 + section: null + - kind: Function + name: UnreserveEXI2Port + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKSwapAndGo + size: 0 + flags: 1 + section: null + - kind: Function + name: ReserveEXI2Port + size: 0 + flags: 1 + section: null + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/TRK_main.yml b/assets/TRK_main.yml new file mode 100644 index 0000000..f7ef708 --- /dev/null +++ b/assets/TRK_main.yml @@ -0,0 +1,282 @@ +- symbol: 0 + hash: e1daf2391cc53d775f7708e25790fa16a210aa57 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAMsAwAA/////5BgAAD/4AAAQIIADP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOQYAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: TRK_main + size: 60 + flags: 1 + section: null + - kind: Function + name: TRKInitializeNub + size: 0 + flags: 1 + section: null + - kind: Object + name: TRK_mainError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: TRKNubWelcome + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKNubMainLoop + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTerminateNub + size: 0 + flags: 1 + section: null + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 3208aae6729a3c91c53c80ca22a6358744790b89 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAM8gAAA//8AACwDAAD/////kGQAAP//AABAggAM/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAAzyAAAD//wAAkGQAAP//AACAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: TRK_main + size: 68 + flags: 1 + section: null + - kind: Function + name: TRKInitializeNub + size: 0 + flags: 1 + section: null + - kind: Object + name: TRK_mainError + size: 4 + flags: 2 + section: .bss + - kind: Function + name: TRKNubWelcome + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKNubMainLoop + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTerminateNub + size: 0 + flags: 1 + section: null + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: 4180966dcf7bc3cf9195c40a44474ca5a43a1ac9 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAAM8gAAA//8AAJRkAAD//wAAgAQAAP////8sAAAA/////0CCAAz/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADPIAAAP//AACQZAAA//8AADghAAj/////gAEABP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: TRK_main + size: 72 + flags: 1 + section: null + - kind: Function + name: TRKInitializeNub + size: 0 + flags: 1 + section: null + - kind: Object + name: TRK_mainError + size: 4 + flags: 2 + section: .bss + - kind: Function + name: TRKNubWelcome + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKNubMainLoop + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTerminateNub + size: 0 + flags: 1 + section: null + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 +- symbol: 0 + hash: e7deef4b27bcba51af98c2fb70cee701cc7f6c9e + signature: lCH/8P////98CAKm/////zyAAAD//wAAOGAAAf////+QAQAU/////ziEAAD//wAATMYxgv////9IAAAB/AAAA0gAAAH8AAADPIAAAP//AAAsAwAA/////5BkAAD//wAAQIIADP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM8gAAA//8AAJBkAAD//wAAgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: TRK_main + size: 88 + flags: 1 + section: null + - kind: Object + name: '@80' + size: 11 + flags: 2 + section: .rodata + - kind: Function + name: MWTRACE + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKInitializeNub + size: 0 + flags: 1 + section: null + - kind: Object + name: TRK_mainError + size: 4 + flags: 2 + section: .bss + - kind: Function + name: TRKNubWelcome + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKNubMainLoop + size: 0 + flags: 1 + section: null + - kind: Function + name: TRKTerminateNub + size: 0 + flags: 1 + section: null + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 diff --git a/assets/VIGetTvFormat.yml b/assets/VIGetTvFormat.yml new file mode 100644 index 0000000..11b76bd --- /dev/null +++ b/assets/VIGetTvFormat.yml @@ -0,0 +1,794 @@ +- symbol: 0 + hash: 8be8670363686c6940ad3c7d2d942c910710005b + signature: PGCAAP////+AYwDM/////06AACD///// + symbols: + - kind: Function + name: VIGetTvFormat + size: 12 + flags: 1 + section: .text + relocations: [] +- symbol: 0 + hash: b22d197cabd17d49a2e984ea608aa543d17c1285 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA4PgAAD/4AAAKB8ACP////9BgQAo/////zyAAAD//wAAV+AQOv////84hAAA//8AAHyEAC7/////fIkDpv////9OgAQg/////zvgAAD/////SAAACP////874AAB/////0gAAAH8AAADf+P7eP////+D4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: VIGetTvFormat + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@4022' + size: 36 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 4038ed6fdc6f59dc5609980d77aad5dba9878865 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA4PgAAD/4AAAKB8AB/////9BgQAo/////zyAAAD//wAAV+AQOv////84hAAA//8AAHyEAC7/////fIkDpv////9OgAQg/////zvgAAD/////SAAACP////874AAB/////0gAAAH8AAADf+P7eP////+D4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: VIGetTvFormat + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@3823' + size: 32 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 46a6d3f857dd1e9a194ec938be00faf4729f616d + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4CgAAD/4AAAKAUABv////9BgQAw/////zyAAAD//wAAOIQAAP//AABUoBA6/////3wEAC7/////fAkDpv////9OgAQg/////zvgAAD/////SAAAEP////874AAB/////0gAAAj/////fL8reP////9IAAAB/AAAA3/j+3j/////gAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: VIGetTvFormat + size: 104 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@724' + size: 28 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 44eac8847ec5c491d939c544ec02086cdda274b4 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4CgAAD/4AAAKAUAB/////9BgQAw/////zyAAAD//wAAOIQAAP//AABUoBA6/////3wEAC7/////fAkDpv////9OgAQg/////zvgAAD/////SAAAEP////874AAB/////0gAAAj/////fL8reP////9IAAAB/AAAA3/j+3j/////gAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: VIGetTvFormat + size: 104 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@740' + size: 32 + flags: 2 + section: .data + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 48e2910cf049e45bfa29fe26642edf06069d609a + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4AAAAD/4AAALAAAAv////9BggA0/////0CAABT/////LAAAAP////9BggAY/////0CAABz/////SAAAJP////8sAAAE/////0GCABD/////QIAAGP////874AAA/////0gAABD/////O+AAAf////9IAAAI/////3wfA3j/////SAAAAfwAAAOAAQAU/////3/j+3j/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 112 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: fe598b048cf677864c96a53ab73e70b8094d9b90 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAA4AAAAD/4AAALAAAA/////9BggAw/////0CAABz/////LAAAAf////9BggAs/////0CAADD/////LAAAAP////9AgAAY/////0gAACj/////LAAABf////9BggAc/////0CAABz/////SAAADP////874AAA/////0gAABD/////O+AAAf////9IAAAI/////3wfA3j/////SAAAAfwAAAN/4/t4/////4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 124 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 7ad95b3641dbd1ed42d045d8b76d3cd8628126c5 + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////9IAAAB/AAAA3x+G3j/////gAAAAP/gAAAoAAAG/////0GBADT/////PGAAAP//AAA4YwAA//8AAFQAEDr/////fGMALv////98aQOm/////06ABCD/////O+AAAP////9IAAAs/////zvgAAH/////SAAAJP////+D4AAA/+AAAEgAABz/////OGAAAP/gAAA4gAmg/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA3/j+3j/////gAEAFP////+7wQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: VIGetTvFormat + size: 140 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@264' + size: 28 + flags: 2 + section: .data + - kind: Object + name: '@51' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@52' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 385ef9d0d020e484540c14ea2ac85a36879e560c + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////9IAAAB/AAAA3x+G3j/////gAAAAP/gAAAoAAAG/////0GBADT/////PGAAAP//AAA4YwAA//8AAFQAEDr/////fGMALv////98aQOm/////06ABCD/////O+AAAP////9IAAAs/////zvgAAH/////SAAAJP////+D4AAA/+AAAEgAABz/////OGAAAP/gAAA4gAl8/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA3/j+3j/////gAEAFP////+7wQAI/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: VIGetTvFormat + size: 140 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@261' + size: 28 + flags: 2 + section: .data + - kind: Object + name: '@49' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@50' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 02c781792a46159a4be4878dc330472c70d00bb9 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////SAAAAfwAAAN8fht4/////4AAAAD/4AAAKAAACP////9BgQA0/////zxgAAD//wAAOGMAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////zvgAAD/////SAAAPP////874AAB/////0gAADT/////g+AAAP/gAABIAAAs/////zhgAAD/4AAAOIAMfv////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzugAAD/////fB0A0P////98AOt4/////1QAD/7/////f8PzeP////9IAAAB/AAAA3/j+3j/////g+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@2302' + size: 36 + flags: 2 + section: .data + - kind: Object + name: '@1730' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1731' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 0d70fd9435cb3c40791f94d29d2229b7f717133a + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////SAAAAfwAAAN8fht4/////4AAAAD/4AAAKAAACP////9BgQA0/////zxgAAD//wAAOGMAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////zvgAAD/////SAAAPP////874AAB/////0gAADT/////g+AAAP/gAABIAAAs/////zhgAAD/4AAAOIAMev////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzugAAD/////fB0A0P////98AOt4/////1QAD/7/////f8PzeP////9IAAAB/AAAA3/j+3j/////g+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@2279' + size: 36 + flags: 2 + section: .data + - kind: Object + name: '@1707' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1708' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: fa09c9e04f243b32a4267985f00a724fff681d40 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////SAAAAfwAAAN8fht4/////4AAAAD/4AAAKAAAB/////9BgQA0/////zxgAAD//wAAOGMAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////zvgAAD/////SAAAPP////874AAB/////0gAADT/////g+AAAP/gAABIAAAs/////zhgAAD/4AAAOIALfP////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzugAAD/////fB0A0P////98AOt4/////1QAD/7/////f8PzeP////9IAAAB/AAAA3/j+3j/////g+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@2260' + size: 32 + flags: 2 + section: .data + - kind: Object + name: '@1674' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1675' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 4127404ae2fcdce3597f93bb7067c725b4039327 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////SAAAAfwAAAN8fht4/////4AAAAD/4AAAKAAAB/////9BgQA0/////zxgAAD//wAAOGMAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////zvgAAD/////SAAAPP////874AAB/////0gAADT/////g+AAAP/gAABIAAAs/////zhgAAD/4AAAOIAMDf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzugAAD/////fB0A0P////98AOt4/////1QAD/7/////f8PzeP////9IAAAB/AAAA3/j+3j/////g+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: VIGetTvFormat + size: 172 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: CurrTvMode + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@2281' + size: 32 + flags: 2 + section: .data + - kind: Object + name: '@1711' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1712' + size: 23 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 diff --git a/assets/_ExitProcess.yml b/assets/_ExitProcess.yml new file mode 100644 index 0000000..d1843b6 --- /dev/null +++ b/assets/_ExitProcess.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: 9cb15dc0c16f52de5d46476e7226810c7cad1fc4 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAAOAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: _ExitProcess + size: 32 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 82d08ce341917ff7f79c945a5cd98f598ad04ee6 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: _ExitProcess + size: 32 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/__DVDCheckDevice.yml b/assets/__DVDCheckDevice.yml new file mode 100644 index 0000000..5281fff --- /dev/null +++ b/assets/__DVDCheckDevice.yml @@ -0,0 +1,782 @@ +- symbol: 0 + hash: 72cbd2c9a76fc5196b7a663461db60759d52be93 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////P+BGCv////87wP///////zug////////SAAAAfwAAAM8A/gA/////ygAAAD/////QIIADP////84YAAB/////0gAAdj/////OGEACP////9IAAAB/AAAA4gBAAn/////KAAAHv////9BgAAQ/////4gBAAn/////KAAA/v////9BgAAM/////zhgAAH/////SAABsP////88YIAA/////4gDMZz/////KAAAgf////9AggAI/////z/gftT/////OAAAAP////+QAAAA/+AAADxgAAD//wAAOGMAAP//AAA4gAAg/////3/l+3j/////PMAAAP//AAA4xgAA//8AAEgAAAH8AAADgAAAAP/gAAAsAAAA/////0GC//j/////gAAAAP/gAAAsAAAC/////0GCABT/////QIABVP////8sAAAB/////0CAATj/////SAABSP////84AAAA/////5AAAAD/4AAAPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgAAAAP/gAAAsAAAA/////0GC//j/////SAAAAfwAAAN8fht4/////4AAAAD/4AAALAAAAf////9BggAI/////0gAARD/////SAAAAfwAAANUYAAO/////ywAAAD/////QIIA+P////9IAAAB/AAAA1RgAj7/////PGAABf////84YyEA/////3wAGAD/////QYIACP////9IAADQ/////zgAAAD/////kAAAAP/gAAA8YAAA//8AADhjAAD//wAAPIAABP////84oAAA/////zzAAAD//wAAOMYAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////4AAAAD/4AAALAAAAv////9BggAU/////0CAAKT/////LAAAAf////9AgACI/////0gAAJj/////OAAAAP////+QAAAA/+AAADxgAAD//wAAOGMAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////0gAAAH8AAADfH0beP////+AAAAA/+AAACwAAAH/////QYIACP////9IAABg/////0gAAAH8AAADVGAADv////8sAAAA/////0CCAEj/////SAAAAfwAAANUYAI+/////zxgAAX/////OGMxAP////98ABgA/////0GCABz/////QIAAIP////88YAAF/////zhjIAD/////fAAYAP////9BggAI/////0gAAAz/////OGAAAf////9IAAAg/////0gAAAH8AAADOGAAAP////9IAAAU/////zhgAAD/////SAAADP////9IAAAB/AAAAzhgAAD/////g+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDCheckDevice + size: 556 + flags: 1 + section: .text + - kind: Function + name: OSGetPhysicalMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Object + name: lowDone + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: CheckBuffer + size: 32 + flags: 2 + section: .bss + - kind: Function + name: lowCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowUnencryptedRead + size: 0 + flags: 1 + section: .text + - kind: Object + name: lowIntType + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDLowRequestError + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowGetImmBufferReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowReportKey + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDShowDeviceErrorMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 124 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 236 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 320 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 376 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 384 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 392 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 3d92b7191499a8a03fc9ef0aeb1b2d43dfdaa9e6 + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////P6BGCv////9IAAAB/AAAAzwD+AD/////KAAAAP////9AggAM/////zhgAAH/////SAACMP////84YQAQ/////0gAAAH8AAADiAEAEf////8oAAAe/////0GAAAz/////KAAA/v////9BgAAM/////zhgAAH/////SAACDP////88YIAA/////4gDMZz/////KAAAgf////9AggAI/////z+gftT/////OAAAAP////88YAAA//8AADzAAAD//wAAkAAAAP/gAAB/pet4/////zhjAAD//wAAOMYAAP//AAA4gAAg/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0GC//j/////gAAAAP/gAAAsAAAC/////0GCABT/////QIABsP////8sAAAB/////0CAATD/////SAABpP////84AAAA/////zxgAAD//wAAkAAAAP/gAAA4YwAA//8AAEgAAAH8AAADYAAAAP////+AAAAA/+AAACwAAAD/////QYL/+P////9IAAAB/AAAA4AAAAD/4AAALAAAAf////9BggAI/////0gAAWz/////SAAAAfwAAANUYAAP/////0CCAVj/////SAAAAfwAAAM8gAAF/////1RjAj7/////OAQhAP////98AwAA/////0GCAAj/////SAAAzP////84AAAA/////zxgAAD//wAAPMAAAP//AACQAAAA/+AAADhjAAD//wAAPIAABP////84xgAA//8AADigAAD/////SAAAAfwAAANgAAAA/////4AAAAD/4AAALAAAAP////9Bgv/4/////4AAAAD/4AAALAAAAv////9BggAU/////0CAAQD/////LAAAAf////9AgACA/////0gAAPT/////OAAAAP////88YAAA//8AAJAAAAD/4AAAOGMAAP//AABIAAAB/AAAA2AAAAD/////gAAAAP/gAAAsAAAA/////0GC//j/////SAAAAfwAAAOAAAAA/+AAACwAAAH/////QYIACP////9IAAC8/////0gAAAH8AAADVGAAD/////9AggCo/////0gAAAH8AAADPIAABf////9UYwI+/////zgEMQD/////fAMAAP////9BggAY/////0CAABz/////OAQgAP////98AwAA/////0GCAAj/////SAAADP////84YAAB/////0gAAIT/////g8AAAP/gAAA74AAA/////0gAAAH8AAADVGAGP/////9AggAQ/////zhgAAH/////SAAAAfwAAANIAAAM/////zhgAAD/////SAAAAfwAAAM/oAAA//8AADu9AAD//wAASAAAAfwAAANUYAY+/////ygAAAb/////QIEADP////+AvQAE/////0gAABD/////SAAAAfwAAANUYBW6/////3y9AC7/////k+EADP////84gQAM/////zhhAAj/////k8EACP////9IAAAB/AAAAzhgAAD/////SAAAFP////84YAAA/////0gAAAz/////SAAAAfwAAAM4YAAA/////4ABADT/////g+EALP////+DwQAo/////4OhACT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: __DVDCheckDevice + size: 636 + flags: 1 + section: .text + - kind: Function + name: OSGetPhysicalMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Object + name: CheckBuffer + size: 32 + flags: 2 + section: .bss + - kind: Function + name: lowCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: lowDone + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: DVDLowUnencryptedRead + size: 0 + flags: 1 + section: .text + - kind: Object + name: lowIntType + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDLowRequestError + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowGetImmBufferReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowReportKey + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@850' + size: 4 + flags: 2 + section: .sdata2 + - kind: Function + name: SCGetLanguage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetFontEncode + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDDeviceErrorMessage + size: 28 + flags: 1 + section: .rodata + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 364 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 372 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 480 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 520 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 524 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: dcc87370908b02114c6b514943802f1c8f954d8f + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////z/ARgr/////SAAAAfwAAAM8A/gA/////ygAAAD/////QIIADP////84YAAB/////0gAAkT/////OGEAGP////9IAAAB/AAAA4gBABn/////KAAAHv////9BgAAM/////ygAAP7/////QYAADP////84YAAB/////0gAAiD/////PGCAAP////+IAzGc/////ygAAIH/////QIIACP////8/wH7U/////zgAAAD/////PGAAAP//AAA8wAAA//8AAJAAAAD/4AAAf8XzeP////84YwAA//8AADjGAAD//wAAOIAAIP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////4AAAAD/4AAALAAAAv////9BggAU/////0CAAcT/////LAAAAf////9AgAEk/////0gAAbj/////OAAAAP////88YAAA//8AAJAAAAD/4AAAOGMAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAB/////0GCAAj/////SAABhP////9IAAAB/AAAA1RgAA//////QIIBcP////9IAAAB/AAAAzyAAAX/////VGMCPv////84BCEA/////3wDAAD/////QYIACP////9IAADE/////zgAAAD/////PGAAAP//AAA8wAAA//8AAJAAAAD/4AAAOGMAAP//AAA8gAAE/////zjGAAD//wAAOKAAAP////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////4AAAAD/4AAALAAAAv////9BggAU/////0CAARz/////LAAAAf////9AgAB8/////0gAARD/////OAAAAP////88YAAA//8AAJAAAAD/4AAAOGMAAP//AABIAAAB/AAAA4AAAAD/4AAALAAAAP////9Bgv/4/////0gAAAH8AAADgAAAAP/gAAAsAAAB/////0GCAAj/////SAAA3P////9IAAAB/AAAA1RgAA//////QIIAyP////9IAAAB/AAAAzyAAAX/////VGMCPv////84BDEA/////3wDAAD/////QYIAGP////9AgAAc/////zgEIAD/////fAMAAP////9BggAI/////0gAAAz/////OGAAAf////9IAACk/////4igAAD/4AAAO+AAAP////+IgAAA/+AAAIhgAAD/4AAAiAAAAP/gAACYoQAI/////5iBAAn/////mGEACv////+YAQAL/////0gAAAH8AAADVGAGP/////9AggAQ/////zhgAAH/////SAAAAfwAAANIAAAM/////zhgAAD/////SAAAAfwAAAM/wAAA//8AADveAAD//wAASAAAAfwAAANUYAY+/////ygAAAb/////QIEADP////+AvgAE/////0gAABD/////SAAAAfwAAANUYBW6/////3y+AC7/////gAEACP////84gQAQ/////5PhABD/////OGEADP////+QAQAM/////0gAAAH8AAADOGAAAP////9IAAAU/////zhgAAD/////SAAADP////9IAAAB/AAAAzhgAAD/////gAEANP////+D4QAs/////4PBACj/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: __DVDCheckDevice + size: 648 + flags: 1 + section: .text + - kind: Function + name: OSGetPhysicalMem2Size + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Object + name: CheckBuffer + size: 32 + flags: 2 + section: .bss + - kind: Function + name: lowCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: lowDone + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: DVDLowUnencryptedRead + size: 0 + flags: 1 + section: .text + - kind: Object + name: lowIntType + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDLowRequestError + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowGetImmBufferReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDLowReportKey + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@834' + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: SCGetLanguage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetFontEncode + size: 0 + flags: 1 + section: .text + - kind: Object + name: __DVDDeviceErrorMessage + size: 28 + flags: 1 + section: .rodata + - kind: Function + name: OSFatal + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDShowFatalMessage + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 184 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 352 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 472 + kind: PpcEmbSda21 + symbol: 11 + addend: 1 + - offset: 476 + kind: PpcEmbSda21 + symbol: 11 + addend: 2 + - offset: 480 + kind: PpcEmbSda21 + symbol: 11 + addend: 3 + - offset: 500 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 532 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 536 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 16 + addend: 0 diff --git a/assets/__DVDClearWaitingQueue.yml b/assets/__DVDClearWaitingQueue.yml new file mode 100644 index 0000000..f22a98d --- /dev/null +++ b/assets/__DVDClearWaitingQueue.yml @@ -0,0 +1,138 @@ +- symbol: 0 + hash: bd48f655dc42b87dc741aa4b19512f10d3d7643a + signature: PMAAAP//AAA4xgAA//8AADimAAj/////kMYAAP////84hgAQ/////zhmABj/////kMYABP////+QpgAI/////5CmAAz/////kIYAEP////+QhgAU/////5BmABj/////kGYAHP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 56 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: f534174f0af041aa45324839acb2a3c80d4bfa69 + signature: PMAAAP//AAA4xgAA//8AAJDGAAD/////OKYACP////84hgAQ/////zhmABj/////kMYABP////+QpQAA/////5ClAAT/////kIQAAP////+QhAAE/////5BjAAD/////kGMABP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 56 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 47aa68f54b90ec7a94b163fe6b46173b2a10f3e2 + signature: PGAAAP//AAA4YwAA//8AAJBjAAD/////OKMACP////84gwAQ/////5BjAAT/////OGMAGP////+QpQAA/////5ClAAT/////kIQAAP////+QhAAE/////5BjAAD/////kGMABP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 56 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 0894f45ca5499ebb63edf1cb27afc09872021bef + signature: lCH/8P////+/wQAI/////zvAAAD/////SAAAIP////9XxBg4/////zxgAAD//wAAOAMAAP//AAB/4CIU/////5P/AAD/////k/8ABP////873gAB/////ygeAAT/////QYD/4P////+7wQAI/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 64 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: a8762d7ac69d76b8b49606cca201d493908db962 + signature: lCH/8P////+T4QAM/////5PBAAj/////O8AAAP////9IAAAg/////1fEGDj/////PGAAAP//AAA4AwAA//8AAH/gIhT/////k/8AAP////+T/wAE/////zveAAH/////KB4ABP////9BgP/g/////4PhAAz/////g8EACP////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 72 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: fbfc5459db5330544113db2527b99c54028ee40c + signature: lCH/4P////+T4QAc/////5PBABj/////k6EAFP////98Pwt4/////zugAAD/////SAAAIP////9XpBg4/////zxgAAD//wAAOAMAAP//AAB/wCIU/////5PeAAD/////k94ABP////87vQAB/////ygdAAT/////QYD/4P////9/6vt4/////4PqABz/////g8oAGP////+DqgAU/////4AhAAD/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDClearWaitingQueue + size: 88 + flags: 1 + section: .text + - kind: Object + name: WaitingQueue + size: 32 + flags: 2 + section: .bss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/__DVDFSInit.yml b/assets/__DVDFSInit.yml new file mode 100644 index 0000000..e89b0d7 --- /dev/null +++ b/assets/__DVDFSInit.yml @@ -0,0 +1,296 @@ +- symbol: 0 + hash: b20435dd461a594985e0878e651dc429c4c7c97b + signature: PGCAAP////+QYAAA/+AAAIBjADj/////kGAAAP/gAAAsAwAA/////02CACD/////gAMACP////+QAAAA/+AAABwAAAz/////fAMCFP////+QAAAA/+AAAE6AACD///// + symbols: + - kind: Function + name: __DVDFSInit + size: 48 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStart + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MaxEntryNum + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStringStart + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: ce8cd2dce2f1ac8767ebe275fb3ef9a12e7fce52 + signature: PGCAAP////+QYAAA/+AAAICDADj/////LAQAAP////+QgAAA/+AAAE2CACD/////gGQACP////8cAwAM/////5BgAAD/4AAAfAQCFP////+QAAAA/+AAAE6AACD///// + symbols: + - kind: Function + name: __DVDFSInit + size: 48 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStart + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MaxEntryNum + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStringStart + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 3abc6f023927a3dcd06a16b13c539cac75acee61 + signature: PGCAAP////+QYAAA/+AAAIADADj/////kAAAAP/gAACAYAAA/+AAACgDAAD/////TYIAIP////+AAwAI/////5AAAAD/4AAAgAAAAP/gAAAcAAAM/////3wDAhT/////kAAAAP/gAABOgAAg/////w== + symbols: + - kind: Function + name: __DVDFSInit + size: 56 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStart + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MaxEntryNum + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStringStart + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 16 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 615921b0bdee5c748e8171c479bb8db8d9c7c408 + signature: fAgCpv////+QAQAE/////5Qh//j/////OGAAAP////9IAAAB/AAAA5BgAAD/4AAAgGAAAP/gAACAAwA4/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCACT/////gGAAAP/gAACAAwAI/////5AAAAD/4AAAgGAAAP/gAACAAAAA/+AAABwAAAz/////fAMCFP////+QAAAA/+AAAIABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __DVDFSInit + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStart + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MaxEntryNum + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStringStart + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 4753735f3ee39ac8143ad77e0348fa875d9c34ca + signature: lCH/8P////98CAKm/////5ABABT/////OGAAAP////9IAAAB/AAAA5BgAAD/4AAAgGAAAP/gAACAAwA4/////5AAAAD/4AAAgAAAAP/gAAAsAAAA/////0GCACT/////gGAAAP/gAACAAwAI/////5AAAAD/4AAAgGAAAP/gAACAAAAA/+AAABwAAAz/////fAMCFP////+QAAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __DVDFSInit + size: 96 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: BootInfo + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStart + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MaxEntryNum + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: FstStringStart + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 diff --git a/assets/__DVDInitWA.yml b/assets/__DVDInitWA.yml new file mode 100644 index 0000000..7f9ed2f --- /dev/null +++ b/assets/__DVDInitWA.yml @@ -0,0 +1,100 @@ +- symbol: 0 + hash: 4e87b8bb854c6281090223cb9aa6e16780496ea7 + signature: fAgCpv////88YAAA//8AAJABAAT/////OAAAAP////84gAAA/////5Qh//j/////kAAAAP/gAAA4AP///////5ADAAD//wAAOGAAAP////9IAAAB/AAAA0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDInitWA + size: 64 + flags: 1 + section: .text + - kind: Object + name: CommandList + size: 60 + flags: 2 + section: .bss + - kind: Object + name: NextCommandNumber + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDLowSetWAType + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 53f35fb3e90b7fdfb54ba4ee75c820ff8eadb31f + signature: fAgCpv////+QAQAE/////5Qh//j/////OAAAAP////+QAAAA/+AAADgA////////PGAAAP//AACQAwAA//8AADhgAAD/////OIAAAP////9IAAAB/AAAA0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDInitWA + size: 64 + flags: 5 + section: .text + - kind: Object + name: NextCommandNumber + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: CommandList + size: 60 + flags: 2 + section: .bss + - kind: Function + name: __DVDLowSetWAType + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSInitAlarm + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__DVDLowSetWAType.yml b/assets/__DVDLowSetWAType.yml new file mode 100644 index 0000000..6c1f065 --- /dev/null +++ b/assets/__DVDLowSetWAType.yml @@ -0,0 +1,254 @@ +- symbol: 0 + hash: 07e34a9054642b8039c368f5ccf359a0b83943b0 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////875AAA/////5PBABD/////O8MAAP////9IAAAB/AAAA5PAAAD/4AAAk+AAAP/gAABIAAAB/AAAA4ABABz/////g+EAFP////+DwQAQ/////3wIA6b/////OCEAGP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDLowSetWAType + size: 68 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: WorkAroundType + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WorkAroundSeekLocation + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 360b4f798c4e8f4114af865d76ac1b2981d9133a + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////875AAA/////5PBABD/////O8MAAP////9IAAAB/AAAA5PAAAD/4AAAk+AAAP/gAABIAAAB/AAAA4ABABz/////g+EAFP////+DwQAQ/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDLowSetWAType + size: 68 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: WorkAroundType + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WorkAroundSeekLocation + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 1c0ade36acd13fbdca06dee8edc0019c311ce454 + signature: fAgCpv////+QAQAE/////5Qh/+j/////v8EAEP////98fht4/////5CBAAz/////SAAAAfwAAAN8fxt4/////ygeAAL/////QYAAIP////88YAAA//8AADhjAAD//wAAOIAFzv////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAA5PAAAD/4AAAgAEADP////+QAAAA/+AAAH/j+3j/////SAAAAfwAAAOAAQAc/////7vBABD/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __DVDLowSetWAType + size: 108 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@11' + size: 9 + flags: 2 + section: .data + - kind: Object + name: '@136' + size: 39 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: WorkAroundType + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WorkAroundSeekLocation + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 27eb9070efc7441e4905cfb1303bb8d9fc8217a1 + signature: fAgCpv////+QAQAE/////5Qh/+j/////v8EAEP////98fht4/////5CBAAz/////SAAAAfwAAAN8fxt4/////ygeAAL/////QYAAIP////88YAAA//8AADhjAAD//wAAOIAF1v////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAA5PAAAD/4AAAgAEADP////+QAAAA/+AAAH/j+3j/////SAAAAfwAAAOAAQAc/////7vBABD/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __DVDLowSetWAType + size: 108 + flags: 5 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@11' + size: 9 + flags: 2 + section: .data + - kind: Object + name: '@136' + size: 39 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: WorkAroundType + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WorkAroundSeekLocation + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 7 + addend: 0 diff --git a/assets/__DVDStoreErrorCode.yml b/assets/__DVDStoreErrorCode.yml new file mode 100644 index 0000000..bd1a1b8 --- /dev/null +++ b/assets/__DVDStoreErrorCode.yml @@ -0,0 +1,520 @@ +- symbol: 0 + hash: 99ca477477b1d5fc4f94cbccce2d85e9c1c71cfa + signature: fAgCpv////+QAQAE/////5Qh/+j/////v8EAEP////+QYQAI/////4BhAAj/////SAAAAfwAAAN8fht4/////0gAAAH8AAADfH8beP////+b3wAk/////zhgAAH/////SAAAAfwAAAOAAQAc/////7vBABD/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 72 + flags: 1 + section: .text + - kind: Function + name: Convert + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSLockSramEx + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSramEx + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: c8e57a9d5a70b387b1fe6a7dc40da10ba331c124 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5BhAAj/////gGEACP////9IAAAB/AAAA3x+G3j/////SAAAAfwAAAN8fxt4/////5vfACT/////OGAAAf////9IAAAB/AAAA4PhABz/////g8EAGP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 80 + flags: 1 + section: .text + - kind: Function + name: Convert + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSLockSramEx + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSramEx + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: b9e14e602fff127ce4fb0a8f36af0aaf366813e7 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////98niN4/////5B/AAj/////SAAAAfwAAAM8wIAA/////zigAAD/////gAYA+P////9UBvC+/////0gAAAH8AAADPGAAAP//AACQnwAM/////zhjAAD//wAAk8AAAP/gAABIAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 104 + flags: 1 + section: .text + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2i + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForPrepareStatusRegister + size: 0 + flags: 2 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDLowPrepareStatusRegister + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 80baa122cbe1d82d5251840176f883ef024c063a + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+QgQAM/////4ABAAj/////PGAAAP//AAA4YwAA//8AAJADAAj/////SAAAAfwAAAM8oIAA/////4AFAPj/////VAbwvv////84oAAA/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAJCDAAz/////gAEADP////+QAAAA/+AAADxgAAD//wAAOGMAAP//AABIAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 108 + flags: 1 + section: .text + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2i + size: 0 + flags: 1 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: cbForPrepareStatusRegister + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowPrepareStatusRegister + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 423efa244a0ef0684f1dd3439881ccfb44a51305 + signature: fAgCpv////+QAQAE/////zwD/t3/////KABFZ/////+UIf/o/////5PhABT/////QIIADP////874AD//////0gAADj/////KABFaP////9AggAM/////zvgAP7/////SAAAKP////9Uf0Y+/////1RjAj7/////SAAAAfwAAAMoHwAG/////0GAAAj/////O+AABv////8cHwAe/////1RjBj7/////f+MCFP////9IAAAB/AAAA5vjACT/////OGAAAf////9IAAAB/AAAA4ABABz/////g+EAFP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 124 + flags: 1 + section: .text + - kind: Function + name: ErrorCode2Num + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSLockSramEx + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSramEx + size: 0 + flags: 1 + section: .text + relocations: + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: a7fb14dc1a07c3695d176a562b09fa8c7343be22 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////98niN4/////5B/AAj/////SAAAAfwAAAM8wIAA/////zigAAD/////gAYA+P////9UBvC+/////0gAAAH8AAADkJ8ADP////88YAAA//8AADzAAAD//wAAPOAAAP//AACTwAAA/+AAADhjAAD//wAAOMYAAP//AAA45wAA//8AADiAAD//////OKAAAP////9IAAAB/AAAAywDAAD/////QYIAIP////+BgAAA/+AAACwMAAD/////QYIAFP////84YAAC/////ziAAAD/////fYkDpv////9OgAQh/////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 164 + flags: 1 + section: .text + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2i + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1147' + size: 15 + flags: 2 + section: .data + - kind: Function + name: cbForNandCreateDir + size: 0 + flags: 2 + section: .text + - kind: Object + name: NandCb + size: 184 + flags: 2 + section: .bss + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: NANDPrivateCreateDirAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 +- symbol: 0 + hash: f85a79b5aab3120dbe66b265a19c6c5cea492fb1 + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+QgQAM/////4ABAAj/////PGAAAP//AAA4YwAA//8AAJADAAj/////SAAAAfwAAAM8oIAA/////4AFAPj/////VAbwvv////84oAAA/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAJCDAAz/////gAEADP////+QAAAA/+AAADxgAAD//wAAOGMAAP//AAA4gAA//////1SEBj7/////OKAAAP////9UpQY+/////zzAAAD//wAAOMYAAP//AAA84AAA//8AADjnAAD//wAASAAAAfwAAAMsAwAA/////0GCACT/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAv////84gAAA/////4GAAAD/4AAAfYkDpv////9OgAQh/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 180 + flags: 1 + section: .text + - kind: Object + name: __ErrorInfo + size: 128 + flags: 1 + section: .bss + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2i + size: 0 + flags: 1 + section: .text + - kind: Object + name: Callback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@1080' + size: 15 + flags: 2 + section: .data + - kind: Function + name: cbForNandCreateDir + size: 0 + flags: 2 + section: .text + - kind: Object + name: NandCb + size: 184 + flags: 2 + section: .bss + - kind: Function + name: NANDPrivateCreateDirAsync + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 132 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 8fbe291c93359549621eba1367f85738686e3a0a + signature: fAgCpv////+QAQAE/////zwD/t3/////KABFZ/////+UIf/g/////5PhABz/////QIIADP////874AD//////0gAART/////KABFaP////9AggAM/////zvgAP7/////SAABBP////84AAAC/////zyAAAD//wAAfAkDpv////84xAAA//8AAFRkRj7/////VGMCPv////84oAAA/////4AGAAD/////fAMAQP////9AggAM/////1SjBj7/////SAAAvP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAApP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAAjP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAAdP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAAXP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAARP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAALP////+EBgAE/////zilAAH/////fAMAQP////9AggAM/////1SjBj7/////SAAAFP////84xgAE/////zilAAH/////QgD/PP////84YAAd/////ygEAAb/////QYAACP////84gAAG/////xwEAB7/////VGMGPv////9/4wIU/////0gAAAH8AAADm+MAJP////84YAAB/////0gAAAH8AAADgAEAJP////+D4QAc/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __DVDStoreErrorCode + size: 344 + flags: 1 + section: .text + - kind: Object + name: ErrorTable + size: 64 + flags: 2 + section: .data + - kind: Function + name: __OSLockSramEx + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnlockSramEx + size: 0 + flags: 1 + section: .text + relocations: + - offset: 56 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/__FileWrite.yml b/assets/__FileWrite.yml new file mode 100644 index 0000000..5f7164f --- /dev/null +++ b/assets/__FileWrite.yml @@ -0,0 +1,76 @@ +- symbol: 0 + hash: 34422147b751d78b7794dfe983eb8d440f7ec77c + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98vyt4/////5PBAAj/////fH4beP////98gyN4/////ziAAAH/////f8bzeP////9IAAAB/AAAA3wfGED/////QIIACP////9IAAAI/////zvAAAD/////f8PzeP////+D4QAM/////4PBAAj/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __FileWrite + size: 88 + flags: 1 + section: .text + - kind: Function + name: __fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 77884d217ce414025994f5f4d7e0b9215f11fdab + signature: fAgCpv////+QAQAE/////5Qh/+D/////k+EAHP////875QAA/////5PBABj/////O8MAAP////84ZAAA/////zjeAAD/////OIAAAf////9IAAAB/AAAA3wfGED/////QIIADP////9/w/N4/////0gAAAj/////OGAAAP////+AAQAk/////4PhABz/////g8EAGP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __FileWrite + size: 88 + flags: 1 + section: .text + - kind: Function + name: fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 1ac63a780d24250392eb7c4df3c629b47c8d131e + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98vyt4/////5PBAAj/////fH4beP////98gyN4/////ziAAAH/////f8bzeP////9IAAAB/AAAA3wfGED/////QIIADP////9/w/N4/////0gAAAj/////OGAAAP////+AAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __FileWrite + size: 88 + flags: 1 + section: .text + - kind: Function + name: fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 0ceeabe5efdc8527601c657daf2cd2d8178f219b + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////3y+K3j/////kIEACP////84gAAB/////5OhABT/////fH0beP////+AYQAI/////3+m63j/////SAAAAfwAAAN8HhhA/////0CCAAz/////f7/reP////9IAAAI/////zvgAAD/////gAEAJP////9/4/t4/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __FileWrite + size: 104 + flags: 1 + section: .text + - kind: Function + name: fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/__NANDPrintErrorMessage.yml b/assets/__NANDPrintErrorMessage.yml new file mode 100644 index 0000000..09b3246 --- /dev/null +++ b/assets/__NANDPrintErrorMessage.yml @@ -0,0 +1,42 @@ +- symbol: 0 + hash: 9d8737e8fff8fd6d4fdc283b21a9fefce07f432d + signature: gYAAAP/gAAAsDAAA/////02CACD/////fYkDpv////9OgAQg/////06AACD///// + symbols: + - kind: Function + name: __NANDPrintErrorMessage + size: 24 + flags: 1 + section: .text + - kind: Object + name: NANDErrorFunc + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 0273343b6f26a6e4eb239320408ace8404320669 + signature: lCH/8P////98CAKm/////5ABABT/////kGEACP////+AAAAA/+AAACwAAAD/////QYIAFP////+AYQAI/////4GAAAD/4AAAfYkDpv////9OgAQh/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __NANDPrintErrorMessage + size: 60 + flags: 1 + section: .text + - kind: Object + name: NANDErrorFunc + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__OSCacheInit.yml b/assets/__OSCacheInit.yml new file mode 100644 index 0000000..7f7f266 --- /dev/null +++ b/assets/__OSCacheInit.yml @@ -0,0 +1,986 @@ +- symbol: 0 + hash: 007af7934e7c63b5e9a0a4896f1712dc73f0563f + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAANUYAQg/////ywAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADVGAEYv////8sAAAA/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA1RgAAD/////LAAAAP////9AggAM/////0gAAAH8AAADSAAAAfwAAAM4YAAB/////1RjBD7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSCacheInit + size: 112 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: L2Init + size: 0 + flags: 2 + section: .text + - kind: Function + name: L2Enable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: affecd3d3a226e09c7128c5bccddb7320a885a9e + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAASAAAAfwAAANUYAQg/////ygAAAD/////QIIAFP////9IAAAB/AAAAzh/AyD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAEYv////8oAAAA/////0CCABT/////SAAAAfwAAAM4fwM8/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA1RgAAD/////KAAAAP////9AggAY/////0gAAAH8AAADSAAAAfwAAAM4fwNY/////0zGMYL/////SAAAAfwAAAM4YAAB/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzh/A3D/////TMYxgv////9IAAAB/AAAA4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSCacheInit + size: 172 + flags: 1 + section: .text + - kind: Object + name: '@22' + size: 10 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: L2Init + size: 0 + flags: 2 + section: .text + - kind: Function + name: L2Enable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 0215f2fa0611e9c3a4a7f3ac8ed48ee9d4fa0cc8 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////88YAAA//8AADvjAAD//wAASAAAAfwAAANUYAQg/////ywAAAD/////QIIAFP////9IAAAB/AAAAzh/Ayz/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAEYv////8sAAAA/////0CCABT/////SAAAAfwAAAM4fwNI/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA1RgAAD/////LAAAAP////9AggAY/////0gAAAH8AAADSAAAAfwAAAM4fwNk/////0zGMYL/////SAAAAfwAAAM4YAAB/////1RjBD7/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOH8DfP////9MxjGC/////0gAAAH8AAADg+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSCacheInit + size: 176 + flags: 1 + section: .text + - kind: Object + name: '@659' + size: 10 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: L2Init + size: 0 + flags: 2 + section: .text + - kind: Function + name: L2Enable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 773bf382296bcacbd3cd80f040675a7db575a92f + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA1RgBCH/////QIIACP////9IAAAB/AAAA0gAAAH8AAADVGAEY/////9AggAI/////0gAAAH8AAADSAAAAfwAAANUYAAB/////0CCAIz/////SAAAAfwAAAN8fxt4/////3wABKz/////OGAAMP////9IAAAB/AAAA3wABKz/////fAAErP////9IAAAB/AAAA1RjAH7/////SAAAAfwAAAN8AASs/////3wABKz/////SAAAAfwAAANUYwB+/////0gAAAH8AAADfAAErP////9IAAAB/AAAA2RjACD/////SAAAAfwAAANIAAAB/AAAA1RgB///////QIL/+P////9IAAAB/AAAA1RjAtL/////SAAAAfwAAANIAAAB/AAAA1RgB///////QIL/+P////9/4/t4/////0gAAAH8AAADSAAAAfwAAANkYIAA/////1QDAtL/////SAAAAfwAAAM8gAAA//8AADhgAAH/////OIQAAP//AABIAAAB/AAAA4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSCacheInit + size: 232 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: 45cd3e15bbc998e8724def1a030c41fb07f3af40 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////zxgAAD//wAAO+MAAP//AABIAAAB/AAAA1RgBCD/////KAAAAP////9AggAU/////0gAAAH8AAADOH8BrP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUYARi/////ygAAAD/////QIIAFP////9IAAAB/AAAAzh/Acj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAAAP////8oAAAA/////0CCAFj/////SAAAAfwAAAN8fht4/////3wABKz/////OGAAMP////9IAAAB/AAAA3wABKz/////fAAErP////9IAAAB/AAAA1RjAH7/////SAAAAfwAAAN8AASs/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA0gAAAH8AAADZGCAAP////9UAwLS/////0gAAAH8AAADOH8B5P////9MxjGC/////0gAAAH8AAADPGAAAP//AAA4gwAA//8AADhgAAH/////SAAAAfwAAAM4fwH8/////0zGMYL/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSCacheInit + size: 244 + flags: 1 + section: .text + - kind: Object + name: '@69' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: L2GlobalInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: df3c64f4406274cdeba7435112c75365da10c530 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////+TwQAI/////zxgAAD//wAAO+MAAP//AABIAAAB/AAAA1RgBCD/////KAAAAP////9AggAU/////0gAAAH8AAADOH8BrP////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUYARi/////ygAAAD/////QIIAFP////9IAAAB/AAAAzh/Acj/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAAAP////8oAAAA/////0CCAFj/////SAAAAfwAAAN8fht4/////3wABKz/////OGAAMP////9IAAAB/AAAA3wABKz/////fAAErP////9IAAAB/AAAA1RjAH7/////SAAAAfwAAAN8AASs/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA0gAAAH8AAADZGCAAP////9UAwLS/////0gAAAH8AAADOH8B5P////9MxjGC/////0gAAAH8AAADPGAAAP//AAA4gwAA//8AADhgAAH/////SAAAAfwAAAM4fwH8/////0zGMYL/////SAAAAfwAAAOAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSCacheInit + size: 244 + flags: 1 + section: .text + - kind: Object + name: '@69' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: L2GlobalInvalidate + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 68e07cdf88a793892e5f51626cc1fc096eae23c1 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAAk8EACP////9IAAAB/AAAA1RgBCH/////QIIAFP////9IAAAB/AAAAzh/AbT/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAEY/////9AggAU/////0gAAAH8AAADOH8B0P////9MxjGC/////0gAAAH8AAADSAAAAfwAAANUYAAB/////0CCAKj/////SAAAAfwAAAN8fht4/////3wABKz/////OGAAMP////9IAAAB/AAAA3wABKz/////fAAErP////9IAAAB/AAAA1RjAH7/////SAAAAfwAAAN8AASs/////3wABKz/////SAAAAfwAAANUYwB+/////0gAAAH8AAADfAAErP////9IAAAB/AAAA2RjACD/////SAAAAfwAAANIAAAB/AAAA1RgB///////QIL/+P////9IAAAB/AAAA1RjAtL/////SAAAAfwAAANIAAAQ/////zh/AAD/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADVGAH//////9Agv/s/////3/D83j/////SAAAAfwAAANIAAAB/AAAA2RggAD/////VAMC0v////9IAAAB/AAAAzh/Aez/////TMYxgv////9IAAAB/AAAAzyAAAD//wAAOGAAAf////84hAAA//8AAEgAAAH8AAADOH8CBP////9MxjGC/////0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSCacheInit + size: 312 + flags: 1 + section: .text + - kind: Object + name: '@878' + size: 41 + flags: 2 + section: .data + - kind: Function + name: PPCMfhid0 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCEnable + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtl2cr + size: 0 + flags: 1 + section: .text + - kind: Function + name: DMAErrorHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetErrorHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__OSContextInit.yml b/assets/__OSContextInit.yml new file mode 100644 index 0000000..23a0753 --- /dev/null +++ b/assets/__OSContextInit.yml @@ -0,0 +1,334 @@ +- symbol: 0 + hash: 81d7c237180a2a6b91f8139386bd973dd12b4f5d + signature: lCH/8P////98CAKm/////zyAAAD//wAAOGAAB/////+QAQAU/////ziEAAD//wAASAAAAfwAAAM8YIAA/////zgAAAD/////kAMA2P////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSContextInit + size: 56 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: bf46ebec1eb5a0966dde89755f6bfcf6b8c90942 + signature: lCH/8P////98CAKm/////5ABABT/////OGAAB/////9UYwY+/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzgAAAD/////PGCAAP////+QAwDY/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSContextInit + size: 60 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 8b8c23526ecf21ec91a28ae9add29f080687b3a0 + signature: fAgCpv////+QAQAE/////5Qh//j/////PGAAAP//AAA4gwAA//8AADhgAAf/////SAAAAfwAAAM4AAAA/////0zGMYL/////PICAAP////88YAAA//8AAJAEANj/////OGMAAP//AABIAAAB/AAAA4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSContextInit + size: 72 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@74' + size: 35 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 323a3b5a73f19b4355d281d2ffc85d48d7794a55 + signature: lCH/8P////98CAKm/////zyAAAD//wAAOGAAB/////+QAQAU/////ziEAAD//wAASAAAAfwAAAM8gIAA/////zgAAAD/////PGAAAP//AACQBADY/////zhjAAD//wAATMYxgv////9IAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSContextInit + size: 72 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@733' + size: 35 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 986f9f49d9e88ebe068ce8be8004a5130186f67f + signature: fAgCpv////+QAQAE/////5Qh//j/////OGAAB/////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4AAAA/////zxggAD/////kAMA2P////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAA4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSContextInit + size: 72 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@59' + size: 35 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 5b61e7e9a6ee95a5ff95eebd711075424c3144b8 + signature: lCH/8P////98CAKm/////zyAAAD//wAAOGAAB/////+QAQAU/////ziEAAD//wAASAAAAfwAAAM4AAAA/////zyAgAD/////PGAAAP//AACQBADY/////zhjAAD//wAATMYxgv////9IAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSContextInit + size: 72 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@721' + size: 35 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 1d1e031c9173588d91f92a0d7d27f34a4f5c2dee + signature: lCH/8P////98CAKm/////5ABABT/////OGAAB/////9UYwY+/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzgAAAD/////PGCAAP////+QAwDY/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSContextInit + size: 76 + flags: 1 + section: .text + - kind: Function + name: OSSwitchFPUContext + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@632' + size: 35 + flags: 2 + section: .data + - kind: Function + name: DBPrintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__OSDBIntegrator.yml b/assets/__OSDBIntegrator.yml new file mode 100644 index 0000000..f4dfcf3 --- /dev/null +++ b/assets/__OSDBIntegrator.yml @@ -0,0 +1,10 @@ +- symbol: 0 + hash: 153c56c0abc7e47a38f4ad0d1c737cdf72cb22e4 + signature: OKAAQP////98aAKm/////5BlAAz/////gGUACP////9kY4AA/////3xoA6b/////OGAAMP////98YAEk/////06AACD///// + symbols: + - kind: Function + name: __OSDBIntegrator + size: 36 + flags: 2 + section: .text + relocations: [] diff --git a/assets/__OSDBJump.yml b/assets/__OSDBJump.yml new file mode 100644 index 0000000..0b91d91 --- /dev/null +++ b/assets/__OSDBJump.yml @@ -0,0 +1,29 @@ +- symbol: 0 + hash: 57e7d1fd933a625ca18aa499f0be6a544bbc332a + signature: SAAAAfwAAAM= + symbols: + - kind: Function + name: __OSDBJump + size: 4 + flags: 2 + section: .text + - kind: Function + name: OSExceptionVector + size: 0 + flags: 2 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 56 +- symbol: 0 + hash: 65c54e72bb9d42abe0d44d496d5422fb5ba55e80 + signature: SAAAY/////8= + symbols: + - kind: Function + name: __OSDBJump + size: 4 + flags: 2 + section: .text + relocations: [] diff --git a/assets/__OSFPRInit.yml b/assets/__OSFPRInit.yml new file mode 100644 index 0000000..7fd2eb3 --- /dev/null +++ b/assets/__OSFPRInit.yml @@ -0,0 +1,32 @@ +- symbol: 0 + hash: f5a0f1ba3c8b103b556d9459e61c029a3a5dc629 + signature: fGAApv////9gYyAA/////3xgAST/////fHjipv////9UYx///////0GCAIz/////PGAAAP//AAA4YwAA//8AAOADAAD/////ECAAkP////8QQACQ/////xBgAJD/////EIAAkP////8QoACQ/////xDAAJD/////EOAAkP////8RAACQ/////xEgAJD/////EUAAkP////8RYACQ/////xGAAJD/////EaAAkP////8RwACQ/////xHgAJD/////EgAAkP////8SIACQ/////xJAAJD/////EmAAkP////8SgACQ/////xKgAJD/////EsAAkP////8S4ACQ/////xMAAJD/////EyAAkP////8TQACQ/////xNgAJD/////E4AAkP////8ToACQ/////xPAAJD/////E+AAkP/////IAAAA/+AAAPwgAJD//////EAAkP/////8YACQ//////yAAJD//////KAAkP/////8wACQ//////zgAJD//////QAAkP/////9IACQ//////1AAJD//////WAAkP/////9gACQ//////2gAJD//////cAAkP/////94ACQ//////4AAJD//////iAAkP/////+QACQ//////5gAJD//////oAAkP/////+oACQ//////7AAJD//////uAAkP//////AACQ//////8gAJD//////0AAkP//////YACQ//////+AAJD//////6AAkP//////wACQ///////gAJD//////f4Fjv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSFPRInit + size: 296 + flags: 1 + section: .text + - kind: Object + name: ZeroPS + size: 8 + flags: 2 + section: .sbss + - kind: Object + name: ZeroF + size: 8 + flags: 2 + section: .sbss + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 diff --git a/assets/__OSGetExceptionHandler.yml b/assets/__OSGetExceptionHandler.yml new file mode 100644 index 0000000..9e8ac70 --- /dev/null +++ b/assets/__OSGetExceptionHandler.yml @@ -0,0 +1,388 @@ +- symbol: 0 + hash: 20b945d3a882e9e01b303bf2bdeccbc2aaec7979 + signature: gIAAAP/gAABUYBW6/////3xkAC7/////ToAAIP////8= + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 16 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 34073d3fa1b841c616ec632e7dbf67b9f8a9eee3 + signature: VGAGPv////+AYAAA/+AAAFQAEDr/////fGMALv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 20 + flags: 1 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 1e9eed97ea000fe85b972c0aac4b6aa71067a779 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////98fxt4/////zgAAAD/////V+AGPv////8oAAAP/////0GAACj/////OGAAAP/gAAA4gATP/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////8sAAAA/////0GCAAj/////OAAAAf////+AYAAA/+AAAFfgBj7/////VAAQOv////98YwAu/////4ABABz/////g+EAFP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 112 + flags: 1 + section: .text + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@129' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: e9e5bcb35aabd7f0a309bb746265cda6bf92ae82 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////98fxt4/////zgAAAD/////V+AGPv////8oAAAP/////0GAACj/////OGAAAP/gAAA4gATS/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////8sAAAA/////0GCAAj/////OAAAAf////+AYAAA/+AAAFfgBj7/////VAAQOv////98YwAu/////4ABABz/////g+EAFP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 112 + flags: 1 + section: .text + - kind: Object + name: '@26' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@129' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 65e0ab7b3744c3780ad4489d575017a4ba0a0f64 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH0beP////874AAB/////1egBj7/////KAAAD/////9BgAAs/////zhgAAD/4AAAOIAHbP////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzvAAAD/////LB4AAP////9AggAI/////zvgAAD/////gGAAAP/gAABXoAY+/////1QAEDr/////fGMALv////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 128 + flags: 1 + section: .text + - kind: Object + name: '@961' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1224' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 9a90603f62d10f0ce42710310f47824b21a07247 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH0beP////874AAB/////1egBj7/////KAAAD/////9BgAAs/////zhgAAD/4AAAOIAHp/////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzvAAAD/////LB4AAP////9AggAI/////zvgAAD/////gGAAAP/gAABXoAY+/////1QAEDr/////fGMALv////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 128 + flags: 1 + section: .text + - kind: Object + name: '@976' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1252' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: a4e6b847d5ccc8496dfe9af0b05985ea5b10fb42 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH0beP////874AAB/////1egBj7/////KAAAD/////9BgAAs/////zhgAAD/4AAAOIAHwf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzvAAAD/////LB4AAP////9AggAI/////zvgAAD/////gGAAAP/gAABXoAY+/////1QAEDr/////fGMALv////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 128 + flags: 1 + section: .text + - kind: Object + name: '@990' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1292' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 71d30276efb7f70140e024635f488993787e14a6 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH0beP////874AAB/////1egBj7/////KAAAD/////9BgAAs/////zhgAAD/4AAAOIAHYP////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzvAAAD/////LB4AAP////9AggAI/////zvgAAD/////gGAAAP/gAABXoAY+/////1QAEDr/////fGMALv////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 128 + flags: 1 + section: .text + - kind: Object + name: '@963' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1226' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 4f5daef11e9745afc39757b52751e8b8c2be8517 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH0beP////874AAB/////1egBj7/////KAAAD/////9BgAAs/////zhgAAD/4AAAOIAHzf////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzvAAAD/////LB4AAP////9AggAI/////zvgAAD/////gGAAAP/gAABXoAY+/////1QAEDr/////fGMALv////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSGetExceptionHandler + size: 128 + flags: 1 + section: .text + - kind: Object + name: '@991' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: '@1287' + size: 46 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: OSExceptionTable + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 diff --git a/assets/__OSInitAlarm.yml b/assets/__OSInitAlarm.yml new file mode 100644 index 0000000..19d34fd --- /dev/null +++ b/assets/__OSInitAlarm.yml @@ -0,0 +1,236 @@ +- symbol: 0 + hash: 6b7164126039f02bdb1903822e905e828627e400 + signature: lCH/8P////98CAKm/////zhgAAj/////kAEAFP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AAB8AyBA/////0GCACj/////OGAAAP/gAAA4AAAA/////5ADAAT/////OGAACP////+QAAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitAlarm + size: 88 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: d1f54774110ff87672d7647c1cf4484aed816e18 + signature: lCH/8P////98CAKm/////zhgAAj/////kAEAFP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AAB8AyBA/////0GCACj/////OAAAAP////84YAAA/+AAAJADAAT/////OGAACP////+QAAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitAlarm + size: 88 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 6edc364aaaa815065b97cf656ecbde6f715c40c8 + signature: lCH/8P////98CAKm/////5ABABT/////OGAACP////9UYwY+/////0gAAAH8AAADPIAAAP//AAA4BAAA//8AAHwDAED/////QYIANP////84AAAA/////zhgAAD/4AAAkAMABP////+QAAAA/+AAADhgAAj/////VGMGPv////88gAAA//8AADiEAAD//wAASAAAAfwAAAM8YAAA//8AADhjAAD//wAASAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitAlarm + size: 104 + flags: 1 + section: .text + - kind: Function + name: __OSGetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: DecrementerExceptionHandler + size: 0 + flags: 2 + section: .text + - kind: Object + name: AlarmQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/__OSInitAudioSystem.yml b/assets/__OSInitAudioSystem.yml new file mode 100644 index 0000000..2efd63e --- /dev/null +++ b/assets/__OSInitAudioSystem.yml @@ -0,0 +1,525 @@ +- symbol: 0 + hash: cdf6eea66ddf2715f2308588e6e5dc3d17f09971 + signature: fAgCpv////88YAAA//8AAJABAAT/////OIMAAP//AAA8YIEA/////5Qh/9D/////OKAAgP////+/IQAU/////0gAAAH8AAADPGCBAP////84gACA/////0gAAAH8AAADPGDMAP////84Y1AA/////zgAAEP/////sAMAEv////874wAK/////zgACKz/////sAMACv////+gAwAK/////2AAAAH/////sAMACv////+gHwAA/////1QAB///////QIL/+P////84AAAA/////zyAzAD/////sARQAP////87xFAA/////6R+AAT/////O6RQAP////+kHQAG/////1BggB7/////VAAAAf////9Agv/o/////zxgzAD/////PAABAP////87Y1AA/////5QbACD/////OAAAAP////87Q1AA/////5QaACT/////OAAAIP////87I1AA/////5QZACj/////oH8AAP////9IAAAI/////6B/AAD/////VGAGtf////9Bgv/4/////7B/AAD/////SAAAAfwAAAN8fBt4/////0gAAAH8AAADfBwYUP////8sAAiS/////0GA//T/////PAABAP////+QGwAA/////zhgAAD/////OAAAIP////+QegAA/////5AZAAD/////oH8AAP////9IAAAI/////6B/AAD/////VGAGtf////9Bgv/4/////7B/AAD/////oB8AAP////9UAAVm/////7AfAAD/////oB8AAP////9UAAVr/////0CC//j/////oB8AAP////9UAAe4/////7AfAAD/////oB4AAP////9IAAAI/////6AeAAD/////VAUEPv////9UAAQh/////0GC//T/////oB8AAP////+gnQAA/////2AAAAT/////sB8AAP////84AAis/////7AfAAD/////oB8AAP////9gAAAB/////7AfAAD/////oB8AAP////9UAAf//////0CC//j/////uyEAFP////+AAQA0/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 404 + flags: 1 + section: .text + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: ee9f7f9ac5386504c8879d77bb7b6e4f472b352f + signature: fAgCpv////+QAQAE/////5Qh/9D/////vyEAFP////9IAAAB/AAAAzyAgQD/////OKAAgP////84Y/+A/////0gAAAH8AAADPGAAAP//AAA4gwAA//8AADxggQD/////OKAAgP////9IAAAB/AAAAzxggQD/////OIAAgP////9IAAAB/AAAAzxgzAD/////OGNQAP////84AABD/////7ADABL/////O+MACv////84AAis/////7ADAAr/////oAMACv////9gAAAB/////7ADAAr/////oB8AAP////9UAAf//////0CC//j/////OAAAAP////88gMwA/////7AEUAD/////O8RQAP////+kfgAE/////zukUAD/////pB0ABv////9QYIAe/////1QAAAH/////QIL/6P////88YMwA/////zwAAQD/////O2NQAP////+UGwAg/////zgAAAD/////O0NQAP////+UGgAk/////zgAACD/////OyNQAP////+UGQAo/////6B/AAD/////SAAACP////+gfwAA/////1RgBrX/////QYL/+P////+wfwAA/////0gAAAH8AAADfHwbeP////9IAAAB/AAAA3wcGFD/////LAAIkv////9BgP/0/////zwAAQD/////kBsAAP////84YAAA/////zgAACD/////kHoAAP////+QGQAA/////6B/AAD/////SAAACP////+gfwAA/////1RgBrX/////QYL/+P////+wfwAA/////6AfAAD/////VAAFZv////+wHwAA/////6AfAAD/////VAAFa/////9Agv/4/////6AfAAD/////VAAHuP////+wHwAA/////6AeAAD/////SAAACP////+gHgAA/////1QFBD7/////VAAEIf////9Bgv/0/////6AfAAD/////oJ0AAP////9gAAAE/////7AfAAD/////OAAIrP////+wHwAA/////6AfAAD/////YAAAAf////+wHwAA/////6AfAAD/////VAAH//////9Agv/4/////0gAAAH8AAADOIP/gP////88YIEA/////zigAID/////SAAAAfwAAAO7IQAU/////4ABADT/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 444 + flags: 1 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 586110c8f086e45e91f2b627db4df06cae1ae051 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIADP////84YAAB/////0gAAAH8AAADSAAAAfwAAAM8gIEA/////zigAID/////OGP/gP////9IAAAB/AAAAzyAAAD//wAAPGCBAP////84hAAA//8AADigAID/////SAAAAfwAAAM8YIEA/////ziAAID/////SAAAAfwAAAM8YMwA/////zgAAEP/////sANQEv////84AAis/////7ADUAr/////oANQCv////9gAAAB/////7ADUAr/////oANQCv////9UAAf//////0CC//j/////OAAAAP////88gMwA/////7AEUAD/////oGRQBP////+gBFAG/////1BggB7/////VAAAAf////9Agv/w/////zyAzAD/////PAABAP////+QBFAg/////zhgAAD/////OAAAIP////+QZFAk/////5AEUCj/////oKRQCv////9IAAAI/////6CkUAr/////VKAGtf////9Bgv/4/////zxgzAD/////sKNQCv////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAN8HxhQ/////ywACJL/////QYD/9P////88gMwA/////zwAAQD/////kARQIP////84YAAA/////zgAACD/////kGRQJP////+QBFAo/////6CkUAr/////SAAACP////+gpFAK/////1SgBrX/////QYL/+P////88YMwA/////7CjUAr/////oANQCv////9UAAVm/////7ADUAr/////oANQCv////9UAAVr/////0CC//j/////PGDMAP////+gA1AK/////1QAB7j/////sANQCv////+gA1AE/////0gAAAj/////oANQBP////9UAAQh/////0GC//j/////PIDMAP////84AAis/////6BkUAb/////oGRQCv////9gYwAE/////7BkUAr/////sARQCv////+gBFAK/////2AAAAH/////sARQCv////+gBFAK/////1QAB///////QIL/+P////9IAAAB/AAAA3xkG3j/////PGCBAP////84hP+A/////zigAID/////SAAAAfwAAAOAAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 456 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __AIClockInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 83b527a119ef5a032223b09de11a9add523c0b10 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIADP////84YAAB/////0gAAAH8AAADSAAAAfwAAAM8gIEA/////zigAID/////OGP/gP////9IAAAB/AAAAzyAAAD//wAAPGCBAP////84hAAA//8AADigAID/////SAAAAfwAAAM8YIEA/////ziAAID/////SAAAAfwAAAM8YMwA/////zgAAEP/////sANQEv////84AAis/////7ADUAr/////oANQCv////9gAAAB/////7ADUAr/////oANQCv////9UAAf//////0CC//j/////PIDMAP////84AAAA/////7AEUAD/////oGRQBP////+gBFAG/////1BggB7/////VAAAAf////9Agv/w/////zyAzAD/////PAABAP////+QBFAg/////zhgAAD/////OAAAIP////+QZFAk/////5AEUCj/////oKRQCv////9IAAAI/////6CkUAr/////VKAGtf////9Bgv/4/////zxgzAD/////sKNQCv////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAN8HxhQ/////ywACJL/////QYD/9P////88gMwA/////zwAAQD/////kARQIP////84YAAA/////zgAACD/////kGRQJP////+QBFAo/////6CkUAr/////SAAACP////+gpFAK/////1SgBrX/////QYL/+P////88YMwA/////7CjUAr/////oANQCv////9UAAVm/////7ADUAr/////oANQCv////9UAAVr/////0CC//j/////PGDMAP////+gA1AK/////1QAB7j/////sANQCv////+gA1AE/////0gAAAz/////YAAAAP////+gA1AE/////1QABCH/////QYL/+P////88gMwA/////zgACKz/////oGRQBv////+gZFAK/////2BjAAT/////sGRQCv////+wBFAK/////6AEUAr/////YAAAAf////+wBFAK/////2AAAAD/////oARQCv////9UAAf//////0CC//j/////SAAAAfwAAAN8ZBt4/////zxggQD/////OIT/gP////84oACA/////0gAAAH8AAADgAEAFP////+D4QAM/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 464 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __AIClockInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: fa85ab131ed80b5170d62e8109b558745e32107a + signature: fAgCpv////+QAQAE/////5Qh/+D/////v6EAFP////88YAAA//8AADvDAAD//wAASAAAAfwAAAM4Y/+A/////zyAgQD/////OKAAgP////9IAAAB/AAAAzxggQD/////OJ4AAP////84oACA/////0gAAAH8AAADPGCBAP////84gACA/////0gAAAH8AAADOAAAQ/////88YMwA/////7ADUBL/////PGDMAP////+gA1AK/////1QABa3/////QYIAGP////84fgCA/////ziAAHH/////OL4AkP////9MxjGC/////0gAAAH8AAADPGDMAP////+gA1AK/////1QABWv/////QYIAGP////84fgCA/////ziAAHX/////OL4AxP////9MxjGC/////0gAAAH8AAADPGDMAP////+gA1AK/////1QAB3v/////QIIAGP////84fgCA/////ziAAHn/////OL4A+P////9MxjGC/////0gAAAH8AAADOAAIrP////88YMwA/////7ADUAr/////PGDMAP////84Y1AA/////6ADAAr/////YAAAAf////+wAwAK/////zxgzAD/////oANQCv////9UAAf//////0CC//T/////OAAAAP////88YMwA/////7ADUAD/////PGDMAP////+gg1AE/////zxgzAD/////oANQBv////9QgIAe/////1QAAAH/////QIL/6P////88AAEA/////zxgzAD/////kANQIP////84AAAA/////zxgzAD/////kANQJP////84AAAg/////zxgzAD/////kANQKP////88YMwA/////6PjUAr/////SAAADP////88YMwA/////6PjUAr/////V+AGtf////9Bgv/0/////zxgzAD/////s+NQCv////9IAAAB/AAAA3x9G3j/////SAAAAfwAAAN8HRhQ/////ywACJL/////QYD/9P////88AAEA/////zxgzAD/////kANQIP////84AAAA/////zxgzAD/////kANQJP////84AAAg/////zxgzAD/////kANQKP////88YMwA/////6PjUAr/////SAAADP////88YMwA/////6PjUAr/////V+AGtf////9Bgv/0/////zxgzAD/////s+NQCv////88YMwA/////zhjUAD/////oAMACv////9UAAVm/////7ADAAr/////PGDMAP////+gA1AK/////1QABWv/////QIL/9P////88YMwA/////zhjUAD/////oAMACv////9UAAe4/////7ADAAr/////OAAAAP////+YAQAI/////zxgzAD/////o+NQBP////9IAAAM/////zxgzAD/////o+NQBP////9X4AQh/////0GC//T/////PGDMAP////84Y1AA/////6BjAAb/////U+OAHv////88A3+s/////ygAQ0j/////QYIAGP////84fgCA/////ziAAMH/////OL4BJP////9MxjGC/////0gAAAH8AAADPGDMAP////84Y1AA/////6ADAAr/////YAAABP////+wAwAK/////zgACKz/////PGDMAP////+wA1AK/////zxgzAD/////OGNQAP////+gAwAK/////2AAAAH/////sAMACv////88YMwA/////6ADUAr/////VAAH//////9Agv/0/////0gAAAH8AAADOIMAAP////88YIEA/////ziE/4D/////OKAAgP////9IAAAB/AAAA4ABACT/////u6EAFP////84IQAg/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 700 + flags: 1 + section: .text + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 4095d9030cd151bae1cda6629b8bbc1800a10a59 + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////zxgAAD//wAAO8MAAP//AACAAAAA/+AAACwAAAD/////QIIADP////84YAAB/////0gAAAH8AAADSAAAAfwAAAM4Y/+A/////zyAgQD/////OKAAgP////9IAAAB/AAAAzxggQD/////OJ4AAP////84oACA/////0gAAAH8AAADPGCBAP////84gACA/////0gAAAH8AAADOAAAQ/////88YMwA/////7ADUBL/////OAAAAf////+QAQAk/////zxgzAD/////oANQCv////9UAAWs/////ywAAAD/////QYIANP////84fgCA/////ziAAP3/////OL4AkP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAg/////4ABACD/////LAAAAP////9AggAM/////zgAAAD/////kAEAJP////84AAAB/////5ABABz/////PGDMAP////+gA1AK/////1QABWr/////LAAAAP////9BggA0/////zh+AID/////OIABAf////84vgDE/////0zGMYL/////SAAAAfwAAAM4AAAA/////5ABABj/////gAEAGP////8sAAAA/////0CCAAz/////OAAAAP////+QAQAc/////zgAAAH/////kAEAFP////88YMwA/////6ADUAr/////VAAHev////8sAAAA/////0CCADT/////OH4AgP////84gAEF/////zi+APj/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEAEP////+AAQAQ/////ywAAAD/////QIIADP////84AAAA/////5ABABT/////OAAIrP////88YMwA/////7ADUAr/////PGDMAP////+gA1AK/////2AAAAH/////VAAEPv////+wA1AK/////zxgzAD/////oANQCv////9UAAf+/////ywAAAD/////QIL/8P////84AAAA/////zxgzAD/////sANQAP////88YMwA/////6ADUAT/////VASAHv////88YMwA/////6ADUAb/////fIADeP////9UAAAA/////ywAAAD/////QIL/4P////88AAEA/////zxgzAD/////kANQIP////84AAAA/////zxgzAD/////kANQJP////84AAAg/////zxgzAD/////kANQKP////88YMwA/////6ADUAr/////VB8EPv////9IAAAQ/////zxgzAD/////oANQCv////9UHwQ+/////1fgBD7/////VAAGtP////8sAAAA/////0GC/+j/////V+AEPv////88YMwA/////7ADUAr/////SAAAAfwAAAOQYQAo/////0gAAAH8AAADgAEAKP////98ABhQ/////ywACJL/////QYD/8P////88AAEA/////zxgzAD/////kANQIP////84AAAA/////zxgzAD/////kANQJP////84AAAg/////zxgzAD/////kANQKP////88YMwA/////6ADUAr/////VB8EPv////9IAAAQ/////zxgzAD/////oANQCv////9UHwQ+/////1fgBD7/////VAAGtP////8sAAAA/////0GC/+j/////V+AEPv////88YMwA/////7ADUAr/////PGDMAP////+gA1AK/////1QABWb/////VAAEPv////+wA1AK/////zxgzAD/////oANQCv////9UAAVq/////ywAAAD/////QIL/8P////88YMwA/////6ADUAr/////VAAHuP////9UAAQ+/////7ADUAr/////OAAAAP////+YAQAI/////zxgzAD/////oANQBP////9UHwQ+/////0gAABD/////PGDMAP////+gA1AE/////1QfBD7/////V+AEPv////9UAAQg/////ywAAAD/////QYL/6P////9X4AQ+/////1QEgB7/////PGDMAP////+gA1AG/////3yDA3j/////PAN/rP////8oAENI/////0GCADD/////OH4AgP////84gAFN/////zi+AST/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEADP////+AYQAM/////3wDAND/////fAAbeP////9UAA/+/////zxgzAD/////oANQCv////9gAAAE/////1QABD7/////sANQCv////84AAis/////zxgzAD/////sANQCv////88YMwA/////6ADUAr/////YAAAAf////9UAAQ+/////7ADUAr/////PGDMAP////+gA1AK/////1QAB/7/////LAAAAP////9Agv/w/////0gAAAH8AAADfGQbeP////88YIEA/////ziE/4D/////OKAAgP////9IAAAB/AAAA4PhADz/////g8EAOP////+AAQBE/////3wIA6b/////OCEAQP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitAudioSystem + size: 956 + flags: 1 + section: .text + - kind: Object + name: DSPInitCode + size: 128 + flags: 2 + section: .data + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __AIClockInit + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/__OSInitIPCBuffer.yml b/assets/__OSInitIPCBuffer.yml new file mode 100644 index 0000000..ac573f8 --- /dev/null +++ b/assets/__OSInitIPCBuffer.yml @@ -0,0 +1,69 @@ +- symbol: 0 + hash: aed531882f5a52115e7ce8b9dd6b6ae5bc32a34b + signature: PGCAAP////+AAzEw/////5AAAAD/4AAAgAMxNP////+QAAAA/+AAAE6AACD///// + symbols: + - kind: Function + name: __OSInitIPCBuffer + size: 24 + flags: 1 + section: .text + - kind: Object + name: IpcBufferLo + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: IpcBufferHi + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 8 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 9c4e92b0a1a061160248af91e7dd0841b29c2431 + signature: lCH/8P////98CAKm/////5ABABT/////OGAxMP////9IAAAB/AAAA4ADAAD/////kAAAAP/gAAA4YDE0/////0gAAAH8AAADgAMAAP////+QAAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInitIPCBuffer + size: 60 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: IpcBufferLo + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: IpcBufferHi + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 diff --git a/assets/__OSInitMemoryProtection.yml b/assets/__OSInitMemoryProtection.yml new file mode 100644 index 0000000..2c27b42 --- /dev/null +++ b/assets/__OSInitMemoryProtection.yml @@ -0,0 +1,1413 @@ +- symbol: 0 + hash: db004647a89174e29b97a1d3521a5f8bc05e4954 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////0gAAAH8AAADPIDMAP////84AAAA/////7AEQCD/////OAAA//////98fht4/////zxg8AD/////sARAEP////9IAAAB/AAAAz/gAAD//wAAOGAAAP////84nwAA//8AAEgAAAH8AAADOJ8AAP//AAA4YAAB/////0gAAAH8AAADOJ8AAP//AAA4YAAC/////0gAAAH8AAADOJ8AAP//AAA4YAAD/////0gAAAH8AAADOJ8AAP//AAA4YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADSAAAAfwAAAM8YAgA/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 176 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: BATConfig + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: dfcaeeac059aad0535d37a57111c97953f448222 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAACT4QAM/////ywAAAD/////k8EACP////9AggCY/////0gAAAH8AAADPIDMAP////84AAAA/////7AEQCD/////OAAA//////98fht4/////zxg8AD/////sARAEP////9IAAAB/AAAAz/gAAD//wAAOGAAAP////84nwAA//8AAEgAAAH8AAADOJ8AAP//AAA4YAAB/////0gAAAH8AAADOJ8AAP//AAA4YAAC/////0gAAAH8AAADOJ8AAP//AAA4YAAD/////0gAAAH8AAADOJ8AAP//AAA4YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGAADP////84Y6LP/////0gAAAH8AAADPGAIAP////9IAAAB/AAAAzgAAAH/////kAAAAP/gAAB/w/N4/////0gAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 204 + flags: 1 + section: .text + - kind: Object + name: '@LOCAL@__OSInitMemoryProtection__Fv@initialized' + size: 4 + flags: 5 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: BATConfig + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: bdbc51b8e6ddee528175cd3833389a0a990278da + signature: fAgCpv////88YMwA/////5ABAAT/////OAAAAP////+UIf/Q/////5PhACz/////k8EAKP////87w0AA/////7ADQCD/////OAAA//////88YPAA/////7AeABD/////SAAAAfwAAAM8YAAA//8AADvjAAD//wAAOJ8AAP////84YAAA/////0gAAAH8AAADOJ8AAP////84YAAB/////0gAAAH8AAADOJ8AAP////84YAAC/////0gAAAH8AAADOJ8AAP////84YAAD/////0gAAAH8AAADOJ8AAP////84YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGCAAP////+AgwDw/////4ADACj/////fAQAQP////9AgAAY/////zwE/oD/////KAAAAP////9AggAM/////zgAAAL/////sB4AKP////88YAgA/////0gAAAH8AAADgAEANP////+D4QAs/////4PBACj/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 204 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 74b77fd3813ab93ff74cee9134fa2e119783de51 + signature: fAgCpv////88YMwA/////5ABAAT/////OAAAAP////+UIf/Q/////5PhACz/////k8EAKP////87w0AA/////7ADQCD/////OAAA//////88YPAA/////7AeABD/////SAAAAfwAAAM8YAAA//8AADvjAAD//wAAOJ8AAP////84YAAA/////0gAAAH8AAADOJ8AAP////84YAAB/////0gAAAH8AAADOJ8AAP////84YAAC/////0gAAAH8AAADOJ8AAP////84YAAD/////0gAAAH8AAADOJ8AAP////84YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGCAAP////+AgwDw/////4ADACj/////fAQAQP////9AgAAY/////zwE/oD/////KAAAAP////9AggAM/////zgAAAL/////sB4AKP////88YAgA/////0gAAAH8AAADgAEANP////+D4QAs/////4PBACj/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 204 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 07a4f8ca234a4e40cbdd92ac97a74eda044d70d0 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAACT4QAM/////ywAAAD/////k8EACP////9AggCY/////0gAAAH8AAADPIDMAP////84AAAA/////7AEQCD/////OAAA//////98fht4/////zxg8AD/////sARAEP////9IAAAB/AAAAz/gAAD//wAAOGAAAP////84nwAA//8AAEgAAAH8AAADOJ8AAP//AAA4YAAB/////0gAAAH8AAADOJ8AAP//AAA4YAAC/////0gAAAH8AAADOJ8AAP//AAA4YAAD/////0gAAAH8AAADOJ8AAP//AAA4YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGAADP////84Y6LP/////0gAAAH8AAADPGAIAP////9IAAAB/AAAAzgAAAH/////f8PzeP////+QAAAA/+AAAEgAAAH8AAADgAEAFP////+D4QAM/////4PBAAj/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 204 + flags: 1 + section: .text + - kind: Object + name: initialized$696 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: BATConfig + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 6bc555a9b3437489a97460d8c28129ec8382be1a + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAA3x/G3j/////OAAAAP////88YMwA/////7ADQCD/////OAAA//////88YMwA/////7ADQBD/////PGDwAP////9IAAAB/AAAAzhgAAD/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAB/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAAv////98Ywc0/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAP/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAE/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADSAAAAfwAAAM8YAgA/////0gAAAH8AAADf+P7eP////9IAAAB/AAAA4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 208 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: BATConfig + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: b05b68904dcc11bc84e80af841f58aed0c8c7f0e + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIAwP////9IAAAB/AAAA3x/G3j/////OAAAAP////88YMwA/////7ADQCD/////OAAA//////88YMwA/////7ADQBD/////PGDwAP////9IAAAB/AAAAzhgAAD/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAB/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAAv////98Ywc0/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAP/////fGMHNP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAE/////3xjBzT/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGAADP////84Y6LP/////0gAAAH8AAADPGAIAP////9IAAAB/AAAAzgAAAH/////kAAAAP/gAAB/4/t4/////0gAAAH8AAADg+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 236 + flags: 1 + section: .text + - kind: Object + name: initialized$724 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterShutdownFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: BATConfig + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 0480daa3afcbbc33aa6177122ce192b1a9a52e3f + signature: fAgCpv////+QAQAE/////5Qh/7D/////v2EAPP////8/YIAA/////4P7APD/////SAAAAfwAAAM8gMwA/////zuEQAD/////OAAAAP////+wHAAg/////zgAAP//////fH4beP////+wHAAQ/////zxg8AD/////SAAAAfwAAAM8YAAA//8AADujAAD//wAAf6TreP////84YAAA/////0gAAAH8AAADf6TreP////84YAAB/////0gAAAH8AAADf6TreP////84YAAC/////0gAAAH8AAADf6TreP////84YAAD/////0gAAAH8AAADf6TreP////84YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADgHsA8P////+AGwAo/////3wDAED/////QIAAJP////88A/6A/////ygAAAD/////QIIAGP////88YIGA/////zyAAYD/////SAAAAfwAAAM4AAAC/////7AcACj/////PAABgP////98HwBA/////0GBABT/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADSAAAHP////88AAMA/////3wfAED/////QYEAEP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YAgA/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA7thADz/////gAEAVP////84IQBQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 280 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: Config24MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: RealMode + size: 0 + flags: 2 + section: .text + - kind: Function + name: Config48MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 4f229886c678ef3f4848a5e113c35d6016583a87 + signature: fAgCpv////+QAQAE/////5Qh/7j/////k+EARP////+TwQBA/////5OhADz/////PGCAAP////+DowDw/////0gAAAH8AAADPAABgP////98HQBA/////3x/G3j/////QYEAFP////88YAAA//8AADhjAAD//wAASAAAAfwAAANIAAAc/////zwAAwD/////fB0AQP////9BgQAQ/////zxgAAD//wAAOGMAAP//AABIAAAB/AAAAzxgzAD/////O6NAAP////84AAAA/////7AdACD/////OAAA//////88YPAA/////7AdABD/////SAAAAfwAAAM8YAAA//8AADvDAAD//wAAf8TzeP////84YAAA/////0gAAAH8AAADf8TzeP////84YAAB/////0gAAAH8AAADf8TzeP////84YAAC/////0gAAAH8AAADf8TzeP////84YAAD/////0gAAAH8AAADf8TzeP////84YAAE/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADPGCAAP////+AgwDw/////4ADACj/////fAQAQP////9AgAAY/////zwE/oD/////KAAAAP////9AggAM/////zgAAAL/////sB0AKP////88YAgA/////0gAAAH8AAADf+P7eP////9IAAAB/AAAA4ABAEz/////g+EARP////+DwQBA/////4OhADz/////OCEASP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 288 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: Config24MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: RealMode + size: 0 + flags: 2 + section: .text + - kind: Function + name: Config48MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 1ea3407adac2c120b23bbf76767a3d17e2a9badd + signature: fAgCpv////+QAQAE/////5Qh/+j/////v6EADP////9IAAAB/AAAA3x/G3j/////SAAAAfwAAAN8fht4/////zgAAAD/////PGDMAP////84Y0AA/////7ADACD/////OAAA//////88YMwA/////zhjQAD/////sAMAEP////88YPAA/////0gAAAH8AAADOGAAAP////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAB/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzhgAAL/////PIAAAP//AAA4hAAA//8AAEgAAAH8AAADOGAAA/////88gAAA//8AADiEAAD//wAASAAAAfwAAAM4YAAE/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAA0gAAAH8AAADfH0beP////9IAAAB/AAAA3wD6ED/////QIAAMP////9IAAAB/AAAAzwD/oD/////KAAAAP////9AggAg/////zxggYD/////PIABgP////9IAAAB/AAAAzgAAAL/////PGDMAP////84Y0AA/////7ADACj/////PAABgP////98HwBA/////0GBABT/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADSAAAHP////88AAMA/////3wfAED/////QYEAEP////88YAAA//8AADhjAAD//wAASAAAAfwAAAM8YAgA/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA4ABABz/////u6EADP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitMemoryProtection + size: 316 + flags: 1 + section: .text + - kind: Function + name: OSGetConsoleSimulatedMemSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: MEMIntrruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetInterruptHandler + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionInfo + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSRegisterResetFunction + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetPhysicalMemSize + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: Config24MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: RealMode + size: 0 + flags: 2 + section: .text + - kind: Function + name: Config48MB + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 240 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 14 + addend: 0 diff --git a/assets/__OSInitNet.yml b/assets/__OSInitNet.yml new file mode 100644 index 0000000..fa7bbb7 --- /dev/null +++ b/assets/__OSInitNet.yml @@ -0,0 +1,494 @@ +- symbol: 0 + hash: 79e0fcef1e65005404d892229aad477c71cf3864 + signature: lCH/4P////98CAKm/////5ABACT/////OGEACP////+T4QAc/////z/gAAD//wAAO/8AAP//AABIAAAB/AAAA4gBAAn/////KAAABP////9AgQBo/////ygAAAn/////QIIACP////9IAABc/////0gAAAH8AAADLAMAAP////9BggA0/////0CAABT/////fGQbeP////84fwAA/////0zGMYL/////SAAAAfwAAANIAAAB/AAAAywDAAD/////QIAAFP////98ZBt4/////zh/ADT/////TMYxgv////9IAAAB/AAAA0gAAAH8AAADLAMAAP////9BggAU/////3xkG3j/////OH8AaP////9MxjGC/////0gAAAH8AAADgAEAJP////+D4QAc/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitNet + size: 164 + flags: 1 + section: .text + - kind: Object + name: '@1039' + size: 50 + flags: 2 + section: .data + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iPrepareShutdown + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24SuspendScheduler + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24iSynchronizeRtcCounter + size: 0 + flags: 5 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 17ee28868602b9799d402a4543696098ffc24866 + signature: lCH/4P////98CAKm/////5ABACT/////OGEACP////+T4QAc/////z/gAAD//wAAO/8AAP//AABIAAAB/AAAA4gBAAn/////KAAABP////9AgQB4/////ygAAAn/////QIIACP////9IAABs/////0gAAAH8AAADLAMAAP////9BggA0/////0CAABT/////fGQbeP////84fwAA/////0zGMYL/////SAAAAfwAAANIAAAB/AAAAywDAAD/////QIAAFP////98ZBt4/////zh/ADT/////TMYxgv////9IAAAB/AAAA4AAAAD/4AAALAAAAP////9AggAk/////zhgAAD/////SAAAAfwAAAMsAwAA/////0GCABT/////fGQbeP////84fwBo/////0zGMYL/////SAAAAfwAAAOAAQAk/////4PhABz/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __OSInitNet + size: 180 + flags: 1 + section: .text + - kind: Object + name: '@1040' + size: 50 + flags: 2 + section: .data + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iPrepareShutdown + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24SuspendScheduler + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: NWC24iSynchronizeRtcCounter + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 10d993ca1d041733a2b8c13a38b33ca9fd8f470a + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////PGAAAP//AAA7owAA//8AAEgAAAH8AAADOGEACP////9IAAAB/AAAA4gBAAn/////KAAABP////9AgQAQ/////4gBAAn/////KAAACf////9AggAI/////0gAAGz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QYIAPP////8sHwAA/////0CAABT/////OH0AAP////9/5Pt4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////LB4AAP////9AgAAU/////zh9ADT/////f8TzeP////9MxjGC/////0gAAAH8AAADSAAAAfwAAAN8fxt4/////ywfAAD/////QYIAFP////84fQBo/////3/k+3j/////TMYxgv////9IAAAB/AAAA4PhABz/////g8EAGP////+DoQAU/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __OSInitNet + size: 204 + flags: 1 + section: .text + - kind: Object + name: '@654' + size: 50 + flags: 2 + section: .data + - kind: Function + name: REXInit + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iPrepareShutdown + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24SuspendScheduler + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24iSynchronizeRtcCounter + size: 0 + flags: 5 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 99eab4834fc10dd3c72b1dd2a830a36b5dd992ac + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////PGAAAP//AAA7owAA//8AAEgAAAH8AAADOGEACP////9IAAAB/AAAA4gBAAn/////KAAABP////9AgQAQ/////4gBAAn/////KAAACf////9AggAI/////0gAAHz/////SAAAAfwAAAN8fxt4/////ywfAAD/////QYIAPP////8sHwAA/////0CAABT/////OH0AAP////9/5Pt4/////0zGMYL/////SAAAAfwAAANIAAAB/AAAA3x+G3j/////LB4AAP////9AgAAU/////zh9ADT/////f8TzeP////9MxjGC/////0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCACj/////OGAAAP////9IAAAB/AAAA3x/G3j/////LB8AAP////9BggAU/////zh9AGj/////f+T7eP////9MxjGC/////0gAAAH8AAADg+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitNet + size: 220 + flags: 1 + section: .text + - kind: Object + name: '@671' + size: 50 + flags: 2 + section: .data + - kind: Function + name: REXInit + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iPrepareShutdown + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: NWC24SuspendScheduler + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSInIPL + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: NWC24iSynchronizeRtcCounter + size: 0 + flags: 5 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: a9082fc7e6e12f2da297cb33f8d39a685a845a5e + signature: lCH/4P////98CAKm/////5ABACT/////OGEACP////+T4QAc/////0gAAAH8AAADiAEACf////8oAAAE/////0CBAQz/////KAAACf////9AggAI/////0gAAQD/////SAAAAfwAAAMsAwAA/////3xkG3j/////QYIAFP////88YAAA//8AADhjAAD//wAATMYxgv////9IAAAB/AAAA4AAAAD/4AAAgGAAAP/gAAB8YAN5/////0GCAEj/////SAAAAfwAAAM8oIAA/////4EAAAD/4AAAgMUA+P////9sZYAA/////4DgAAD/4AAAOAAAAP////9Uw/C+/////xxjADz/////fGgYFP////98BwEU/////2wAgAD/////fGQYEP////98pQEQ/////3ygARD/////fKUA0f////9BggBw/////0gAAAH8AAADKAMAAv////9AggAM/////ziA////////SAAANP////8sAwAA/////0CC/+j/////SAAAAfwAAAN8fxt4/////0gAAAH8AAADPMCAAP////84oAAA/////4AGAPj/////VAbwvv////9IAAAB/AAAA3//IBD/////OIAAAP////8sBAAA/////0GCAAj/////SAAAJP////9IAAAB/AAAA5BgAAD/4AAAf+P7eP////+QgAAA/+AAAEgAAAH8AAADfGQbeP////9IAAAI/////ziAAAD/////LAQAAP////9BggAU/////zxgAAD//wAAOGMAAP//AABMxjGC/////0gAAAH8AAADgAEAJP////+D4QAc/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitNet + size: 320 + flags: 1 + section: .text + - kind: Function + name: __OSGetIOSRev + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iPrepareShutdown + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@955' + size: 50 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: whenCached$660 + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSGetSystemTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCCheckStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: SCGetCounterBias + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2i + size: 0 + flags: 1 + section: .text + - kind: Function + name: NWC24iSetRtcCounter_ + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@956' + size: 63 + flags: 2 + section: .data + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 96 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 116 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 5 + addend: 4 + - offset: 260 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__OSInitPlayTime.yml b/assets/__OSInitPlayTime.yml new file mode 100644 index 0000000..070a3b5 --- /dev/null +++ b/assets/__OSInitPlayTime.yml @@ -0,0 +1,938 @@ +- symbol: 0 + hash: 5fcd736d47487cbff4fe0166ac828c3a34e8972d + signature: VCsG/v////98LAt4/////yFr/sD/////fCFZbv////98CAKm/////zhgAAD/////kAwABP////84AAAB/////5Ps//z/////kGAAAP/gAACQYAAA/+AAAJBgAAD/4AAAkAAAAP/gAABIAAAB/AAAAywDAAD/////QYIACP////9IAAD8/////ziBAED/////OGAAAP////9IAAAB/AAAAywD/Af/////QYIAIP////8sAwAA/////0GCAAj/////SAAAFP////84YQBA/////ziBACD/////OKEAJP////9IAAAB/AAAAywDAAD/////QYIAEP////8sA/wH/////0GCALz/////SAAAuP////+AAQAg/////ywAAAD/////QYIArP////8sAAAB/////0CCAKT/////gAEAJP////8sAAAA/////0CCABz/////PGAAAP//AAA4gALh/////zhjAAD//wAAOKAAAP/gAABMxjGC/////0gAAAH8AAADP+AAAP//AAA4fwAA//8AAEgAAAH8AAADPGCAAP////884AAA//8AAIADAPj/////OIAAFP////+AoQAk/////zkgAAD/////VAbwvv////84fwAA//8AAH0FIBT/////OOcAAP//AAB8CUkU/////3ygMdb/////fIgwFv////98CEnW/////3yEKhT/////fMgx1v////98pAIU/////0gAAAH8AAADOJ8AAP//AAA8YAAA//8AAIAEAAj/////OGMAAP//AACApAAM/////5AAAAD/4AAAgIEAJP////+QoAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAA4FBAAD/////gAoABP////+D6v/8/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitPlayTime + size: 344 + flags: 1 + section: .text + - kind: Object + name: __OSExpireTime + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireCallback + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireSetExpiredFlag + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1506' + size: 13 + flags: 2 + section: .data + - kind: Object + name: '@1507' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSExpireAlarm + size: 48 + flags: 1 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSPlayTimeAlarmExpired + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1508' + size: 27 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 312 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 17826a0fa418284cc4a8e32ce6671f275665b1c1 + signature: VCsG/v////98LAt4/////yFr/sD/////fCFZbv////98CAKm/////zhgAAD/////kAwABP////84AAAB/////5Ps//z/////kGAAAP/gAACQYAAA/+AAAJBgAAD/4AAAkAAAAP/gAABIAAAB/AAAAywDAAD/////QYIACP////9IAAD8/////ziBAED/////OGAAAP////9IAAAB/AAAAywD/Af/////QYIAIP////8sAwAA/////0GCAAj/////SAAAFP////84YQBA/////ziBACD/////OKEAJP////9IAAAB/AAAAywDAAD/////QYIAEP////8sA/wH/////0GCALz/////SAAAuP////+AAQAg/////ywAAAD/////QYIArP////8sAAAB/////0CCAKT/////gAEAJP////8sAAAA/////0CCABz/////PGAAAP//AAA4gAMH/////zhjAAD//wAAOKAAAP/gAABMxjGC/////0gAAAH8AAADP+AAAP//AAA4fwAA//8AAEgAAAH8AAADPGCAAP////884AAA//8AAIADAPj/////OIAAAf////+AoQAk/////zkgAAD/////VAbwvv////84fwAA//8AAH0FIBT/////OOcAAP//AAB8CUkU/////3ygMdb/////fIgwFv////98CEnW/////3yEKhT/////fMgx1v////98pAIU/////0gAAAH8AAADOJ8AAP//AAA8YAAA//8AAIAEAAj/////OGMAAP//AACApAAM/////5AAAAD/4AAAgIEAJP////+QoAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAA4FBAAD/////gAoABP////+D6v/8/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitPlayTime + size: 344 + flags: 1 + section: .text + - kind: Object + name: __OSExpireTime + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireThread + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireSetExpiredFlag + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1547' + size: 13 + flags: 2 + section: .data + - kind: Object + name: '@1548' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSExpireAlarm + size: 48 + flags: 1 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSPlayTimeAlarmExpired + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1549' + size: 27 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 312 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: e3a386e02a9785ad08c80bf268575ef9e30ce530 + signature: VCsG/v////98LAt4/////yFr/sD/////fCFZbv////98CAKm/////zhgAAD/////kAwABP////84AAAB/////5Ps//z/////kGAAAP/gAACQYAAA/+AAAJBgAAD/4AAAkAAAAP/gAABIAAAB/AAAAywDAAD/////QYIACP////9IAAD8/////ziBAED/////OGAAAP////9IAAAB/AAAAywD/Af/////QYIAIP////8sAwAA/////0GCAAj/////SAAAFP////84YQBA/////ziBACD/////OKEAJP////9IAAAB/AAAAywDAAD/////QYIAEP////8sA/wH/////0GCALz/////SAAAuP////+AAQAg/////ywAAAD/////QYIArP////8sAAAB/////0CCAKT/////gAEAJP////8sAAAA/////0CCABz/////PGAAAP//AAA4gALh/////zhjAAD//wAAOKAAAP/gAABMxjGC/////0gAAAH8AAADP+AAAP//AAA4fwAA//8AAEgAAAH8AAADPGCAAP////884AAA//8AAIADAPj/////OIAAFP////+AoQAk/////zkgAAD/////VAbwvv////84fwAA//8AAH0FIBT/////OOcAAP//AAB8CUkU/////3ygMdb/////fIgwFv////98CEnW/////3yEKhT/////fMgx1v////98pAIU/////0gAAAH8AAADOJ8AAP//AAA8YAAA//8AAIAEAAj/////OGMAAP//AACAhAAM/////5CAAAD/4AAAgIEAJP////+QAAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAA4FBAAD/////gAoABP////+D6v/8/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitPlayTime + size: 344 + flags: 1 + section: .text + - kind: Object + name: __OSExpireTime + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireCallback + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireSetExpiredFlag + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1519' + size: 13 + flags: 2 + section: .data + - kind: Object + name: '@1520' + size: 8 + flags: 2 + section: .sdata + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSExpireAlarm + size: 48 + flags: 1 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSPlayTimeAlarmExpired + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1521' + size: 27 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 1 + addend: 4 + - offset: 304 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 2b59a5795f87179a292757ccbc2315f8151804be + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvDAAD//wAAOGAAAP////84AAAA/////5BgAAD/4AAAkAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAAEgAAAH8AAADfH8beP////8sHwAA/////0GCADD/////OH4AFP////84gALs/////zi+AED/////f+b7eP////9MxjGC/////0gAAAH8AAADO6AAAP////98HQDQ/////3wA63j/////VAAP/v////9IAAEQ/////zhhAAj/////OIEADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9BggA4/////ywf/Af/////QYIA8P////84fgAU/////ziAAvf/////OL4AQP////9/5vt4/////0zGMYL/////SAAAAfwAAAM7gAAA/////3wcAND/////fADjeP////9UAA/+/////0gAAMT/////gAEACP////8sAAAA/////0GCALj/////gAEACP////8sAAAB/////0CCAKz/////gAEADP////8sAAAA/////0CCABj/////OH4AFP////84gAMH/////zigAAD/4AAATMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AACAwQAM/////zigAAD/////OIAAAf////84AAAA/////30GIBT/////fOUBFP////88gIAA/////4AEAPj/////VAbwvv////84oAAA/////3wIMBb/////fIcx1v////98gCIU/////3wIKdb/////fMgx1v////98pAIU/////zyAAAD//wAAOOQAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AACAAwAI/////4BjAAz/////kGAAAP/gAACQAAAA/+AAADh+ALj/////gIEADP////9MxjGC/////0gAAAH8AAADSAAAAfwAAAOD4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __OSInitPlayTime + size: 432 + flags: 1 + section: .text + - kind: Object + name: '@1170' + size: 17 + flags: 2 + section: .data + - kind: Object + name: __OSExpireTime + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireThread + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireSetExpiredFlag + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetPlayTimeCurrent + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1357' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: __OSExpireAlarm + size: 48 + flags: 1 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSPlayTimeAlarmExpired + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 4 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 356 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 2 + addend: 4 + - offset: 376 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 14 + addend: 0 +- symbol: 0 + hash: 80da8ecadb1fc0367e720540d28508b83dca99c7 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////88YAAA//8AADvDAAD//wAAOGAAAP////84AAAA/////5BgAAD/4AAAkAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAf////+QAAAA/+AAAEgAAAH8AAADfH8beP////8sHwAA/////0GCADD/////OH4AFP////84gALG/////zi+AED/////f+b7eP////9MxjGC/////0gAAAH8AAADO6AAAP////98HQDQ/////3wA63j/////VAAP/v////9IAAEQ/////zhhAAj/////OIEADP////9IAAAB/AAAA3x/G3j/////LB8AAP////9BggA4/////ywf/Af/////QYIA8P////84fgAU/////ziAAtH/////OL4AQP////9/5vt4/////0zGMYL/////SAAAAfwAAAM7gAAA/////3wcAND/////fADjeP////9UAA/+/////0gAAMT/////gAEACP////8sAAAA/////0GCALj/////gAEACP////8sAAAB/////0CCAKz/////gAEADP////8sAAAA/////0CCABj/////OH4AFP////84gALh/////zigAAD/4AAATMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AACAwQAM/////zigAAD/////OIAAFP////84AAAA/////30GIBT/////fOUBFP////88gIAA/////4AEAPj/////VAbwvv////84oAAA/////3wIMBb/////fIcx1v////98gCIU/////3wIKdb/////fMgx1v////98pAIU/////zyAAAD//wAAOOQAAP//AABIAAAB/AAAAzxgAAD//wAAOGMAAP//AACAAwAI/////4BjAAz/////kGAAAP/gAACQAAAA/+AAADh+ALj/////gIEADP////9MxjGC/////0gAAAH8AAADSAAAAfwAAAOD4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __OSInitPlayTime + size: 432 + flags: 1 + section: .text + - kind: Object + name: '@1187' + size: 17 + flags: 2 + section: .data + - kind: Object + name: __OSExpireTime + size: 8 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireCallback + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSExpireSetExpiredFlag + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: __OSGetPlayTimeCurrent + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1365' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: __OSExpireAlarm + size: 48 + flags: 1 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSPlayTimeAlarmExpired + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: ESP_CloseLib + size: 0 + flags: 1 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 2 + addend: 4 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 260 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 264 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 272 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 348 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 356 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 2 + addend: 4 + - offset: 376 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 14 + addend: 0 diff --git a/assets/__OSInitSTM.yml b/assets/__OSInitSTM.yml new file mode 100644 index 0000000..131f6cd --- /dev/null +++ b/assets/__OSInitSTM.yml @@ -0,0 +1,633 @@ +- symbol: 0 + hash: bf1cdeefc70e3f0ce3148a0fa14a9084fb5ddb45 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////88YAAA//8AADvjAAD//wAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAOAAAAP////+QAAAA/+AAAIAAAAD/4AAALAAAAP////9BggAM/////zhgAAH/////SAAAjP////84AAAA/////5AAAAD/4AAAOH8AAP////84gAAA/////0gAAAH8AAADkGAAAP/gAACAAAAA/+AAACwAAAD/////QIAAIP////84fwAU/////0zGMYL/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAAOGAAAP////9IAABM/////zh/AEj/////OIAAAP////9IAAAB/AAAA5BgAAD/4AAAgAAAAP/gAAAsAAAA/////0CAACD/////OH8AFP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAAAA/+AAADhgAAD/////SAAAFP////9IAAAB/AAAAzgAAAH/////kAAAAP/gAAA4YAAB/////4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSTM + size: 232 + flags: 1 + section: .text + - kind: Object + name: '@641' + size: 19 + flags: 2 + section: .data + - kind: Function + name: __OSDefaultPowerCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: PowerCallback + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSDefaultResetCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: ResetCallback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResetDown + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StmReady + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: StmVdInUse + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmImDesc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: StmEhDesc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __OSRegisterStateEvent + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 204 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 +- symbol: 0 + hash: d9b8ce41d60e0dabe37163fbd657509a35c27e53 + signature: lCH/8P////98CAKm/////zyAAAD//wAAPGAAAP//AACQAQAU/////ziEAAD//wAAOGMAAP//AACT4QAM/////zvgAAD/////k8EACP////+AAAAA/+AAAJCAAAD/4AAALAAAAP////+QYAAA/+AAAJPgAAD/4AAAQYIADP////84YAAB/////0gAALz/////PGAAAP//AACT4AAA/+AAADiAAAD/////OGMAAP//AABIAAAB/AAAAywDAAD/////kGAAAP/gAABAgAAQ/////5PgAAD/4AAAOGAAAP////9IAACQ/////zxgAAD//wAAOIAAAP////84YwAA//8AAEgAAAH8AAADLAMAAP////+QYAAA/+AAAECAABD/////k+AAAP/gAAA4YAAA/////0gAAGj/////SAAAAfwAAAN8fht4/////zygAAD//wAAPOAAAP//AAA9IAAA//8AAIBgAAD/4AAAOKUAAP//AAA45wAA//8AADkpAAD//wAAOIAQAP////84wAAg/////zkAACD/////OUAAAP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAB/////5AAAAD/4AAASAAACP////+T4AAA/+AAAH/D83j/////SAAAAfwAAAM4AAAB/////zhgAAH/////kAAAAP/gAACAAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSTM + size: 280 + flags: 1 + section: .text + - kind: Function + name: __OSDefaultPowerCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSDefaultResetCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: StmReady + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PowerCallback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResetCallback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResetDown + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@955' + size: 19 + flags: 2 + section: .data + - kind: Object + name: StmVdInUse + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmImDesc + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@956' + size: 19 + flags: 2 + section: .data + - kind: Object + name: StmEhDesc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmEhInBuf + size: 32 + flags: 2 + section: .bss + - kind: Object + name: StmEhOutBuf + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __OSStateEventHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmEhRegistered + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 252 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 +- symbol: 0 + hash: e6c6276f82c73d6083a4947bff2b763ccae19431 + signature: lCH/8P////98CAKm/////zyAAAD//wAAPGAAAP//AACQAQAU/////ziEAAD//wAAOGMAAP//AACT4QAM/////zvgAAD/////k8EACP////+AAAAA/+AAAJCAAAD/4AAALAAAAP////+QYAAA/+AAAJPgAAD/4AAAQYIADP////84YAAB/////0gAALz/////PGAAAP//AACT4AAA/+AAADiAAAD/////OGMAAP//AABIAAAB/AAAAywDAAD/////kGAAAP/gAABAgAAQ/////5PgAAD/4AAAOGAAAP////9IAACQ/////zxgAAD//wAAOIAAAP////84YwAA//8AAEgAAAH8AAADLAMAAP////+QYAAA/+AAAECAABD/////k+AAAP/gAAA4YAAA/////0gAAGj/////SAAAAfwAAAN8fht4/////zygAAD//wAAPOAAAP//AAA9IAAA//8AAIBgAAD/4AAAOKUAAP//AAA45wAA//8AADkpAAD//wAAOIAQAP////84wAAg/////zkAACD/////OUAAAP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAB/////5AAAAD/4AAASAAACP////+T4AAA/+AAAH/D83j/////SAAAAfwAAAM4AAAB/////5AAAAD/4AAAOGAAAf////+AAQAU/////4PhAAz/////g8EACP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSTM + size: 280 + flags: 1 + section: .text + - kind: Function + name: __OSDefaultPowerCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSDefaultResetCallback + size: 0 + flags: 2 + section: .text + - kind: Object + name: StmReady + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PowerCallback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResetCallback + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResetDown + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@980' + size: 19 + flags: 2 + section: .data + - kind: Object + name: StmVdInUse + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IOS_Open + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmImDesc + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@981' + size: 19 + flags: 2 + section: .data + - kind: Object + name: StmEhDesc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmEhInBuf + size: 32 + flags: 2 + section: .bss + - kind: Object + name: StmEhOutBuf + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __OSStateEventHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: IOS_IoctlAsync + size: 0 + flags: 1 + section: .text + - kind: Object + name: StmEhRegistered + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 144 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 164 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 180 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 184 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 188 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 232 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 diff --git a/assets/__OSInitSram.yml b/assets/__OSInitSram.yml new file mode 100644 index 0000000..340ed81 --- /dev/null +++ b/assets/__OSInitSram.yml @@ -0,0 +1,934 @@ +- symbol: 0 + hash: 8c2a97d868541667fe35ec5f2d016e1e85defe22 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAAOAAAAP////+QHwBE/////5AfAEj/////f+P7eP////9IAAAB/AAAA5B/AEz/////gB8ATP////8sAAAA/////0CCABz/////OGAAAP/gAAA4gAE4/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAQP////+QHwBA/////4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSram + size: 112 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: ReadSram + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@31' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: '@33' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: d56fcc645049f40c578f74d609db594fa750d839 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAAOAAAAP////+QHwBE/////5AfAEj/////f+P7eP////9IAAAB/AAAA5B/AEz/////gB8ATP////8sAAAA/////0CCABz/////OGAAAP/gAAA4gAFB/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAQP////+QHwBA/////0gAAAH8AAADSAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSInitSram + size: 120 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: ReadSram + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@31' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: '@33' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetGbsMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetGbsMode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 8f70794f9885b23e185613774a46f81ce9fa58e4 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////zgAAAD/////PGAAAP//AAA4YwAA//8AAJADAET/////PGAAAP//AAA4YwAA//8AAJADAEj/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADPIAAAP//AAA4hAAA//8AAJBkAEz/////O+AAAf////88gAAA//8AADiEAAD//wAAgAQATP////8sAAAA/////0CCACz/////OGAAAP/gAAA4gAFK/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO8AAAP////8sHgAA/////0CCAAj/////O+AAAP////84AABA/////zxgAAD//wAAOGMAAP//AACQAwBA/////0gAAAH8AAADVGMEPv////9IAAAB/AAAA4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitSram + size: 188 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: ReadSram + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@588' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: '@590' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetGbsMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetGbsMode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 8410b8f32107ba4ddf47bed517d9f21bdfffffbe + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////zgAAAD/////PGAAAP//AAA4YwAA//8AAJADAET/////PGAAAP//AAA4YwAA//8AAJADAEj/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADPIAAAP//AAA4hAAA//8AAJBkAEz/////O+AAAf////88YAAA//8AADhjAAD//wAAgAMATP////8sAAAA/////0CCACz/////OGAAAP/gAAA4gAFE/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADO8AAAP////8sHgAA/////0CCAAj/////O+AAAP////84AABA/////zxgAAD//wAAOGMAAP//AACQAwBA/////0gAAAH8AAADVGMEPv////9IAAAB/AAAA4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitSram + size: 188 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: ReadSram + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@578' + size: 8 + flags: 2 + section: .sdata + - kind: Object + name: '@580' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSGetGbsMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetGbsMode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: a55a8427e7515dc46d23cc97674d947a83b76e16 + signature: fAgCpv////88YAAA//8AAJABAAT/////OIAAQP////+UIf/o/////5PhABT/////O+AAAP////+TwQAQ/////zvDAAD//wAAOH4AAP////+T/gBE/////5P+AEj/////SAAAAfwAAAM4YAAA/////ziAAAH/////OKAAAP////9IAAAB/AAAAywDAAD/////QIIACP////9IAADE/////zhgAAD/////OIAAAf////84oAAD/////0gAAAH8AAADLAMAAP////9AggAQ/////zhgAAD/////SAAAAfwAAANIAACg/////zxgIAD/////OAMBAP////+QAQAI/////ziBAAj/////OGAAAP////84oAAE/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VB/Zfv////84YAAA/////0gAAAH8AAADfGAANP////9UANl+/////zieAAD/////f/8DeP////84YAAA/////zigAED/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3//A3j/////OGAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9//wN4/////zhgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f/8DeP////84YAAA/////0gAAAH8AAADf+AANP////9UH9l+/////5P+AEz/////OAAAQP////+QHgBA/////4ABABz/////g+EAFP////+DwQAQ/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitSram + size: 308 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDma + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 3b1f94ff0f061ebc81ffccb45d29d2e689b1c34a + signature: fAgCpv////88YAAA//8AAJABAAT/////OIAAQP////+UIf/o/////5PhABT/////O+AAAP////+TwQAQ/////zvDAAD//wAAOH4AAP////+T/gBE/////5P+AEj/////SAAAAfwAAAM4YAAA/////ziAAAH/////OKAAAP////9IAAAB/AAAAywDAAD/////QIIACP////9IAADE/////zhgAAD/////OIAAAf////84oAAD/////0gAAAH8AAADLAMAAP////9AggAQ/////zhgAAD/////SAAAAfwAAANIAACg/////zxgIAD/////OAMBAP////+QAQAI/////ziBAAj/////OGAAAP////84oAAE/////zjAAAH/////OOAAAP////9IAAAB/AAAA3xgADT/////VB/Zfv////84YAAA/////0gAAAH8AAADfGAANP////9UANl+/////zieAAD/////f/8DeP////84YAAA/////zigAED/////OMAAAP////844AAA/////0gAAAH8AAADfGAANP////9UANl+/////3//A3j/////OGAAAP////9IAAAB/AAAA3xgADT/////VADZfv////9//wN4/////zhgAAD/////SAAAAfwAAAN8YAA0/////1QA2X7/////f/8DeP////84YAAA/////0gAAAH8AAADf+AANP////9UH9l+/////5P+AEz/////OAAAQP////+QHgBA/////0gAAAH8AAADSAAAAfwAAAOAAQAc/////4PhABT/////g8EAEP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSram + size: 316 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDma + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetGbsMode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetGbsMode + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: e692c2a58eae97bc19ad826ed208faefbbe69971 + signature: lCH/4P////98CAKm/////ziAAED/////kAEAJP////84AAAA/////5PhABz/////k8EAGP////8/wAAA//8AADveAAD//wAAkB4ARP////9/w/N4/////5AeAEj/////SAAAAfwAAAM4YAAA/////ziAAAH/////OKAAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAMj/////OGAAAP////84gAAB/////zigAAP/////SAAAAfwAAAMsAwAA/////0CCABT/////OGAAAP////9IAAAB/AAAAzhgAAD/////SAAAoP////88YCAA/////ziBAAj/////OAMBAP////84oAAE/////5ABAAj/////OGAAAP////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////zhgAAD/////VB/Zfv////9IAAAB/AAAA3xgADT/////f8TzeP////9UANl+/////zhgAAD/////f/4DeP////84oABA/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////OGAAAP////9UANl+/////3/eA3j/////SAAAAfwAAAN8YAA0/////zhgAAD/////VADZfv////9/3gN4/////0gAAAH8AAADfGAANP////84YAAA/////1QA2X7/////f94DeP////9IAAAB/AAAA3/AADT/////VAPZfv////8/4AAA//8AADgAAED/////O/8AAP//AACQfwBM/////5AfAED/////SAAAAfwAAAOAHwBI/////ywAAAD/////QYIAEP////9IAAAB/AAAAzhgAAD/////SAAAFP////84AAAB/////5B/AET/////OH8AFP////+QHwBI/////6PDACj/////OGAAAP////84gAAU/////0gAAAH8AAADV8AEav////8oAFAA/////0GCABD/////V8AGMv////8oAADA/////0CCAAj/////O8AAAP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABABI/////ywAAAD/////QYIAEP////9IAAAB/AAAAzigAAD/////SAAAFP////84AAAB/////5BkAET/////OKQAFP////+QBABI/////6AFACj/////V8MEPv////98AwBA/////0CCABT/////OGAAAP////84gAAU/////0gAAAH8AAADSAAAFP////+zxQAo/////zhgAAH/////OIAAFP////9IAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitSram + size: 512 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDma + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockSram + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 3532b2e2b1d964e36996a3bdc72ab9cb7d231d40 + signature: lCH/4P////98CAKm/////ziAAED/////kAEAJP////84AAAA/////5PhABz/////k8EAGP////8/wAAA//8AADveAAD//wAAkB4ARP////9/w/N4/////5AeAEj/////SAAAAfwAAAM4YAAA/////ziAAAH/////OKAAAP////9IAAAB/AAAAywDAAD/////QIIADP////84YAAA/////0gAAMj/////OGAAAP////84gAAB/////zigAAP/////SAAAAfwAAAMsAwAA/////0CCABT/////OGAAAP////9IAAAB/AAAAzhgAAD/////SAAAoP////88YCAA/////ziBAAj/////OAMBAP////+QAQAI/////zhgAAD/////OKAABP////84wAAB/////zjgAAD/////SAAAAfwAAAN8YAA0/////zhgAAD/////VB/Zfv////9IAAAB/AAAA3xgADT/////f8TzeP////9UANl+/////zhgAAD/////f/4DeP////84oABA/////zjAAAD/////OOAAAP////9IAAAB/AAAA3xgADT/////OGAAAP////9UANl+/////3/eA3j/////SAAAAfwAAAN8YAA0/////zhgAAD/////VADZfv////9/3gN4/////0gAAAH8AAADfGAANP////84YAAA/////1QA2X7/////f94DeP////9IAAAB/AAAA3/AADT/////VAPZfv////8/4AAA//8AADgAAED/////O/8AAP//AACQfwBM/////5AfAED/////SAAAAfwAAAOAHwBI/////ywAAAD/////QYIAEP////9IAAAB/AAAAzhgAAD/////SAAAFP////84AAAB/////5B/AET/////OH8AFP////+QHwBI/////6PDACj/////OGAAAP////84gAAU/////0gAAAH8AAADV8AEav////8oAFAA/////0GCABD/////V8AGMv////8oAADA/////0CCAAj/////O8AAAP////9IAAAB/AAAAzyAAAD//wAAOIQAAP//AACABABI/////ywAAAD/////QYIAEP////9IAAAB/AAAAzigAAD/////SAAAFP////84AAAB/////5BkAET/////OKQAFP////+QBABI/////6AFACj/////V8MEPv////98AwBA/////0CCABT/////OGAAAP////84gAAU/////0gAAAH8AAADSAAAFP////+zxQAo/////zhgAAH/////OIAAFP////9IAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInitSram + size: 512 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + - kind: Function + name: DCInvalidateRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXILock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISelect + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIUnlock + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXISync + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDma + size: 0 + flags: 1 + section: .text + - kind: Function + name: EXIDeselect + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: UnlockSram + size: 0 + flags: 2 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 12 + addend: 0 diff --git a/assets/__OSInitSystemCall.yml b/assets/__OSInitSystemCall.yml new file mode 100644 index 0000000..a9f8849 --- /dev/null +++ b/assets/__OSInitSystemCall.yml @@ -0,0 +1,366 @@ +- symbol: 0 + hash: d7240299debc0c71f4259a3a887366b0b99e0a07 + signature: lCH/8P////98CAKm/////zyAAAD//wAAPKAAAP//AACQAQAU/////ziEAAD//wAAOKUAAP//AACT4QAM/////z/ggAD/////OH8MAP////98pChQ/////0gAAAH8AAADOH8MAP////84gAEA/////0gAAAH8AAADfAAErP////84fwwA/////ziAAQD/////SAAAAfwAAAOAAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInitSystemCall + size: 96 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorEnd + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: f3bf569ab16e62c64de8f226536d68b196b5d2d8 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88oIAA/////zyAAAD//wAAPGAAAP//AAA75QwA/////zgDAAD//wAAOIQAAP//AAB/4/t4/////3ykAFD/////SAAAAfwAAAN/4/t4/////ziAAQD/////SAAAAfwAAAN8AASs/////3/j+3j/////OIABAP////9IAAAB/AAAA4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSystemCall + size: 100 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorEnd + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 6f349ffc8e6076515181f2e352eae43b4b2f0d9e + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////84YAwA/////0gAAAH8AAADfH8beP////9/4/t4/////zygAAD//wAAOIUAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAAN/4/t4/////ziAAQD/////SAAAAfwAAAN8AASs/////3/j+3j/////OIABAP////9IAAAB/AAAA4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSystemCall + size: 112 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorEnd + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 3b37fb97360c3be364be86fc56a2379e489b636e + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////84YAwA/////0gAAAH8AAADfH8beP////9/4/t4/////zyAAAD//wAAOIQAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAAN/4/t4/////ziAAQD/////SAAAAfwAAAN8AASs/////3/j+3j/////OIABAP////9IAAAB/AAAA4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSystemCall + size: 112 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorEnd + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 0145ff06131eb846caf2f58cf495e0efb1ba7162 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////84YAwA/////0gAAAH8AAADfH8beP////9/4/t4/////zyAAAD//wAAOIQAAP//AAA8oAAA//8AADjFAAD//wAAPKAAAP//AAA4BQAA//8AAHymAFD/////SAAAAfwAAAN/4/t4/////ziAAQD/////SAAAAfwAAAN8AASs/////3/j+3j/////OIABAP////9IAAAB/AAAA4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInitSystemCall + size: 112 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorStart + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: __OSSystemCallVectorEnd + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: DCFlushRangeNoSync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICInvalidateRange + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/__OSInterruptInit.yml b/assets/__OSInterruptInit.yml new file mode 100644 index 0000000..2e9e671 --- /dev/null +++ b/assets/__OSInterruptInit.yml @@ -0,0 +1,395 @@ +- symbol: 0 + hash: 5d8a63424b9386c0c7dd7f1e25df62a5ca65dc2e + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////8/4IAA/////zgfMED/////kAAAAP/gAAA4gAAA/////zigAID/////gGAAAP/gAABIAAAB/AAAAzgAAAD/////kB8AxP////88YMwA/////ziDMAD/////kB8AyP////84AADw/////zhg/+D/////kAQABP////9IAAAB/AAAAzxgAAD//wAAOIMAAP//AAA4YAAE/////0gAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSInterruptInit + size: 116 + flags: 1 + section: .text + - kind: Object + name: InterruptHandlerTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ExternalInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 10b99c189da2bd5ae58b002232d985b48861f341 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////84YDBA/////0gAAAH8AAADkGAAAP/gAACAYAAA/+AAADiAAAD/////OKAAgP////9IAAAB/AAAAzvgAAD/////OGAAxP////9IAAAB/AAAA5PjAAD/////O+AAAP////84YADI/////0gAAAH8AAADk+MAAP////84AADw/////zxgzAD/////OGMwAP////+QAwAE/////zhg/+D/////SAAAAfwAAAM4YAAE/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzgAAAH/////PGDMAP////+QAzAA/////zhgAQD/////SAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSInterruptInit + size: 156 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: InterruptHandlerTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ExternalInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 7f552fc688dd25e1a7d279d2f8800e6a8ce29a76 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////84YDBA/////0gAAAH8AAADkGAAAP/gAACAYAAA/+AAADiAAAD/////OKAAgP////9IAAAB/AAAAzvgAAD/////OGAAxP////9IAAAB/AAAA5PjAAD/////O+AAAP////84YADI/////0gAAAH8AAADk+MAAP////84AADw/////zxgzAD/////kAMwBP////88AEAA/////zxgzQD/////kAMANP////84YP/w/////0gAAAH8AAADOGAABP////9UYwY+/////zyAAAD//wAAOIQAAP//AABIAAAB/AAAAzgAAAH/////PGDMAP////+QAzAA/////zhgAQD/////SAAAAfwAAAOD4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSInterruptInit + size: 168 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: InterruptHandlerTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: __OSMaskInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ExternalInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnmaskInterrupts + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 4303c399a969acf62379db51a85c208fd03d8bd7 + signature: lCH/4P////98CAKm/////ziAAAD/////OKAAgP////+QAQAk/////5PhABz/////P+CAAP////84fzBA/////5PBABj/////k6EAFP////+QYAAA/+AAAEgAAAH8AAADOMAAAP////84oADw/////5DfAMT/////PIDMAP////88AEAA/////zxgzQD/////kN8AyP////87wP/w/////5CkMAT/////kAMANP////9IAAAB/AAAA4AfAMT/////fH0beP////+AnwDI/////3/eA3j/////fAAg+P////+T3wDE/////1QDADb/////f94jeP////9IAAAM/////3/E83j/////SAAAAfwAAAMsAwAA/////0CC//T/////f6PreP////9IAAAB/AAAAzyAAAD//wAAOGAABP////84hAAA//8AAEgAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////g6EAFP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInterruptInit + size: 196 + flags: 1 + section: .text + - kind: Object + name: InterruptHandlerTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ExternalInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: d75d7738b7298174bbbe906448d19085c9a63f10 + signature: lCH/4P////98CAKm/////ziAAAD/////OKAAgP////+QAQAk/////5PhABz/////P+CAAP////84fzBA/////5PBABj/////k6EAFP////+QYAAA/+AAAEgAAAH8AAADOAAAAP////+QHwDE/////zyAzAD/////OKAA8P////+QHwDI/////zxgzQD/////PABAAP////87wP/w/////5CkMAT/////kAMANP////9IAAAB/AAAA4AfAMT/////fH0beP////+AnwDI/////3/eA3j/////fAAg+P////+T3wDE/////1QDADb/////f94jeP////9IAAAM/////3/E83j/////SAAAAfwAAAMsAwAA/////0CC//T/////f6PreP////9IAAAB/AAAAzyAAAD//wAAOGAABP////84hAAA//8AAEgAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////g6EAFP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSInterruptInit + size: 196 + flags: 1 + section: .text + - kind: Object + name: InterruptHandlerTable + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: SetInterruptMask + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ExternalInterruptHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: __OSSetExceptionHandler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 7 + addend: 0 diff --git a/assets/__OSPSInit.yml b/assets/__OSPSInit.yml new file mode 100644 index 0000000..1f9d159 --- /dev/null +++ b/assets/__OSPSInit.yml @@ -0,0 +1,185 @@ +- symbol: 0 + hash: 55501e7ff9d0ab23b2a372b677851bb22407f77e + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAANkY6AA/////0gAAAH8AAADSAAAAfwAAAN8AASs/////zhgAAD/////fHDjpv////+AAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSPSInit + size: 56 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 1d636c81969d879287e983398ea76012331f22c5 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAANkY6AA/////0gAAAH8AAADSAAAAfwAAAN8AASs/////zhgAAD/////fHDjpv////98ceOm/////3xy46b/////fHPjpv////98dOOm/////3x146b/////fHbjpv////98d+Om/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSPSInit + size: 84 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 526401573cbdad808b82874ea2bdd5c2c2836e8b + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAANkY6AA/////0gAAAH8AAADSAAAAfwAAAN8AASs/////zhgAAD/////fHDjpv////98ceOm/////3xy46b/////fHPjpv////98dOOm/////3x146b/////fHbjpv////98d+Om/////4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSPSInit + size: 84 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: cfcffaaa029dfc85862f38fe65012d1d218d6845 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAAfwAAANkYIAA/////2QDIAD/////SAAAAfwAAANIAAAB/AAAA3wABKz/////OGAAAP////98cOOm/////3xx46b/////fHLjpv////98c+Om/////3x046b/////fHXjpv////98duOm/////3x346b/////gAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSPSInit + size: 88 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 3cfdf51ef44901013e3981d5088f69ea9403b64e + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAANkYIAA/////2QDIAD/////SAAAAfwAAANIAAAB/AAAA3wABKz/////OGAAAP////98cOOm/////3xx46b/////fHLjpv////98c+Om/////3x046b/////fHXjpv////98duOm/////3x346b/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSPSInit + size: 88 + flags: 1 + section: .text + - kind: Function + name: PPCMfhid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMthid2 + size: 0 + flags: 1 + section: .text + - kind: Function + name: ICFlashInvalidate + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/__OSReschedule.yml b/assets/__OSReschedule.yml new file mode 100644 index 0000000..2affb44 --- /dev/null +++ b/assets/__OSReschedule.yml @@ -0,0 +1,84 @@ +- symbol: 0 + hash: 0e23b284aec948d801a821d8918052620b10b63c + signature: gAAAAP/gAAAsAAAA/////02CACD/////OGAAAP////9IAAAA/AAAA06AACD///// + symbols: + - kind: Function + name: __OSReschedule + size: 24 + flags: 1 + section: .text + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SelectThread + size: 0 + flags: 2 + section: .text + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 2824f6f5b353ffc54ee222baec41d7c5af03f6cc + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAAAA/////0GCAAz/////OGAAAP////9IAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSReschedule + size: 48 + flags: 1 + section: .text + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SelectThread + size: 0 + flags: 2 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: f94a9ec41cceda6b7df6708228349e6b69057288 + signature: fAgCpv////+QAQAE/////5Qh//j/////gAAAAP/gAAAsAAAA/////0GCAAz/////OGAAAP////9IAAAB/AAAA4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSReschedule + size: 48 + flags: 1 + section: .text + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: SelectThread + size: 0 + flags: 2 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/__OSReturnToMenu.yml b/assets/__OSReturnToMenu.yml new file mode 100644 index 0000000..a82461c --- /dev/null +++ b/assets/__OSReturnToMenu.yml @@ -0,0 +1,1492 @@ +- symbol: 0 + hash: cf957af6c21fd74323c094cb803f555ea40017a1 + signature: lCH/0P////98CAKm/////5ABADT/////mGEACP////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAM4YQAQ/////0gAAAH8AAADiGEAFv////9IAAAB/AAAA5hhABb/////OAAAA/////+YAQAV/////4gBAAj/////mAEAF/////9IAAAB/AAAAzhhABD/////SAAAAfwAAANIAAAB/AAAAzhgAAX/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSReturnToMenu + size: 124 + flags: 2 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetDiscState + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotResetForError + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: f02f86434734ab3f10b80e6452288a7b05b45ddf + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////3x+G3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA4vhABb/////SAAAAfwAAAMoAwAC/////0GCAAz/////OGAAA/////9IAAA0/////ygfAAH/////QIIAKP////84YQAI/////0gAAAH8AAADLAMAAP////9BggAY/////4ABAAj/////LAAAAP////9AggAM/////zhgAAH/////SAAACP////84YAAC/////zgAAAP/////mGEAFv////+YAQAV/////5vBABf/////SAAAAfwAAAM4YQAQ/////0gAAAH8AAADSAAAAfwAAAM4YAAF/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAEP////+AAAAA/+AAACwAAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADPGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAD0P////84pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQBE/////4PhADz/////g8EAOP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: __OSReturnToMenu + size: 256 + flags: 2 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1719' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1720' + size: 41 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 20 + addend: 0 +- symbol: 0 + hash: 24b73577d2f5a1003049ddb04117e59db74f044b + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////3x+G3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAEP////9IAAAB/AAAA4vhABb/////SAAAAfwAAAMoAwAC/////0GCAAz/////OGAAA/////9IAAA0/////ygfAAH/////QIIAKP////84YQAI/////0gAAAH8AAADLAMAAP////9BggAY/////4ABAAj/////LAAAAP////9AggAM/////zhgAAH/////SAAACP////84YAAC/////zgAAAP/////mGEAFv////+YAQAV/////5vBABf/////SAAAAfwAAAM4YQAQ/////0gAAAH8AAADSAAAAfwAAAM4YAAF/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAEP////+AAAAA/+AAACwAAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADPGAAAP//AAA8oAAA//8AADhjAAD//wAAOIAD0/////84pQAA//8AAEzGMYL/////SAAAAfwAAAOAAQBE/////4PhADz/////g8EAOP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: __OSReturnToMenu + size: 256 + flags: 2 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1720' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1721' + size: 41 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 212 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 20 + addend: 0 +- symbol: 0 + hash: 70e0b73123cd4b750696fb17c4643049afebb5ad + signature: lCH/sP////98CAKm/////5ABAFT/////k+EATP////+TwQBI/////5OhAET/////fD8LeP////+YfwAI/////zvAAAD/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOH8AGP////9IAAAB/AAAA4h/AB7/////SAAAAfwAAAOYfwAe/////zgAAAP/////mB8AHf////+IHwAI/////5gfAB//////SAAAAfwAAAM4fwAY/////0gAAAH8AAADPGCBKP////9IAAAB/AAAAzxggS//////SAAAAfwAAANIAAAB/AAAA3x9G3j/////LB0AAP////9BggAI/////0gAAAH8AAADOGAA4P////84gAAg/////0gAAAH8AAADfH4beP////8sHgAA/////0CCAAj/////SAAAAfwAAAN/w/N4/////ziAAAD/////OKAA4P////9IAAAB/AAAAzhgAAD/////f8TzeP////9IAAAB/AAAA3x9G3j/////LB0AAP////9AggBA/////0gAAAH8AAADLAMAAP////9BggA0/////zgAAAD/////kB8AEP////84AP///////5AfAAz/////f8PzeP////84nwAQ/////zi/AAz/////SAAAAfwAAAOAHwAM/////ywAAAD/////QIIACP////9IAAAB/AAAA0gAAAH8AAADOGAABf////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/6vt4/////4PqAEz/////g8oASP////+DqgBE/////4FBAAD/////gAoABP////99QVN4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSReturnToMenu + size: 328 + flags: 2 + section: .text + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetDiscState + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReturnToMenuForError + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSAllocFromMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPlayTimeIsLimited + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteExpiredFlagIfSet + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotResetForError + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 23 + addend: 0 +- symbol: 0 + hash: 676082f0116ec70a726f71a229fb433e3d975989 + signature: lCH/cP////98CAKm/////5ABAJT/////k+EAjP////+TwQCI/////z/AAAD//wAAO94AAP//AACToQCE/////3x9G3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAWP////9IAAAB/AAAA4vhAF7/////SAAAAfwAAAMoAwAC/////0GCAAz/////OAAAA/////9IAAA0/////ygfAAH/////QIIAKP////84YQAI/////0gAAAH8AAADLAMAAP////9BggAY/////4ABAAj/////LAAAAP////9AggAM/////zgAAAH/////SAAACP////84AAAC/////zvgAAP/////mAEAXv////+b4QBd/////5uhAF//////SAAAAfwAAAM4YQBY/////0gAAAH8AAADPGCBKP////9IAAAB/AAAAzxggS//////SAAAAfwAAANIAAAB/AAAAywDAAD/////QYIAeP////84YQA4/////0gAAAH8AAADOAAAAv////+YAQA+/////5vhAD3/////SAAAAfwAAAM4YQA4/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABD/////gAAAAP/gAAAsAAAA/////0GCAAj/////SAAAAfwAAANIAAAB/AAAAzh+AAD/////OL4ADP////84gAQK/////0zGMYL/////SAAAAfwAAAM4fgAA/////zi+ADj/////OIAD8v////9MxjGC/////0gAAAH8AAADOGAA4P////84gAAg/////0gAAAH8AAADLAMAAP////98fxt4/////0CCAHz/////OGEAGP////9IAAAB/AAAAzhgAAL/////OAAAA/////+YYQAe/////5gBAB3/////SAAAAfwAAAM4YQAY/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABD/////gAAAAP/gAAAsAAAA/////0GCAAj/////SAAAAfwAAANIAAAB/AAAAzh+AAD/////OL4ADP////84gAQK/////0zGMYL/////SAAAAfwAAAM4fgAA/////zi+ADj/////OIAD8v////9MxjGC/////0gAAAH8AAADf+P7eP////84gAAA/////zigAOD/////SAAAAfwAAAN/5Pt4/////zhgAAD/////SAAAAfwAAAMsAwAA/////0CCAED/////SAAAAfwAAAMsAwAA/////0GCADT/////OGAAAP////84AP///////5BhABD/////f+P7eP////84gQAQ/////zihAAz/////kAEADP////9IAAAB/AAAA4ABAAz/////LAAAAP////9AggAI/////0gAAAH8AAADSAAAAfwAAAM4YAAF/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAEP////+AAAAA/+AAACwAAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADOH4AAP////84vgAM/////ziABAr/////TMYxgv////9IAAAB/AAAA4ABAJT/////g+EAjP////+DwQCI/////4OhAIT/////fAgDpv////84IQCQ/////06AACD///// + symbols: + - kind: Function + name: __OSReturnToMenu + size: 648 + flags: 2 + section: .text + - kind: Object + name: '@2083' + size: 10 + flags: 2 + section: .data + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSAllocFromMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPlayTimeIsLimited + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteExpiredFlagIfSet + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 568 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 580 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 20 + addend: 0 +- symbol: 0 + hash: d2d916eaf5fcd9e848305e62e19ad8e198b511e3 + signature: lCH/cP////98CAKm/////5ABAJT/////k+EAjP////+TwQCI/////z/AAAD//wAAO94AAP//AACToQCE/////3x9G3j/////SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOGEAWP////9IAAAB/AAAA4vhAF7/////SAAAAfwAAAMoAwAC/////0GCAAz/////OAAAA/////9IAAA0/////ygfAAH/////QIIAKP////84YQAI/////0gAAAH8AAADLAMAAP////9BggAY/////4ABAAj/////LAAAAP////9AggAM/////zgAAAH/////SAAACP////84AAAC/////zvgAAP/////mAEAXv////+b4QBd/////5uhAF//////SAAAAfwAAAM4YQBY/////0gAAAH8AAADPGCBKP////9IAAAB/AAAAzxggS//////SAAAAfwAAANIAAAB/AAAAywDAAD/////QYIAeP////84YQA4/////0gAAAH8AAADOAAAAv////+b4QA9/////5gBAD7/////SAAAAfwAAAM4YQA4/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABD/////gAAAAP/gAAAsAAAA/////0GCAAj/////SAAAAfwAAANIAAAB/AAAAzh+AAD/////OL4ADP////84gAQK/////0zGMYL/////SAAAAfwAAAM4fgAA/////zi+ADj/////OIAD8v////9MxjGC/////0gAAAH8AAADOGAA4P////84gAAg/////0gAAAH8AAADLAMAAP////98fxt4/////0CCAHz/////OGEAGP////9IAAAB/AAAAzhgAAL/////OAAAA/////+YYQAe/////5gBAB3/////SAAAAfwAAAM4YQAY/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADgAAAAP/gAAAsAAAA/////0CCABD/////gAAAAP/gAAAsAAAA/////0GCAAj/////SAAAAfwAAANIAAAB/AAAAzh+AAD/////OL4ADP////84gAQK/////0zGMYL/////SAAAAfwAAAM4fgAA/////zi+ADj/////OIAD8v////9MxjGC/////0gAAAH8AAADf+P7eP////84gAAA/////zigAOD/////SAAAAfwAAAN/5Pt4/////zhgAAD/////SAAAAfwAAAMsAwAA/////0CCAED/////SAAAAfwAAAMsAwAA/////0GCADT/////OGAAAP////84AP///////5BhABD/////f+P7eP////84gQAQ/////zihAAz/////kAEADP////9IAAAB/AAAA4ABAAz/////LAAAAP////9AggAI/////0gAAAH8AAADSAAAAfwAAAM4YAAF/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA0gAAAH8AAADSAAAAfwAAAOAAAAA/+AAACwAAAD/////QIIAEP////+AAAAA/+AAACwAAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADOH4AAP////84vgAM/////ziABAr/////TMYxgv////9IAAAB/AAAA4ABAJT/////g+EAjP////+DwQCI/////4OhAIT/////fAgDpv////84IQCQ/////06AACD///// + symbols: + - kind: Function + name: __OSReturnToMenu + size: 648 + flags: 2 + section: .text + - kind: Object + name: '@2061' + size: 10 + flags: 2 + section: .data + - kind: Function + name: __OSStopPlayRecord + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSUnRegisterStateEvent + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPrepareReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReadStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDGetCoverStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSClearRTCFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteStateFlags + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: ESP_InitLib + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSLaunchMenu + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __VISetRGBModeImm + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSInNandBoot + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSInReboot + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __OSInitSTM + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSHotReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSAllocFromMEM1ArenaLo + size: 0 + flags: 1 + section: .text + - kind: Function + name: memset + size: 0 + flags: 1 + section: .init + - kind: Function + name: ESP_DiGetTicketView + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPlayTimeIsLimited + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSGetPlayTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSWriteExpiredFlagIfSet + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSShutdownDevices + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 25 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 26 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 27 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 28 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 568 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 580 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 20 + addend: 0 diff --git a/assets/__OSShutdownDevices.yml b/assets/__OSShutdownDevices.yml new file mode 100644 index 0000000..f5c8ef0 --- /dev/null +++ b/assets/__OSShutdownDevices.yml @@ -0,0 +1,928 @@ +- symbol: 0 + hash: 1d1a504ea6354a16dec828d22a96013ea0e47dfc + signature: fAgCpv////+QAQAE/////5Qh/+D/////v6EAFP////98fRt4/////0gAAAH8AAADLB0AAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fht4/////zhgAAD/////SAAAAfwAAAMsAwAA/////0GC//T/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAM4YAAB/////0gAAAH8AAADfH8beP////84AAAA/////ywfAAD/////QIIALP////88YAAA//8AADhjAAD//wAAOIABm/////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////LAAAAP////9BggAI/////zgAAAH/////SAAAAfwAAAMsHQAA/////0CCAAz/////f8PzeP////9IAAAB/AAAA0gAAAH8AAADgAEAJP////+7oQAU/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSShutdownDevices + size: 188 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallResetFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@27' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@82' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 80608b10d7e0773d3e9f2def6249f75ea37dd6c5 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////LBsABf////9AgAAQ/////ywbAAD/////QYIAFP////9IAAAY/////ywbAAf/////QIAAEP////9IAAAE/////zvgAAD/////SAAACP////874AAB/////0gAAAH8AAADLB8AAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fRt4/////zhgAAD/////f2TbeP////9IAAAB/AAAAywDAAD/////QYL/8P////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAAzhgAAH/////f2TbeP////9IAAAB/AAAA3x+G3j/////O4AAAf////8sHgAA/////0CCADD/////PGAAAP//AAA4YwAA//8AADiAAdn/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////0gAAAH8AAADLB8AAP////9AggAM/////3+j63j/////SAAAAfwAAANIAAAB/AAAAzlhACD/////SAAAAfwAAAOAAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSShutdownDevices + size: 248 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallShutdownFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1276' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1354' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 2d3c7bbd36e115a7574a7f84a039389ca54bf057 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////LBsABf////9AgAAQ/////ywbAAD/////QYIAFP////9IAAAY/////ywbAAf/////QIAAEP////9IAAAE/////zvgAAD/////SAAACP////874AAB/////0gAAAH8AAADLB8AAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fRt4/////zhgAAD/////f2TbeP////9IAAAB/AAAAywDAAD/////QYL/8P////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAAzhgAAH/////f2TbeP////9IAAAB/AAAA3x+G3j/////O4AAAf////8sHgAA/////0CCADD/////PGAAAP//AAA4YwAA//8AADiAAev/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////0gAAAH8AAADLB8AAP////9AggAM/////3+j63j/////SAAAAfwAAANIAAAB/AAAAzlhACD/////SAAAAfwAAAOAAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSShutdownDevices + size: 248 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallShutdownFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1581' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1659' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 5050beee0481f7c53bdfa96933bc7deee5c2b9dd + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////LBsABP////9AgAAQ/////ywbAAD/////QYIAFP////9IAAAY/////ywbAAf/////QIAAEP////9IAAAE/////zvgAAD/////SAAACP////874AAB/////0gAAAH8AAADLB8AAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fRt4/////zhgAAD/////f2TbeP////9IAAAB/AAAAywDAAD/////QYL/8P////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAAzhgAAH/////f2TbeP////9IAAAB/AAAA3x+G3j/////O4AAAf////8sHgAA/////0CCADD/////PGAAAP//AAA4YwAA//8AADiAAa3/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM7QAAA/////ywaAAD/////QIIACP////87gAAA/////0gAAAH8AAADLB8AAP////9AggAM/////3+j63j/////SAAAAfwAAANIAAAB/AAAAzlhACD/////SAAAAfwAAAOAAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSShutdownDevices + size: 248 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_26 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCallShutdownFunctions + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@1181' + size: 10 + flags: 2 + section: .data + - kind: Object + name: '@1259' + size: 20 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: KillThreads + size: 0 + flags: 2 + section: .text + - kind: Unknown + name: _restgpr_26 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 172 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 456dfec0df3e66a7a5bee921edcf3b62226a34ec + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAzgD//v/////fH8beP////8oAAAB/////0CBAAz/////LAMAAP////9AggAM/////ztgAAD/////SAAACP////87YAAB/////0gAAAH8AAADLBsAAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fBt4/////4OgAAD/4AAAOGAAAP////87wAAA/////0gAAED/////LB4AAP////9BggAQ/////4AdAAT/////fAMAQP////9AggA0/////4GdAAD/////f+T7eP////84YAAA/////32JA6b/////ToAEIf////98YAA0/////4B9AAT/////VADZfv////+DvQAI/////3/eA3j/////LB0AAP////9Agv/A/////0gAAAH8AAADfGAANP////9UANl+/////3/eA3n/////QIL/nP////9IAAAB/AAAAywDAAD/////QYL/+P////9IAAAB/AAAA4PAAAD/4AAAOGAAAP////87oAAA/////0gAAED/////LB0AAP////9BggAQ/////4AeAAT/////fAMAQP////9AggA0/////4GeAAD/////f+T7eP////84YAAB/////32JA6b/////ToAEIf////98YAA0/////4B+AAT/////VADZfv////+D3gAI/////3+9A3j/////LB4AAP////9Agv/A/////0gAAAH8AAADSAAAAfwAAAMsGwAA/////0CCAAz/////f4PjeP////9IAAAB/AAAAzxggAD/////gGMA3P////9IAAAk/////6ADAsj/////g6MC/P////8sAAAB/////0GCAAz/////LAAABP////9AggAI/////0gAAAH8AAADf6PreP////8sAwAA/////0CC/9z/////OWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __OSShutdownDevices + size: 384 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 364 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: e18bd5d8e8fb0f367e461236913470e96aef2309 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAywDAAX/////fHsbeP////9AgAAQ/////ywDAAD/////QYIAEP////9IAAAU/////ywDAAf/////QIAADP////87gAAA/////0gAAAj/////O4AAAf////9IAAAB/AAAAywcAAD/////QIIAEP////84YAAB/////0gAAAH8AAADfH0beP////+DwAAA/+AAADhgAAD/////O+AAAP////9IAABA/////ywfAAD/////QYIAEP////+AHgAE/////3wDAED/////QIIANP////+BngAA/////39k23j/////OGAAAP////99iQOm/////06ABCH/////fGAANP////+AfgAE/////1QA2X7/////g94ACP////9//wN4/////yweAAD/////QIL/wP////9IAAAB/AAAA3xgADT/////VADZfv////9//wN5/////0CC/5z/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAOD4AAA/+AAADhgAAD/////O8AAAP////9IAABA/////yweAAD/////QYIAEP////+AHwAE/////3wDAED/////QIIANP////+BnwAA/////39k23j/////OGAAAf////99iQOm/////06ABCH/////fGAANP////+AfwAE/////1QA2X7/////g/8ACP////9/3gN4/////ywfAAD/////QIL/wP////9IAAAB/AAAA0gAAAH8AAADLBwAAP////9AggAM/////3+j63j/////SAAAAfwAAAM8YIAA/////4BjANz/////SAAALP////+gAwLI/////4PDAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/w/N4/////ywDAAD/////QIL/1P////85YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSShutdownDevices + size: 400 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: 842cd14e56f959ea83a0b045bffae7444505024e + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAAywDAAT/////fHsbeP////9AgAAQ/////ywDAAD/////QYIAEP////9IAAAU/////ywDAAf/////QIAADP////87gAAA/////0gAAAj/////O4AAAf////9IAAAB/AAAAywcAAD/////QIIAEP////84YAAB/////0gAAAH8AAADfH0beP////+DwAAA/+AAADhgAAD/////O+AAAP////9IAABA/////ywfAAD/////QYIAEP////+AHgAE/////3wDAED/////QIIANP////+BngAA/////39k23j/////OGAAAP////99iQOm/////06ABCH/////fGAANP////+AfgAE/////1QA2X7/////g94ACP////9//wN4/////yweAAD/////QIL/wP////9IAAAB/AAAA3xgADT/////VADZfv////9//wN5/////0CC/5z/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAOD4AAA/+AAADhgAAD/////O8AAAP////9IAABA/////yweAAD/////QYIAEP////+AHwAE/////3wDAED/////QIIANP////+BnwAA/////39k23j/////OGAAAf////99iQOm/////06ABCH/////fGAANP////+AfwAE/////1QA2X7/////g/8ACP////9/3gN4/////ywfAAD/////QIL/wP////9IAAAB/AAAA0gAAAH8AAADLBwAAP////9AggAM/////3+j63j/////SAAAAfwAAAM8YIAA/////4BjANz/////SAAALP////+gAwLI/////4PDAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/w/N4/////ywDAAD/////QIL/1P////85YQAg/////0gAAAH8AAADgAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSShutdownDevices + size: 400 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ShutdownFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: a2eabeeb5a488a3ba263ec8c14e6741324d561ce + signature: fAgCpv////+QAQAE/////5Qh/9j/////k+EAJP////+TwQAg/////5OhABz/////k4EAGP////98fBt4/////0gAAAH8AAADLBwAAP////9AggAQ/////zhgAAH/////SAAAAfwAAAN8fRt4/////0gAAAT/////SAAABP////84YAAA/////4PAAAD/4AAAfH8beP////9IAAAE/////0gAAAT/////SAAAPP////8sHwAA/////0GCABD/////gB4ABP////98AwBA/////0CCADD/////OGAAAP////+BngAA/////32IA6b/////ToAAIf////98YAA0/////4B+AAT/////VADZfv////+D3gAI/////3//A3j/////KB4AAP////9Agv/E/////0gAAAH8AAADfGAANP////9UANl+/////3//A3j/////LB8AAP////9BggAM/////zgAAAD/////SAAACP////84AAAB/////ywAAAD/////QYL/gP////9IAAAE/////0gAAAT/////SAAAAfwAAAMsAwAA/////0GC//j/////SAAAAfwAAAM4YAAA/////4PgAAD/4AAAfH4beP////9IAAAE/////0gAAAT/////SAAAPP////8sHgAA/////0GCABD/////gB8ABP////98AwBA/////0CCADD/////OGAAAf////+BnwAA/////32IA6b/////ToAAIf////98YAA0/////4B/AAT/////VADZfv////+D/wAI/////3/eA3j/////KB8AAP////9Agv/E/////0gAAAH8AAADSAAAAfwAAAMsHAAA/////0CCAAz/////f6PreP////9IAAAB/AAAAzxggAD/////gGMA3P////9IAAAE/////0gAAAT/////SAAALP////+gAwLI/////4PDAvz/////LAAABP////9BggAU/////0CAABT/////LAAAAf////9BggAI/////0gAAAj/////SAAAAfwAAAN/w/N4/////ygDAAD/////QIL/1P////+AAQAs/////4PhACT/////g8EAIP////+DoQAc/////4OBABj/////OCEAKP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSShutdownDevices + size: 432 + flags: 1 + section: .text + - kind: Function + name: __OSStopAudioSystem + size: 0 + flags: 1 + section: .text + - kind: Function + name: __PADDisableRecalibration + size: 0 + flags: 1 + section: .text + - kind: Object + name: ResetFunctionQueue + size: 8 + flags: 2 + section: .sbss + - kind: Function + name: __OSSyncSram + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: LCDisable + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCancelThread + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 224 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 7 + addend: 0 diff --git a/assets/__OSStartPlayRecord.yml b/assets/__OSStartPlayRecord.yml new file mode 100644 index 0000000..6d7fca4 --- /dev/null +++ b/assets/__OSStartPlayRecord.yml @@ -0,0 +1,273 @@ +- symbol: 0 + hash: ddc488f9a689915b426dc5f0c9cb4a90a86079da + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAMsAwAA/////0CCADD/////OAAAAP////+QAAAA/+AAADhgAAD/////OIAAAP////+QAAAA/+AAAJAAAAD/4AAAkAAAAP/gAACQAAAA/+AAAJAAAAD/4AAAkAAAAP/gAABIAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSStartPlayRecord + size: 84 + flags: 1 + section: .text + - kind: Function + name: NANDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: PlayRecordTerminate + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordGet + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordState + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: PlayRecordError + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordRetry + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordTerminated + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: PlayRecordCallback + size: 0 + flags: 2 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: cf93ecf1a130c8a300396defb475481a4a8ded54 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAMsAwAA/////0CCADD/////OAAAAP////84YAAA/////5AAAAD/4AAAOIAAAP////+QAAAA/+AAAJAAAAD/4AAAkAAAAP/gAACQAAAA/+AAAJAAAAD/4AAAkAAAAP/gAABIAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSStartPlayRecord + size: 84 + flags: 1 + section: .text + - kind: Function + name: NANDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: PlayRecordTerminate + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordGet + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordState + size: 4 + flags: 2 + section: null + - kind: Object + name: PlayRecordError + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordRetry + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordTerminated + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: PlayRecordCallback + size: 0 + flags: 2 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: 16220cc28b28f92f5cb549563bf633c2aec649c6 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAMsAwAA/////0CCAEj/////OAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAADhgAAD/////OIAAAP////9IAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __OSStartPlayRecord + size: 108 + flags: 1 + section: .text + - kind: Function + name: NANDInit + size: 0 + flags: 1 + section: .text + - kind: Object + name: PlayRecordGet + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordState + size: 4 + flags: 2 + section: null + - kind: Object + name: PlayRecordError + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordRetry + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordTerminate + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordTerminated + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PlayRecordLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: PlayRecordCallback + size: 0 + flags: 2 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 9 + addend: 0 diff --git a/assets/__OSSyncSram.yml b/assets/__OSSyncSram.yml new file mode 100644 index 0000000..36eed5d --- /dev/null +++ b/assets/__OSSyncSram.yml @@ -0,0 +1,23 @@ +- symbol: 0 + hash: 07f36a5bf4a942f32b49d5a1ab42709d0e58b6dc + signature: PGAAAP//AAA4YwAA//8AAIBjAEz/////ToAAIP////8= + symbols: + - kind: Function + name: __OSSyncSram + size: 16 + flags: 1 + section: .text + - kind: Object + name: Scb + size: 84 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/__OSThreadInit.yml b/assets/__OSThreadInit.yml new file mode 100644 index 0000000..f36d2d5 --- /dev/null +++ b/assets/__OSThreadInit.yml @@ -0,0 +1,1488 @@ +- symbol: 0 + hash: f50bb7bf8eb70d9734efe424a1b3c884bf45104b + signature: fAgCpv////88YAAA//8AAJABAAT/////OAAAAv////84gAAQ/////5Qh/+D/////v0EACP////87gwAA//8AADv8BBD/////O6AAAP////84fwLo/////7AcBtj/////OAAAAf////+wHAba/////zgA////////kJwG5P////+QnAbg/////5O8Btz/////kBwG6P////+TvAcA/////0gAAAH8AAADk7wHCP////8/wIAA/////zh/AAD/////k7wHBP////+T/gDY/////0gAAAH8AAADf+P7eP////9IAAAB/AAAAzxgAAD//wAAOAMAAP//AAA8YAAA//8AAJAcBxT/////OAMAAP//AAA4fAcY/////5AcBxj/////PIDerv////87QAAA/////4BjAAD/////OIS6vv////9XQBg4/////5CDAAD/////f3wCFP////+ToAAA/+AAAJP+AOT/////k6AAAP/gAAB/Y9t4/////0gAAAH8AAADO1oAAf////8sGgAf/////zt7AAj/////QIH/7P////8/wIAA/////zh+ANz/////SAAAAfwAAAM4ngDc/////4RkAAT/////KAMAAP////9AggAM/////5P+ANz/////SAAACP////+T4wL8/////5B/AwD/////O8AAAP////84fAcg/////5PfAvz/////k+QAAP////9IAAAB/AAAA5PAAAD/4AAAu0EACP////+AAQAk/////zghACD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 296 + flags: 1 + section: .text + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 116 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 +- symbol: 0 + hash: f54e9c5419939a018a439359926af087307ede14 + signature: fAgCpv////88YAAA//8AAJABAAT/////OAAAAv////84gAAQ/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////O6AAAP////+TgQAI/////zuDAAD//wAAO/wEGP////+wHAbg/////zgAAAH/////OH8C6P////+wHAbi/////zgA////////kJwG7P////+QnAbo/////5O8BuT/////kBwG8P////+TvAcI/////0gAAAH8AAADk7wHEP////8/wIAA/////zh/AAD/////k7wHDP////+T/gDY/////0gAAAH8AAADf+P7eP////9IAAAB/AAAAzxgAAD//wAAOAMAAP//AAA8YAAA//8AAJAcBxz/////OAMAAP//AACQHAcg/////zxg3q7/////OAO6vv////+AfAcg/////3/k+3j/////kAMAAP////+BgAAA/+AAAIB+AOT/////fYgDpv////9OgAAh/////5P+AOT/////OGAAAP////9IAAAB/AAAA5OgAAD/4AAAO8AAAP////9XwBg4/////5OgAAD/4AAAf7wCFP////9/o+t4/////0gAAAH8AAADO94AAf////8sHgAf/////zu9AAj/////QIH/7P////8/wIAA/////zh+ANz/////SAAAAfwAAAM4ngDc/////4RkAAT/////KAMAAP////9AggAM/////5P+ANz/////SAAACP////+T4wL8/////5B/AwD/////O8AAAP////84fAcw/////5PfAvz/////k+QAAP////9IAAAB/AAAA5PAAAD/4AAAgAEAHP////+D4QAU/////4PBABD/////g6EADP////+DgQAI/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 344 + flags: 1 + section: .text + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Object + name: SwitchThreadCallback + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 662f5e0c763eaaa21849bdfb3a8fb1585bc60e76 + signature: fAgCpv////+QAQAE/////5Qh/+j/////v4EACP////88YAAA//8AADvDAAD//wAAO/4EGP////84AAAC/////7AfAsj/////OAAAAf////+wHwLK/////zgAABD/////kB8C1P////+QHwLQ/////zgAAAD/////kB8CzP////84AP///////5AfAtj/////OAAAAP////+QHwLw/////zh/Auj/////SAAAAfwAAAM4fwL0/////0gAAAH8AAADSAAAAfwAAANUYASl/////0CCACD/////PGAAAP//AAA4YwAA//8AADiAAVz/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM8YIAA/////5PjANj/////f+P7eP////9IAAAB/AAAA3/j+3j/////SAAAAfwAAAM8YAAA//8AADgDAAD//wAAkB8DBP////88YAAA//8AADgDAAD//wAAkB8DCP////88gN6u/////ziEur7/////gH8DCP////+QgwAA/////3/j+3j/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA7oAAA/////0gAABT/////V6AYOP////98fgIU/////0gAAAH8AAADO70AAf////8sHQAf/////0CB/+z/////PGCAAP////84YwDc/////0gAAAH8AAADPGCAAP////+DgwDg/////zgAAAD/////fBwAQP////9AggAQ/////zxggAD/////k+MA3P////9IAAAI/////5P8Avz/////k58DAP////84AAAA/////5AfAvz/////PGCAAP////+T4wDg/////zh+BzD/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAAgAEAHP////+7gQAI/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 368 + flags: 1 + section: .text + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitMutexQueue + size: 0 + flags: 2 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@18' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@19' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetCurrentThread + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 0610270d2e4068ef9b0f8257aac01cbf1c0f5f50 + signature: fAgCpv////+QAQAE/////5Qh/+j/////v4EACP////88YAAA//8AADvDAAD//wAAO/4EGP////84AAAC/////7AfAsj/////OAAAAf////+wHwLK/////zgAABD/////kB8C1P////+QHwLQ/////zgAAAD/////kB8CzP////84AP///////5AfAtj/////OAAAAP////+QHwLw/////zh/Auj/////SAAAAfwAAAM4fwL0/////0gAAAH8AAADSAAAAfwAAANUYASl/////0CCACD/////PGAAAP//AAA4YwAA//8AADiAAV//////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM8YIAA/////5PjANj/////f+P7eP////9IAAAB/AAAA3/j+3j/////SAAAAfwAAAM8YAAA//8AADgDAAD//wAAkB8DBP////88YAAA//8AADgDAAD//wAAkB8DCP////88gN6u/////ziEur7/////gH8DCP////+QgwAA/////3/j+3j/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADOAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA7oAAA/////0gAABT/////V6AYOP////98fgIU/////0gAAAH8AAADO70AAf////8sHQAf/////0CB/+z/////PGCAAP////84YwDc/////0gAAAH8AAADPGCAAP////+DgwDg/////zgAAAD/////fBwAQP////9AggAQ/////zxggAD/////k+MA3P////9IAAAI/////5P8Avz/////k58DAP////84AAAA/////5AfAvz/////PGCAAP////+T4wDg/////zh+BzD/////SAAAAfwAAAM4AAAA/////5AAAAD/4AAAgAEAHP////+7gQAI/////zghABj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 368 + flags: 1 + section: .text + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitMutexQueue + size: 0 + flags: 2 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@18' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@19' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetCurrentThread + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 160 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 220 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 548af17bdb6dd51fb3aa888970a54295dce6bbd8 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////PGAAAP//AAA74wAA//8AADgAAAL/////sB8CyP////84AAAB/////7AfAsr/////OAAAEP////+QHwLU/////5AfAtD/////OAAAAP////+QHwLM/////zgA////////kB8C2P////84AAAA/////5AfAvD/////OH8C6P////9IAAAB/AAAAzh/AvT/////SAAAAfwAAAM4AAAB/////5ABAAz/////SAAAAfwAAANUYASk/////ywAAAD/////QIIAPP////88YAAA//8AADhjAAD//wAAOIABbv////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIADP////84AAAA/////5ABAAz/////PGCAAP////+T4wDY/////3/j+3j/////SAAAAfwAAAN/4/t4/////0gAAAH8AAADPGAAAP//AAA4AwAA//8AAJAfAwT/////PGAAAP//AAA4AwAA//8AAJAfAwj/////PIDerv////84hLq+/////4B/Awj/////kIMAAP////9/4/t4/////0gAAAH8AAADOGAAAP////9UYwY+/////0gAAAH8AAADOAAAAP////+QAAAA/+AAADgAAAD/////kAAAAP/gAAA7wAAA/////0gAABz/////V8QYOP////88YAAA//8AADgDAAD//wAAfGAiFP////9IAAAB/AAAAzveAAH/////LB4AH/////9Agf/k/////zxggAD/////OGMA3P////9IAAAB/AAAAzxggAD/////g6MA4P////84AAAA/////3wdAED/////QIIAEP////88YIAA/////5PjANz/////SAAACP////+T/QL8/////5O/AwD/////OAAAAP////+QHwL8/////zxggAD/////k+MA4P////88YAAA//8AADhjAAD//wAASAAAAfwAAAM4AAAA/////5AAAAD/4AAAg+EAHP////+DwQAY/////4OhABT/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __OSThreadInit + size: 436 + flags: 1 + section: .text + - kind: Object + name: DefaultThread + size: 792 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitMutexQueue + size: 0 + flags: 2 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@533' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@534' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetCurrentThread + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Object + name: IdleContext + size: 712 + flags: 2 + section: .bss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 204 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 220 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 388 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 392 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 396 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 1c37a57225a61ebd6de8d1092c5431707cdcfef0 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////98Pwt4/////zxgAAD//wAAO8MAAP//AAA4AAAC/////7AeAsj/////OAAAAf////+wHgLK/////zgAABD/////kB4C1P////+QHgLQ/////zgAAAD/////kB4CzP////84AP///////5AeAtj/////OAAAAP////+QHgLw/////zh+Auj/////SAAAAfwAAAM4fgL0/////0gAAAH8AAADOAAAAf////+QHwAM/////0gAAAH8AAADVGAEpP////8sAAAA/////0CCADz/////PGAAAP//AAA4YwAA//8AADiAAW7/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5AfAAj/////gB8ACP////8sAAAA/////0CCAAz/////OAAAAP////+QHwAM/////zxggAD/////k8MA2P////9/w/N4/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAzxgAAD//wAAOAMAAP//AACQHgME/////zxgAAD//wAAOAMAAP//AACQHgMI/////zyA3q7/////OIS6vv////+AfgMI/////5CDAAD/////f8PzeP////9IAAAB/AAAAzhgAAD/////VGMGPv////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAO6AAAP////9IAAAc/////1ekGDj/////PGAAAP//AAA4AwAA//8AAHxgIhT/////SAAAAfwAAAM7vQAB/////ywdAB//////QIH/5P////88YIAA/////zhjANz/////SAAAAfwAAAM8YIAA/////4ODAOD/////OAAAAP////98HABA/////0CCABD/////PGCAAP////+TwwDc/////0gAAAj/////k9wC/P////+TngMA/////zgAAAD/////kB4C/P////88YIAA/////5PDAOD/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADOAAAAP////+QAAAA/+AAAH/q+3j/////g+oAHP////+DygAY/////4OqABT/////g4oAEP////+BQQAA/////4AKAAT/////fUFTeP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSThreadInit + size: 456 + flags: 1 + section: .text + - kind: Object + name: DefaultThread + size: 792 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitMutexQueue + size: 0 + flags: 2 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@529' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@530' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetCurrentThread + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Object + name: IdleContext + size: 712 + flags: 2 + section: .bss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 300 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 24d9846114ecd04df3b94e9c9f9480c36907348a + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////98Pwt4/////zxgAAD//wAAO8MAAP//AAA4AAAC/////7AeAsj/////OAAAAf////+wHgLK/////zgAABD/////kB4C1P////+QHgLQ/////zgAAAD/////kB4CzP////84AP///////5AeAtj/////OAAAAP////+QHgLw/////zh+Auj/////SAAAAfwAAAM4fgL0/////0gAAAH8AAADOAAAAf////+QHwAM/////0gAAAH8AAADVGAEpP////8sAAAA/////0CCADz/////PGAAAP//AAA4YwAA//8AADiAAXT/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5AfAAj/////gB8ACP////8sAAAA/////0CCAAz/////OAAAAP////+QHwAM/////zxggAD/////k8MA2P////9/w/N4/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAzxgAAD//wAAOAMAAP//AACQHgME/////zxgAAD//wAAOAMAAP//AACQHgMI/////zyA3q7/////OIS6vv////+AfgMI/////5CDAAD/////f8PzeP////9IAAAB/AAAAzhgAAD/////VGMGPv////9IAAAB/AAAAzgAAAD/////kAAAAP/gAAA4AAAA/////5AAAAD/4AAAO6AAAP////9IAAAc/////1ekGDj/////PGAAAP//AAA4AwAA//8AAHxgIhT/////SAAAAfwAAAM7vQAB/////ywdAB//////QIH/5P////88YIAA/////zhjANz/////SAAAAfwAAAM8YIAA/////4ODAOD/////OAAAAP////98HABA/////0CCABD/////PGCAAP////+TwwDc/////0gAAAj/////k9wC/P////+TngMA/////zgAAAD/////kB4C/P////88YIAA/////5PDAOD/////PGAAAP//AAA4YwAA//8AAEgAAAH8AAADOAAAAP////+QAAAA/+AAAH/q+3j/////g+oAHP////+DygAY/////4OqABT/////g4oAEP////+BQQAA/////4AKAAT/////fUFTeP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSThreadInit + size: 456 + flags: 1 + section: .text + - kind: Object + name: DefaultThread + size: 792 + flags: 2 + section: .bss + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitMutexQueue + size: 0 + flags: 2 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@542' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@543' + size: 37 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Function + name: OSSetCurrentThread + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSClearStack + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueue + size: 256 + flags: 2 + section: .bss + - kind: Object + name: IdleContext + size: 712 + flags: 2 + section: .bss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 300 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 304 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 +- symbol: 0 + hash: b56f1fded09230a98d99a484065c6ffd9339ba0e + signature: lCH/4P////98CAKm/////zhgAAL/////OMAAAf////+QAQAk/////ziAAAD/////OKAAEP////84AP///////5PhABz/////P+AAAP//AAA7/wAA//8AAJPBABj/////O98AAP////+ToQAU/////z+ggAD/////sH4CyP////9/w/N4/////7DeAsr/////kL4C1P////+QvgLQ/////5CeAsz/////kB4C2P////+QngLw/////5CeAuz/////kJ4C6P////+QngL4/////5CeAvT/////k90A2P////9IAAAB/AAAA3/D83j/////SAAAAfwAAAM8gAAA//8AADygAAD//wAAOIQAAP//AAA8YN6u/////zilAAD//wAAkJ4DBP////84A7q+/////3/E83j/////kL4DCP////+QBQAA/////4GAAAD/4AAAgH0A5P////99iQOm/////06ABCH/////k90A5P////9IAAAB/AAAA4CdAOT/////gIQDCP////85BAAE/////3yIGED/////QIQAwP////98qBhQ/////zjD/+D/////OIUAA/////98gBZw/////3wAAZT/////LAAACP////9AgQB8/////zjgAAD/////QYUAKP////9UoAAB/////zigAAH/////QIIAEP////9UgAAB/////0GCAAj/////OKAAAP////8sBQAA/////0GCAAj/////OOAAAf////8sBwAA/////0GCAEj/////OAYAH/////84gAAA/////3wIAFD/////VADZfv////98CQOm/////3wIMED/////QIAALP////+QiAAA/////5CIAAT/////kIgACP////+QiAAM/////5CIABD/////kIgAFP////+QiAAY/////5CIABz/////OQgAIP////9CAP/c/////zgDAAP/////OIAAAP////98CABQ/////1QA8L7/////fAkDpv////98CBhA/////0CAABD/////kIgAAP////85CAAE/////0IA//j/////OGAAAP////84AAAC/////5BgAAD/4AAAOJ8DGP////+QYAAA/+AAAHwJA6b/////kGQABP////+QZAAA/////5BkAAz/////kGQACP////+QZAAU/////5BkABD/////kGQAHP////+QZAAY/////5BkACT/////kGQAIP////+QZAAs/////5BkACj/////kGQANP////+QZAAw/////5BkADz/////kGQAOP////+QZABE/////5BkAED/////kGQATP////+QZABI/////5BkAFT/////kGQAUP////+QZABc/////5BkAFj/////kGQAZP////+QZABg/////5BkAGz/////kGQAaP////+QZAB0/////5BkAHD/////kGQAfP////+QZAB4/////ziEAID/////QgD/fP////84gAAA/////zxggAD/////kIMA4P////+QgwDc/////5PDANz/////SAAACP////+TxAL8/////zugAAD/////kJ4DAP////88gIAA/////zh/BBj/////k74C/P////+TxADg/////0gAAAH8AAADk6AAAP/gAACAAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 644 + flags: 1 + section: .text + - kind: Object + name: DefaultThread + size: 792 + flags: 2 + section: .bss + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Object + name: SwitchThreadCallback + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSGetStackPointer + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 612 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 3898f4ffbf3dad43feac1ff0265b73b559843f46 + signature: lCH/4P////98CAKm/////zhgAAL/////OMAAAf////+QAQAk/////ziAAAD/////OKAAEP////84AP///////5PhABz/////P+AAAP//AAA7/wAA//8AAJPBABj/////O98AAP////+ToQAU/////z+ggAD/////sH4CyP////9/w/N4/////7DeAsr/////kL4C1P////+QvgLQ/////5CeAsz/////kB4C2P////+QngLw/////5CeAuz/////kJ4C6P////+QngL4/////5CeAvT/////k90A2P////9IAAAB/AAAA3/D83j/////SAAAAfwAAAM8YAAA//8AADygAAD//wAAOGMAAP//AACQfgME/////zilAAD//wAAf8TzeP////88YN6u/////5C+Awj/////OAO6vv////+QBQAA/////4GAAAD/4AAAgH0A5P////99iQOm/////06ABCH/////k90A5P////9IAAAB/AAAA4CdAOT/////gIQDCP////85BAAE/////3yIGED/////QIQAwP////98qBhQ/////zjD/+D/////OIUAA/////98gBZw/////3wAAZT/////LAAACP////9AgQB8/////zjgAAD/////QYUAKP////9UoAAB/////zigAAH/////QIIAEP////9UgAAB/////0GCAAj/////OKAAAP////8sBQAA/////0GCAAj/////OOAAAf////8sBwAA/////0GCAEj/////OAYAH/////84gAAA/////3wIAFD/////VADZfv////98CQOm/////3wIMED/////QIAALP////+QiAAA/////5CIAAT/////kIgACP////+QiAAM/////5CIABD/////kIgAFP////+QiAAY/////5CIABz/////OQgAIP////9CAP/c/////zgDAAP/////OIAAAP////98CABQ/////1QA8L7/////fAkDpv////98CBhA/////0CAABD/////kIgAAP////85CAAE/////0IA//j/////OAAAAv////84YAAA/////5BgAAD/4AAAOJ8DGP////+QYAAA/+AAAHwJA6b/////kGQABP////+QZAAA/////5BkAAz/////kGQACP////+QZAAU/////5BkABD/////kGQAHP////+QZAAY/////5BkACT/////kGQAIP////+QZAAs/////5BkACj/////kGQANP////+QZAAw/////5BkADz/////kGQAOP////+QZABE/////5BkAED/////kGQATP////+QZABI/////5BkAFT/////kGQAUP////+QZABc/////5BkAFj/////kGQAZP////+QZABg/////5BkAGz/////kGQAaP////+QZAB0/////5BkAHD/////kGQAfP////+QZAB4/////ziEAID/////QgD/fP////88YIAA/////ziAAAD/////kIMA4P////+QgwDc/////5PDANz/////SAAACP////+TxAL8/////zugAAD/////kJ4DAP////88gIAA/////zh/BBj/////k74C/P////+TxADg/////0gAAAH8AAADk6AAAP/gAACAAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSThreadInit + size: 644 + flags: 1 + section: .text + - kind: Object + name: DefaultThread + size: 792 + flags: 2 + section: .bss + - kind: Function + name: OSClearContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSetCurrentContext + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _stack_end + size: 0 + flags: 1 + section: null + - kind: Object + name: SwitchThreadCallback + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: OSGetStackPointer + size: 0 + flags: 1 + section: .text + - kind: Object + name: RunQueueBits + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: RunQueueHint + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: Reschedule + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 140 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 612 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 diff --git a/assets/__OSUnhandledException.yml b/assets/__OSUnhandledException.yml new file mode 100644 index 0000000..de165eb --- /dev/null +++ b/assets/__OSUnhandledException.yml @@ -0,0 +1,2267 @@ +- symbol: 0 + hash: 3d51c5b2c3361734c35f611e68a5a59815d7e6df + signature: fAgCpv////+QAQAE/////5Qh/9D/////v2EAHP////98nCN4/////ztjAAD/////O6UAAP////87xgAA/////4AEAZz/////PIAAAP//AAA75AAA//8AAFQAB73/////QIIAGP////84fwBc/////0zGMYL/////V2QGPv////9IAAAB/AAAA0gAAGj/////V2MGPv////88gAAA//8AAFdlFbr/////OAQAAP//AAB8gCoU/////4GEAAD/////KAwAAP////9BggAk/////32IA6b/////OJwAAP////84vQAA/////0zGMYL/////ON4AAP////9OgAAh/////3+D43j/////SAAAAfwAAANXYAY+/////ygAAAj/////QIIADP////9/g+N4/////0gAAAH8AAADOH8AfP////9MxjGC/////1dkBj7/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/g+N4/////0gAAAH8AAADOJ0AAP////9MxjGC/////zi+AAD/////OH8AlP////9IAAAB/AAAA1dgBj7/////LAAABP////9BggCA/////0CAABT/////LAAAAv////9BggAc/////0CAADD/////SAAAbP////8sAAAG/////0GCAFD/////QIAAYP////9IAAAw/////4CcAZj/////OL4AAP////84fwDE/////0zGMYL/////SAAAAfwAAANIAABE/////4CcAZj/////OH8BJP////9MxjGC/////0gAAAH8AAADSAAAMP////+AnAGY/////zi+AAD/////OH8BcP////9MxjGC/////0gAAAH8AAADSAAAGP////+AnAGY/////zi+AAD/////OH8B1P////9MxjGC/////0gAAAH8AAADSAAAAfwAAAO7YQAc/////4ABADT/////OCEAMP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSUnhandledException + size: 372 + flags: 1 + section: .text + - kind: Object + name: '@10' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: OSErrorTable + size: 64 + flags: 2 + section: .bss + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@31' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCHalt + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 8cb247393ca16fb7d1cc5bd9e558aaadee2ed861 + signature: fAgCpv////+QAQAE/////5Qh/8j/////vyEAHP////98nyN4/////zsjAAD/////O0UAAP////87ZgAA/////4AEAZz/////PIAAAP//AAA7pAAA//8AAFQAB73/////QIIAGP////84fQBc/////0zGMYL/////VyQGPv////9IAAAB/AAAA0gAAHz/////Vz4GPv////88YAAA//8AAFckFbr/////OAMAAP//AAB/gCIU/////4AcAAD/////KAAAAP////9BggA4/////0gAAAH8AAADgZwAAP////84fgAA/////zifAAD/////TMYxgv////99iAOm/////zi6AAD/////ONsAAP////9OgAAh/////0gAAAH8AAADSAAAAfwAAAN/4/t4/////0gAAAH8AAADVyAGPv////8oAAAI/////0CCAAz/////f+P7eP////9IAAAB/AAAAzh9AHz/////TMYxgv////9XJAY+/////0gAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADf+P7eP////9IAAAB/AAAAziaAAD/////TMYxgv////84uwAA/////zh9AJT/////SAAAAfwAAANIAAAB/AAAAzijAAD/////TMYxgv////84xAAA/////zh9AMj/////SAAAAfwAAANXIAY+/////ygAAA//////QYEAxP////88YAAA//8AADhjAAD//wAAVAAQOv////98AwAu/////3wJA6b/////ToAEIP////+AnwGY/////zi7AAD/////OH0A2P////9MxjGC/////0gAAAH8AAADSAAAlP////+AnwGY/////zh9ATj/////TMYxgv////9IAAAB/AAAA0gAAID/////gJ8BmP////84uwAA/////zh9AYT/////TMYxgv////9IAAAB/AAAA0gAAGj/////gJ8BmP////84uwAA/////zh9Aej/////TMYxgv////9IAAAB/AAAA0gAAFD/////OGAAAP/gAABMxjGC/////0gAAAH8AAADP8DMAP////9MxjGC/////zv+UAD/////oJ5QMP////84fQJI/////6C+UDL/////SAAAAfwAAAOgnwAg/////zh9Amj/////oL8AIv////9MxjGC/////0gAAAH8AAADgJ5gFP////9MxjGC/////zh9Aoj/////SAAAAfwAAAOogAAA/+AAADh9AqT/////TMYxgv////+AoAAA/+AAAIDgAAD/4AAAgQAAAP/gAABIAAAB/AAAA0gAAAH8AAADuyEAHP////+AAQA8/////zghADj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSUnhandledException + size: 512 + flags: 1 + section: .text + - kind: Object + name: '@10' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSErrorTable + size: 64 + flags: 1 + section: .bss + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@32' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@43' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 192 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 272 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 384 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 472 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 476 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 480 + kind: PpcEmbSda21 + symbol: 14 + addend: 4 + - offset: 484 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 15 + addend: 0 +- symbol: 0 + hash: 09e009ed5e82b8b1f08706b4aa12cd04075ed135 + signature: fAgCpv////89AAAA//8AAJABAAT/////POAAAP//AACUIf/A/////77BABj/////OwMAAP////87JAAA/////ztFAAD/////O2YAAP////87yAAA//8AADvnAAD//wAASAAAAfwAAAOAuQGc/////zuEAAD/////O6MAAP////9UoAe9/////0CCABj/////OH8AXP////9MxjGC/////1cEBj7/////SAAAAfwAAANIAAFU/////1cABj7/////KAAABv////9AggDY/////1SgAtf/////QYIA0P////+AHgBA/////ygAAAD/////QYIAxP////87AAAQ/////0gAAAH8AAADOuMAAP////9i4yAA/////0gAAAH8AAADPGCAAP////+AYwDY/////ygDAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADPIBgBv////86xPj//////3xjsDj/////SAAAAfwAAAN+47t4/////0gAAAH8AAADPuCAAP////+AFwDY/////3wAyED/////QIIAVP////9IAAAB/AAAA4GeAED/////OJkAAP////84ugAA/////0zGMYL/////fYgDpv////842wAA/////zhgABD/////ToAAIf////+AeQGc/////zgAAAD/////VGME4v////+QeQGc/////5AXANj/////gBkBlP////98ALA4/////5AZAZT/////SAAAAfwAAANIAAAB/AAAA0gAABj/////gHkBnP////84AAAA/////1RjBOL/////kHkBnP////+QFwDY/////38jy3j/////SAAAAfwAAANXFwY+/////1cAFbr/////ft4CFP////+AFgAA/////ygAAAD/////QYIAOP////9IAAAB/AAAA4GWAAD/////OHcAAP////84mQAA/////0zGMYL/////fYgDpv////84ugAA/////zjbAAD/////ToAAIf////9IAAAB/AAAA0gAAAH8AAADfyPLeP////9IAAAB/AAAA1cABj7/////KAAACP////9AggAM/////38jy3j/////SAAAAfwAAAM4fwB8/////0zGMYL/////VwQGPv////9IAAAB/AAAAzhgAAD/4AAATMYxgv////9IAAAB/AAAA38jy3j/////SAAAAfwAAAM4mgAA/////0zGMYL/////OLsAAP////84fwCU/////0gAAAH8AAADONwAAP////9MxjGC/////zi9AAD/////OH8AyP////9IAAAB/AAAA1cABj7/////KAAAD/////9BgQDE/////zxgAAD//wAAOGMAAP//AABUABA6/////3wDAC7/////fAkDpv////9OgAQg/////4CZAZj/////OLsAAP////84fwDY/////0zGMYL/////SAAAAfwAAANIAACU/////4CZAZj/////OH8BOP////9MxjGC/////0gAAAH8AAADSAAAgP////+AmQGY/////zi7AAD/////OH8BhP////9MxjGC/////0gAAAH8AAADSAAAaP////+AmQGY/////zi7AAD/////OH8B6P////9MxjGC/////0gAAAH8AAADSAAAUP////84YAAA/+AAAEzGMYL/////SAAAAfwAAAM/IMwA/////0zGMYL/////OxlQAP////+gmVAw/////zh/Akj/////oLlQMv////9IAAAB/AAAA6CYACD/////OH8CaP////+guAAi/////0zGMYL/////SAAAAfwAAAOAmWAU/////0zGMYL/////OH8CiP////9IAAAB/AAAA6iAAAD/4AAAOH8CpP////9MxjGC/////4CgAAD/4AAAgOAAAP/gAACBAAAA/+AAAEgAAAH8AAADSAAAAfwAAAO6wQAY/////4ABAET/////OCEAQP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __OSUnhandledException + size: 744 + flags: 1 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Object + name: '@13' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@76' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@87' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 500 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 504 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 616 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 692 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 712 + kind: PpcEmbSda21 + symbol: 19 + addend: 4 + - offset: 716 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 20 + addend: 0 +- symbol: 0 + hash: dfdb75e4676b86582c2cf4be64fcc9dfc317be01 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAAz/gAAD//wAAfHkbeP////98miN4/////3y7K3j/////fNwzeP////87/wAA//8AAEgAAAH8AAADgLoBnP////98nSN4/////3x+G3j/////VKAHvf////9AggAY/////38ky3j/////OH8AXP////9MxjGC/////0gAAAH8AAADSAABYP////8oGQAG/////0CCAOz/////VKAC1/////9BggDk/////zxgAAD//wAAOGMAAP//AACAAwBA/////ywAAAD/////QYIA0P////87IAAQ/////0gAAAH8AAADfHcbeP////9gYyAA/////0gAAAH8AAADPGCAAP////+AYwDY/////ywDAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADPwBgBv////84GPj//////3xjADj/////SAAAAfwAAAN+47t4/////0gAAAH8AAADPuCAAP////+AFwDY/////3wA0ED/////QIIAYP////9IAAAB/AAAA39E03j/////f2XbeP////9/huN4/////zhgABD/////TMYxgv////884AAA//8AADjnAAD//wAAgYcAQP////99iQOm/////06ABCH/////gJoBnP////84YAAA/////zgY+P//////VIQE4v////+QmgGc/////5B3ANj/////gHoBlP////98YAA4/////5AaAZT/////SAAAAfwAAANIAAAB/AAAA0gAABj/////gHoBnP////84AAAA/////1RjBOL/////kHoBnP////+QFwDY/////39D03j/////SAAAAfwAAAM/AAAA//8AAFc3Fbr/////OxgAAP//AAB8GLgu/////ywAAAD/////QYIAOP////9IAAAB/AAAA38jy3j/////f0TTeP////9/Zdt4/////3+G43j/////TMYxgv////99mLgu/////32JA6b/////ToAEIf////9IAAAB/AAAA0gAAAH8AAADf0PTeP////9IAAAB/AAAAygZAAj/////QIIADP////9/Q9N4/////0gAAAH8AAADfyTLeP////84fwB8/////0zGMYL/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/Q9N4/////0gAAAH8AAADf2TbeP////9/heN4/////zh/AJT/////TMYxgv////9IAAAB/AAAA3+m63j/////f8XzeP////84fwDI/////0zGMYL/////SAAAAfwAAAMoGQAP/////0GBAMT/////PGAAAP//AABXIBA6/////zhjAAD//wAAfGMALv////98aQOm/////06ABCD/////gJoBmP////9/heN4/////zh/ANj/////TMYxgv////9IAAAB/AAAA0gAAJT/////gJoBmP////84fwE4/////0zGMYL/////SAAAAfwAAANIAACA/////4CaAZj/////f4XjeP////84fwGE/////0zGMYL/////SAAAAfwAAANIAABo/////4CaAZj/////f4XjeP////84fwHo/////0zGMYL/////SAAAAfwAAANIAABQ/////zhgAAD/4AAATMYxgv////9IAAAB/AAAAz8gzAD/////OH8CSP////+gmVAw/////6C5UDL/////TMYxgv////9IAAAB/AAAA6CZUCD/////OH8CaP////+guVAi/////0zGMYL/////SAAAAfwAAAM8gM0A/////zh/Aoj/////gIRgFP////9MxjGC/////0gAAAH8AAADqIAAAP/gAAA4fwKk/////4CgAAD/4AAAgOAAAP/gAACBAAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAAzlhADD/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSUnhandledException + size: 752 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_23 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@629' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@691' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@703' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: _restgpr_23 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 504 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 544 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 620 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 696 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 712 + kind: PpcEmbSda21 + symbol: 20 + addend: 4 + - offset: 720 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 6f572853e7352829c75b32f66a4d9c6866176b21 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAAz/gAAD//wAAfHkbeP////98miN4/////3y7K3j/////fNwzeP////87/wAA//8AAEgAAAH8AAADgLoBnP////98nSN4/////3x+G3j/////VKAHvf////9AggAY/////38ky3j/////OH8AXP////9MxjGC/////0gAAAH8AAADSAABYP////8oGQAG/////0CCAOz/////VKAC1/////9BggDk/////zxgAAD//wAAOGMAAP//AACAAwBA/////ywAAAD/////QYIA0P////87IAAQ/////0gAAAH8AAADfHcbeP////9gYyAA/////0gAAAH8AAADPGCAAP////+AYwDY/////ywDAAD/////QYIACP////9IAAAB/AAAA0gAAAH8AAADPwBgBv////84GPj//////3xjADj/////SAAAAfwAAAN+47t4/////0gAAAH8AAADPuCAAP////+AFwDY/////3wA0ED/////QIIAYP////9IAAAB/AAAA39E03j/////f2XbeP////9/huN4/////zhgABD/////TMYxgv////884AAA//8AADjnAAD//wAAgYcAQP////99iQOm/////06ABCH/////gJoBnP////84YAAA/////zgY+P//////VIQE4v////+QmgGc/////5B3ANj/////gHoBlP////98YAA4/////5AaAZT/////SAAAAfwAAANIAAAB/AAAA0gAABj/////gHoBnP////84AAAA/////1RjBOL/////kHoBnP////+QFwDY/////39D03j/////SAAAAfwAAAM/AAAA//8AAFc3Fbr/////OxgAAP//AAB8GLgu/////ywAAAD/////QYIAOP////9IAAAB/AAAA38jy3j/////f0TTeP////9/Zdt4/////3+G43j/////TMYxgv////99mLgu/////32JA6b/////ToAEIf////9IAAAB/AAAA0gAAAH8AAADf0PTeP////9IAAAB/AAAAygZAAj/////QIIADP////9/Q9N4/////0gAAAH8AAADfyTLeP////84fwB8/////0zGMYL/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/Q9N4/////0gAAAH8AAADf2TbeP////9/heN4/////zh/AJT/////TMYxgv////9IAAAB/AAAA3+m63j/////f8XzeP////84fwDI/////0zGMYL/////SAAAAfwAAAMsGQAC/////0GCACj/////LBkAA/////9BggA4/////ywZAAX/////QYIARP////8sGQAG/////0GCAFT/////LBkAD/////9BggBk/////0gAAKz/////gJoBmP////9/heN4/////zh/ANj/////TMYxgv////9IAAAB/AAAA0gAAJT/////gJoBmP////84fwE4/////0zGMYL/////SAAAAfwAAANIAACA/////4CaAZj/////f4XjeP////84fwGE/////0zGMYL/////SAAAAfwAAANIAABo/////4CaAZj/////f4XjeP////84fwHo/////0zGMYL/////SAAAAfwAAANIAABQ/////zhgAAD/4AAATMYxgv////9IAAAB/AAAAz8gzAD/////OH8CSP////+gmVAw/////6C5UDL/////TMYxgv////9IAAAB/AAAA6CZUCD/////OH8CaP////+guVAi/////0zGMYL/////SAAAAfwAAAM8gM0A/////zh/Aoj/////gIRgFP////9MxjGC/////0gAAAH8AAADqIAAAP/gAAA4fwKk/////4CgAAD/4AAAgOAAAP/gAACBAAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAAzlhADD/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSUnhandledException + size: 764 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_23 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@641' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@703' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: _restgpr_23 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 232 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 328 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 336 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 600 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 624 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 632 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 684 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 704 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 708 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 716 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 720 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 724 + kind: PpcEmbSda21 + symbol: 19 + addend: 4 + - offset: 732 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 21 + addend: 0 +- symbol: 0 + hash: c4f9585f7242f673cd45270dc2f57a2762b649b0 + signature: fAgCpv////+QAQAE/////5Qh/8D/////vsEAGP////87owAA/////zvkAAD/////OwUAAP////87ZgAA/////zxgAAD//wAAO4MAAP//AAA8YAAA//8AADvDAAD//wAASAAAAfwAAAM65AAA/////zrDAAD/////gB8BnP////9UAAe9/////0CCABj/////OH4AjP////9XpAY+/////0zGMYL/////SAAAAfwAAANIAAF4/////1egBj7/////KAAABv////9AggEA/////4AfAZz/////VAAC1/////9BggD0/////4AcAED/////KAAAAP////9BggDo/////zugABD/////SAAAAfwAAAN8eRt4/////2MjIAD/////SAAAAfwAAAM8YIAA/////4ADANj/////KAAAAP////9BggAQ/////zxggAD/////gGMA2P////9IAAAB/AAAA0gAAAH8AAADfHobeP////88YGAG/////zhj+P//////f1oYOP////9/Q9N4/////0gAAAH8AAADfyPLeP////9IAAAB/AAAAzxggAD/////gAMA2P////98APhA/////0CCAGT/////SAAAAfwAAANXowY+/////zifAAD/////OLgAAP////842wAA/////0zGMYL/////V6AVuv////99nAAu/////32IA6b/////ToAAIf////+AHwGc/////1QABOL/////kB8BnP////84AAAA/////zxggAD/////kAMA2P////+AHwGU/////zxgYAb/////OGP4//////98ABg4/////5AfAZT/////SAAAAfwAAANIAAAB/AAAA0gAABz/////gB8BnP////9UAATi/////5AfAZz/////OAAAAP////88YIAA/////5ADANj/////f+P7eP////9IAAAB/AAAA1egFbr/////fBwALv////8oAAAA/////0GCADz/////SAAAAfwAAANXowY+/////zifAAD/////OLgAAP////842wAA/////0zGMYL/////V6AVuv////99nAAu/////32IA6b/////ToAAIf////9IAAAB/AAAA0gAAAH8AAADf+P7eP////9IAAAB/AAAA1egBj7/////KAAACP////9AggAM/////3/j+3j/////SAAAAfwAAAM4fgCs/////1ekBj7/////TMYxgv////9IAAAB/AAAAzhgAAD/4AAAV6UVuv////88gAAA//8AADgEAAD//wAAfIAqFP////+AhAAA/////0zGMYL/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/4/t4/////0gAAAH8AAADOH4AxP////84mAAA/////zi7AAD/////TMYxgv////9IAAAB/AAAAzh+APj/////ONcAAP////84tgAA/////0zGMYL/////SAAAAfwAAANXoAY+/////ygAAA//////QYEA5P////88YAAA//8AADhjAAD//wAAVAAQOv////98YwAu/////3xpA6b/////ToAEIP////84fgEI/////4CfAZj/////OLsAAP////9MxjGC/////0gAAAH8AAADSAAAtP////84fgFo/////4CfAZj/////TMYxgv////9IAAAB/AAAA0gAAKD/////OH4BtP////+AnwGY/////zi7AAD/////TMYxgv////9IAAAB/AAAA0gAAIj/////OH4CGP////+AnwGY/////zi7AAD/////TMYxgv////9IAAAB/AAAA0gAAHD/////OGAAAP/gAABMxjGC/////0gAAAH8AAADOH4CeP////88gMwA/////ziEUAD/////oIQAMP////88oMwA/////zilUAD/////oKUAMv////9MxjGC/////0gAAAH8AAADOH4CmP////88gMwA/////ziEUAD/////oIQAIP////88oMwA/////zilUAD/////oKUAIv////9MxjGC/////0gAAAH8AAADOH4CuP////88gMwA/////ziEYAD/////gIQAFP////9MxjGC/////0gAAAH8AAADOH4C1P////+ogAAA/+AAAICgAAD/4AAAgOAAAP/gAACBAAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAA4ABAET/////usEAGP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __OSUnhandledException + size: 844 + flags: 1 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Object + name: '@13' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@66' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: __OSExceptionNames + size: 68 + flags: 1 + section: .data + - kind: Object + name: '@67' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@78' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 464 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 472 + kind: PpcAddr16Ha + symbol: 15 + addend: 0 + - offset: 476 + kind: PpcAddr16Lo + symbol: 15 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 496 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 568 + kind: PpcAddr16Ha + symbol: 18 + addend: 0 + - offset: 572 + kind: PpcAddr16Lo + symbol: 18 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 676 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 684 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 692 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 728 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 788 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 796 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 800 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 804 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 808 + kind: PpcEmbSda21 + symbol: 21 + addend: 4 + - offset: 816 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 21f4fe535c3c08d6e05abbae88b4a4bdf8d78c0e + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3x9G3j/////fJ8jeP////98uSt4/////3zcM3j/////PGAAAP//AAA7wwAA//8AAEgAAAH8AAADfJgjeP////98dxt4/////4AfAZz/////VAAHvP////8sAAAA/////0CCABj/////OH4AjP////9XpAY+/////0zGMYL/////SAAAAfwAAANIAAGw/////1egBj7/////KAAABv////9AggEc/////4AfAZz/////VAAC1v////8sAAAA/////0GCAQz/////PGAAAP//AAA4YwAA//8AAIADAED/////LAAAAP////9BggD4/////zugABD/////SAAAAfwAAAN8eht4/////2NDIAD/////SAAAAfwAAAM8YIAA/////4ADANj/////LAAAAP////9BggAQ/////zxggAD/////gGMA2P////9IAAAB/AAAA0gAAAH8AAADfHsbeP////88YGAG/////zhj+P//////f3sYOP////9/Y9t4/////0gAAAH8AAADf0PTeP////9IAAAB/AAAAzxggAD/////gAMA2P////98APhA/////0CCAHT/////SAAAAfwAAANXowY+/////1RjBD7/////f+T7eP////9/Jct4/////3+G43j/////TMYxgv////9XoAY+/////1QAEDr/////POAAAP//AAA45wAA//8AAH2HAC7/////fYkDpv////9OgAQh/////4AfAZz/////VAAE4v////+QHwGc/////zgAAAD/////PGCAAP////+QAwDY/////4AfAZT/////PGBgBv////84Y/j//////3wAGDj/////kB8BlP////9IAAAB/AAAA0gAAAH8AAADSAAAHP////+AHwGc/////1QABOL/////kB8BnP////84AAAA/////zxggAD/////kAMA2P////9/4/t4/////0gAAAH8AAADV6AGPv////9UABA6/////zxgAAD//wAAOGMAAP//AAB8AwAu/////ywAAAD/////QYIATP////9IAAAB/AAAA1ejBj7/////VGMEPv////9/5Pt4/////38ly3j/////f4bjeP////9MxjGC/////1egBj7/////VAAQOv////884AAA//8AADjnAAD//wAAfYcALv////99iQOm/////06ABCH/////SAAAAfwAAANIAAAB/AAAA3/j+3j/////SAAAAfwAAANXoAY+/////ygAAAj/////QIIADP////9/4/t4/////0gAAAH8AAADOH4ArP////9XpAY+/////0zGMYL/////SAAAAfwAAAM4YAAA/+AAAFegBj7/////VAAQOv////88gAAA//8AADiEAAD//wAAfIQALv////9MxjGC/////0gAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADf+P7eP////9IAAAB/AAAAzh+AMT/////fyTLeP////9/heN4/////0zGMYL/////SAAAAfwAAAM4fgD4/////38Gw3j/////fuW7eP////9MxjGC/////0gAAAH8AAADV6AGPv////8oAAAP/////0GBAND/////PGAAAP//AAA4YwAA//8AAFQAEDr/////fGMALv////98aQOm/////06ABCD/////OH4BCP////+AnwGY/////3+F43j/////TMYxgv////9IAAAB/AAAA0gAAKD/////OH4BaP////+AnwGY/////0zGMYL/////SAAAAfwAAANIAACM/////zh+AbT/////gJ8BmP////9/heN4/////0zGMYL/////SAAAAfwAAANIAAB0/////zh+Ahj/////gJ8BmP////9/heN4/////0zGMYL/////SAAAAfwAAANIAABc/////zhgAAD/4AAATMYxgv////9IAAAB/AAAAzh+Anj/////PIDMAP////+ghFAw/////zygzAD/////oKVQMv////9MxjGC/////0gAAAH8AAADOH4CmP////88gMwA/////6CEUCD/////PKDMAP////+gpVAi/////0zGMYL/////SAAAAfwAAAM4fgK4/////zyAzQD/////gIRgFP////9MxjGC/////0gAAAH8AAADOH4C1P////+ogAAA/+AAAICgAAD/4AAAgOAAAP/gAACBAAAA/+AAAEzGMYL/////SAAAAfwAAANIAAAB/AAAAzlhADD/////SAAAAfwAAAOAAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __OSUnhandledException + size: 884 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_23 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@535' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@616' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: __OSExceptionNames + size: 68 + flags: 1 + section: .data + - kind: Object + name: '@617' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@629' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: _restgpr_23 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 120 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 240 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 276 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 280 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 392 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 396 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 448 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 452 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 480 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 520 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 532 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 536 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 552 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 568 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 608 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 624 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 628 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 684 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 732 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 740 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 804 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 832 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 836 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 22 + addend: 4 + - offset: 852 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 856 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 864 + kind: PpcRel24 + symbol: 24 + addend: 0 +- symbol: 0 + hash: 88d6cd0066c35b0493f66e79fc2b4457682b6590 + signature: lCH/0P////98CAKm/////5ABADT/////OWEAMP////9IAAAB/AAAA3w/C3j/////fHwbeP////98niN4/////3y2K3j/////fNszeP////88YAAA//8AADujAAD//wAASAAAAfwAAAN8mCN4/////3x3G3j/////gB4BnP////9UAAe8/////ywAAAD/////QIIAGP////84fQCM/////1eEBj7/////TMYxgv////9IAAAB/AAAA0gAAbD/////V4AGPv////8oAAAG/////0CCARz/////gB4BnP////9UAALW/////ywAAAD/////QYIBDP////88YAAA//8AADhjAAD//wAAgAMAQP////8sAAAA/////0GCAPj/////O4AAEP////9IAAAB/AAAA3x5G3j/////YyMgAP////9IAAAB/AAAAzxggAD/////gAMA2P////8sAAAA/////0GCABD/////PGCAAP////+AYwDY/////0gAAAH8AAADSAAAAfwAAAN8eht4/////zxgYAb/////OGP4//////9/Whg4/////39D03j/////SAAAAfwAAAN/I8t4/////0gAAAH8AAADPGCAAP////+AAwDY/////3wA8ED/////QIIAdP////9IAAAB/AAAA1eDBj7/////VGMEPv////9/xPN4/////37Fs3j/////f2bbeP////9MxjGC/////1eABj7/////VAAQOv////884AAA//8AADjnAAD//wAAfYcALv////99iQOm/////06ABCH/////gB4BnP////9UAATi/////5AeAZz/////OAAAAP////88YIAA/////5ADANj/////gB4BlP////88YGAG/////zhj+P//////fAAYOP////+QHgGU/////0gAAAH8AAADSAAAAfwAAANIAAAc/////4AeAZz/////VAAE4v////+QHgGc/////zgAAAD/////PGCAAP////+QAwDY/////3/D83j/////SAAAAfwAAANXgAY+/////1QAEDr/////PGAAAP//AAA4YwAA//8AAHwDAC7/////LAAAAP////9BggBM/////0gAAAH8AAADV4MGPv////9UYwQ+/////3/E83j/////fsWzeP////9/Ztt4/////0zGMYL/////V4AGPv////9UABA6/////zzgAAD//wAAOOcAAP//AAB9hwAu/////32JA6b/////ToAEIf////9IAAAB/AAAA0gAAAH8AAADf8PzeP////9IAAAB/AAAA1eABj7/////KAAACP////9AggAM/////3/D83j/////SAAAAfwAAAM4fQCs/////1eEBj7/////TMYxgv////9IAAAB/AAAAzhgAAD/4AAAV4AGPv////9UABA6/////zyAAAD//wAAOIQAAP//AAB8hAAu/////0zGMYL/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADOH0AxP////9+xLN4/////39l23j/////TMYxgv////9IAAAB/AAAAzh9APj/////fwbDeP////9+5bt4/////0zGMYL/////SAAAAfwAAANXgAY+/////ygAAA//////QYEA0P////88YAAA//8AADhjAAD//wAAVAAQOv////98YwAu/////3xpA6b/////ToAEIP////84fQEI/////4CeAZj/////f2XbeP////9MxjGC/////0gAAAH8AAADSAAAoP////84fQFo/////4CeAZj/////TMYxgv////9IAAAB/AAAA0gAAIz/////OH0BtP////+AngGY/////39l23j/////TMYxgv////9IAAAB/AAAA0gAAHT/////OH0CGP////+AngGY/////39l23j/////TMYxgv////9IAAAB/AAAA0gAAFz/////OGAAAP/gAABMxjGC/////0gAAAH8AAADOH0CeP////88gMwA/////6CEUDD/////PKDMAP////+gpVAy/////0zGMYL/////SAAAAfwAAAM4fQKY/////zyAzAD/////oIRQIP////88oMwA/////6ClUCL/////TMYxgv////9IAAAB/AAAAzh9Arj/////PIDNAP////+AhGAU/////0zGMYL/////SAAAAfwAAAM4fQLU/////6iAAAD/4AAAgKAAAP/gAACA4AAA/+AAAIEAAAD/4AAATMYxgv////9IAAAB/AAAA0gAAAH8AAADf+r7eP////85agAw/////0gAAAH8AAADgUEAAP////+ACgAE/////31BU3j/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __OSUnhandledException + size: 896 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_22 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@544' + size: 22 + flags: 2 + section: .data + - kind: Function + name: OSGetTime + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: __OSErrorTable + size: 68 + flags: 1 + section: .bss + - kind: Function + name: PPCMfmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtmsr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSaveFPUContext + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMffpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: PPCMtfpscr + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSEnableScheduler + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSReschedule + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSLoadContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@625' + size: 5 + flags: 2 + section: .sdata + - kind: Object + name: __OSExceptionNames + size: 68 + flags: 1 + section: .data + - kind: Object + name: '@626' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSDumpContext + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@638' + size: 64 + flags: 2 + section: .data + - kind: Object + name: __OSLastInterrupt + size: 2 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptSrr0 + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __OSLastInterruptTime + size: 8 + flags: 1 + section: .sbss + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: _restgpr_22 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 224 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 280 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 348 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 396 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 400 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 452 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 456 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 536 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 540 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 552 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 592 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 628 + kind: PpcAddr16Ha + symbol: 19 + addend: 0 + - offset: 632 + kind: PpcAddr16Lo + symbol: 19 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 744 + kind: PpcEmbSda21 + symbol: 17 + addend: 0 + - offset: 752 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 780 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 808 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 828 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 836 + kind: PpcEmbSda21 + symbol: 20 + addend: 0 + - offset: 840 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 844 + kind: PpcEmbSda21 + symbol: 22 + addend: 0 + - offset: 848 + kind: PpcEmbSda21 + symbol: 22 + addend: 4 + - offset: 856 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 860 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 24 + addend: 0 diff --git a/assets/__StringWrite.yml b/assets/__StringWrite.yml new file mode 100644 index 0000000..e53918a --- /dev/null +++ b/assets/__StringWrite.yml @@ -0,0 +1,76 @@ +- symbol: 0 + hash: fd8573d0360049de5abb67c8769f04edfe84d892 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////3x+G3j/////gGMACP////+A3gAE/////3wDKhT/////fAAwQP////9/4zBQ/////0GBAAj/////fL8reP////+AHgAA/////3/l+3j/////fGAaFP////9IAAAB/AAAA4AeAAj/////OGAAAf////98APoU/////5AeAAj/////g+EADP////+DwQAI/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __StringWrite + size: 108 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: aa97d90a13076812a88fc64f1a14c6cfcfd6ee5f + signature: fAgCpv////+QAQAE/////5Qh/+D/////k+EAHP////+TwQAY/////3x+G3j/////gGMACP////+A3gAE/////3wDKhT/////fAAwQP////9BgQAM/////3y/K3j/////SAAACP////9/4zBQ/////4AeAAD/////OL8AAP////98YBoU/////0gAAAH8AAADgB4ACP////98APoU/////5AeAAj/////gAEAJP////+D4QAc/////4PBABj/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __StringWrite + size: 108 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + relocations: + - offset: 68 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 72eb8198fc92efdbce86b4fce4892df09fe3c4cd + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////3x+G3j/////gMMACP////+A4wAE/////3wGKhT/////fAA4QP////9/5jhQ/////0GBAAj/////fL8reP////+AAwAA/////3/l+3j/////fGAyFP////9IAAAB/AAAA4AeAAj/////OGAAAf////98APoU/////5AeAAj/////g+EADP////+DwQAI/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __StringWrite + size: 108 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 433b639615c59c549da93877493f251072c1330f + signature: lCH/0P////98CAKm/////5ABADT/////k+EALP////+TwQAo/////5OhACT/////kGEACP////+TgQAg/////3y8K3j/////g+EACP////+QgQAM/////4B/AAj/////gB8ABP////98Y+IU/////3wDAED/////QYEADP////9/neN4/////0gAABD/////gH8ACP////+AHwAE/////3+jAFD/////gH8AAP////9/vut4/////4AfAAj/////f8XzeP////+AgQAM/////3xjAhT/////SAAAAfwAAAOAHwAI/////5BhABD/////OGAAAf////98APIU/////5AfAAj/////gAEANP////+D4QAs/////4PBACj/////g6EAJP////+DgQAg/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __StringWrite + size: 164 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + relocations: + - offset: 108 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/__check_pad3.yml b/assets/__check_pad3.yml new file mode 100644 index 0000000..016636e --- /dev/null +++ b/assets/__check_pad3.yml @@ -0,0 +1,76 @@ +- symbol: 0 + hash: 83ea1a2986a06003ca4462e41a1f833a167b3fc6 + signature: PGCAAP////+gAzDk/////3AADu//////LAAO7/////9MggAg/////zhgAAD/////OIAAAP////84oAAA/////0gAAAD8AAADToAAIP////8= + symbols: + - kind: Function + name: __check_pad3 + size: 40 + flags: 2 + section: .init + - kind: Function + name: OSResetSystem + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: bee3fc50a8504050f518240f52eb977dbb1540f8 + signature: fAgCpv////+QAQAE/////5Qh//j/////PGCAAP////+gAzDk/////3AADu//////LAAO7/////9AggAU/////zhgAAD/////OIAAAP////84oAAA/////0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __check_pad3 + size: 64 + flags: 2 + section: .init + - kind: Function + name: OSResetSystem + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 956fc3157a2e2a27f31b046e9b9841b2a321a08c + signature: fAgCpv////88YIAA/////5ABAAT/////lCH/+P////+gAzDk/////3AADu//////LAAO7/////9AggAU/////zhgAAD/////OIAAAP////84oAAA/////0gAAAH8AAADgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __check_pad3 + size: 64 + flags: 2 + section: .init + - kind: Function + name: OSResetSystem + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: f431fd9f820cdf74ce3549f31b18c5fd32d934b7 + signature: lCH/8P////98CAKm/////5ABABT/////PGCAAP////+gAzDk/////3AADu//////LAAO7/////9AggAU/////zhgAAD/////OIAAAP////84oAAA/////0gAAAH8AAADgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __check_pad3 + size: 64 + flags: 2 + section: .init + - kind: Function + name: OSResetSystem + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/__destroy_global_chain.yml b/assets/__destroy_global_chain.yml new file mode 100644 index 0000000..ca8ece9 --- /dev/null +++ b/assets/__destroy_global_chain.yml @@ -0,0 +1,69 @@ +- symbol: 0 + hash: 890b5d264562afb0617f966e1d204414cfbb6aba + signature: lCH/8P////98CAKm/////5ABABT/////SAAAIP////+AAwAA/////ziA////////kAAAAP/gAACBgwAE/////4BjAAj/////fYkDpv////9OgAQh/////4BgAAD/4AAAKAMAAP////9Agv/c/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __destroy_global_chain + size: 72 + flags: 1 + section: .text + - kind: Object + name: __global_destructor_chain + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 35eeefbf85abcb97d4e494cde0779e2d046aa1ff + signature: lCH/8P////98CAKm/////5ABABT/////SAAAIP////+AAwAA/////ziA////////kAAAAP/gAACBgwAE/////4BjAAj/////fYkDpv////9OgAQh/////4BgAAD/4AAALAMAAP////9Agv/c/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __destroy_global_chain + size: 72 + flags: 1 + section: .text + - kind: Object + name: __global_destructor_chain + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 087d7bf168cea751416fa624bffe74ec8d8d5654 + signature: fAgCpv////+QAQAE/////5Qh//j/////SAAAIP////+AAwAA/////ziA////////kAAAAP/gAACBgwAE/////4BjAAj/////fYgDpv////9OgAAh/////4BgAAD/4AAAKAMAAP////9Agv/c/////4ABAAz/////OCEACP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __destroy_global_chain + size: 72 + flags: 1 + section: .text + - kind: Object + name: __global_destructor_chain + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 24 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__fini_cpp.yml b/assets/__fini_cpp.yml new file mode 100644 index 0000000..145090c --- /dev/null +++ b/assets/__fini_cpp.yml @@ -0,0 +1,23 @@ +- symbol: 0 + hash: 734078ce2ac4f80b15cf23707c7151557348f30d + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////88YAAA//8AADvjAAD//wAASAAAFP////+BnwAA/////32JA6b/////ToAEIf////87/wAE/////4AfAAD/////LAAAAP////9Agv/o/////4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __fini_cpp + size: 76 + flags: 2 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/__fini_cpp_exceptions.yml b/assets/__fini_cpp_exceptions.yml new file mode 100644 index 0000000..6ecddfe --- /dev/null +++ b/assets/__fini_cpp_exceptions.yml @@ -0,0 +1,64 @@ +- symbol: 0 + hash: aa319246ce3e68bc50ec5ab978571665c68e92b9 + signature: fAgCpv////+QAQAE/////5Qh//j/////gGAAAP/gAAAsA//+/////0GCABD/////SAAAAfwAAAM4AP/+/////5AAAAD/4AAAgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __fini_cpp_exceptions + size: 52 + flags: 1 + section: .text + - kind: Object + name: fragmentID + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: __unregister_fragment + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: ba270ea9cddc44daa54826c05efd14480ef99b21 + signature: lCH/8P////98CAKm/////5ABABT/////gGAAAP/gAAAsA//+/////0GCABD/////SAAAAfwAAAM4AP/+/////5AAAAD/4AAAgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __fini_cpp_exceptions + size: 52 + flags: 1 + section: .text + - kind: Object + name: fragmentID + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: __unregister_fragment + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__fstLoad.yml b/assets/__fstLoad.yml new file mode 100644 index 0000000..156776c --- /dev/null +++ b/assets/__fstLoad.yml @@ -0,0 +1,881 @@ +- symbol: 0 + hash: dae26f3fdfdf650f99ee4dc333906dd782738083 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/oP////+T4QBc/////zvjAAD//wAAk8EAWP////+ToQBU/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiBACv/////OAMAH/////9UgwA0/////1QAADT/////kGAAAP/gAACQAAAA/+AAAEgAAAH8AAADPGAAAP//AACAgAAA/+AAADygAAD//wAAOGMAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAAMsAwAA/////0CC//j/////gGAAAP/gAAA/oIAA/////z/AgAD/////gAMAEP////84fQAA/////zigACD/////kB4AOP////+AgAAA/+AAAIAEAAz/////kB4APP////+AgAAA/+AAAEgAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADiJ0AAP////9/4/t4/////4i9AAH/////TMYxgv////+I3QAC/////4j9AAP/////SAAAAfwAAAOInQAE/////zh/ABz/////iL0ABf////9MxjGC/////0gAAAH8AAADiJ0ABv////84fwA0/////0zGMYL/////SAAAAfwAAAOInQAH/////zh/AEj/////TMYxgv////9IAAAB/AAAA4geAAj/////KAAAAP////9AggAM/////ziAAAD/4AAASAAACP////84gAAA/+AAAEzGMYL/////OH8AXP////9IAAAB/AAAAzhgAAD/4AAATMYxgv////9IAAAB/AAAA4BgAAD/4AAAgGMAEP////9IAAAB/AAAA4ABAGT/////g+EAXP////+DwQBY/////3wIA6b/////g6EAVP////84IQBg/////06AACD///// + symbols: + - kind: Function + name: __fstLoad + size: 336 + flags: 1 + section: .text + - kind: Object + name: '@36' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: bb2Buf + size: 63 + flags: 2 + section: .bss + - kind: Object + name: idTmp + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: bb2 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: block$16 + size: 48 + flags: 2 + section: .bss + - kind: Function + name: cb + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDReadDiskID + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDGetDriveStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@35' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@40' + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@41' + size: 3 + flags: 2 + section: .sdata + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 260 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 296 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 0eeb94e54c7031df86874b9f1c05205c86f72996 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/oP////+T4QBc/////zvjAAD//wAAk8EAWP////+ToQBU/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiBACv/////OAMAH/////9UgwA0/////1QAADT/////kGAAAP/gAACQAAAA/+AAAEgAAAH8AAADPGAAAP//AACAgAAA/+AAADygAAD//wAAOGMAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAAMsAwAA/////0CC//j/////gGAAAP/gAAA/oIAA/////z/AgAD/////gAMAEP////84fQAA/////zigACD/////kB4AOP////+AgAAA/+AAAIAEAAz/////kB4APP////+AgAAA/+AAAEgAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADiJ0AAP////9/4/t4/////4i9AAH/////TMYxgv////+I3QAC/////4j9AAP/////fIQHdP////98pQd0/////3zGB3T/////fOcHdP////9IAAAB/AAAA4idAAT/////OH8AHP////+IvQAF/////0zGMYL/////fIQHdP////98pQd0/////0gAAAH8AAADiJ0ABv////84fwA0/////0zGMYL/////SAAAAfwAAAOInQAH/////zh/AEj/////TMYxgv////9IAAAB/AAAA4geAAj/////KAAAAP////9AggAM/////ziAAAD/4AAASAAACP////84gAAA/+AAAEzGMYL/////OH8AXP////9IAAAB/AAAAzhgAAD/4AAATMYxgv////9IAAAB/AAAA4BgAAD/4AAAgGMAEP////9IAAAB/AAAA4ABAGT/////g+EAXP////+DwQBY/////4OhAFT/////OCEAYP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __fstLoad + size: 360 + flags: 1 + section: .text + - kind: Object + name: '@36' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: bb2Buf + size: 63 + flags: 2 + section: .bss + - kind: Object + name: idTmp + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: bb2 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: block$16 + size: 48 + flags: 2 + section: .bss + - kind: Function + name: cb + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDReadDiskID + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDGetDriveStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Object + name: '@35' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@40' + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@41' + size: 3 + flags: 2 + section: .sdata + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: 7d4cf66af372ef0abc18bba43ab59bb7ad10bc3e + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/oP////+T4QBc/////zvjAAD//wAAk8EAWP////+ToQBU/////0gAAAH8AAADPGAAAP//AAA4YwAA//8AADiBACv/////OAMAH/////9UgwA0/////1QAADT/////kGAAAP/gAACQAAAA/+AAAEgAAAH8AAADPGAAAP//AACAgAAA/+AAADygAAD//wAAOGMAAP//AAA4pQAA//8AAEgAAAH8AAADSAAAAfwAAAMsAwAA/////0CC//j/////gGAAAP/gAAA/oIAA/////z/AgAD/////gAMAEP////84fQAA/////zigACD/////kB4AOP////+AgAAA/+AAAIAEAAz/////kB4APP////+AgAAA/+AAAEgAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADiJ0AAP////9/4/t4/////4i9AAH/////TMYxgv////+I3QAC/////4j9AAP/////fIQHdP////98pQd0/////3zGB3T/////fOcHdP////9IAAAB/AAAA4idAAT/////OH8AHP////+IvQAF/////0zGMYL/////fIQHdP////98pQd0/////0gAAAH8AAADiJ0ABv////84fwA0/////0zGMYL/////SAAAAfwAAAOInQAH/////zh/AEj/////TMYxgv////9IAAAB/AAAA4geAAj/////KAAAAP////9AggAM/////ziAAAD/4AAASAAACP////84gAAA/+AAAEzGMYL/////OH8AXP////9IAAAB/AAAAzhgAAD/4AAATMYxgv////9IAAAB/AAAA4BgAAD/4AAAgGMAEP////9IAAAB/AAAA4ABAGT/////g+EAXP////+DwQBY/////3wIA6b/////g6EAVP////84IQBg/////06AACD///// + symbols: + - kind: Function + name: __fstLoad + size: 360 + flags: 1 + section: .text + - kind: Object + name: '@36' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Object + name: bb2Buf + size: 63 + flags: 2 + section: .bss + - kind: Object + name: idTmp + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: bb2 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: block$16 + size: 48 + flags: 2 + section: .bss + - kind: Function + name: cb + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDReadDiskID + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDGetDriveStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@35' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@40' + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@41' + size: 3 + flags: 2 + section: .sdata + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 16 + addend: 0 +- symbol: 0 + hash: c0a26c8600c4e36f328f084256865b240885bf5b + signature: fAgCpv////+QAQAE/////5Qh/6D/////v4EAUP////88YAAA//8AADvDAAD//wAASAAAAfwAAAOQYQAI/////zhgAAD/////SAAAAfwAAAN8fRt4/////zgBACv/////VAAANP////+QAAAA/+AAADxgAAD//wAAOGMAAP//AAA4AwAf/////1QAADT/////kAAAAP/gAABIAAAB/AAAAzxgAAD//wAAOGMAAP//AACAgAAA/+AAADygAAD//wAAOKUAAP//AABIAAAB/AAAA0gAAAH8AAADfHwbeP////8sHAAA/////0GCACT/////LBwABv////9Bgv/s/////0CA/+j/////LBwAAP////9Bgv/g/////0CA/9z/////S///2P////9L///U/////4BgAAD/4AAAgAMAEP////+QHQA4/////4BgAAD/4AAAgAMADP////+QHQA8/////3+/63j/////f+P7eP////+AgAAA/+AAADigACD/////SAAAAfwAAAM4YAAA/+AAAEzGMYL/////SAAAAfwAAAN/w/N4/////4ifAAD/////fIQHdP////+IvwAB/////3ylB3T/////iN8AAv////98xgd0/////4j/AAP/////fOcHdP////9MxjGC/////0gAAAH8AAADOH4AHP////+InwAE/////3yEB3T/////iL8ABf////98pQd0/////0zGMYL/////SAAAAfwAAAM4fgA0/////4ifAAb/////TMYxgv////9IAAAB/AAAAzh+AEj/////iJ8AB/////9MxjGC/////0gAAAH8AAADOH4AXP////+IHwAI/////ygAAAD/////QIIADP////84gAAA/+AAAEgAAAj/////OIAAAP/gAABMxjGC/////0gAAAH8AAADOGAAAP/gAABMxjGC/////0gAAAH8AAADgGAAAP/gAACAYwAQ/////0gAAAH8AAADgAEAZP////+7gQBQ/////zghAGD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __fstLoad + size: 392 + flags: 1 + section: .text + - kind: Object + name: '@34' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSGetArenaHi + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSPhysicalToCached + size: 0 + flags: 1 + section: .text + - kind: Object + name: idTmp + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: bb2Buf + size: 63 + flags: 2 + section: .bss + - kind: Object + name: bb2 + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Object + name: block$17 + size: 48 + flags: 2 + section: .bss + - kind: Function + name: cb + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDReadDiskID + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDGetDriveStatus + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: .init + - kind: Object + name: '@33' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@39' + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: '@40' + size: 3 + flags: 2 + section: .sdata + - kind: Function + name: OSSetArenaHi + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 60 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 9 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 9 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 348 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 360 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 17 + addend: 0 diff --git a/assets/__fwrite.yml b/assets/__fwrite.yml new file mode 100644 index 0000000..f7532b3 --- /dev/null +++ b/assets/__fwrite.yml @@ -0,0 +1,425 @@ +- symbol: 0 + hash: fc826bff900c316757446c12511f42f92900f3f7 + signature: lCH/0P////98CAKm/////5ABADT/////vyEAFP////98myN4/////3zcM3j/////fHobeP////98uSt4/////ziAAAD/////f4PjeP////9IAAAB/AAAAywDAAD/////QIIAEP////9/g+N4/////ziA////////SAAAAfwAAAN/28nX/////0GCABz/////iBwACv////8sAAAA/////0CCABD/////gBwABP////9UAFd//////0CCAAz/////OGAAAP////9IAAKQ/////ygAAAL/////QIIACP////9IAAAB/AAAA4B8AAT/////O+AAAf////84gAAA/////1Rgb///////QYIAEP////9UYD++/////ygAAAL/////QIIACP////84gAAB/////ywEAAD/////QIIAGP////+AHAAE/////1QAP77/////KAAAAf////9BggAI/////zvgAAD/////gBwACP////9UAB9//////0CCAFT/////gHwABP////9UYC+9/////1RgL37/////QYIARP////9UAAd7/////0GCACT/////f4PjeP////84gAAA/////zigAAL/////SAAAAfwAAAMsAwAA/////0GCAAz/////OGAAAP////9IAAIA/////4AcAAj/////OGAAAf////9QYOgE/////5AcAAj/////f4PjeP////9IAAAB/AAAA4AcAAj/////VAAffv////8oAAAB/////0GCABz/////OGAAAf////84AAAA/////5h8AAr/////OGAAAP////+QHAAo/////0gAAcD/////LB4AAP////87oAAA/////0GCASj/////gHwAHP////+AnAAk/////3wEGED/////QIIADP////8sHwAA/////0GCARD/////gBwAIP////98YyBQ/////3wDAFD/////kBwAKP////+AvAAo/////zsgAAD/////fAXwQP////+QoQAI/////0CBAAz/////f8XzeP////+TwQAI/////4AcAAT/////VAA/vv////8oAAAB/////0CCADD/////LAUAAP////9BggAo/////39D03j/////OIAACv////9IAAAB/AAAAywDAAD/////fHkbeP////9BggAQ/////zgDAAH/////fLoAUP////+QoQAI/////4ChAAj/////LAUAAP////9BggA4/////4B8ACT/////f0TTeP////9IAAAB/AAAA4CBAAj/////gHwAJP////+AHAAo/////39aIhT/////fGMiFP////9/xPBQ/////5B8ACT/////gGEACP////98AwBQ/////5AcACj/////gBwAKP////8sAAAA/////0GCABj/////LBkAAP////9AggAQ/////4AcAAT/////VAA/v/////9AggAw/////3+D43j/////OIAAAP////9IAAAB/AAAAywDAAD/////QYIAHP////84YAAB/////zgAAAD/////mHwACv////87wAAA/////5AcACj/////SAAAHP////+AAQAI/////yweAAD/////f70CFP////9BggAM/////ywfAAD/////QIL/CP////8sHgAA/////0GCAGz/////LB8AAP////9AggBk/////4M8ABz/////fBryFP////+D/AAg/////3+D43j/////k1wAHP////84gQAI/////5PcACD/////kBwAJP////9IAAAB/AAAAywDAAD/////QYIAGP////84YAAB/////zgAAAD/////mHwACv////+QHAAo/////0gAAAz/////gAEACP////9/vQIU/////5M8ABz/////f4PjeP////+T/AAg/////0gAAAH8AAADOAAAAP////+QHAAo/////4AcAAT/////VAA/vv////8oAAAC/////0GCAAz/////OAAAAP////+QHAAo/////3x925b/////uyEAFP////+AAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __fwrite + size: 776 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: _fseek + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: __memrchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 7edac08efacdda6163f15ec77d41599aee2d56f4 + signature: lCH/0P////98CAKm/////5ABADT/////vyEAFP////98myN4/////3zcM3j/////fHobeP////98uSt4/////ziAAAD/////f4PjeP////9IAAAB/AAAAywDAAD/////QIIAEP////9/g+N4/////ziA////////SAAAAfwAAAN/28nX/////0GCABz/////iBwACv////8sAAAA/////0CCABD/////gBwABP////9UAFd//////0CCAAz/////OGAAAP////9IAAKQ/////ygAAAL/////QIIACP////9IAAAB/AAAA4B8AAT/////O+AAAf////84gAAA/////1Rgb///////QYIAEP////9UYD++/////ygAAAL/////QIIACP////84gAAB/////ywEAAD/////QIIAGP////+AHAAE/////1QAP77/////KAAAAf////9BggAI/////zvgAAD/////gBwACP////9UAB9//////0CCAFT/////gHwABP////9UYC+9/////1RgL37/////QYIARP////9UAAd7/////0GCACT/////f4PjeP////84gAAA/////zigAAL/////SAAAAfwAAAMsAwAA/////0GCAAz/////OGAAAP////9IAAIA/////4AcAAj/////OGAAAf////9QYOgE/////5AcAAj/////f4PjeP////9IAAAB/AAAA4AcAAj/////VAAffv////8oAAAB/////0GCABz/////OGAAAf////84AAAA/////5h8AAr/////OGAAAP////+QHAAo/////0gAAcD/////LB4AAP////87oAAA/////0GCASj/////gHwAHP////+AnAAk/////3wEGED/////QIIADP////8sHwAA/////0GCARD/////gBwAIP////98YyBQ/////3wDAFD/////kBwAKP////+AvAAo/////zsgAAD/////kKEACP////98BfBA/////0CBAAz/////f8XzeP////+TwQAI/////4AcAAT/////VAA/vv////8oAAAB/////0CCADD/////LAUAAP////9BggAo/////39D03j/////OIAACv////9IAAAB/AAAAywDAAD/////fHkbeP////9BggAQ/////zgDAAH/////fLoAUP////+QoQAI/////4ChAAj/////LAUAAP////9BggA4/////4B8ACT/////f0TTeP////9IAAAB/AAAA4CBAAj/////gHwAJP////+AHAAo/////39aIhT/////fGMiFP////+QfAAk/////3/E8FD/////gGEACP////98AwBQ/////5AcACj/////gBwAKP////8sAAAA/////0GCABj/////LBkAAP////9AggAQ/////4AcAAT/////VAA/v/////9AggAw/////3+D43j/////OIAAAP////9IAAAB/AAAAywDAAD/////QYIAHP////84YAAB/////zgAAAD/////mHwACv////87wAAA/////5AcACj/////SAAAHP////+AAQAI/////yweAAD/////f70CFP////9BggAM/////ywfAAD/////QIL/CP////8sHgAA/////0GCAGz/////LB8AAP////9AggBk/////4M8ABz/////fBryFP////+D/AAg/////3+D43j/////k1wAHP////84gQAI/////5PcACD/////kBwAJP////9IAAAB/AAAAywDAAD/////QYIAGP////84YAAB/////zgAAAD/////mHwACv////+QHAAo/////0gAAAz/////gAEACP////9/vQIU/////5M8ABz/////f4PjeP////+T/AAg/////0gAAAH8AAADOAAAAP////+QHAAo/////4AcAAT/////VAA/vv////8oAAAC/////0GCAAz/////OAAAAP////+QHAAo/////3x925b/////uyEAFP////+AAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: __fwrite + size: 776 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: _fseek + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: __memrchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 556 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 716 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 87489c16b83180cd232fa6fb66014b9f535d2ddf + signature: lCH/0P////98CAKm/////5ABADT/////vyEAFP////98mSN4/////3zaM3j/////fHsbeP////98vCt4/////ziAAAD/////f0PTeP////9IAAAB/AAAAywDAAD/////QIIAEP////9/Q9N4/////ziA////////SAAAAfwAAAN/ueHX/////0GCABz/////iBoACv////8oAAAA/////0CCABD/////oBoABP////9UANd//////0CCAAz/////OGAAAP////9IAAKU/////ygAAAL/////QIIACP////9IAAAB/AAAA4gaAAX/////O+AAAf////84YAAA/////1QA7///////QYIAFP////+IGgAE/////1QA/77/////KAAAAv////9AggAI/////zhgAAH/////LAMAAP////9AggAY/////4gaAAT/////VAD/vv////8oAAAB/////0GCAAj/////O+AAAP////+IGgAI/////1QA33//////QIIAVP////+IegAE/////1Rg773/////VGPvfv////9BggBE/////1RgB3v/////QYIAJP////9/Q9N4/////ziAAAD/////OKAAAv////9IAAAB/AAAAywDAAD/////QYIADP////84YAAA/////0gAAgD/////iBoACP////84YAAB/////1BgLjT/////f0PTeP////+YGgAI/////0gAAAH8AAADiBoACP////9UAN9+/////ygAAAH/////QYIAHP////84YAAB/////zgAAAD/////mHoACv////84YAAA/////5AaACj/////SAABwP////8oHQAA/////39+23j/////O4AAAP////9BggEg/////4CaACT/////gHoAHP////98BBhA/////0CCAAz/////LB8AAP////9BggEI/////4AaACD/////fGMgUP////98AwBQ/////5AaACj/////gBoAKP////87YAAA/////3wA6ED/////kAEACP////9AgQAI/////5OhAAj/////iBoABP////9UAP++/////ygAAAH/////QIIAMP////+AoQAI/////ygFAAD/////QYIAJP////9/w/N4/////ziAAAr/////SAAAAfwAAAN8ext5/////0GCABD/////OBsAAf////98HgBQ/////5ABAAj/////gKEACP////8oBQAA/////0GCADz/////gHoAJP////9/xPN4/////0gAAAH8AAADgGEACP////+AGgAk/////3/eGhT/////f5waFP////98ABoU/////3+j6FD/////kBoAJP////+AYQAI/////4AaACj/////fAMAUP////+QGgAo/////4AaACj/////KAAAAP////9BggAY/////ygbAAD/////QIIAEP////+IGgAE/////1QA/7//////QIIAMP////9/Q9N4/////ziAAAD/////SAAAAfwAAAMsAwAA/////0GCABz/////OGAAAf////84AAAA/////5h6AAr/////O6AAAP////+QGgAo/////0gAABT/////KB0AAP////9BggAM/////ywfAAD/////QIL/EP////8oHQAA/////0GCAGj/////LB8AAP////9AggBg/////4N6ABz/////fB7qFP////+D+gAg/////39D03j/////OIEACP////+T2gAc/////5O6ACD/////kBoAJP////9IAAAB/AAAAywDAAD/////QYIAFP////84YAAB/////zgAAAD/////mHoACv////+QGgAo/////4ABAAj/////f0PTeP////+TegAc/////3+cAhT/////k/oAIP////9IAAAB/AAAAzgAAAD/////kBoAKP////+IGgAE/////1QA/77/////KAAAAv////9BggAM/////zgAAAD/////kBoAKP////84Gf///////3wcAhT/////fGDLlv////+7IQAU/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: __fwrite + size: 780 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: fseek + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: __memrchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: b99641e0350127b22f39d59f0fbb71aa1ef7806e + signature: lCH/0P////98CAKm/////5ABADT/////vyEAFP////98myN4/////3zcM3j/////fHobeP////98uSt4/////ziAAAD/////f4PjeP////9IAAAB/AAAAywDAAD/////QIIAEP////9/g+N4/////ziA////////SAAAAfwAAAN/28nX/////0GCABz/////iBwACv////8sAAAA/////0CCABD/////gBwABP////9UAFd//////0CCAAz/////OGAAAP////9IAAKU/////ygAAAL/////QIIACP////9IAAAB/AAAA4B8AAT/////O+AAAf////84gAAA/////1Rgb///////QYIAEP////9UYD++/////ygAAAL/////QIIACP////84gAAB/////ywEAAD/////QIIAGP////+AHAAE/////1QAP77/////KAAAAf////9BggAI/////zvgAAD/////gBwACP////9UAB9//////0CCAFT/////gHwABP////9UYC+9/////1RgL37/////QYIARP////9UAAd7/////0GCACT/////f4PjeP////84gAAA/////zigAAL/////SAAAAfwAAAMsAwAA/////0GCAAz/////OGAAAP////9IAAIE/////4AcAAj/////OGAAAf////9QYOgE/////5AcAAj/////f4PjeP////9IAAAB/AAAA4AcAAj/////VAAffv////8oAAAB/////0GCABz/////OGAAAf////84AAAA/////5h8AAr/////OGAAAP////+QHAAo/////0gAAcT/////LB4AAP////87oAAA/////0GCASz/////gHwAHP////+AnAAk/////3wEGED/////QIIADP////8sHwAA/////0GCART/////gBwAIP////98YyBQ/////3wDAFD/////kBwAKP////+AvAAo/////zsgAAD/////kKEACP////98BfBA/////0CBAAz/////f8XzeP////+TwQAI/////4AcAAT/////VAA/vv////8oAAAB/////0CCADD/////LAUAAP////9BggAo/////39D03j/////OIAACv////9IAAAB/AAAAywDAAD/////fHkbeP////9BggAQ/////zgDAAH/////fLoAUP////+QoQAI/////4ChAAj/////LAUAAP////9BggA4/////4B8ACT/////f0TTeP////9IAAAB/AAAA4CBAAj/////gHwAJP////+AHAAo/////39aIhT/////fGMiFP////+QfAAk/////3/E8FD/////gGEACP////98AwBQ/////5AcACj/////gBwAKP////8sAAAA/////0GCABz/////LJkAAP////9AhgAU/////4AcAAT/////VAA/v/////9BggAI/////0CGADD/////f4PjeP////84gAAA/////0gAAAH8AAADLAMAAP////9BggAc/////zhgAAH/////OAAAAP////+YfAAK/////zvAAAD/////kBwAKP////9IAAAc/////4ABAAj/////LB4AAP////9/vQIU/////0GCAAz/////LB8AAP////9Agv8E/////yweAAD/////QYIAbP////8sHwAA/////0CCAGT/////gzwAHP////98GvIU/////4P8ACD/////f4PjeP////+TXAAc/////ziBAAj/////k9wAIP////+QHAAk/////0gAAAH8AAADLAMAAP////9BggAY/////zhgAAH/////OAAAAP////+YfAAK/////5AcACj/////SAAADP////+AAQAI/////3+9AhT/////kzwAHP////9/g+N4/////5P8ACD/////SAAAAfwAAAM4AAAA/////5AcACj/////gBwABP////9UAD++/////ygAAAL/////QYIADP////84AAAA/////5AcACj/////fH3blv////+7IQAU/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: __fwrite + size: 780 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: _fseek + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: __memrchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: ed8d88c36755ee1cf759a2c6828dccf43a6dc1a7 + signature: lCH/sP////98CAKm/////5ABAFT/////voEAIP////98lyN4/////3zfM3j/////OIAAAP////+QYQAI/////3/j+3j/////kKEADP////9IAAAB/AAAAywDAAD/////QIIAEP////9/4/t4/////ziA////////SAAAAfwAAAOAAQAM/////3/XAdf/////QYIAHP////+IHwAK/////ygAAAD/////QIIAEP////+gfwAE/////1Rg13//////QIIADP////84YAAA/////0gAAsD/////oH8ABP////9UYNd+/////ygAAAL/////QIIACP////9IAAAB/AAAA4h/AAX/////OyAAAf////87AAAB/////1Rg7///////QYIAGP////+IfwAE/////1Rg/77/////KAAAAv////9BggAI/////zsAAAD/////LBgAAP////9AggAY/////4h/AAT/////VGD/vv////8oAAAB/////0GCAAj/////OyAAAP////+IfwAI/////387y3j/////VGDff/////9AggBU/////4h/AAT/////VGDvvf////9BggBI/////4h/AAT/////VGDve/////9BggAk/////3/j+3j/////OIAAAP////84oAAC/////0gAAAH8AAADLAMAAP////9BggAM/////zhgAAD/////SAACIP////+IHwAI/////zhgAAH/////UGAuNP////9/4/t4/////5gfAAj/////SAAAAfwAAAOIfwAI/////1Rg337/////KAAAAf////9BggAc/////zhgAAH/////OAAAAP////+YfwAK/////zhgAAD/////kB8AKP////9IAAHg/////ygeAAD/////g6EACP////87gAAA/////0GCAUD/////gH8AJP////+AHwAc/////3wDAED/////QIIADP////8sGwAA/////0GCASj/////gJ8AHP////+AfwAk/////4AfACD/////fGQYUP////98AwBQ/////5AfACj/////gB8AKP////87QAAA/////5ABABD/////gAEAEP////98APBA/////0CBAAj/////k8EAEP////+IfwAE/////1Rg/77/////KAAAAf////9AggA0/////4ABABD/////KAAAAP////9BggAo/////4ChABD/////f6PreP////84gAAK/////0gAAAH8AAADfHobef////9BggAQ/////zgaAAH/////fB0AUP////+QAQAQ/////4ABABD/////KAAAAP////9BggBM/////4B/ACT/////f6TreP////+AoQAQ/////0gAAAH8AAADgJ8AJP////+AAQAQ/////4DBABD/////gKEAEP////98BAIU/////4BhABD/////f70yFP////9/nCoU/////5AfACT/////f8PwUP////+AYQAQ/////4AfACj/////fAMAUP////+QHwAo/////4AfACj/////KAAAAP////9BggAY/////ygaAAD/////QIIAEP////+IfwAE/////1Rg/7//////QIIAMP////9/4/t4/////ziAAAD/////SAAAAfwAAAN8dht5/////0GCABz/////OGAAAf////84AAAA/////5h/AAr/////O8AAAP////+QHwAo/////0gAABT/////KB4AAP////9BggAM/////ywbAAD/////QIL++P////8oHgAA/////0GCAGj/////LBsAAP////9AggBg/////4K/ABz/////fB3yFP////+CnwAg/////3/j+3j/////OIEAEP////+TvwAc/////5PfACD/////kB8AJP////9IAAAB/AAAAywDAAD/////QYIAFP////84YAAB/////zgAAAD/////mH8ACv////+QHwAo/////4ABABD/////f+P7eP////+SvwAc/////3+cAhT/////kp8AIP////9IAAAB/AAAAzgAAAD/////kB8AKP////+IfwAE/////1Rg/77/////KAAAAv////9BggAM/////zgAAAD/////kB8AKP////84F////////3wcAhT/////fGC7lv////+6gQAg/////4ABAFT/////fAgDpv////84IQBQ/////06AACD///// + symbols: + - kind: Function + name: __fwrite + size: 828 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: fseek + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: __memrchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 612 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 712 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 760 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__init_cpp.yml b/assets/__init_cpp.yml new file mode 100644 index 0000000..4d79165 --- /dev/null +++ b/assets/__init_cpp.yml @@ -0,0 +1,161 @@ +- symbol: 0 + hash: a180ba4902d4056df79eb3aac8ad17c5524c7b32 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAASAAAEP////99iQOm/////06ABCH/////O/8ABP////+BnwAA/////ywMAAD/////QIL/7P////+AAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __init_cpp + size: 72 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: a5bf12574100ae1828f2021e343aa0c53fe1f64d + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADvjAAD//wAASAAAFP////+BnwAA/////32IA6b/////ToAAIf////87/wAE/////4AfAAD/////KAAAAP////9Agv/o/////4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp + size: 76 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 4b6997d96250556e37ba550d38659e5f541e537f + signature: lCH/8P////98CAKm/////zxgAAD//wAAkAEAFP////84AwAA//8AAJPhAAz/////fB8DeP////9IAAAQ/////32JA6b/////ToAEIf////87/wAE/////4GfAAD/////KAwAAP////9Agv/s/////4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp + size: 76 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 734078ce2ac4f80b15cf23707c7151557348f30d + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////88YAAA//8AADvjAAD//wAASAAAFP////+BnwAA/////32JA6b/////ToAEIf////87/wAE/////4AfAAD/////LAAAAP////9Agv/o/////4PhAAz/////gAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp + size: 76 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 23d69d6b1dd0108a818e2dc49f2190954498b869 + signature: fAgCpv////88YAAA//8AAJABAAT/////OAMAAP//AACUIf/w/////5PhAAz/////fB8DeP////9IAAAQ/////32IA6b/////ToAAIf////87/wAE/////4GfAAD/////KAwAAP////9Agv/s/////4ABABT/////g+EADP////84IQAQ/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp + size: 76 + flags: 1 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 453bde659bf1659cbd9016b432f9fb40cb1ed4a4 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////88YAAA//8AADgDAAD//wAAfB8DeP////9IAAAE/////0gAAAT/////SAAAEP////99iAOm/////06AACH/////O/8ABP////+BnwAA/////ygMAAD/////QIL/7P////+AAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __init_cpp + size: 84 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: c3f4c58ea391f80ce8ddc250fda91a66f2defb33 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////88YAAA//8AADvjAAD//wAASAAAHP////8oHwAA/////0GCABD/////gZ8AAP////99iQOm/////06ABCH/////O/8ABP////+AHwAA/////ygAAAD/////QIL/4P////+D4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __init_cpp + size: 84 + flags: 2 + section: .text + - kind: Object + name: _ctors + size: 0 + flags: 1 + section: .ctors + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/__init_cpp_exceptions.yml b/assets/__init_cpp_exceptions.yml new file mode 100644 index 0000000..4567dc6 --- /dev/null +++ b/assets/__init_cpp_exceptions.yml @@ -0,0 +1,153 @@ +- symbol: 0 + hash: 32811594987a3c813878178e497723a6061b5a34 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAP/+/////0CCABj/////PGAAAP//AAB8RBN4/////zhjAAD//wAASAAAAfwAAAOQYAAA/+AAAIABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: __init_cpp_exceptions + size: 60 + flags: 1 + section: .text + - kind: Object + name: fragmentID + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: _eti_init_info + size: 0 + flags: 1 + section: extabindex + - kind: Function + name: __register_fragment + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 8dab18ebf1c6b105f1337147795a5b941c6449a9 + signature: fAgCpv////+QAQAE/////5Qh//j/////gAAAAP/gAAAsAP/+/////0CCABz/////SAAAAfwAAAM8oAAA//8AAHxkG3j/////OGUAAP//AABIAAAB/AAAA5BgAAD/4AAAgAEADP////84IQAI/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp_exceptions + size: 64 + flags: 1 + section: .text + - kind: Object + name: fragmentID + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: GetR2__Fv + size: 0 + flags: 2 + section: .text + - kind: Object + name: _eti_init_info + size: 0 + flags: 1 + section: extabindex + - kind: Function + name: __register_fragment + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 732ff119307c8e04731f6be4218a43fb4f2de023 + signature: lCH/8P////98CAKm/////5ABABT/////gAAAAP/gAAAsAP/+/////0CCABz/////SAAAAfwAAAM8oAAA//8AAHxkG3j/////OGUAAP//AABIAAAB/AAAA5BgAAD/4AAAgAEAFP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: __init_cpp_exceptions + size: 64 + flags: 1 + section: .text + - kind: Object + name: fragmentID + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: GetR2__Fv + size: 0 + flags: 2 + section: .text + - kind: Object + name: _eti_init_info + size: 0 + flags: 1 + section: extabindex + - kind: Function + name: __register_fragment + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 44 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__init_data.yml b/assets/__init_data.yml new file mode 100644 index 0000000..fd0dad3 --- /dev/null +++ b/assets/__init_data.yml @@ -0,0 +1,369 @@ +- symbol: 0 + hash: 097eb7a8edefce000ae2d4f2ed0fa15cdca34d28 + signature: fAgCpv////+QAQAE/////5Qh//D/////v8EACP////88YAAA//8AADvjAAD//wAAgB8ACP////8oAAAA/////0GCABz/////gH8ABP////+AnwAA/////4C/AAj/////SAAAAfwAAAM7/wAM/////0v//+D/////PGAAAP//AAA7wwAA//8AAIAeAAT/////KAAAAP////9BggAY/////4B+AAD/////gJ4ABP////9IAAAB/AAAAzveAAj/////S///5P////+AAQAU/////7vBAAj/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __init_data + size: 120 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: __copy_rom_section + size: 0 + flags: 2 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_bss_section + size: 0 + flags: 2 + section: .init + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: fd5d8172dcd331bc83f8ea33af30ce3bafa00ae4 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+TwQAI/////zxgAAD//wAAO+MAAP//AACAHwAI/////ywAAAD/////QYIAHP////+AfwAE/////4CfAAD/////gL8ACP////9IAAAB/AAAAzv/AAz/////S///4P////88YAAA//8AADvDAAD//wAAgB4ABP////8sAAAA/////0GCABj/////gH4AAP////+AngAE/////0gAAAH8AAADO94ACP////9L///k/////4PhAAz/////g8EACP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: __init_data + size: 128 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: __copy_rom_section + size: 0 + flags: 2 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_bss_section + size: 0 + flags: 2 + section: .init + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 034698713805dad78ff2727f65c0b5ceaa0ebe05 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////P6AAAP//AAA7vQAA//8AAIPdAAj/////LB4AAP////9BggA4/////4CdAAD/////g/0ABP////9BggAk/////3wfIED/////QYIAHP////9/4/t4/////3/F83j/////SAAAAfwAAAN/4/t4/////3/E83j/////SAAAAfwAAAM7vQAM/////0v//8T/////P6AAAP//AAA7vQAA//8AAIC9AAT/////LAUAAP////9BggAc/////4B9AAD/////QYIADP////84gAAA/////0gAAAH8AAADO70ACP////9L///g/////4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __init_data + size: 168 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_cache + size: 0 + flags: 1 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 5765eb06899551c5ae2b8f473b87a74ff922737e + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////P6AAAP//AAA7vQAA//8AAIPdAAj/////LB4AAP////9BggA4/////4CdAAD/////g/0ABP////9BggAk/////3wfIED/////QYIAHP////9/4/t4/////3/F83j/////SAAAAfwAAAN/4/t4/////3/E83j/////SAAAAfwAAAM7vQAM/////0v//8T/////P6AAAP//AAA7vQAA//8AAIPdAAT/////LB4AAP////9BggAw/////4P9AAD/////QYIAIP////9/4/t4/////3/F83j/////OIAAAP////9IAAAB/AAAA3/j+3j/////f8TzeP////9IAAAB/AAAAzu9AAj/////S///zP////+AAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: __init_data + size: 188 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_cache + size: 0 + flags: 1 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + - kind: Function + name: __my_flush_cache + size: 0 + flags: 2 + section: .init + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 552c8d124603af345d784122e589a541abfb4306 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////PGAAAP//AAA4AwAA//8AAHwdA3j/////SAAABP////9IAAAE/////4PdAAj/////KB4AAP////9BggA4/////4CdAAD/////g/0ABP////9BggAk/////3wfIED/////QYIAHP////9/4/t4/////3/F83j/////SAAAAfwAAAN/4/t4/////3/E83j/////SAAAAfwAAAM7vQAM/////0v//8T/////PGAAAP//AAA4AwAA//8AAHwdA3j/////SAAABP////9IAAAE/////4C9AAT/////KAUAAP////9BggAc/////4B9AAD/////QYIADP////84gAAA/////0gAAAH8AAADO70ACP////9L///g/////4ABABz/////g+EAFP////+DwQAQ/////3wIA6b/////g6EADP////84IQAY/////06AACD///// + symbols: + - kind: Function + name: __init_data + size: 192 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_cache + size: 0 + flags: 1 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 13e4fdfe90f3691e15a73fa01abc97141da4dd6f + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+TwQAQ/////5OhAAz/////PGAAAP//AAA4AwAA//8AAHwdA3j/////SAAABP////9IAAAE/////4PdAAj/////KB4AAP////9BggA4/////4CdAAD/////g/0ABP////9BggAk/////3wfIED/////QYIAHP////9/4/t4/////3/F83j/////SAAAAfwAAAN/4/t4/////3/E83j/////SAAAAfwAAAM7vQAM/////0v//8T/////PGAAAP//AAA4AwAA//8AAHwdA3j/////SAAABP////9IAAAE/////4C9AAT/////KAUAAP////9BggAc/////4B9AAD/////QYIADP////84gAAA/////0gAAAH8AAADO70ACP////9L///g/////4ABABz/////g+EAFP////+DwQAQ/////4OhAAz/////OCEAGP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __init_data + size: 192 + flags: 2 + section: .init + - kind: Object + name: _rom_copy_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_cache + size: 0 + flags: 1 + section: .init + - kind: Object + name: _bss_init_info + size: 0 + flags: 1 + section: .init + - kind: Function + name: memset + size: 0 + flags: 1 + section: null + relocations: + - offset: 24 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/__init_hardware.yml b/assets/__init_hardware.yml new file mode 100644 index 0000000..efbcd04 --- /dev/null +++ b/assets/__init_hardware.yml @@ -0,0 +1,65 @@ +- symbol: 0 + hash: 580e1014d29d5d2a34f6a7da1ea99fbf29edc89c + signature: fAAApv////9gACAA/////3wAAST/////f+gCpv////9IAAAB/AAAA0gAAAH8AAADf+gDpv////9OgAAg/////w== + symbols: + - kind: Function + name: __init_hardware + size: 32 + flags: 1 + section: .init + - kind: Function + name: __OSPSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: ad769b173a1a17656958bd4dafa7dafde73e6c55 + signature: fAAApv////9gACAA/////3wAAST/////f+gCpv////9IAAAB/AAAA0gAAAH8AAADSAAAAfwAAAN/6AOm/////06AACD///// + symbols: + - kind: Function + name: __init_hardware + size: 36 + flags: 1 + section: .init + - kind: Function + name: __OSPSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSFPRInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __OSCacheInit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/__init_registers.yml b/assets/__init_registers.yml new file mode 100644 index 0000000..70e0f7b --- /dev/null +++ b/assets/__init_registers.yml @@ -0,0 +1,98 @@ +- symbol: 0 + hash: 35e0aecb1159eba2e658821a16f289874cd0979b + signature: PCAAAP//AABgIQAA//8AADxAAAD//wAAYEIAAP//AAA9oAAA//8AAGGtAAD//wAAToAAIP////8= + symbols: + - kind: Function + name: __init_registers + size: 28 + flags: 2 + section: .init + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _SDA2_BASE_ + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _SDA_BASE_ + size: 0 + flags: 1 + section: null + relocations: + - offset: 0 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 16 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 +- symbol: 0 + hash: 003c9e22ad7c98eab8a91efe4bd20f74310e1fd7 + signature: OAAAAP////84YAAA/////ziAAAD/////OKAAAP////84wAAA/////zjgAAD/////OQAAAP////85IAAA/////zlAAAD/////OWAAAP////85gAAA/////znAAAD/////OeAAAP////86AAAA/////zogAAD/////OkAAAP////86YAAA/////zqAAAD/////OqAAAP////86wAAA/////zrgAAD/////OwAAAP////87IAAA/////ztAAAD/////O2AAAP////87gAAA/////zugAAD/////O8AAAP////874AAA/////zwgAAD//wAAYCEAAP//AAA8QAAA//8AAGBCAAD//wAAPaAAAP//AABhrQAA//8AAE6AACD///// + symbols: + - kind: Function + name: __init_registers + size: 144 + flags: 2 + section: .init + - kind: Unknown + name: _stack_addr + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _SDA2_BASE_ + size: 0 + flags: 1 + section: null + - kind: Unknown + name: _SDA_BASE_ + size: 0 + flags: 1 + section: null + relocations: + - offset: 116 + kind: PpcAddr16Hi + symbol: 1 + addend: 0 + - offset: 120 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Hi + symbol: 2 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Hi + symbol: 3 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 diff --git a/assets/__ios_Ipc2.yml b/assets/__ios_Ipc2.yml new file mode 100644 index 0000000..49787a0 --- /dev/null +++ b/assets/__ios_Ipc2.yml @@ -0,0 +1,1060 @@ +- symbol: 0 + hash: da86da7c0054db8d036733f3952fe1433fd1272f + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x/G3j/////fJwjeP////87wAAA/////ywfAAD/////QIIADP////87wP/8/////0gAAJD/////f/37eP////8sHAAA/////0CCAAz/////OH8ALP////9IAAAB/AAAA3+j63j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADfHsbeP////9/o+t4/////0gAAAH8AAADfH4beP////8sHgAA/////0GCACD/////f2PbeP////9IAAAB/AAAAywcAAD/////QYIARP////9/4/t4/////0gAAAH8AAADSAAAOP////+AAAAA/+AAACwAAAD/////QIEACP////9IAAAB/AAAAywcAAD/////QIIADP////84fwAs/////0gAAAH8AAADf2PbeP////9IAAAB/AAAAywcAAD/////QIIACP////+D3QAE/////ywfAAD/////QYIAFP////8sHAAA/////0CCAAz/////f+P7eP////9IAAAB/AAAA3/D83j/////OWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __ios_Ipc2 + size: 240 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __ipcQueueRequest + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ipcFree + size: 0 + flags: 2 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: __ipcSendRequest + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: bad1464f788ffce800dbf5561caf1c85302219b1 + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x+G3j/////fJwjeP////874AAA/////yweAAD/////QIIADP////874P/8/////0gAAJD/////f93zeP////8sHAAA/////0CCAAz/////OH4ALP////9IAAAB/AAAA3+j63j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADfHsbeP////9/o+t4/////0gAAAH8AAADfH8beP////8sHwAA/////0GCACD/////f2PbeP////9IAAAB/AAAAywcAAD/////QYIARP////9/w/N4/////0gAAAH8AAADSAAAOP////+AAAAA/+AAACwAAAD/////QIEACP////9IAAAB/AAAAywcAAD/////QIIADP////84fgAs/////0gAAAH8AAADf2PbeP////9IAAAB/AAAAywcAAD/////QIIACP////+D/QAE/////yweAAD/////QYIAFP////8sHAAA/////0CCAAz/////f8PzeP////9IAAAB/AAAA3/j+3j/////OWEAIP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __ios_Ipc2 + size: 240 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: __ipcQueueRequest + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Function + name: ipcFree + size: 0 + flags: 2 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: __ipcSendRequest + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 208 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 9c286a85e2e08e4087b61936038b3d6d0a3466fd + signature: lCH/4P////98CAKm/////ywDAAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98nSN4/////5OBABD/////fHwbeP////9AggAM/////zvg//z/////SAAB0P////8sBAAA/////0CCAAz/////OGMALP////9IAAAB/AAAA3+D43j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADPIAAAP//AAB8fht4/////zhkAAD//wAAgIQAAP//AACAAwAE/////zvgAAD/////fAAgQP////9AgAAM/////3wEAFD/////SAAAIP////98hABQ/////zhgABD/////OAT/8P////98gxs4/////1QA+H7/////fAAYUP////9UAA/+/////ywAAAD/////QYIADP////874P/4/////0gAAET/////PMAAAP//AAB/g+N4/////zjGAAD//wAAgAYADP////9UABA6/////3yGAhT/////k4QAEP////+ApgAM/////4CGAAT/////OAUAAf////9UBQc+/////5CmAAz/////OAQAAf////+QBgAE/////4CcAAj/////SAAAAfwAAAMsHwAA/////0GCACT/////f8PzeP////9IAAAB/AAAAywdAAD/////QYIBBP////+AYAAA/+AAAH+E43j/////SAAAAfwAAANIAAD0/////4AAAAD/4AAALAAAAP////9AgQDE/////zyAAAD//wAAOGQAAP//AACAhAAA//8AAIADAAT/////fAAgQP////9AgAAM/////3wEAFD/////SAAAEP////98BABQ/////3wAADT/////VADZfv////8sAAAA/////0CCAJD/////PGAAAP//AAA4YwAA//8AAIADAAj/////VAAQOv////98YwIU/////4CDABD/////LAQAAP////9BggBw/////4AEACj/////LAAAAP////9BggAQ/////4BgAAD/4AAAOAP///////+QAAAA/+AAADyEgAD/////OGAAAP////9IAAAB/AAAAzzgAAD//wAAgGAAAP/gAAA4xwAA//8AAICHAAD//wAAgKYACP////84A////////zhkAAH/////kGcAAP//AAA4hQAB/////1SEBz7/////kIYACP////84YAAB/////5AAAAD/4AAASAAAAfwAAANUYAa2/////zhgAAH/////YAQAAf////9IAAAB/AAAAywdAAD/////QIIADP////84fAAs/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAywdAAD/////QIIACP////+D/AAE/////ywcAAD/////QYIAGP////8sHQAA/////0CCABD/////gGAAAP/gAAB/hON4/////0gAAAH8AAADf+P7eP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __ios_Ipc2 + size: 576 + flags: 2 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __responses + size: 80 + flags: 2 + section: .bss + - kind: Function + name: IPCiProfQueueReq + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosFree + size: 0 + flags: 1 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCReadReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 336 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 528 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: 364945d3dbda149a3bf004a0a92110966817d9c2 + signature: lCH/4P////98CAKm/////ywDAAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98nSN4/////5OBABD/////fHwbeP////9AggAM/////zvg//z/////SAAB0P////8sBAAA/////0CCAAz/////OGMALP////9IAAAB/AAAA3+D43j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADPIAAAP//AAB8fht4/////zhkAAD//wAAgIQAAP//AACAAwAE/////zvgAAD/////fAAgQP////9AgAAM/////3wEAFD/////SAAAIP////98hABQ/////zhgABD/////OAT/8P////98gxs4/////1QA+H7/////fAAYUP////9UAA/+/////ywAAAD/////QYIADP////874P/4/////0gAAET/////PMAAAP//AAB/g+N4/////zjGAAD//wAAgAYADP////9UABA6/////3yGAhT/////k4QAEP////+ApgAM/////4CGAAT/////OAUAAf////9UBQc+/////zgEAAH/////kKYADP////+QBgAE/////4CcAAj/////SAAAAfwAAAMsHwAA/////0GCACT/////f8PzeP////9IAAAB/AAAAywdAAD/////QYIBBP////+AYAAA/+AAAH+E43j/////SAAAAfwAAANIAAD0/////4AAAAD/4AAALAAAAP////9AgQDE/////zyAAAD//wAAOGQAAP//AACAhAAA//8AAIADAAT/////fAAgQP////9AgAAM/////3wEAFD/////SAAAEP////98BABQ/////3wAADT/////VADZfv////8sAAAA/////0CCAJD/////PGAAAP//AAA4YwAA//8AAIADAAj/////VAAQOv////98YwIU/////4CDABD/////LAQAAP////9BggBw/////4AEACj/////LAAAAP////9BggAQ/////4BgAAD/4AAAOAP///////+QAAAA/+AAADyEgAD/////OGAAAP////9IAAAB/AAAAzzgAAD//wAAgGAAAP/gAAA4xwAA//8AAICHAAD//wAAgKYACP////84A////////5AAAAD/4AAAOIQAAf////84BQAB/////zhgAAH/////VAAHPv////+QhwAA//8AAJAGAAj/////SAAAAfwAAANUYAa2/////zhgAAH/////YAQAAf////9IAAAB/AAAAywdAAD/////QIIADP////84fAAs/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAywdAAD/////QIIACP////+D/AAE/////ywcAAD/////QYIAGP////8sHQAA/////0CCABD/////gGAAAP/gAAB/hON4/////0gAAAH8AAADf+P7eP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __ios_Ipc2 + size: 576 + flags: 2 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __responses + size: 80 + flags: 2 + section: .bss + - kind: Function + name: IPCiProfQueueReq + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosFree + size: 0 + flags: 1 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCReadReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 336 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 404 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 448 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 456 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 528 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: a11e24eac95eff0b010e09d36af6d71f5419b377 + signature: lCH/4P////98CAKm/////ywDAAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98nSN4/////5OBABD/////fHwbeP////9AggAM/////zvg//z/////SAAB3P////8sBAAA/////0CCAAz/////OGMALP////9IAAAB/AAAA3+D43j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADPIAAAP//AAB8fht4/////zhkAAD//wAAgIQAAP//AACAAwAE/////zvgAAD/////fAAgQP////9AgAAM/////3wEAFD/////SAAAIP////98hABQ/////zhgABD/////OAT/8P////98gxs4/////1QA+H7/////fAAYUP////9UAA/+/////ywAAAD/////QYIADP////874P/4/////0gAAET/////PMAAAP//AAB/g+N4/////zjGAAD//wAAgAYADP////9UABA6/////3yGAhT/////k4QAEP////+ApgAM/////4CGAAT/////OAUAAf////9UBQc+/////zgEAAH/////kKYADP////+QBgAE/////4CcAAj/////SAAAAfwAAAMsHwAA/////0GCACT/////f8PzeP////9IAAAB/AAAAywdAAD/////QYIBEP////+AYAAA/+AAAH+E43j/////SAAAAfwAAANIAAEA/////4AAAAD/4AAALAAAAP////9AgQDQ/////zyAAAD//wAAOGQAAP//AACAhAAA//8AAIADAAT/////fAAgQP////9AgAAM/////3wEAFD/////SAAAEP////98BABQ/////3wAADT/////VADZfv////8sAAAA/////0CCAJz/////PGAAAP//AAA4YwAA//8AAIADAAj/////VAAQOv////98YwIU/////4CDABD/////LAQAAP////9BggB8/////4AEACj/////LAAAAP////9BggAc/////4BgAAD/4AAAOAAAAf////+QAAAA/+AAADgD////////kIAAAP/gAACQAAAA/+AAADyEgAD/////OGAAAP////9IAAAB/AAAAzzgAAD//wAAgGAAAP/gAAA4xwAA//8AAICHAAD//wAAgKYACP////84A////////5AAAAD/4AAAOIQAAf////84BQAB/////zhgAAH/////VAAHPv////+QhwAA//8AAJAGAAj/////SAAAAfwAAANUYAa2/////zhgAAH/////YAQAAf////9IAAAB/AAAAywdAAD/////QIIADP////84fAAs/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAywdAAD/////QIIACP////+D/AAE/////ywcAAD/////QYIAGP////8sHQAA/////0CCABD/////gGAAAP/gAAB/hON4/////0gAAAH8AAADf+P7eP////+D4QAc/////4PBABj/////g6EAFP////+DgQAQ/////4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: __ios_Ipc2 + size: 588 + flags: 2 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __responses + size: 80 + flags: 2 + section: .bss + - kind: Function + name: IPCiProfQueueReq + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosFree + size: 0 + flags: 1 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Object + name: __relnchFl + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __relnchRpc + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCReadReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 272 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 284 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 288 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 292 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 336 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 340 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 412 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 416 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 428 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: bac2ee9b94f004aa06600a50f3c765ee70a6bd61 + signature: lCH/4P////98CAKm/////ywDAAD/////kAEAJP////+T4QAc/////5PBABj/////k6EAFP////98nSN4/////5OBABD/////fHwbeP////9AggAM/////zvg//z/////SAAB+P////8sBAAA/////0CCAAz/////OGMALP////9IAAAB/AAAA3+D43j/////OIAAIP////9IAAAB/AAAA0gAAAH8AAADPIAAAP//AAB8fht4/////zhkAAD//wAAgIQAAP//AACAAwAE/////zvgAAD/////fAAgQP////9AgAAM/////3wEAFD/////SAAAIP////98hABQ/////zhgADD/////OAT/0P////98gxs4/////1QA+H7/////fAAYUP////9UAA/+/////ywAAAD/////QYIADP////874P/4/////0gAAFj/////POAAAP//AAA8gKqr/////zjnAAD//wAAf4PjeP////+ApwAM/////zgEqqv/////VKQQOv////98hyIU/////5OEABD/////gKcADP////+AhwAE/////zjFAAH/////fKAwFv////84BAAB/////5AHAAT/////VKXZfv////8cBQAw/////3wAMFD/////kAcADP////+AnAAI/////0gAAAH8AAADLB8AAP////9BggAk/////3/D83j/////SAAAAfwAAAMsHQAA/////0GCARj/////gGAAAP/gAAB/hON4/////0gAAAH8AAADSAABCP////+AAAAA/+AAACwAAAD/////QIEA2P////88gAAA//8AADhkAAD//wAAgIQAAP//AACAAwAE/////3wAIED/////QIAADP////98BABQ/////0gAABD/////fAQAUP////98AAA0/////1QA2X7/////LAAAAP////9AggCk/////zxgAAD//wAAOGMAAP//AACAAwAI/////1QAEDr/////fGMCFP////+AgwAQ/////ywEAAD/////QYIAhP////+ABAAo/////ywAAAD/////QYIAEP////+AYAAA/+AAADgD////////kAAAAP/gAAA8hIAA/////zhgAAD/////SAAAAfwAAAM9AAAA//8AADxgqqv/////OOgAAP//AACAiAAA//8AAIDHAAj/////OKOqq/////84BAAB/////4BgAAD/4AAAOMYAAf////+QCAAA//8AAHyFMBb/////OAP///////+QAAAA/+AAADhgAAH/////VITZfv////8cBAAw/////3wAMFD/////kAcACP////9IAAAB/AAAA1RgBrb/////OGAAAf////9gBAAB/////0gAAAH8AAADLB0AAP////9AggAM/////zh8ACz/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADLB0AAP////9AggAI/////4P8AAT/////LBwAAP////9BggAY/////ywdAAD/////QIIAEP////+AYAAA/+AAAH+E43j/////SAAAAfwAAAN/4/t4/////4PhABz/////g8EAGP////+DoQAU/////4OBABD/////gAEAJP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: __ios_Ipc2 + size: 616 + flags: 2 + section: .text + - kind: Function + name: OSInitThreadQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DCFlushRange + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSDisableInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: __responses + size: 208 + flags: 2 + section: .bss + - kind: Function + name: IPCiProfQueueReq + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSRestoreInterrupts + size: 0 + flags: 1 + section: .text + - kind: Object + name: hid + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: iosFree + size: 0 + flags: 1 + section: .text + - kind: Object + name: __mailboxAck + size: 4 + flags: 2 + section: .sdata + - kind: Function + name: IPCWriteReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: IPCReadReg + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSSleepThread + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 168 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 264 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 276 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 356 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 400 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 424 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 432 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 436 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 460 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 472 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 568 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 8 + addend: 0 diff --git a/assets/__mod2u.yml b/assets/__mod2u.yml new file mode 100644 index 0000000..c633c3e --- /dev/null +++ b/assets/__mod2u.yml @@ -0,0 +1,20 @@ +- symbol: 0 + hash: d2e017b521692678e61981afaaecfe91456aa1c1 + signature: LAMAAP////98YAA0/////3yJADT/////QIIACP////84CQAg/////ywFAAD/////fKkANP////98ygA0/////0CCAAj/////OSoAIP////98AEgA/////yFAAED/////QYEAsP////85KQAB/////yEpAED/////fABKFP////99KVBQ/////30pA6b/////LAkAIP////846f/g/////0GAABD/////fGg8MP////844AAA/////0gAABj/////fIhMMP////8g6QAg/////3xnODD/////fQg7eP////98Z0ww/////ywAACD/////MSD/4P////9BgAAQ/////3yDSDD/////OIAAAP////9IAAAY/////3xjADD/////ISAAIP////98iUww/////3xjS3j/////fIQAMP////85QP///////zDnAAD/////fIQhFP////98YxkU/////30IQRT/////fOc5FP////98BkAQ/////30lORH/////QYAAEP////98CAN4/////30nS3j/////MAoAAf////9CAP/Y/////30EQ3j/////fOM7eP////9OgAAg/////06AACD///// + symbols: + - kind: Function + name: __mod2u + size: 228 + flags: 1 + section: .text + relocations: [] +- symbol: 0 + hash: 8dfd849a47b6db30906fce7e5ec87a7dba8cbc37 + signature: LAMAAP////98YAA0/////3yJADT/////QIIACP////84CQAg/////ywFAAD/////fKkANP////98ygA0/////0CCAAj/////OSoAIP////98AEgA/////yFAAED/////TYEAIP////85KQAB/////yEpAED/////fABKFP////99KVBQ/////30pA6b/////LAkAIP////846f/g/////0GAABD/////fGg8MP////844AAA/////0gAABj/////fIhMMP////8g6QAg/////3xnODD/////fQg7eP////98Z0ww/////ywAACD/////MSD/4P////9BgAAQ/////3yDSDD/////OIAAAP////9IAAAY/////3xjADD/////ISAAIP////98iUww/////3xjS3j/////fIQAMP////85QP///////zDnAAD/////fIQhFP////98YxkU/////30IQRT/////fOc5FP////98BkAQ/////30lORH/////QYAAEP////98CAN4/////30nS3j/////MAoAAf////9CAP/Y/////30EQ3j/////fOM7eP////9OgAAg/////06AACD///// + symbols: + - kind: Function + name: __mod2u + size: 228 + flags: 1 + section: .text + relocations: [] diff --git a/assets/__msl_runtime_constraint_violation_s.yml b/assets/__msl_runtime_constraint_violation_s.yml new file mode 100644 index 0000000..0730a4e --- /dev/null +++ b/assets/__msl_runtime_constraint_violation_s.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: 9d8737e8fff8fd6d4fdc283b21a9fefce07f432d + signature: gYAAAP/gAAAsDAAA/////02CACD/////fYkDpv////9OgAQg/////06AACD///// + symbols: + - kind: Function + name: __msl_runtime_constraint_violation_s + size: 24 + flags: 1 + section: .text + - kind: Object + name: __msl_constraint_handler + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__pformatter.yml b/assets/__pformatter.yml new file mode 100644 index 0000000..5f2a2c3 --- /dev/null +++ b/assets/__pformatter.yml @@ -0,0 +1,1504 @@ +- symbol: 0 + hash: b7799f00338b0d9fc84482fbc07dcd9058e640c3 + signature: fAgCpv////884AAA//8AAJABAAT/////OAAAIP////+UIf2Y/////75BAjD/////O+MAAP////87xAAA/////zuGAAD/////OyUAAP////87QQIc/////zrhAhv/////OocAAP//AAA7YAAA/////5gBABn/////SAAF0P////84eQAA/////ziAACX/////SAAAAfwAAAN8eBt5/////0CCADz/////fyPLeP////9IAAAB/AAAA3xlG3n/////f3sqFP////9BggW0/////zmfAAD/////fYgDpv////84fgAA/////ziZAAD/////ToAAIf////8oAwAA/////0CCBZj/////OGD///////9IAAWU/////3y5wFH/////f3sqFP////9BggAo/////zmfAAD/////fYgDpv////84fgAA/////ziZAAD/////ToAAIf////8oAwAA/////0CCAAz/////OGD///////9IAAVk/////zh4AAD/////OJwAAP////84oQIc/////0gAAAH8AAADiAECIf////87IwAA/////ywAAGn/////QYIApP////9AgABY/////ywAAFj/////QYIBVP////9AgAAo/////ywAAEX/////QYICBP////9AgAAQ/////ywAACX/////QYIDfP////9IAAOM/////ywAAEf/////QYIB7P////9IAAOA/////ywAAGT/////QYIAaP////9AgAAQ/////ywAAGP/////QIADNP////9IAANo/////ywAAGj/////QIADYP////9IAAHE/////ywAAHX/////QYIBAP////9AgAAo/////ywAAG//////QYIA9P////9AgAAQ/////ywAAG7/////QIACnP////9IAAM4/////ywAAHP/////QYIBvP////9IAAMs/////ywAAP//////QYIDJP////9AgAMg/////ywAAHj/////QYIAxP////9IAAMU/////4gBAiD/////KAAAA/////9AggAY/////zh8AAD/////OIAAAf////9IAAAB/AAAA4OjAAD/////SAAANP////8oAAAE/////0CCABz/////OHwAAP////84gAAC/////0gAAAH8AAADgqMAAP////+CwwAE/////0gAABT/////OHwAAP////84gAAB/////0gAAAH8AAADg6MAAP////+IYQIg/////ygDAAL/////QIIADP////9/oAc0/////3wdA3j/////KAMAAf////9AggAM/////3+gB3T/////fB0DeP////8oAwAE/////0CCACT/////OJYAAP////84dQAA/////zi6AAD/////OMECHP////9IAAAB/AAAA3xzG3n/////QYICfP////9IAAAc/////zh9AAD/////OJoAAP////84oQIc/////0gAAAH8AAADfHMbef////9BggJg/////38TuFD/////SAACmP////+IAQIg/////ygAAAP/////QIIAGP////84fAAA/////ziAAAH/////SAAAAfwAAAODowAA/////0gAADT/////KAAABP////9AggAc/////zh8AAD/////OIAAAv////9IAAAB/AAAA4KjAAD/////gsMABP////9IAAAU/////zh8AAD/////OIAAAf////9IAAAB/AAAA4OjAAD/////iGECIP////8oAwAC/////0CCAAz/////V6AEPv////98HQN4/////ygDAAH/////QIIADP////9XoAY+/////3wdA3j/////KAMABP////9AggAk/////ziWAAD/////OHUAAP////84ugAA/////zjBAhz/////SAAAAfwAAAN8cxt5/////0GCAcD/////SAAAHP////84fQAA/////ziaAAD/////OKECHP////9IAAAB/AAAA3xzG3n/////QYIBpP////9/E7hQ/////0gAAdz/////OHwAAP////84mgAA/////zihAhz/////OMAAAP////9IAAAB/AAAA3xzG3n/////QYIBgP////9/E7hQ/////0gAAbj/////iAECIP////8oAAAG/////0CCADz/////OHwAAP////84gAAB/////0gAAAH8AAADgIMAAP////8oBAAA/////0CCAAj/////OIAAAP/gAAA4YQAc/////zigAgD/////SAAAAfwAAAMsAwAA/////0GAATz/////OmEAHP////9IAAAU/////zh8AAD/////OIAAAf////9IAAAB/AAAA4JjAAD/////KBMAAP////9AggAI/////36To3j/////iAECH/////8oAAAA/////0GCACz/////iAECHv////+LEwAA/////zpzAAH/////KAAAAP////9BggE4/////4ABAij/////fBgAAP////9AgQEs/////3wYA3j/////SAABJP////+IAQIe/////ygAAAD/////QYIAKP////+DAQIo/////zhzAAD/////OIAAAP////84uAAA/////0gAAAH8AAADKAMAAP////9BggD8/////38TGFD/////SAAA9P////9+Y5t4/////0gAAAH8AAADfHgbeP////9IAADk/////zh8AAD/////OIAAAf////9IAAAB/AAAA4gBAiD/////gGMAAP////8sAAAC/////0GCACz/////QIAAEP////8sAAAA/////0GCABj/////SAAB+P////8sAAAE/////0GCACj/////QIAB7P////9IAAAY/////5NjAAD/////SAAB4P////9/YAc0/////7ADAAD/////SAAB1P////+TYwAA/////0gAAcz/////k2MABP////9/YP5w/////5ADAAD/////SAABvP////84fAAA/////zphABz/////OIAAAf////9IAAAB/AAAA4ADAAD/////OwAAAf////98AAd0/////5gBABz/////SAAAWP////84AAAl/////5gBABz/////OmEAHP////87AAAB/////0gAAET/////fwPDeP////9IAAAB/AAAA3xlG3n/////f3sqFP////9BggAo/////zmfAAD/////fYgDpv////84fgAA/////ziYAAD/////ToAAIf////8oAwAA/////0CCAAz/////OGD///////9IAAFc/////39j23j/////SAABVP////+IAQIc/////zpYAAD/////KAAAAP////9BggCw/////ygAAAL/////QIIADP////84AAAw/////0gAAAj/////OAAAIP////98AAd0/////5gBABn/////iBMAAP////98AAd0/////ywAACv/////QYIADP////8sAAAt/////0CCAHD/////iAEAGf////8sAAAw/////0CCAGT/////OZ8AAP////99iAOm/////zh+AAD/////OJMAAP////84oAAB/////06AACH/////KAMAAP////9AggAM/////zhg////////SAAA3P////86cwAB/////zsY////////SAAAMP////85nwAA/////32IA6b/////OH4AAP////84gQAZ/////zigAAH/////ToAAIf////8oAwAA/////0CCAAz/////OGD///////9IAACo/////zpSAAH/////gAECJP////98EgAA/////0GA/8z/////LBgAAP////9BggAs/////zmfAAD/////fYgDpv////84fgAA/////ziTAAD/////OLgAAP////9OgAAh/////ygDAAD/////QIIADP////84YP///////0gAAGj/////iAECHP////8oAAAA/////0CCAEj/////OmAAIP////9IAAA0/////3/s+3j/////mmEAGP////99iAOm/////zh+AAD/////OIEAGP////84oAAB/////06AACH/////KAMAAP////9AggAM/////zhg////////SAAAKP////86UgAB/////4ABAiT/////fBIAAP////9BgP/I/////397khT/////iBkAAP////98AAd1/////0CC+iz/////f2PbeP////+6QQIw/////4ABAmz/////OCECaP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: __pformatter + size: 1584 + flags: 2 + section: .text + - kind: Object + name: '@stringBase0' + size: 14 + flags: 2 + section: .rodata + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 1 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 640 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 736 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 812 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 828 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 840 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 968 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 992 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 1012 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 1120 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 1168 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 50eb6f37cce1362ddc34e97b4e0dbfa18cb5c289 + signature: lCH9QP////98CAKm/////5ABAsT/////OAAAIP////++YQKM/////3x/G3j/////fJ4jeP////983TN4/////3y6K3j/////OwECfP////86oQJ7/////ztgAAD/////mAEACf////9IAAcc/////39D03j/////OIAAJf////9IAAAB/AAAA3x5G3n/////QIIAPP////9/Q9N4/////0gAAAH8AAADfGUbef////9/eyoU/////0GCBwD/////f+z7eP////9/w/N4/////39E03j/////fYkDpv////9OgAQh/////ygDAAD/////QIIG5P////84YP///////0gABuD/////fLrIUf////9/eyoU/////0GCACj/////f+z7eP////9/w/N4/////39E03j/////fYkDpv////9OgAQh/////ygDAAD/////QIIADP////84YP///////0gABrD/////fyPLeP////9/pOt4/////zihAGz/////SAAAAfwAAAOIAQBx/////3x6G3j/////LAAAaP////9BggUA/////0CAAGD/////LAAAWP////9BggGw/////0CAADD/////LAAAQf////9BggMM/////0CAABD/////LAAAJf////9BggTI/////0gABNj/////LAAASP////9AgATQ/////ywAAEX/////QIACgP////9IAATE/////ywAAGP/////QYIEiP////9AgAAQ/////ywAAGH/////QYIC1P////9IAASs/////ywAAGX/////QIACXP////9IAABg/////ywAAHT/////QYIEmP////9AgAAw/////ywAAG//////QYIBSP////9AgAAY/////ywAAG7/////QIAD6P////8sAABq/////0CABHj/////SAAANP////8sAABz/////0CAAvz/////SAAEaP////8sAAB4/////0GCARz/////QIAAEP////8sAAB2/////0CABFT/////SAABDP////8sAAD//////0GCBEj/////SAAERP////+IAQBw/////ygAAAP/////QIIAGP////9/o+t4/////ziAAAH/////SAAAAfwAAAODgwAA/////0gAADT/////KAAABP////9AggAc/////3+j63j/////OIAAAv////9IAAAB/AAAA4LDAAD/////guMABP////9IAAAU/////3+j63j/////OIAAAf////9IAAAB/AAAA4ODAAD/////iGEAcP////8oAwAC/////0CCAAz/////f4AHNP////98HAN4/////ygDAAH/////QIIADP////9/gAd0/////3wcA3j/////KAMABP////9AggBE/////4EhAGz/////fuS7eP////+BAQBw/////37Ds3j/////gOEAdP////9/BcN4/////4ABAHj/////OMEAXP////+RIQBc/////5EBAGD/////kOEAZP////+QAQBo/////0gAAAH8AAADfHQbef////9BggOM/////0gAADz/////gQEAbP////9/g+N4/////4DhAHD/////fwTDeP////+AwQB0/////zihAEz/////gAEAeP////+RAQBM/////5DhAFD/////kMEAVP////+QAQBY/////0gAAAH8AAADfHQbef////9BggNQ/////380qFD/////SAADiP////+IAQBw/////ygAAAP/////QIIAGP////9/o+t4/////ziAAAH/////SAAAAfwAAAODgwAA/////0gAADT/////KAAABP////9AggAc/////3+j63j/////OIAAAv////9IAAAB/AAAA4LDAAD/////guMABP////9IAAAU/////3+j63j/////OIAAAf////9IAAAB/AAAA4ODAAD/////iGEAcP////8oAwAC/////0CCAAz/////V4AEPv////98HAN4/////ygDAAH/////QIIADP////9XgAY+/////3wcA3j/////KAMABP////9AggBE/////4EhAGz/////fuS7eP////+BAQBw/////37Ds3j/////gOEAdP////9/BcN4/////4ABAHj/////OMEAPP////+RIQA8/////5EBAED/////kOEARP////+QAQBI/////0gAAAH8AAADfHQbef////9BggKQ/////0gAADz/////gQEAbP////9/g+N4/////4DhAHD/////fwTDeP////+AwQB0/////zihACz/////gAEAeP////+RAQAs/////5DhADD/////kMEANP////+QAQA4/////0gAAAH8AAADfHQbef////9BggJU/////380qFD/////SAACjP////+IAQBw/////ygAAAX/////QIIAGP////9/o+t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////0gAABT/////f6PreP////84gAAD/////0gAAAH8AAADyCMAAP////+A4QBs/////38Dw3j/////gMEAcP////84gQAc/////4ChAHT/////gAEAeP////+Q4QAc/////5DBACD/////kKEAJP////+QAQAo/////0gAAAH8AAADfHQbef////9BggHo/////380qFD/////SAACIP////+IAQBw/////ygAAAX/////QIIAGP////9/o+t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////0gAABT/////f6PreP////84gAAD/////0gAAAH8AAADyCMAAP////+A4QBs/////38Dw3j/////gMEAcP////84gQAM/////4ChAHT/////gAEAeP////+Q4QAM/////5DBABD/////kKEAFP////+QAQAY/////0gAAAH8AAADfHQbef////9BggF8/////380qFD/////SAABtP////+IAQBw/////ygAAAb/////QIIAPP////9/o+t4/////ziAAAH/////SAAAAfwAAAOAgwAA/////ygEAAD/////QIIACP////84gAAA/+AAADhhAHz/////OKACAP////9IAAAB/AAAAywDAAD/////QYABOP////86gQB8/////0gAABT/////f6PreP////84gAAB/////0gAAAH8AAADgoMAAP////8oFAAA/////0CCAAz/////PGAAAP//AAA6gwAA//8AAIgBAG//////KAAAAP////9BggAs/////4gBAG7/////izQAAP////86lAAB/////ygAAAD/////QYIBMP////+AAQB4/////3wZAAD/////QIEBJP////98GQN4/////0gAARz/////iAEAbv////8oAAAA/////0GCACj/////gyEAeP////9+g6N4/////ziAAAD/////fyXLeP////9IAAAB/AAAAygDAAD/////QYIA9P////9/NBhQ/////0gAAOz/////foOjeP////9IAAAB/AAAA3x5G3j/////SAAA3P////9/o+t4/////ziAAAH/////SAAAAfwAAAOIAQBw/////4BjAAD/////LAAAAv////9BggAs/////0CAABD/////LAAAAP////9BggAY/////0gAAfD/////LAAABP////9BggAk/////0CAAeT/////SAAAFP////+TYwAA/////0gAAdj/////s2MAAP////9IAAHQ/////5NjAAD/////SAAByP////+TYwAE/////39g/nD/////kAMAAP////9IAAG4/////3+j63j/////OoEAfP////84gAAB/////0gAAAH8AAADgAMAAP////87IAAB/////5gBAHz/////SAAAWP////84AAAl/////zqBAHz/////mAEAfP////87IAAB/////0gAAET/////fyPLeP////9IAAAB/AAAA3xlG3n/////f3sqFP////9BggAo/////3/s+3j/////f8PzeP////9/JMt4/////32JA6b/////ToAEIf////8oAwAA/////0CCAAz/////OGD///////9IAAFc/////39j23j/////SAABVP////+IAQBs/////38zy3j/////KAAAAP////9BggCw/////ygAAAL/////OAAAIP////9AggAI/////zgAADD/////mAEACf////+IFAAA/////3wAB3T/////LAAAK/////9BggAU/////ywAAC3/////QYIADP////8sAAAg/////0CCAHD/////iAEACf////8sAAAw/////0CCAGT/////f+z7eP////9/w/N4/////36Eo3j/////OKAAAf////99iQOm/////06ABCH/////KAMAAP////9AggAM/////zhg////////SAAA3P////86lAAB/////zs5////////SAAAMP////9/7Pt4/////3/D83j/////OIEACf////84oAAB/////32JA6b/////ToAEIf////8oAwAA/////0CCAAz/////OGD///////9IAACo/////zpzAAH/////gAEAdP////98EwAA/////0GA/8z/////LBkAAP////9BggAs/////3/s+3j/////f8PzeP////9+hKN4/////38ly3j/////fYkDpv////9OgAQh/////ygDAAD/////QIIADP////84YP///////0gAAGj/////iAEAbP////8oAAAA/////0CCAEj/////OoAAIP////9IAAA0/////3/s+3j/////f8PzeP////+agQAI/////ziBAAj/////OKAAAf////99iQOm/////06ABCH/////KAMAAP////9AggAM/////zhg////////SAAAKP////86cwAB/////4ABAHT/////fBMAAP////9BgP/I/////397mhT/////iBoAAP////98AAd1/////0CC+OD/////f2PbeP////+6YQKM/////4ABAsT/////fAgDpv////84IQLA/////06AACD///// + symbols: + - kind: Function + name: __pformatter + size: 1908 + flags: 2 + section: .text + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 1 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@stringBase0' + size: 37 + flags: 2 + section: .rodata + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 632 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 700 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 724 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 824 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 884 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 924 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 944 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 992 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 1032 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1052 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1100 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 1140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1156 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 1168 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1196 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1212 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 1216 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 1300 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 1324 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 1344 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1448 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1492 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 6ffe12c1bde70ee6d007a0b7577fcddd3a5baa35 + signature: lCH9IP////98CAKm/////5ABAuT/////OAAAIP/////b4QLY/////74hApz/////fHcbeP////98mCN4/////3zcM3j/////kKEACP////87oAAA/////4NBAAj/////mAEADf////9IAAeM/////39D03j/////OIAAJf////9IAAAB/AAAA3x2G3n/////QIIAQP////9/Q9N4/////0gAAAH8AAADfH4bef////9/vfIU/////0GCB3D/////fuy7eP////9/A8N4/////39E03j/////f8XzeP////99iQOm/////06ABCH/////KAMAAP////9AggdQ/////zhg////////SAAHTP////9/2rBR/////3+98hT/////QYIALP////9+7Lt4/////38Dw3j/////f0TTeP////9/xfN4/////32JA6b/////ToAEIf////8oAwAA/////0CCAAz/////OGD///////9IAAcY/////37as3j/////f4TjeP////9/Q9N4/////zihAIj/////SAAAAfwAAAOIAQCN/////3x6G3j/////LAAAaP////9BggVU/////0CAAGD/////LAAAWP////9BggHI/////0CAADD/////LAAAQf////9BggNM/////0CAABD/////LAAAJf////9BggUc/////0gABSz/////LAAASP////9AgAUk/////ywAAEX/////QIACsP////9IAAUY/////ywAAGP/////QYIE3P////9AgAAQ/////ywAAGH/////QYIDFP////9IAAUA/////ywAAGX/////QIACjP////9IAABg/////ywAAHT/////QYIE7P////9AgAAw/////ywAAG//////QYIBYP////9AgAAY/////ywAAG7/////QIAEPP////8sAABq/////0CABMz/////SAAANP////8sAABz/////0CAA0z/////SAAEvP////8sAAB4/////0GCATT/////QIAAEP////8sAAB2/////0CABKj/////SAABJP////8sAAD//////0GCBJz/////SAAEmP////+IAQCM/////ygAAAP/////QIIAGP////9/g+N4/////ziAAAH/////SAAAAfwAAAODYwAA/////0gAADj/////iAEAjP////8oAAAE/////0CCABz/////f4PjeP////84gAAC/////0gAAAH8AAADgoMAAP////+CowAE/////0gAABT/////f4PjeP////84gAAB/////0gAAAH8AAADg2MAAP////+IAQCM/////ygAAAL/////QIIACP////9/ewc0/////4gBAIz/////KAAAAf////9AggAI/////397B3T/////iAEAjP////8oAAAE/////0CCAEz/////OGEAeP////+AAQCI/////5BhACT/////fqSreP////+A4QCM/////36Do3j/////gQEAkP////84oQKY/////4EhAJT/////kAEAeP////+AwQAk/////5DhAHz/////kQEAgP////+RIQCE/////0gAAAH8AAADfH8bef////9BggPU/////0gAAET/////OAEAaP////+AoQCI/////5ABACD/////f2PbeP////+AAQCM/////ziBApj/////gMEAkP////+A4QCU/////5ChAGj/////gKEAIP////+QAQBs/////5DBAHD/////kOEAdP////9IAAAB/AAAA3x/G3n/////QYIDkP////84AQKX/////3/fAFD/////SAADyP////+IAQCM/////ygAAAP/////QIIAGP////9/g+N4/////ziAAAH/////SAAAAfwAAAODYwAA/////0gAADj/////iAEAjP////8oAAAE/////0CCABz/////f4PjeP////84gAAC/////0gAAAH8AAADgoMAAP////+CowAE/////0gAABT/////f4PjeP////84gAAB/////0gAAAH8AAADg2MAAP////+IAQCM/////ygAAAL/////QIIACP////9XewQ+/////4gBAIz/////KAAAAf////9AggAI/////1d7Bj7/////iAEAjP////8oAAAE/////0CCAEz/////OGEAWP////+AAQCI/////5BhABz/////fqSreP////+A4QCM/////36Do3j/////gQEAkP////84oQKY/////4EhAJT/////kAEAWP////+AwQAc/////5DhAFz/////kQEAYP////+RIQBk/////0gAAAH8AAADfH8bef////9BggLA/////0gAAET/////OAEASP////+AoQCI/////5ABABj/////f2PbeP////+AAQCM/////ziBApj/////gMEAkP////+A4QCU/////5ChAEj/////gKEAGP////+QAQBM/////5DBAFD/////kOEAVP////9IAAAB/AAAA3x/G3n/////QYICfP////84AQKX/////3/fAFD/////SAACtP////+IAQCM/////ygAAAX/////QIIAGP////9/g+N4/////ziAAAP/////SAAAAfwAAAPL4wAA/////0gAABT/////f4PjeP////84gAAD/////0gAAAH8AAADy+MAAP////84AQA4/////4CBAIj/////kAEAFP/////8IPiQ/////4ChAIz/////OGECmP////+AAQCQ/////4DBAJT/////kIEAOP////+AgQAU/////5ChADz/////kAEAQP////+QwQBE/////0gAAAH8AAADfH8bef////9BggIA/////zgBApf/////f98AUP////9IAAI4/////4gBAIz/////KAAABf////9AggAY/////3+D43j/////OIAAA/////9IAAAB/AAAA8vjAAD/////SAAAFP////9/g+N4/////ziAAAP/////SAAAAfwAAAPL4wAA/////zgBACj/////gIEAiP////+QAQAQ//////wg+JD/////gKEAjP////84YQKY/////4ABAJD/////gMEAlP////+QgQAo/////4CBABD/////kKEALP////+QAQAw/////5DBADT/////SAAAAfwAAAN8fxt5/////0GCAYT/////OAECl/////9/3wBQ/////0gAAbz/////iAEAjP////8oAAAG/////0CCAED/////f4PjeP////84gAAB/////0gAAAH8AAADgmMAAP////8oEwAA/////0CCAAj/////OmAAAP/gAAB+ZJt4/////zhhAJj/////OKACAP////9IAAAB/AAAA3x+G3n/////QYABOP////874QCY/////0gAABT/////f4PjeP////84gAAB/////0gAAAH8AAADg+MAAP////8oHwAA/////0CCAAz/////PGAAAP//AAA74wAA//8AAIgBAIv/////KAAAAP////9BggAs/////4gBAIr/////i98AAP////87/wAB/////ygAAAD/////QYIBNP////+AAQCU/////3weAAD/////QIEBKP////+DwQCU/////0gAASD/////iAEAiv////8oAAAA/////0GCACj/////g8EAlP////9/4/t4/////ziAAAD/////f8XzeP////9IAAAB/AAAA3xxG3n/////QYIA+P////9/34hQ/////0gAAPD/////f+P7eP////9IAAAB/AAAA3x+G3j/////SAAA4P////9/g+N4/////ziAAAH/////SAAAAfwAAAOIAQCM/////4PjAAD/////LAAAAv////9BggAs/////0CAABD/////LAAAAP////9BggAY/////0gAAgD/////LAAABP////9BggAk/////0CAAfT/////SAAAFP////+TvwAA/////0gAAej/////s78AAP////9IAAHg/////5O/AAD/////SAAB2P////+TvwAE/////3+g/nD/////kB8AAP////9IAAHI/////3+D43j/////O+EAmP////84gAAB/////0gAAAH8AAADgGMAAP////87wAAB/////5h/AAD/////SAAAXP////874QCY/////zgAACX/////mAEAmP////87wAAB/////0gAAEj/////fsOzeP////9IAAAB/AAAA3x+G3n/////f73yFP////9BggAs/////37su3j/////fwPDeP////9+xLN4/////3/F83j/////fYkDpv////9OgAQh/////ygDAAD/////QIIADP////84YP///////0gAAWj/////f6PreP////9IAAFg/////4gBAIj/////f9nzeP////8oAAAA/////0GCALz/////iAEAiP////8oAAAC/////0CCAAz/////OkAAMP////9IAAAI/////zpAACD/////mkEADf////+IHwAA/////ywAACv/////QYIAHP////+IHwAA/////ywAAC3/////QYIAEP////+IHwAA/////ywAACD/////QIIAcP////+IAQAN/////ywAADD/////QIIAZP////9+7Lt4/////38Dw3j/////f+T7eP////84oAAB/////32JA6b/////ToAEIf////8oAwAA/////0CCAAz/////OGD///////9IAADc/////zv/AAH/////O97///////9IAAAw/////37su3j/////fwPDeP////84gQAN/////zigAAH/////fYkDpv////9OgAQh/////ygDAAD/////QIIADP////84YP///////0gAAKj/////OzkAAf////+AAQCQ/////3wZAAD/////QYD/zP////8sHgAA/////0GCACz/////fuy7eP////9/A8N4/////3/k+3j/////f8XzeP////99iQOm/////06ABCH/////KAMAAP////9AggAM/////zhg////////SAAAaP////+IAQCI/////ygAAAD/////QIIASP////9IAAA4/////zgAACD/////fuy7eP////9/A8N4/////5gBAAz/////OIEADP////84oAAB/////32JA6b/////ToAEIf////8oAwAA/////0CCAAz/////OGD///////9IAAAo/////zs5AAH/////gAEAkP////98GQAA/////0GA/8T/////f73KFP////+IGgAA/////3wAB3X/////QIL4cP////9/o+t4/////8vhAtj/////uiECnP////+AAQLk/////3wIA6b/////OCEC4P////9OgAAg/////w== + symbols: + - kind: Function + name: __pformatter + size: 2024 + flags: 2 + section: .text + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 1 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@stringBase0' + size: 37 + flags: 2 + section: .rodata + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 64 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 204 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 464 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 740 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 872 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 940 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 984 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1004 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1064 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 1108 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1128 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1188 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 1232 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1248 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 1264 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1292 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1308 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 1312 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 1396 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 1420 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 1440 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1544 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1588 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: d58ef8ce7a4e68ee8c380baaa0a1243eb870e5a0 + signature: lCH9QP////98CAKm/////5ABAsT/////vgECgP////86AAAg/////z+gAAD//wAAfHEbeP////98kiN4/////3y3K3j/////fNMzeP////87vQAA//8AADuBAn//////OyAAAP////874AAl/////z/AAAD//wAAmgEACf////9IAAf4/////37ju3j/////OIAAJf////9IAAAB/AAAAywDAAD/////fHgbeP////9AggBA/////37ju3j/////SAAAAfwAAAMsAwAA/////3xlG3j/////fzkaFP////9BggfU/////34si3j/////fkOTeP////9+5Lt4/////32JA6b/////ToAEIf////8sAwAA/////0CCB7j/////OGD///////9IAAe0/////3y3GFH/////fzkqFP////9BggAo/////34si3j/////fkOTeP////9+5Lt4/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAAeE/////38Dw3j/////fmSbeP////84oQBw/////0gAAAH8AAADiAEAdf////98dxt4/////ywAAGj/////QYIF1P////9AgABg/////ywAAFj/////QYICEP////9AgAAw/////ywAAEH/////QYID0P////9AgAAQ/////ywAACX/////QYIFoP////9IAAWs/////ywAAEj/////QIAFpP////8sAABF/////0CAA0D/////SAAFmP////8sAABj/////0GCBWD/////QIAAEP////8sAABh/////0GCA5j/////SAAFgP////8sAABl/////0CAAxz/////SAAAYP////8sAAB0/////0GCBWz/////QIAAMP////8sAABv/////0GCAaj/////QIAAGP////8sAABu/////0CABKz/////LAAAav////9AgAVM/////0gAADT/////LAAAc/////9AgAPE/////0gABTz/////LAAAeP////9BggF8/////0CAABD/////LAAAdv////9AgAUo/////0gAAWz/////LAAA//////9BggUc/////0gABRj/////iAEAdP////8oAAAD/////0CCABj/////fmObeP////84gAAB/////0gAAAH8AAADgsMAAP////9IAACM/////ygAAAT/////QIIAHP////9+Y5t4/////ziAAAL/////SAAAAfwAAAOCowAA/////4KDAAT/////SAAAbP////8oAAAG/////0CCABz/////fmObeP////84gAAC/////0gAAAH8AAADgqMAAP////+CgwAE/////0gAAEz/////KAAAB/////9AggAY/////35jm3j/////OIAAAf////9IAAAB/AAAA4LDAAD/////SAAAMP////8oAAAI/////0CCABj/////fmObeP////84gAAB/////0gAAAH8AAADgsMAAP////9IAAAU/////35jm3j/////OIAAAf////9IAAAB/AAAA4LDAAD/////iAEAdP////8oAAAC/////0CCAAj/////ftYHNP////8oAAAB/////0CCAAj/////ftYHdP////8oAAAE/////0GCAAz/////KAAABv////9AggBI/////4EhAHD/////foSjeP////+BAQB0/////36jq3j/////gOEAeP////84oQKA/////4ABAHz/////OMEAYP////+RIQBg/////5EBAGT/////kOEAaP////+QAQBs/////0gAAAH8AAADLAMAAP////98eht4/////0GCBAT/////SAAAQP////+BAQBw/////37Ds3j/////gOEAdP////84gQKA/////4DBAHj/////OKEAUP////+AAQB8/////5EBAFD/////kOEAVP////+QwQBY/////5ABAFz/////SAAAAfwAAAMsAwAA/////3x6G3j/////QYIDxP////9/euBQ/////0gABAD/////iAEAdP////8oAAAD/////0CCABj/////fmObeP////84gAAB/////0gAAAH8AAADgsMAAP////9IAACM/////ygAAAT/////QIIAHP////9+Y5t4/////ziAAAL/////SAAAAfwAAAOCowAA/////4KDAAT/////SAAAbP////8oAAAG/////0CCABz/////fmObeP////84gAAC/////0gAAAH8AAADgqMAAP////+CgwAE/////0gAAEz/////KAAAB/////9AggAY/////35jm3j/////OIAAAf////9IAAAB/AAAA4LDAAD/////SAAAMP////8oAAAI/////0CCABj/////fmObeP////84gAAB/////0gAAAH8AAADgsMAAP////9IAAAU/////35jm3j/////OIAAAf////9IAAAB/AAAA4LDAAD/////iAEAdP////8oAAAC/////0CCAAj/////VtYEPv////8oAAAB/////0CCAAj/////VtYGPv////8oAAAE/////0GCAAz/////KAAABv////9AggBI/////4EhAHD/////foSjeP////+BAQB0/////36jq3j/////gOEAeP////84oQKA/////4ABAHz/////OMEAQP////+RIQBA/////5EBAET/////kOEASP////+QAQBM/////0gAAAH8AAADLAMAAP////98eht4/////0GCAqj/////SAAAQP////+BAQBw/////37Ds3j/////gOEAdP////84gQKA/////4DBAHj/////OKEAMP////+AAQB8/////5EBADD/////kOEANP////+QwQA4/////5ABADz/////SAAAAfwAAAMsAwAA/////3x6G3j/////QYICaP////9/euBQ/////0gAAqT/////iAEAdP////8oAAAJ/////0CCABj/////fmObeP////84gAAD/////0gAAAH8AAADyCMAAP////9IAAAU/////35jm3j/////OIAAA/////9IAAAB/AAAA8gjAAD/////gOEAcP////84YQKA/////4DBAHT/////OIEAIP////+AoQB4/////4ABAHz/////kOEAIP////+QwQAk/////5ChACj/////kAEALP////9IAAAB/AAAAywDAAD/////fHobeP////9BggH4/////39j4FD/////SAACNP////+IAQB0/////ygAAAn/////QIIAGP////9+Y5t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////0gAABT/////fmObeP////84gAAD/////0gAAAH8AAADyCMAAP////+A4QBw/////zhhAoD/////gMEAdP////84gQAQ/////4ChAHj/////gAEAfP////+Q4QAQ/////5DBABT/////kKEAGP////+QAQAc/////0gAAAH8AAADLAMAAP////98eht4/////0GCAYj/////f2PgUP////9IAAHE/////4gBAHT/////KAAABf////9AggA8/////35jm3j/////OIAAAf////9IAAAB/AAAA4CDAAD/////LAQAAP////9AggAI/////ziAAAD/4AAAOGEAgP////84oAIA/////0gAAAH8AAADLAMAAP////9BgAFE/////ztBAID/////SAAAFP////9+Y5t4/////ziAAAH/////SAAAAfwAAAODQwAA/////ywaAAD/////QIIACP////87XQAq/////4gBAHP/////LAAAAP////9BggAs/////4gBAHL/////i3oAAP////87WgAB/////ywAAAD/////QYIBRP////+AAQB8/////3wbAAD/////QIEBOP////98GwN4/////0gAATD/////iAEAcv////8sAAAA/////0GCACj/////g2EAfP////9/Q9N4/////ziAAAD/////f2XbeP////9IAAAB/AAAAywDAAD/////QYIBCP////9/ehhQ/////0gAAQD/////f0PTeP////9IAAAB/AAAA3x7G3j/////SAAA8P////9+Y5t4/////ziAAAH/////SAAAAfwAAAOIAQB0/////4CDAAD/////KAAACP////9BgQIQ/////zh+AAD//wAAVAAQOv////98YwAu/////3xpA6b/////ToAEIP////+TJAAA/////0gAAfT/////syQAAP////9IAAHs/////5MkAAD/////SAAB5P////+TJAAE/////38g/nD/////kAQAAP////9IAAHU/////5MkAAD/////SAABzP////+TJAAA/////0gAAcT/////kyQABP////9/IP5w/////5AEAAD/////SAABtP////9+Y5t4/////ztBAID/////OIAAAf////9IAAAB/AAAA4ADAAD/////O2AAAf////+YAQCA/////0gAAFj/////m+EAgP////87QQCA/////ztgAAH/////SAAASP////9/A8N4/////0gAAAH8AAADLAMAAP////98ZRt4/////385GhT/////QYIAKP////9+LIt4/////35Dk3j/////fwTDeP////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAABWP////9/I8t4/////0gAAVD/////iAEAcP////9/eNt4/////ywAAAD/////QYIAsP////8oAAAC/////zhgACD/////QIIACP////84YAAw/////5hhAAn/////iBoAAP////98AAd0/////ywAACv/////QYIAFP////8sAAAt/////0GCAAz/////LAAAIP////9AggBw/////3xgB3T/////LAAAMP////9AggBk/////34si3j/////fkOTeP////9/RNN4/////zigAAH/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAANj/////O1oAAf////87e////////0gAADD/////fiyLeP////9+Q5N4/////ziBAAn/////OKAAAf////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAApP////87GAAB/////4ABAHj/////fBgAAP////9BgP/M/////ywbAAD/////QYIALP////9+LIt4/////35Dk3j/////f0TTeP////9/Zdt4/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAABk/////4gBAHD/////LAAAAP////9AggBE/////0gAADT/////fiyLeP////9+Q5N4/////5oBAAj/////OIEACP////84oAAB/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAAAo/////zsYAAH/////gAEAeP////98GAAA/////0GA/8j/////fznCFP////+IFwAA/////3wAB3X/////QIL4BP////9/I8t4/////7oBAoD/////gAECxP////98CAOm/////zghAsD/////ToAAIP////8= + symbols: + - kind: Function + name: __pformatter + size: 2140 + flags: 2 + section: .text + - kind: Object + name: '@stringBase0' + size: 43 + flags: 2 + section: .rodata + - kind: Object + name: '@2720' + size: 36 + flags: 2 + section: .data + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 788 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 816 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 848 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 880 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 908 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 928 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1028 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 1092 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 1136 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1156 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1204 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 1248 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1268 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1316 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1360 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1376 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 1388 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 1416 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1516 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 1540 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1560 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1580 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 1684 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1724 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: c4372b70546db57d957a0899b2e65acd094e810c + signature: lCH9MP////98CAKm/////5ABAtT/////veECjP////87AAAg/////z7AAAD//wAAfHkbeP////98miN4/////3yvK3j/////fNszeP////98/Dt4/////zrWAAD//wAAOqECf/////86IAAA/////z6AAAD//wAAOuAAJf////+bAQAJ/////0gACET/////feN7eP////84gAAl/////0gAAAH8AAADLAMAAP////98cBt4/////0CCAED/////feN7eP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCCCD/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIIBP////84YP///////0gACAD/////fK8YUf////9+MSoU/////0GCACj/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAB9D/////fgODeP////9/ZNt4/////zihAHD/////SAAAAfwAAAOIgQB1/////3xvG3j/////OAT/2/////8oAABT/////0GBBbz/////OHQAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////4gBAHT/////KAAAA/////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAjP////8oAAAE/////0CCABz/////f2PbeP////84gAAC/////0gAAAH8AAADg8MAAP////+DowAE/////0gAAGz/////KAAABv////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABM/////ygAAAf/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAADD/////KAAACP////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////4gBAHT/////KAAAAv////9AggAI/////3//BzT/////KAAAAf////9AggAI/////3//B3T/////KAAABP////9BggAM/////ygAAAb/////QIIASP////+BIQBw/////3+k63j/////gQEAdP////9/w/N4/////4DhAHj/////OKECgP////+AAQB8/////zjBAGD/////kSEAYP////+RAQBk/////5DhAGj/////kAEAbP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggSU/////0gAAED/////gQEAcP////9/4/t4/////4DhAHT/////OIECgP////+AwQB4/////zihAFD/////gAEAfP////+RAQBQ/////5DhAFT/////kMEAWP////+QAQBc/////0gAAAH8AAADLAMAAP////98cht4/////0GCBFT/////fnKoUP////9IAASQ/////4gBAHT/////KAAAA/////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAjP////8oAAAE/////0CCABz/////f2PbeP////84gAAC/////0gAAAH8AAADg8MAAP////+DowAE/////0gAAGz/////KAAABv////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABM/////ygAAAf/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAADD/////KAAACP////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////4gBAHT/////KAAAAv////9AggAI/////1f/BD7/////KAAAAf////9AggAI/////1f/Bj7/////KAAABP////9BggAM/////ygAAAb/////QIIASP////+BIQBw/////3+k63j/////gQEAdP////9/w/N4/////4DhAHj/////OKECgP////+AAQB8/////zjBAED/////kSEAQP////+RAQBE/////5DhAEj/////kAEATP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggM4/////0gAAED/////gQEAcP////9/4/t4/////4DhAHT/////OIECgP////+AwQB4/////zihADD/////gAEAfP////+RAQAw/////5DhADT/////kMEAOP////+QAQA8/////0gAAAH8AAADLAMAAP////98cht4/////0GCAvj/////fnKoUP////9IAAM0/////4gBAHT/////KAAACf////9AggAY/////39j23j/////OIAAA/////9IAAAB/AAAA8gjAAD/////SAAAFP////9/Y9t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////4DhAHD/////OGECgP////+AwQB0/////ziBACD/////gKEAeP////+AAQB8/////5DhACD/////kMEAJP////+QoQAo/////5ABACz/////SAAAAfwAAAMsAwAA/////3xyG3j/////QYICiP////9+Y6hQ/////0gAAsT/////iAEAdP////8oAAAJ/////0CCABj/////f2PbeP////84gAAD/////0gAAAH8AAADyCMAAP////9IAAAU/////39j23j/////OIAAA/////9IAAAB/AAAA8gjAAD/////gOEAcP////84YQKA/////4DBAHT/////OIEAEP////+AoQB4/////4ABAHz/////kOEAEP////+QwQAU/////5ChABj/////kAEAHP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggIY/////35jqFD/////SAACVP////+IAQB0/////ygAAAX/////QIIAZP////9/Y9t4/////ziAAAH/////SAAAAfwAAAMsHAAA/////4CDAAD/////QYIAJP////8sBAAA/////0CCABz/////OGAAAP////84gAAA/////zig////////SAAAAfwAAAM4YP///////0gAA7z/////LAQAAP////9AggAI/////ziAAAD/4AAAOGEAgP////84oAIA/////0gAAAH8AAADLAMAAP////9BgAGs/////zpBAID/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOCQwAA/////ywcAAD/////QYIAJP////8sEgAA/////0CCABz/////OGAAAP////84gAAA/////zig////////SAAAAfwAAAM4YP///////0gAA1z/////LBIAAP////9AggAI/////zpWACT/////iAEAc/////8sAAAA/////0GCACz/////iAEAcv////+KcgAA/////zpSAAH/////LAAAAP////9BggGE/////4ABAHz/////fBMAAP////9AgQF4/////3wTA3j/////SAABcP////+IAQBy/////ywAAAD/////QYIAKP////+CYQB8/////35Dk3j/////OIAAAP////9+ZZt4/////0gAAAH8AAADLAMAAP////9BggFI/////35yGFD/////SAABQP////9+Q5N4/////0gAAAH8AAADfHMbeP////9IAAEw/////39j23j/////OIAAAf////9IAAAB/AAAAywcAAD/////gGMAAP////9BggAc/////zhgAAD/////OIAAAP////84oP///////0gAAAH8AAADOGD///////9IAAKs/////4gBAHT/////LAAAAP////9BggA4/////ywAAAL/////QYIAOP////8sAAAD/////0GCADj/////LAAABv////9BggA4/////ywAAAf/////QYIAQP////8sAAAI/////0GCAED/////LAAABP////9BggBA/////0gAAlz/////kiMAAP////9IAAJU/////7IjAAD/////SAACTP////+SIwAA/////0gAAkT/////kiMABP////9+IP5w/////5ADAAD/////SAACNP////+SIwAA/////0gAAiz/////kiMAAP////9IAAIk/////5IjAAT/////fiD+cP////+QAwAA/////0gAAhT/////f2PbeP////86QQCA/////ziAAAH/////SAAAAfwAAAOAAwAA/////zpgAAH/////mAEAgP////9IAABY/////5rhAID/////OkEAgP////86YAAB/////0gAAEj/////fgODeP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCACj/////fyzLeP////9/Q9N4/////34Eg3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAbj/////fiOLeP////9IAAGw/////4gBAHD/////fnCbeP////8sAAAA/////0GCARD/////KAAAAv////84YAAg/////0CCAAj/////OGAAMP////+YYQAJ/////4gSAAD/////fAAHdP////8sAAAr/////0GCABT/////LAAALf////9BggAM/////ywAACD/////QIIAQP////98YAd0/////ywAADD/////QIIANP////9/LMt4/////39D03j/////fkSTeP////84oAAB/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAAE4/////zpSAAH/////OnP///////+IAQBw/////ygAAAL/////QIIAiP////+IAQB1/////ygAAGH/////QYIADP////8oAABB/////0CCAHT/////LBMAAv////9AgAAM/////zhg////////SAABAP////9/LMt4/////39D03j/////fkSTeP////84oAAC/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAADY/////zpz//7/////OlIAAv////9IAAAw/////38sy3j/////f0PTeP////84gQAJ/////zigAAH/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAKT/////OhAAAf////+AAQB4/////3wQAAD/////QYD/zP////8sEwAA/////0GCACz/////fyzLeP////9/Q9N4/////35Ek3j/////fmWbeP////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAZP////+IAQBw/////ywAAAD/////QIIARP////9IAAA0/////38sy3j/////f0PTeP////+bAQAI/////ziBAAj/////OKAAAf////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAKP////86EAAB/////4ABAHj/////fBAAAP////9BgP/I/////34xghT/////iA8AAP////98AAd1/////0CC97j/////fiOLeP////+54QKM/////4ABAtT/////fAgDpv////84IQLQ/////06AACD///// + symbols: + - kind: Function + name: __pformatter + size: 2220 + flags: 2 + section: .text + - kind: Object + name: '@stringBase0' + size: 37 + flags: 2 + section: .rodata + - kind: Object + name: '@2934' + size: 336 + flags: 2 + section: .data + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Function + name: __msl_runtime_constraint_violation_s + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 976 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 996 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1044 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 1088 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1108 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1156 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1200 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1236 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1256 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 1268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 1296 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1332 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1436 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 1460 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1480 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1508 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1668 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1708 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: aef5b4a64791055aab810228b731dc7ba02337d5 + signature: lCH9MP////98CAKm/////5ABAtT/////veECjP////87AAAg/////z7AAAD//wAAfHkbeP////98miN4/////3yvK3j/////fNszeP////98/Dt4/////zrWAAD//wAAOqECf/////86IAAA/////z6AAAD//wAAOuAAJf////+bAQAJ/////0gACET/////feN7eP////84gAAl/////0gAAAH8AAADLAMAAP////98cBt4/////0CCAED/////feN7eP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCCCD/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIIBP////84YP///////0gACAD/////fK8YUf////9+MSoU/////0GCACj/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAB9D/////fgODeP////9/ZNt4/////zihAHD/////SAAAAfwAAAOIgQB1/////3xvG3j/////OAT/2/////8oAABT/////0GBBbz/////OHQAAP//AABUABA6/////3xjAC7/////fGkDpv////9OgAQg/////4gBAHT/////KAAAA/////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAjP////8oAAAE/////0CCABz/////f2PbeP////84gAAC/////0gAAAH8AAADg8MAAP////+DowAE/////0gAAGz/////KAAABv////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABM/////ygAAAf/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAADD/////KAAACP////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////4gBAHT/////KAAAAv////9AggAI/////3//BzT/////KAAAAf////9AggAI/////3//B3T/////KAAABP////9BggAM/////ygAAAb/////QIIASP////+BIQBw/////3+k63j/////gQEAdP////9/w/N4/////4DhAHj/////OKECgP////+AAQB8/////zjBAGD/////kSEAYP////+RAQBk/////5DhAGj/////kAEAbP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggSU/////0gAAED/////gQEAcP////9/4/t4/////4DhAHT/////OIECgP////+AwQB4/////zihAFD/////gAEAfP////+RAQBQ/////5DhAFT/////kMEAWP////+QAQBc/////0gAAAH8AAADLAMAAP////98cht4/////0GCBFT/////fnKoUP////9IAASQ/////4gBAHT/////KAAAA/////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAjP////8oAAAE/////0CCABz/////f2PbeP////84gAAC/////0gAAAH8AAADg8MAAP////+DowAE/////0gAAGz/////KAAABv////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABM/////ygAAAf/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAADD/////KAAACP////9AggAY/////39j23j/////OIAAAf////9IAAAB/AAAA4PjAAD/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////4gBAHT/////KAAAAv////9AggAI/////1f/BD7/////KAAAAf////9AggAI/////1f/Bj7/////KAAABP////9BggAM/////ygAAAb/////QIIASP////+BIQBw/////3+k63j/////gQEAdP////9/w/N4/////4DhAHj/////OKECgP////+AAQB8/////zjBAED/////kSEAQP////+RAQBE/////5DhAEj/////kAEATP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggM4/////0gAAED/////gQEAcP////9/4/t4/////4DhAHT/////OIECgP////+AwQB4/////zihADD/////gAEAfP////+RAQAw/////5DhADT/////kMEAOP////+QAQA8/////0gAAAH8AAADLAMAAP////98cht4/////0GCAvj/////fnKoUP////9IAAM0/////4gBAHT/////KAAACf////9AggAY/////39j23j/////OIAAA/////9IAAAB/AAAA8gjAAD/////SAAAFP////9/Y9t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////4DhAHD/////OGECgP////+AwQB0/////ziBACD/////gKEAeP////+AAQB8/////5DhACD/////kMEAJP////+QoQAo/////5ABACz/////SAAAAfwAAAMsAwAA/////3xyG3j/////QYICiP////9+Y6hQ/////0gAAsT/////iAEAdP////8oAAAJ/////0CCABj/////f2PbeP////84gAAD/////0gAAAH8AAADyCMAAP////9IAAAU/////39j23j/////OIAAA/////9IAAAB/AAAA8gjAAD/////gOEAcP////84YQKA/////4DBAHT/////OIEAEP////+AoQB4/////4ABAHz/////kOEAEP////+QwQAU/////5ChABj/////kAEAHP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggIY/////35jqFD/////SAACVP////+IAQB0/////ygAAAX/////QIIAZP////9/Y9t4/////ziAAAH/////SAAAAfwAAAMsHAAA/////4CDAAD/////QYIAJP////8sBAAA/////0CCABz/////OGAAAP////84gAAA/////zig////////SAAAAfwAAAM4YP///////0gAA7z/////LAQAAP////9AggAI/////ziAAAD/4AAAOGEAgP////84oAIA/////0gAAAH8AAADLAMAAP////9BgAGs/////zpBAID/////SAAAFP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOCQwAA/////ywcAAD/////QYIAJP////8sEgAA/////0CCABz/////OGAAAP////84gAAA/////zig////////SAAAAfwAAAM4YP///////0gAA1z/////LBIAAP////9AggAI/////zpWACT/////iAEAc/////8sAAAA/////0GCACz/////iAEAcv////+KcgAA/////zpSAAH/////LAAAAP////9BggGE/////4ABAHz/////fBMAAP////9AgQF4/////3wTA3j/////SAABcP////+IAQBy/////ywAAAD/////QYIAKP////+CYQB8/////35Dk3j/////OIAAAP////9+ZZt4/////0gAAAH8AAADLAMAAP////9BggFI/////35yGFD/////SAABQP////9+Q5N4/////0gAAAH8AAADfHMbeP////9IAAEw/////ywcAAD/////QYIAHP////84YAAA/////ziAAAD/////OKD///////9IAAAB/AAAAzhg////////SAACvP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOIAQB0/////4BjAAD/////LAAAAP////9BggA4/////ywAAAL/////QYIAOP////8sAAAD/////0GCADj/////LAAABv////9BggA4/////ywAAAf/////QYIAQP////8sAAAI/////0GCAED/////LAAABP////9BggBA/////0gAAlz/////kiMAAP////9IAAJU/////7IjAAD/////SAACTP////+SIwAA/////0gAAkT/////kiMABP////9+IP5w/////5ADAAD/////SAACNP////+SIwAA/////0gAAiz/////kiMAAP////9IAAIk/////5IjAAT/////fiD+cP////+QAwAA/////0gAAhT/////f2PbeP////86QQCA/////ziAAAH/////SAAAAfwAAAOAAwAA/////zpgAAH/////mAEAgP////9IAABY/////5rhAID/////OkEAgP////86YAAB/////0gAAEj/////fgODeP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCACj/////fyzLeP////9/Q9N4/////34Eg3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAbj/////fiOLeP////9IAAGw/////4gBAHD/////fnCbeP////8sAAAA/////0GCARD/////KAAAAv////84YAAg/////0CCAAj/////OGAAMP////+YYQAJ/////4gSAAD/////fAAHdP////8sAAAr/////0GCABT/////LAAALf////9BggAM/////ywAACD/////QIIAQP////98YAd0/////ywAADD/////QIIANP////9/LMt4/////39D03j/////fkSTeP////84oAAB/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAAE4/////zpSAAH/////OnP///////+IAQBw/////ygAAAL/////QIIAiP////+IAQB1/////ygAAGH/////QYIADP////8oAABB/////0CCAHT/////LBMAAv////9AgAAM/////zhg////////SAABAP////9/LMt4/////39D03j/////fkSTeP////84oAAC/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAADY/////zpz//7/////OlIAAv////9IAAAw/////38sy3j/////f0PTeP////84gQAJ/////zigAAH/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAKT/////OhAAAf////+AAQB4/////3wQAAD/////QYD/zP////8sEwAA/////0GCACz/////fyzLeP////9/Q9N4/////35Ek3j/////fmWbeP////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAZP////+IAQBw/////ywAAAD/////QIIARP////9IAAA0/////38sy3j/////f0PTeP////+bAQAI/////ziBAAj/////OKAAAf////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAKP////86EAAB/////4ABAHj/////fBAAAP////9BgP/I/////34xghT/////iA8AAP////98AAd1/////0CC97j/////fiOLeP////+54QKM/////4ABAtT/////fAgDpv////84IQLQ/////06AACD///// + symbols: + - kind: Function + name: __pformatter + size: 2220 + flags: 2 + section: .text + - kind: Object + name: '@stringBase0' + size: 37 + flags: 2 + section: .rodata + - kind: Object + name: '@2913' + size: 336 + flags: 2 + section: .data + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Function + name: __msl_runtime_constraint_violation_s + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 240 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 400 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 420 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 628 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 656 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 688 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 768 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 868 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 976 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 996 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1044 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 1088 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1108 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1156 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1200 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1236 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1256 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 1268 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 1296 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1332 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1436 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 1460 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1492 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1512 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1668 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1708 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: dfe95c191b6cbb33ecfab9fcbce15cd765396815 + signature: lCH9MP////98CAKm/////5ABAtT/////veECjP////87AAAg/////z6gAAD//wAAfHkbeP////98miN4/////3yvK3j/////fNszeP////98/Dt4/////zq1AAD//wAAOoECf/////86IAAA/////zrgACX/////PsAAAP//AACbAQAJ/////0gACMj/////feN7eP////84gAAl/////0gAAAH8AAADLAMAAP////98cBt4/////0CCAED/////feN7eP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCCKT/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIIiP////84YP///////0gACIT/////fK8YUf////9+MSoU/////0GCACj/////fyzLeP////9/Q9N4/////33ke3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gACFT/////fgODeP////9/ZNt4/////zihAHD/////SAAAAfwAAAOIAQB1/////3xvG3j/////LAAAaP////9BggZE/////0CAAGD/////LAAAWP////9BggIQ/////0CAADD/////LAAAQf////9BggPQ/////0CAABD/////LAAAJf////9BggYQ/////0gABhz/////LAAASP////9AgAYU/////ywAAEX/////QIADQP////9IAAYI/////ywAAGP/////QYIF0P////9AgAAQ/////ywAAGH/////QYIDmP////9IAAXw/////ywAAGX/////QIADHP////9IAABg/////ywAAHT/////QYIF3P////9AgAAw/////ywAAG//////QYIBqP////9AgAAY/////ywAAG7/////QIAE/P////8sAABq/////0CABbz/////SAAANP////8sAABz/////0CAA8T/////SAAFrP////8sAAB4/////0GCAXz/////QIAAEP////8sAAB2/////0CABZj/////SAABbP////8sAAD//////0GCBYz/////SAAFiP////+IAQB0/////ygAAAP/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAAIz/////KAAABP////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABs/////ygAAAb/////QIIAHP////9/Y9t4/////ziAAAL/////SAAAAfwAAAODwwAA/////4OjAAT/////SAAATP////8oAAAH/////0CCABj/////f2PbeP////84gAAB/////0gAAAH8AAADg+MAAP////9IAAAw/////ygAAAj/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAABT/////f2PbeP////84gAAB/////0gAAAH8AAADg+MAAP////+IAQB0/////ygAAAL/////QIIACP////9//wc0/////ygAAAH/////QIIACP////9//wd0/////ygAAAT/////QYIADP////8oAAAG/////0CCAEj/////gSEAcP////9/pOt4/////4EBAHT/////f8PzeP////+A4QB4/////zihAoD/////gAEAfP////84wQBg/////5EhAGD/////kQEAZP////+Q4QBo/////5ABAGz/////SAAAAfwAAAMsAwAA/////3xyG3j/////QYIEdP////9IAABA/////4EBAHD/////f+P7eP////+A4QB0/////ziBAoD/////gMEAeP////84oQBQ/////4ABAHz/////kQEAUP////+Q4QBU/////5DBAFj/////kAEAXP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggQ0/////35yoFD/////SAAEcP////+IAQB0/////ygAAAP/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAAIz/////KAAABP////9AggAc/////39j23j/////OIAAAv////9IAAAB/AAAA4PDAAD/////g6MABP////9IAABs/////ygAAAb/////QIIAHP////9/Y9t4/////ziAAAL/////SAAAAfwAAAODwwAA/////4OjAAT/////SAAATP////8oAAAH/////0CCABj/////f2PbeP////84gAAB/////0gAAAH8AAADg+MAAP////9IAAAw/////ygAAAj/////QIIAGP////9/Y9t4/////ziAAAH/////SAAAAfwAAAOD4wAA/////0gAABT/////f2PbeP////84gAAB/////0gAAAH8AAADg+MAAP////+IAQB0/////ygAAAL/////QIIACP////9X/wQ+/////ygAAAH/////QIIACP////9X/wY+/////ygAAAT/////QYIADP////8oAAAG/////0CCAEj/////gSEAcP////9/pOt4/////4EBAHT/////f8PzeP////+A4QB4/////zihAoD/////gAEAfP////84wQBA/////5EhAED/////kQEARP////+Q4QBI/////5ABAEz/////SAAAAfwAAAMsAwAA/////3xyG3j/////QYIDGP////9IAABA/////4EBAHD/////f+P7eP////+A4QB0/////ziBAoD/////gMEAeP////84oQAw/////4ABAHz/////kQEAMP////+Q4QA0/////5DBADj/////kAEAPP////9IAAAB/AAAAywDAAD/////fHIbeP////9BggLY/////35yoFD/////SAADFP////+IAQB0/////ygAAAn/////QIIAGP////9/Y9t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////0gAABT/////f2PbeP////84gAAD/////0gAAAH8AAADyCMAAP////+A4QBw/////zhhAoD/////gMEAdP////84gQAg/////4ChAHj/////gAEAfP////+Q4QAg/////5DBACT/////kKEAKP////+QAQAs/////0gAAAH8AAADLAMAAP////98cht4/////0GCAmj/////fmOgUP////9IAAKk/////4gBAHT/////KAAACf////9AggAY/////39j23j/////OIAAA/////9IAAAB/AAAA8gjAAD/////SAAAFP////9/Y9t4/////ziAAAP/////SAAAAfwAAAPIIwAA/////4DhAHD/////OGECgP////+AwQB0/////ziBABD/////gKEAeP////+AAQB8/////5DhABD/////kMEAFP////+QoQAY/////5ABABz/////SAAAAfwAAAMsAwAA/////3xyG3j/////QYIB+P////9+Y6BQ/////0gAAjT/////iAEAdP////8oAAAF/////0CCAGT/////f2PbeP////84gAAB/////0gAAAH8AAADLBwAAP////+AgwAA/////0GCACT/////LAQAAP////9AggAc/////zhgAAD/////OIAAAP////84oP///////0gAAAH8AAADOGD///////9IAAOc/////ywEAAD/////QIIACP////84gAAA/+AAADhhAID/////OKACAP////9IAAAB/AAAAywDAAD/////QYABjP////86QQCA/////0gAABT/////f2PbeP////84gAAB/////0gAAAH8AAADgkMAAP////8sHAAA/////0GCACT/////LBIAAP////9AggAc/////zhgAAD/////OIAAAP////84oP///////0gAAAH8AAADOGD///////9IAAM8/////ywSAAD/////QIIACP////86VQAk/////4gBAHP/////LAAAAP////9BggAs/////4gBAHL/////inIAAP////86UgAB/////ywAAAD/////QYIBZP////+AAQB8/////3wTAAD/////QIEBWP////98EwN4/////0gAAVD/////iAEAcv////8sAAAA/////0GCACj/////gmEAfP////9+Q5N4/////ziAAAD/////fmWbeP////9IAAAB/AAAAywDAAD/////QYIBKP////9+chhQ/////0gAASD/////fkOTeP////9IAAAB/AAAA3xzG3j/////SAABEP////8sHAAA/////0GCABz/////OGAAAP////84gAAA/////zig////////SAAAAfwAAAM4YP///////0gAApz/////f2PbeP////84gAAB/////0gAAAH8AAADiAEAdP////+AgwAA/////ygAAAj/////QYECcP////84dgAA//8AAFQAEDr/////fGMALv////98aQOm/////06ABCD/////kiQAAP////9IAAJU/////7IkAAD/////SAACTP////+SJAAA/////0gAAkT/////kiQABP////9+IP5w/////5AEAAD/////SAACNP////+SJAAA/////0gAAiz/////kiQAAP////9IAAIk/////5IkAAT/////fiD+cP////+QBAAA/////0gAAhT/////f2PbeP////86QQCA/////ziAAAH/////SAAAAfwAAAOAAwAA/////zpgAAH/////mAEAgP////9IAABY/////5rhAID/////OkEAgP////86YAAB/////0gAAEj/////fgODeP////9IAAAB/AAAAywDAAD/////fGUbeP////9+MRoU/////0GCACj/////fyzLeP////9/Q9N4/////34Eg3j/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAbj/////fiOLeP////9IAAGw/////4gBAHD/////fnCbeP////8sAAAA/////0GCARD/////KAAAAv////84YAAg/////0CCAAj/////OGAAMP////+YYQAJ/////4gSAAD/////fAAHdP////8sAAAr/////0GCABT/////LAAALf////9BggAM/////ywAACD/////QIIAQP////98YAd0/////ywAADD/////QIIANP////9/LMt4/////39D03j/////fkSTeP////84oAAB/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAAE4/////zpSAAH/////OnP///////+IAQBw/////ygAAAL/////QIIAiP////+IAQB1/////ygAAGH/////QYIADP////8oAABB/////0CCAHT/////LBMAAv////9AgAAM/////zhg////////SAABAP////9/LMt4/////39D03j/////fkSTeP////84oAAC/////32JA6b/////ToAEIf////8sAwAA/////0CCAAz/////OGD///////9IAADY/////zpz//7/////OlIAAv////9IAAAw/////38sy3j/////f0PTeP////84gQAJ/////zigAAH/////fYkDpv////9OgAQh/////ywDAAD/////QIIADP////84YP///////0gAAKT/////OhAAAf////+AAQB4/////3wQAAD/////QYD/zP////8sEwAA/////0GCACz/////fyzLeP////9/Q9N4/////35Ek3j/////fmWbeP////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAZP////+IAQBw/////ywAAAD/////QIIARP////9IAAA0/////38sy3j/////f0PTeP////+bAQAI/////ziBAAj/////OKAAAf////99iQOm/////06ABCH/////LAMAAP////9AggAM/////zhg////////SAAAKP////86EAAB/////4ABAHj/////fBAAAP////9BgP/I/////34xghT/////iA8AAP////98AAd1/////0CC9zT/////fiOLeP////+54QKM/////4ABAtT/////fAgDpv////84IQLQ/////06AACD///// + symbols: + - kind: Function + name: __pformatter + size: 2352 + flags: 2 + section: .text + - kind: Object + name: '@stringBase0' + size: 37 + flags: 2 + section: .rodata + - kind: Object + name: '@2889' + size: 36 + flags: 2 + section: .data + - kind: Function + name: strchr + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Function + name: parse_format + size: 0 + flags: 2 + section: .text + - kind: Function + name: __va_arg + size: 0 + flags: 1 + section: .text + - kind: Function + name: longlong2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: long2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: float2str + size: 0 + flags: 2 + section: .text + - kind: Function + name: double2hex + size: 0 + flags: 2 + section: .text + - kind: Function + name: __msl_runtime_constraint_violation_s + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@wstringBase0' + size: 2 + flags: 2 + section: .sdata + - kind: Function + name: wcstombs + size: 0 + flags: 1 + section: .text + - kind: Function + name: memchr + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 472 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 504 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 564 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 584 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 684 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 748 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 792 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 820 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 852 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 884 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 912 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 932 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1032 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 1096 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 1140 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1160 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1208 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 1252 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1272 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1320 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 1364 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1400 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1420 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 1432 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 1460 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1496 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1600 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 1624 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 1656 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 1676 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1696 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 1800 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 1840 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/__register_fragment.yml b/assets/__register_fragment.yml new file mode 100644 index 0000000..e23b696 --- /dev/null +++ b/assets/__register_fragment.yml @@ -0,0 +1,69 @@ +- symbol: 0 + hash: 20cc2c335b1df2d92f0c8e3d39063f4e864cff0e + signature: PKAAAP//AAA4pQAA//8AAIAFAAj/////LAAAAP////9AggAc/////5BlAAD/////OAAAAf////84YAAA/////5CFAAT/////kAUACP////9OgAAg/////zhg////////ToAAIP////8= + symbols: + - kind: Function + name: __register_fragment + size: 52 + flags: 1 + section: .text + - kind: Object + name: fragmentinfo + size: 12 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 2656e9aa9864995db04839bae9bff4955f4eb881 + signature: PKAAAP//AAA4pQAA//8AAEgAAAT/////SAAABP////+ABQAI/////ywAAAD/////QIIAHP////+QZQAA/////zgAAAH/////OGAAAP////+QhQAE/////5AFAAj/////SAAACP////84YP///////06AACD///// + symbols: + - kind: Function + name: __register_fragment + size: 60 + flags: 1 + section: .text + - kind: Object + name: fragmentinfo + size: 12 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 +- symbol: 0 + hash: 7a7b517c57b230978a35628147683bf87839916c + signature: PKAAAP//AAA4AAAg/////zilAAD//wAAOMAAAP////98CQOm/////4AFAAj/////LAAAAP////9AggAc/////5BlAAD/////OAAAAf////98wzN4/////5CFAAT/////kAUACP////9OgAAg/////zjGAAH/////OKUADP////9CAP/U/////zhg////////ToAAIP////8= + symbols: + - kind: Function + name: __register_fragment + size: 76 + flags: 1 + section: .text + - kind: Object + name: fragmentinfo + size: 384 + flags: 2 + section: .bss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 diff --git a/assets/__set_debug_bba.yml b/assets/__set_debug_bba.yml new file mode 100644 index 0000000..93ac099 --- /dev/null +++ b/assets/__set_debug_bba.yml @@ -0,0 +1,19 @@ +- symbol: 0 + hash: a34eda2a630deec55eb36b098f554d192ef184aa + signature: OAAAAf////+YAAAA/+AAAE6AACD///// + symbols: + - kind: Function + name: __set_debug_bba + size: 12 + flags: 2 + section: .init + - kind: Object + name: Debug_BBA + size: 1 + flags: 2 + section: .sbss + relocations: + - offset: 4 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/__start.yml b/assets/__start.yml new file mode 100644 index 0000000..0ebacf3 --- /dev/null +++ b/assets/__start.yml @@ -0,0 +1,687 @@ +- symbol: 0 + hash: 53712877bb6372895b334e37d21b86d044691a87 + signature: SAAAAfwAAANIAAAB/AAAAzgA////////lCH/+P////+QAQAE/////5ABAAD/////SAAAAfwAAAM4AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIAMP////+A5gAM/////zigAAD/////KAcAAv////9BggAQ/////ygHAAP/////QIIAGP////84oAAB/////zzAAAD//wAAOMYAAP//AAB8yAOm/////06AACH/////PMCAAP////84xgD0/////4CmAAD/////KAUAAP////9BogBQ/////4DFAAj/////KAYAAP////9BogBE/////3zFMhT/////gcYAAP////8oDgAA/////0GCADT/////OeYABP////99yQOm/////zjGAAT/////gOYAAP////985yoU/////5DmAAD/////QgD/8P////88oIAA/////zilADT/////VecANP////+Q5QAA/////0gAAAz/////OcAAAP////854AAA/////0gAAAH8AAADSAAAAfwAAANIAAAB/AAAA33Dc3j/////feR7eP////9IAAAB/AAAA0gAAAD8AAAD + symbols: + - kind: Function + name: __start + size: 240 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: DBInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: c3b5b5a881dbed68e01f5c2a2c7f615a4f3562b2 + signature: SAAAAfwAAANIAAAB/AAAAzgA////////lCH/+P////+QAQAE/////5ABAAD/////SAAAAfwAAAM4AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIAMP////+A5gAM/////zigAAD/////KAcAAv////9BggAQ/////ygHAAP/////QIIAGP////84oAAB/////zzAAAD//wAAOMYAAP//AAB8yAOm/////06AACH/////PMCAAP////84xgD0/////4CmAAD/////KAUAAP////9BogBQ/////4DFAAj/////KAYAAP////9BogBE/////3zFMhT/////gcYAAP////8oDgAA/////0GCADT/////OeYABP////99yQOm/////zjGAAT/////gOYAAP////985yoU/////5DmAAD/////QgD/8P////88oIAA/////zilADT/////VecANP////+Q5QAA/////0gAAAz/////OcAAAP////854AAA/////0gAAAH8AAADSAAAAfwAAAM8gIAA/////ziEMOb/////oGQAAP////9wZYAA/////0GCABD/////cGN///////8oAwAB/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA33Dc3j/////feR7eP////9IAAAB/AAAA0gAAAD8AAAD + symbols: + - kind: Function + name: __start + size: 276 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: DBInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __check_pad3 + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: d6fa76cf9934686c72fb9b969ed123a5474bfc33 + signature: SAAAAfwAAANIAAAB/AAAAzgA////////lCH/+P////+QAQAE/////5ABAAD/////SAAAAfwAAAM4AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIADP////+A5gAM/////0gAACT/////PKCAAP////84pQA0/////4ClAAD/////KAUAAP////9BggA4/////zzggAD/////OOcw6P////+A5wAA/////zigAAD/////KAcAAv////9BggAQ/////ygHAAP/////QIIAGP////84oAAB/////zzAAAD//wAAOMYAAP//AAB8yAOm/////06AACH/////PMCAAP////84xgD0/////4CmAAD/////KAUAAP////9BogBQ/////4DFAAj/////KAYAAP////9BogBE/////3zFMhT/////gcYAAP////8oDgAA/////0GCADT/////OeYABP////99yQOm/////zjGAAT/////gOYAAP////985yoU/////5DmAAD/////QgD/8P////88oIAA/////zilADT/////VecANP////+Q5QAA/////0gAAAz/////OcAAAP////854AAA/////0gAAAH8AAADSAAAAfwAAAM8gIAA/////ziEMOb/////oGQAAP////9wZYAA/////0GCABD/////cGN///////8oAwAB/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA33Dc3j/////feR7eP////9IAAAB/AAAA0gAAAD8AAAD + symbols: + - kind: Function + name: __start + size: 312 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: DBInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __check_pad3 + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 10 + addend: 0 +- symbol: 0 + hash: 64a2658a78dfba5653390a856bc45cf53daad067 + signature: SAAAAfwAAANIAAAB/AAAAzgA////////lCH/+P////+QAQAE/////5ABAAD/////SAAAAfwAAAM4AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIADP////+A5gAM/////0gAACT/////PKCAAP////84pQA0/////4ClAAD/////KAUAAP////9BggBM/////zzggAD/////OOcw6P////+A5wAA/////zigAAD/////KAcAAv////9BggAk/////ygHAAP/////OKAAAf////9BggAY/////ygHAAT/////QIIAIP////84oAAC/////0gAAAH8AAADSAAAFP////88wAAA//8AADjGAAD//wAAfMgDpv////9OgAAh/////zzAgAD/////OMYA9P////+ApgAA/////ygFAAD/////QaIAUP////+AxQAI/////ygGAAD/////QaIARP////98xTIU/////4HGAAD/////KA4AAP////9BggA0/////znmAAT/////fckDpv////84xgAE/////4DmAAD/////fOcqFP////+Q5gAA/////0IA//D/////PKCAAP////84pQA0/////1XnADT/////kOUAAP////9IAAAM/////znAAAD/////OeAAAP////9IAAAB/AAAA0gAAAH8AAADPICAAP////84hDDm/////6BkAAD/////cGWAAP////9BggAQ/////3Bjf///////KAMAAf////9AggAI/////0gAAAH8AAADSAAAAfwAAAMoAwAB/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA33Dc3j/////feR7eP////9IAAAB/AAAA0gAAAD8AAAD + symbols: + - kind: Function + name: __start + size: 348 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: __set_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: DBInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __check_pad3 + size: 0 + flags: 2 + section: .init + - kind: Function + name: __get_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK_BBA + size: 0 + flags: 5 + section: null + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 13 + addend: 0 +- symbol: 0 + hash: b31df110c1c1d82bb84148437e3b9a4d601e3041 + signature: SAAAAfwAAANIAAAB/AAAA0gAAAH8AAADOAD///////+UIf/4/////5ABAAT/////kAEAAP////84AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIADP////+A5gAM/////0gAACT/////PKCAAP////84pQA0/////4ClAAD/////KAUAAP////9BggBM/////zzggAD/////OOcw6P////+A5wAA/////zigAAD/////KAcAAv////9BggAk/////ygHAAP/////OKAAAf////9BggAY/////ygHAAT/////QIIAIP////84oAAC/////0gAAAH8AAADSAAAFP////88wAAA//8AADjGAAD//wAAfMgDpv////9OgAAh/////zzAgAD/////OMYA9P////+ApgAA/////ygFAAD/////QaIAYP////+AxQAI/////ygGAAD/////QaIAVP////98xTIU/////4HGAAD/////KA4AAP////9BggBE/////znmAAT/////fckDpv////84xgAE/////4DmAAD/////fOcqFP////+Q5gAA/////0IA//D/////PKCAAP////84pQA0/////1XnADT/////kOUAAP////88oIAA/////zilMRD/////VecANP////+Q5QAA/////0gAAAz/////OcAAAP////854AAA/////0gAAAH8AAADPICAAP////84hDDm/////6BkAAD/////cGWAAP////9BggAQ/////3Bjf///////KAMAAf////9AggAI/////0gAAAH8AAADSAAAAfwAAAMoAwAB/////0CCAAj/////SAAAAfwAAANIAAAB/AAAA33Dc3j/////feR7eP////9IAAAB/AAAA0gAAAD8AAAD + symbols: + - kind: Function + name: __start + size: 360 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __set_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __check_pad3 + size: 0 + flags: 2 + section: .init + - kind: Function + name: __get_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK_BBA + size: 0 + flags: 1 + section: null + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 8 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 6b6e50a541e3898b602b7982f951051424e6257d + signature: SAAAAfwAAANIAAAB/AAAAzgA////////lCH/+P////+QAQAE/////5ABAAD/////SAAAAfwAAAM4AAAA/////zzAgAD/////OMYARP////+QBgAA/////zzAgAD/////OMYA9P////+AxgAA/////ygGAAD/////QYIADP////+A5gAM/////0gAACT/////PKCAAP////84pQA0/////4ClAAD/////KAUAAP////9BggBM/////zzggAD/////OOcw6P////+A5wAA/////zigAAD/////KAcAAv////9BggAk/////ygHAAP/////OKAAAf////9BggAY/////ygHAAT/////QIIAIP////84oAAC/////0gAAAH8AAADSAAAFP////88wAAA//8AADjGAAD//wAAfMgDpv////9OgAAh/////zzAgAD/////OMYA9P////+ApgAA/////ygFAAD/////QaIAYP////+AxQAI/////ygGAAD/////QaIAVP////98xTIU/////4HGAAD/////KA4AAP////9BggBE/////znmAAT/////fckDpv////84xgAE/////4DmAAD/////fOcqFP////+Q5gAA/////0IA//D/////PKCAAP////84pQA0/////1XnADT/////kOUAAP////88oIAA/////zilMRD/////VecANP////+Q5QAA/////0gAAAz/////OcAAAP////854AAA/////0gAAAH8AAADSAAAAfwAAAM8gIAA/////ziEMOb/////oGQAAP////9wZYAA/////0GCABD/////cGN///////8oAwAB/////0CCAAj/////SAAAAfwAAANIAAAB/AAAAygDAAH/////QIIACP////9IAAAB/AAAA0gAAAH8AAADfcNzeP////995Ht4/////0gAAAH8AAADSAAAAPwAAAM= + symbols: + - kind: Function + name: __start + size: 364 + flags: 5 + section: .init + - kind: Function + name: __init_registers + size: 0 + flags: 2 + section: .init + - kind: Function + name: __init_hardware + size: 0 + flags: 1 + section: .init + - kind: Function + name: __init_data + size: 0 + flags: 2 + section: .init + - kind: Function + name: __set_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK + size: 0 + flags: 1 + section: null + - kind: Function + name: DBInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSInit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __check_pad3 + size: 0 + flags: 2 + section: .init + - kind: Function + name: __get_debug_bba + size: 0 + flags: 2 + section: .init + - kind: Function + name: InitMetroTRK_BBA + size: 0 + flags: 1 + section: null + - kind: Function + name: __init_user + size: 0 + flags: 1 + section: .text + - kind: Function + name: main + size: 0 + flags: 1 + section: .text + - kind: Function + name: exit + size: 0 + flags: 5 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 13 + addend: 0 diff --git a/assets/__stdio_atexit.yml b/assets/__stdio_atexit.yml new file mode 100644 index 0000000..472c024 --- /dev/null +++ b/assets/__stdio_atexit.yml @@ -0,0 +1,74 @@ +- symbol: 0 + hash: c33febb49422cf93193217b85050688499bba101 + signature: ToAAIP////8= + symbols: + - kind: Function + name: __stdio_atexit + size: 4 + flags: 1 + section: .text + relocations: [] +- symbol: 0 + hash: fa600b3dbea6e43098448e26ae05503d7d26ce45 + signature: PGAAAP//AAA4YwAA//8AAJBgAAD/4AAAToAAIP////8= + symbols: + - kind: Function + name: __stdio_atexit + size: 16 + flags: 1 + section: .text + - kind: Function + name: __close_all + size: 0 + flags: 1 + section: .text + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 5379a24e31fc4aa0bbcd90a4d8a2ca3309dfaf43 + signature: PGAAAP//AAA4AwAA//8AAJAAAAD/4AAAToAAIP////8= + symbols: + - kind: Function + name: __stdio_atexit + size: 16 + flags: 1 + section: .text + - kind: Function + name: __close_all + size: 0 + flags: 1 + section: .text + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + relocations: + - offset: 0 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 4 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 8 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 diff --git a/assets/exit.yml b/assets/exit.yml new file mode 100644 index 0000000..a28f2fd --- /dev/null +++ b/assets/exit.yml @@ -0,0 +1,537 @@ +- symbol: 0 + hash: 0800caab7cb7f0642285f5803fcef75ac25020f5 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAANIAAAB/AAAA4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: exit + size: 36 + flags: 5 + section: .text + - kind: Function + name: __fini_cpp + size: 0 + flags: 2 + section: .text + - kind: Function + name: _ExitProcess + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 6e6e763b2d483fc6d76f3d8f3dee23596d21ad2d + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////8/4AAA//8AADv/AAD//wAASAAAEP////99iQOm/////06ABCH/////O/8ABP////+BnwAA/////ywMAAD/////QIL/7P////9IAAAB/AAAA4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: exit + size: 76 + flags: 5 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + - kind: Function + name: PPCHalt + size: 0 + flags: 5 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 9bbc4118793c3d57bb2f55b0bf4715715801e392 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+AAAAA/+AAAJBhAAj/////LAAAAP////9AggBg/////zhgAAD/////SAAAAfwAAAM4YAAA/////0gAAAH8AAADSAAAAfwAAAM8YAAA//8AADvjAAD//wAASAAAFP////+BnwAA/////32JA6b/////ToAEIf////87/wAE/////4AfAAD/////KAAAAP////9Agv/o/////4AAAAD/4AAAKAAAAP////9BggAY/////4GAAAD/4AAAfYkDpv////9OgAQh/////zgAAAD/////kAAAAP/gAACAYQAI/////0gAAAH8AAADgAEAJP////+D4QAc/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: exit + size: 152 + flags: 1 + section: .text + - kind: Object + name: __aborting + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __destroy_global_chain + size: 0 + flags: 1 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __exit + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 52 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 128 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: e96a2a5126bc43492587d90284e366a897d86342 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIATP////9IAAAB/AAAAzxgAAD//wAAOAMAAP//AAB8HwN4/////0gAABD/////fYkDpv////9OgAQh/////zv/AAT/////gZ8AAP////8oDAAA/////0CC/+z/////gYAAAP/gAAAoDAAA/////0GCABT/////fYkDpv////9OgAQh/////zgAAAD/////kAAAAP/gAAA8YAAA//8AADvjAAD//wAASAAAIP////+AYAAA/+AAADhj////////VGAQOv////+QYAAA/+AAAH2fAC7/////fYkDpv////9OgAQh/////4AAAAD/4AAALAAAAP////9Bgf/c/////4GAAAD/4AAAKAwAAP////9BggAU/////32JA6b/////ToAEIf////84AAAA/////5AAAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: exit + size: 204 + flags: 1 + section: .text + - kind: Object + name: __aborting + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __destroy_global_chain + size: 0 + flags: 1 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __atexit_funcs + size: 256 + flags: 2 + section: .bss + - kind: Object + name: __atexit_curr_func + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: __console_exit + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: _ExitProcess + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 140 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 176 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 8 + addend: 0 +- symbol: 0 + hash: e255c1c3e18ab8e3fae73362f53994288aca0091 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QIIAXP////84YAAA/////0gAAAH8AAADOGAAAP////9IAAAB/AAAA0gAAAH8AAADPGAAAP//AAA4AwAA//8AAHwfA3j/////SAAAEP////99iQOm/////06ABCH/////O/8ABP////+BnwAA/////ygMAAD/////QIL/7P////+BgAAA/+AAACgMAAD/////QYIAFP////99iQOm/////06ABCH/////OAAAAP////+QAAAA/+AAADhgAAD/////SAAAAfwAAAM8YAAA//8AADvjAAD//wAASAAAIP////+AYAAA/+AAADhj////////VGAQOv////+QYAAA/+AAAH2fAC7/////fYkDpv////9OgAQh/////4AAAAD/4AAALAAAAP////9Bgf/c/////zhgAAD/////SAAAAfwAAANIAAAB/AAAA4GAAAD/4AAAKAwAAP////9BggAU/////32JA6b/////ToAEIf////84AAAA/////5AAAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: exit + size: 240 + flags: 1 + section: .text + - kind: Object + name: __aborting + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __destroy_global_chain + size: 0 + flags: 1 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __atexit_funcs + size: 256 + flags: 1 + section: .bss + - kind: Object + name: __atexit_curr_func + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: __kill_critical_regions + size: 0 + flags: 1 + section: .text + - kind: Object + name: __console_exit + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: _ExitProcess + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 44 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 48 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 124 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 128 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 136 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 148 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 188 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 2f07bcb22f27a8c94fa07924ee7eaa10c1878804 + signature: fAgCpv////+QAQAE/////5Qh/+j/////k+EAFP////+AAAAA/+AAACwAAAD/////QIIAhP////88YAAA//8AADvjAAD//wAASAAAJP////+AYAAA/+AAADhj////////VGAQOv////+QYAAA/+AAAHx/AhT/////gYMAAP////99iAOm/////06AACH/////gAAAAP/gAAAsAAAA/////0GB/9j/////SAAAAfwAAAM8YAAA//8AADgDAAD//wAAfB8DeP////9IAAAQ/////32IA6b/////ToAAIf////87/wAE/////4GfAAD/////KAwAAP////9Agv/s/////4GAAAD/4AAAKAwAAP////9BggAU/////32IA6b/////ToAAIf////84AAAA/////5AAAAD/4AAAPGAAAP//AAA74wAA//8AAEgAACT/////gGAAAP/gAAA4Y////////1RgEDr/////kGAAAP/gAAB8fwIU/////4GDAAD/////fYgDpv////9OgAAh/////4AAAAD/4AAALAAAAP////9Bgf/Y/////0gAAAH8AAADgYAAAP/gAAAoDAAA/////0GCABT/////fYgDpv////9OgAAh/////zgAAAD/////kAAAAP/gAABIAAAB/AAAA4ABABz/////g+EAFP////84IQAY/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: exit + size: 268 + flags: 1 + section: .text + - kind: Object + name: __aborting + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: atexit_funcs + size: 256 + flags: 2 + section: .bss + - kind: Object + name: atexit_curr_func + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __destroy_global_chain + size: 0 + flags: 1 + section: .text + - kind: Object + name: _dtors + size: 0 + flags: 1 + section: .dtors + - kind: Object + name: __stdio_exit + size: 4 + flags: 1 + section: .sbss + - kind: Object + name: __atexit_funcs + size: 256 + flags: 2 + section: .bss + - kind: Object + name: __atexit_curr_func + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __kill_critical_regions + size: 0 + flags: 1 + section: .text + - kind: Object + name: __console_exit + size: 4 + flags: 1 + section: .sbss + - kind: Function + name: _ExitProcess + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 128 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 156 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 8 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 240 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 11 + addend: 0 diff --git a/assets/fwrite.yml b/assets/fwrite.yml new file mode 100644 index 0000000..8aec812 --- /dev/null +++ b/assets/fwrite.yml @@ -0,0 +1,179 @@ +- symbol: 0 + hash: ab08c0be1d7da9b47729c87600215b80277f7e4b + signature: SAAAAPwAAAM= + symbols: + - kind: Function + name: fwrite + size: 4 + flags: 1 + section: .text + - kind: Function + name: __fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 0 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 82d08ce341917ff7f79c945a5cd98f598ad04ee6 + signature: lCH/8P////98CAKm/////5ABABT/////SAAAAfwAAAOAAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: fwrite + size: 32 + flags: 1 + section: .text + - kind: Function + name: __fwrite + size: 0 + flags: 1 + section: .text + relocations: + - offset: 12 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 9b415ea8e6af3f2de68f020ef9fe143647077313 + signature: lCH/4P////98CAKm/////5ABACT/////kGEACP////84YAAC/////5PhABz/////kIEADP////+QoQAQ/////5DBABT/////SAAAAfwAAAOAYQAI/////4CBAAz/////gKEAEP////+AwQAU/////0gAAAH8AAADfH8beP////84YAAC/////0gAAAH8AAADgAEAJP////9/4/t4/////4PhABz/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: fwrite + size: 96 + flags: 1 + section: .text + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __fwrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 70727a91409f97afd32dea2e3198602b860183cd + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////983zN4/////5PBABj/////fL4reP////+ToQAU/////3ydI3j/////k4EAEP////98fBt4/////zhgAAL/////SAAAAfwAAAN/g+N4/////3+k63j/////f8XzeP////9/5vt4/////0gAAAH8AAADfGAbeP////84YAAC/////3wfA3j/////SAAAAfwAAAOAAQAk/////3/j+3j/////g+EAHP////+DwQAY/////4OhABT/////g4EAEP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: fwrite + size: 124 + flags: 1 + section: .text + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __fwrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + relocations: + - offset: 48 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 84 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 5183119dc4e6ae1fbf16ce097a874d452b894fc8 + signature: fAgCpv////+QAQAE/////5Qh/7j/////vyEALP////87RAAA/////ztmAAD/////O4MAAP////87JQAA/////zh7AAD/////OIAAAP////9IAAAB/AAAAywDAAD/////QIIAEP////84ewAA/////ziA////////SAAAAfwAAAN8GsnX/////3wdA3j/////QYIAHP////+IGwAK/////ygAAAD/////QIIAEP////+gGwAE/////1QA13//////QIIADP////84YAAA/////0gAAmD/////LAAAAv////9AggAI/////0gAAAH8AAADiBsABf////874AAB/////zh/AAD/////VADv//////84nwAA/////0GCABj/////oBsABP////9UANd+/////ywAAAP/////QYIACP////84gAAA/////ywEAAD/////QIIAGP////+IGwAE/////1QA/77/////KAAAAv////9BggAI/////zhgAAD/////LAMAAP////9AggAY/////4gbAAT/////VAD/vv////8oAAAB/////0GCAAj/////O+AAAP////+IewAI/////1Rg33//////QIIAJP////+IGwAE/////1QA773/////QYIAGP////84AAAB/////1ADLjT/////mHsACP////9/Y9t4/////0gAAAH8AAADiBsACP////9UAN9+/////ygAAAH/////QYIAHP////84AAAB/////5gbAAr/////OAAAAP////84YAAA/////5AbACT/////SAABnP////8oHQAA/////zvcAAD/////O4AAAP////9BggD8/////4CbACD/////gHsAGP////98BBhA/////0CCAAz/////LB8AAP////9BggDk/////4AbABz/////fGMgUP////98AwBQ/////5AbACT/////gBsAJP////+QAQAg/////4ABACD/////fADoQP////9AgQAI/////5OhACD/////gKEAIP////8oBQAA/////0GCADz/////gHsAIP////9/xPN4/////0gAAAH8AAADgGEAIP////+AGwAg/////3/eGhT/////fAAaFP////+QGwAg/////3+cGhT/////f6PoUP////+AYQAg/////4AbACT/////fAMAUP////+QGwAk/////4B7ACT/////KAMAAP////9AggAc/////6AbAAT/////VADXfv////8sAAAD/////0CCAAz/////f5zqFP////9IAABU/////ygDAAD/////QYIAEP////+IGwAE/////1QA/7//////QIIAMP////84ewAA/////ziAAAD/////SAAAAfwAAAMsAwAA/////0GCABz/////OAAAAf////+YGwAK/////zgAAAD/////O6AAAP////+QGwAk/////0gAABT/////KB0AAP////9BggAM/////ywfAAD/////QIL/NP////8oHQAA/////0GCAGj/////LB8AAP////9AggBg/////4P7ABj/////fB7qFP////+DOwAc/////zh7AAD/////OIEAIP////+T2wAY/////5O7ABz/////kBsAIP////9IAAAB/AAAAywDAAD/////QYIAFP////84AAAB/////5gbAAr/////OAAAAP////+QGwAk/////4ABACD/////f2PbeP////+T+wAY/////3+cAhT/////kzsAHP////9IAAAB/AAAAzgAAAD/////kBsAJP////+IGwAE/////1QA/77/////KAAAAv////9BggAM/////zgAAAD/////kBsAJP////84Gv///////3wcAhT/////fGDTlv////+7IQAs/////4ABAEz/////OCEASP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: fwrite + size: 732 + flags: 1 + section: .text + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __stdio_atexit + size: 0 + flags: 1 + section: .text + - kind: Function + name: __prep_buffer + size: 0 + flags: 1 + section: .text + - kind: Function + name: memcpy + size: 0 + flags: 1 + section: null + - kind: Function + name: __flush_buffer + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 516 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 616 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 664 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/longlong2str.yml b/assets/longlong2str.yml new file mode 100644 index 0000000..35f29cd --- /dev/null +++ b/assets/longlong2str.yml @@ -0,0 +1,233 @@ +- symbol: 0 + hash: 2071840d533ee7290802a70fae61280be2aeb10f + signature: lCH/0P////98CAKm/////5ABADT/////fIAbef////++wQAI/////zsgAAD/////fH8beP////98niN4/////3y3K3j/////fNgzeP////87Zf///////ztAAAD/////myX///////9AggAw/////4AGAAz/////LAAAAP////9AggAk/////4gGAAP/////LAAAAP////9BggAQ/////4gGAAX/////KAAAb/////9BggAM/////39j23j/////SAACLP////+IpgAF/////zgF/6j/////KAAAIP////9BgQCM/////zygAAD//wAAVAAQOv////84pQAA//8AAHylAC7/////fKkDpv////9OgAQg/////zugAAD/////bGCAAP////9vpoAA/////zuAAAr/////fL0gEP////98xgEQ/////3zAARD/////fMYA0f////9BggBQ/////zwAgAD/////fGACeP////98gAN5/////0GCAAz/////I8QAAP////9/4wGQ/////zsgAAH/////SAAAMP////87oAAA/////zuAAAj/////m6YAAf////9IAAAg/////zugAAD/////O4AACv////+bpgAB/////0gAABD/////O6AAAP////87gAAQ/////5umAAH/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAA3yWI3j/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAAywWAAr/////fJ4jeP////98fxt4/////0CAAAz/////OLYAMP////9IAAAY/////4gYAAX/////OLYAN/////8oAAB4/////0CCAAj/////OLYAV/////98gBt5/////5y7////////O1oAAf////9Agv+c/////2uAAAj/////fADref////9AggAo/////4gYAAP/////LAAAAP////9BggAc/////4gbAAD/////LAAAMP////9BggAQ/////zgAADD/////O1oAAf////+cG////////4gYAAD/////KAAAAv////9AggBQ/////4AYAAj/////LBkAAP////+QGAAM/////0CCABD/////iBgAAf////8sAAAA/////0GCABD/////gHgADP////84A////////5AYAAz/////a4AAEP////98AOt5/////0CCABz/////iBgAA/////8sAAAA/////0GCABD/////gHgADP////84A//+/////5AYAAz/////gHgADP////98G7hQ/////3wDAhT/////LAAB/f////9AgQAM/////zhgAAD/////SAAAiP////84YAAw/////0gAAAz/////nHv///////87WgAB/////4AYAAz/////fBoAAP////9BgP/w/////2uAABD/////fADref////9AggAg/////4gYAAP/////LAAAAP////9BggAU/////4h4AAX/////OAAAMP////+Ye////////5wb//7/////LBkAAP////9BggAQ/////zgAAC3/////nBv///////9IAAAs/////4gYAAH/////KAAAAf////9AggAQ/////zgAACv/////nBv///////9IAAAU/////ygAAAL/////QIIADP////84AAAg/////5wb////////f2PbeP////+6wQAI/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: longlong2str + size: 672 + flags: 2 + section: .text + - kind: Object + name: '@2337' + size: 132 + flags: 2 + section: .data + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 116 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 4077827c9c4471316def3a4a5d5b4f41a1ad73c2 + signature: lCH/0P////98CAKm/////5ABADT/////fIAbef////++wQAI/////zsgAAD/////fH8beP////98niN4/////3y3K3j/////fNgzeP////87Zf///////ztAAAD/////myX///////9AggAw/////4AGAAz/////LAAAAP////9AggAk/////4gGAAP/////LAAAAP////9BggAQ/////4gGAAX/////KAAAb/////9BggAM/////39j23j/////SAACPP////+IBgAF/////ywAAGT/////QYIAMP////8sAABp/////0GCACj/////LAAAb/////9BggBk/////ywAAHX/////QYIAbP////8sAAB4/////0GCAHT/////LAAAWP////9BggBs/////0gAAHT/////O6AAAP////9sYIAA/////2+mgAD/////O4AACv////98vSAQ/////3zGARD/////fMABEP////98xgDR/////0GCAFD/////PACAAP////98YAJ4/////3yAA3n/////QYIADP////8jxAAA/////3/jAZD/////OyAAAf////9IAAAw/////zugAAD/////m6YAAf////87gAAI/////0gAACD/////O6AAAP////+bpgAB/////zuAAAr/////SAAAEP////87oAAA/////5umAAH/////O4AAEP////9/4/t4/////3/E83j/////f6XreP////9/huN4/////0gAAAH8AAADfJYjeP////9/4/t4/////3/E83j/////f6XreP////9/huN4/////0gAAAH8AAADLBYACv////98niN4/////3x/G3j/////QIAADP////84tgAw/////0gAABj/////iBgABf////84tgA3/////ygAAHj/////QIIACP////84tgBX/////3yAG3n/////nLv///////87WgAB/////0CC/5z/////a4AACP////98AOt5/////0CCACj/////iBgAA/////8sAAAA/////0GCABz/////iBsAAP////8sAAAw/////0GCABD/////OAAAMP////+cG////////ztaAAH/////iBgAAP////8oAAAC/////0CCAFD/////gBgACP////8sGQAA/////5AYAAz/////QIIAEP////+IGAAB/////ywAAAD/////QYIAEP////+AeAAM/////zgD////////kBgADP////9rgAAQ/////3wA63n/////QIIAHP////+IGAAD/////ywAAAD/////QYIAEP////+AeAAM/////zgD//7/////kBgADP////+AeAAM/////3wbuFD/////fAMCFP////8sAAH9/////0CBAAz/////OGAAAP////9IAACI/////zhgADD/////SAAADP////+ce////////ztaAAH/////gBgADP////98GgAA/////0GA//D/////a4AAEP////98AOt5/////0CCACD/////iBgAA/////8sAAAA/////0GCABT/////iHgABf////84AAAw/////5h7////////nBv//v////8sGQAA/////0GCABD/////OAAALf////+cG////////0gAACz/////iBgAAf////8oAAAB/////0CCABD/////OAAAK/////+cG////////0gAABT/////KAAAAv////9AggAM/////zgAACD/////nBv///////9/Y9t4/////7rBAAj/////gAEANP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: longlong2str + size: 688 + flags: 2 + section: .text + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 284 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 683d0574494f4f129aeb8fdbcd9594937551e32a + signature: lCH/0P////98CAKm/////5ABADT/////OAAAAP////++wQAI/////3y3K3j/////fIUCeP////982DN4/////3yeI3j/////fH8beP////87d////////zsgAAD/////O0AAAP////+YF////////3xgAnj/////fKADef////9AggAw/////4AYAAz/////LAAAAP////9AggAk/////4gYAAP/////KAAAAP////9BggAQ/////4gYAAX/////KAAAb/////9BggAM/////39j23j/////SAACXP////+IuAAF/////zgF/6j/////KAAAIP////9BgQCM/////zygAAD//wAAVAAQOv////84pQAA//8AAHwFAC7/////fAkDpv////9OgAQg/////zgAAAD/////bGWAAP////9sA4AA/////zuAAAr/////fAAgEP////87oAAA/////3xjKRD/////fGUpEP////98YwDR/////0GCAEz/////I94AAP////87IAAB/////3//AZD/////SAAAPP////84AAAA/////zuAAAj/////mBgAAf////87oAAA/////0gAACj/////OAAAAP////87gAAK/////5gYAAH/////O6AAAP////9IAAAU/////zgAAAD/////O4AAEP////+YGAAB/////zugAAD/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAA3yWI3j/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAAywWAAr/////fJ4jeP////98fxt4/////0CAAAz/////OBYAMP////9IAAAc/////4gYAAX/////KAAAeP////9AggAM/////zgWAFf/////SAAACP////84FgA3/////ziAAAD/////nBv///////9/wyJ4/////ztaAAH/////f+AieP////98YAN5/////0CC/4z/////OGAACP////9/oCJ4/////3+DGnj/////fGADef////9AggAo/////4gYAAP/////KAAAAP////9BggAc/////4gbAAD/////LAAAMP////9BggAQ/////zgAADD/////O1oAAf////+cG////////4gYAAD/////KAAAAv////9AggBc/////4AYAAj/////LBkAAP////+QGAAM/////0CCABD/////iBgAAf////8oAAAA/////0GCABD/////gHgADP////84A////////5AYAAz/////OGAAEP////84AAAA/////3+DGnj/////f6ACeP////98YAN5/////0CCABz/////iBgAA/////8oAAAA/////0GCABD/////gHgADP////84A//+/////5AYAAz/////gHgADP////98G7hQ/////3wDAhT/////LAAB/f////9AgQAM/////zhgAAD/////SAAAlP////84YAAw/////0gAAAz/////nHv///////87WgAB/////4AYAAz/////fBoAAP////9BgP/w/////zhgABD/////OAAAAP////9/gxp4/////3+gAnj/////fGADef////9AggAg/////4gYAAP/////KAAAAP////9BggAU/////4h4AAX/////OAAAMP////+Ye////////5wb//7/////LBkAAP////9BggAQ/////zgAAC3/////nBv///////9IAAAs/////4gYAAH/////KAAAAf////9AggAQ/////zgAACv/////nBv///////9IAAAU/////ygAAAL/////QIIADP////84AAAg/////5wb////////f2PbeP////+6wQAI/////4ABADT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: longlong2str + size: 732 + flags: 2 + section: .text + - kind: Object + name: '@1249' + size: 132 + flags: 2 + section: .data + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 128 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 8cac376cbad4b6a65c1ca453b3bf05a84f0cc439 + signature: fAgCpv////+QAQAE/////zgAAAD/////lCH/wP////++wQAY/////zrlAAD/////fIUCeP////87d////////zsGAAD/////O8QAAP////874wAA/////zsgAAD/////O0AAAP////+YF////////3xgAnj/////fKADef////9AggAw/////4AYAAz/////LAAAAP////9AggAk/////4gYAAP/////KAAAAP////9BggAQ/////4gYAAX/////KAAAb/////9BggAM/////39j23j/////SAACYP////+IuAAF/////zgF/6j/////KAAAIP////9BgQCM/////zygAAD//wAAOKUAAP//AABUABA6/////3wFAC7/////fAkDpv////9OgAQg/////zgAAAD/////bGWAAP////9sA4AA/////3wAIBD/////fGMpEP////98ZSkQ/////3xjANH/////O4AACv////87oAAA/////0GCAEz/////I94AAP////9//wGQ/////zsgAAH/////SAAAPP////84AAAA/////5gYAAH/////O4AACP////87oAAA/////0gAACj/////OAAAAP////+YGAAB/////zuAAAr/////O6AAAP////9IAAAU/////zgAAAD/////mBgAAf////87gAAQ/////zugAAD/////OH8AAP////84ngAA/////zi9AAD/////ONwAAP////9IAAAB/AAAAzrEAAD/////OH8AAP////84ngAA/////zi9AAD/////ONwAAP////9IAAAB/AAAAywWAAr/////O8QAAP////874wAA/////0CAAAz/////OLYAMP////9IAAAc/////4gYAAX/////KAAAeP////9AggAM/////zi2AFf/////SAAACP////84tgA3/////ziAAAD/////f8MieP////9/4CJ4/////3xgA3n/////fKAHdP////87WgAB/////5wb////////QIL/iP////84AAAI/////3+DAnj/////f6AieP////98YAN5/////0CCACj/////iBgAA/////8oAAAA/////0GCABz/////iBsAAP////8sAAAw/////0GCABD/////OAAAMP////+cG////////ztaAAH/////iBgAAP////8oAAAC/////0CCAFz/////gBgACP////8sGQAA/////5AYAAz/////QIIAEP////+IGAAB/////ygAAAD/////QYIAEP////+AeAAM/////zgD////////kBgADP////84YAAQ/////zgAAAD/////f4MaeP////9/oAJ4/////3xgA3n/////QIIAHP////+IGAAD/////ygAAAD/////QYIAEP////+AeAAM/////zgD//7/////kBgADP////+AeAAM/////3wbuFD/////fAMCFP////8sAAH9/////0CBAAz/////OGAAAP////9IAACU/////zhgADD/////SAAADP////+ce////////ztaAAH/////gBgADP////98GgAA/////0GA//D/////OGAAEP////84AAAA/////3+DGnj/////f6ACeP////98YAN5/////0CCACD/////iBgAA/////8oAAAA/////0GCABT/////iHgABf////84AAAw/////5h7////////nBv//v////8sGQAA/////0GCABD/////OAAALf////+cG////////0gAACz/////iBgAAf////8oAAAB/////0CCABD/////OAAAK/////+cG////////0gAABT/////KAAAAv////9AggAM/////zgAACD/////nBv///////9/Y9t4/////7rBABj/////gAEARP////84IQBA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: longlong2str + size: 736 + flags: 2 + section: .text + - kind: Object + name: '@1009' + size: 132 + flags: 2 + section: .data + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 128 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 09b9a48b7363a6e0020fd329e7e96a4d49d20049 + signature: lCH/wP////98CAKm/////5ABAET/////OAAAAP////++gQAQ/////3x1G3j/////fJYjeP////84YAAA/////3y0K3j/////OuAAAP////9+wxp4/////36gAnj/////OIAAAP////9+nqN4/////3xgA3n/////fN8zeP////9+2bN4/////364q3j/////OuAAAP////87QAAA/////5ye////////QIIAMP////+AHwAM/////ywAAAD/////QIIAJP////+IHwAD/////ygAAAD/////QYIAEP////+IHwAF/////ygAAG//////QYIADP////9/w/N4/////0gAAmz/////iH8ABf////84A/+o/////ygAACD/////QYEAkP////88YAAA//8AAFQAEDr/////OGMAAP//AAB8YwAu/////3xpA6b/////ToAEIP////84AAAA/////zigAAD/////bAOAAP////9upIAA/////3wFsBD/////O4AACv////98YyEQ/////ztgAAD/////fGQhEP////98YwDR/////0GCAEz/////IzkAAP////864AAB/////38YAZD/////SAAAPP////84AAAA/////zuAAAj/////mB8AAf////87YAAA/////0gAACj/////OAAAAP////87gAAK/////5gfAAH/////O2AAAP////9IAAAU/////zgAAAD/////O4AAEP////+YHwAB/////ztgAAD/////fwPDeP////9/JMt4/////39l23j/////f4bjeP////9IAAAB/AAAA3ydI3j/////fwPDeP////9/JMt4/////39l23j/////f4bjeP////9IAAAB/AAAAywdAAr/////fJkjeP////98eBt4/////0CAAAz/////O70AMP////9IAAAg/////4gfAAX/////O73/9v////8oAAB4/////0CCAAz/////O70AYf////9IAAAI/////zu9AEH/////OGAAAP////84AAAA/////38jGnj/////n77///////9/AAJ4/////ztaAAH/////fGADef////9Agv+E/////zhgAAj/////OAAAAP////9/gxp4/////39gAnj/////fGADef////9AggAo/////4gfAAP/////KAAAAP////9BggAc/////4geAAD/////LAAAMP////9BggAQ/////zgAADD/////O1oAAf////+cHv///////4gfAAD/////KAAAAv////9AggBc/////4AfAAj/////LBcAAP////+QHwAM/////0CCABD/////iB8AAf////8oAAAA/////0GCABD/////gH8ADP////84A////////5AfAAz/////OGAAEP////84AAAA/////3+DGnj/////f2ACeP////98YAN5/////0CCABz/////iB8AA/////8oAAAA/////0GCABD/////gH8ADP////84A//+/////5AfAAz/////gH8ADP////98HqBQ/////3wDAhT/////LAAB/f////9AgQAY/////zhgAAD/////SAAAlP////84AAAw/////ztaAAH/////nB7///////+AHwAM/////3waAAD/////QYD/7P////84YAAQ/////zgAAAD/////f4MaeP////9/YAJ4/////3xgA3n/////QIIAIP////+IHwAD/////ygAAAD/////QYIAFP////+InwAF/////zgAADD/////mJ7///////+cHv/+/////ywXAAD/////QYIAEP////84AAAt/////5we////////SAAAMP////+IHwAB/////ygAAAH/////QIIAEP////84AAAr/////5we////////SAAAGP////+IHwAB/////ygAAAL/////QIIADP////84AAAg/////5we////////f8PzeP////+6gQAQ/////4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: longlong2str + size: 768 + flags: 2 + section: .text + - kind: Object + name: '@1133' + size: 132 + flags: 2 + section: .data + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 148 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 3 + addend: 0 +- symbol: 0 + hash: 39078381cbe087bd44225a45b708b8db970fd99f + signature: lCH/0P////98CAKm/////5ABADT/////OAAAAP////++wQAI/////3y3K3j/////fIUCeP////982DN4/////3yeI3j/////fH8beP////87d////////zsgAAD/////O0AAAP////+YF////////3xgAnj/////fKADef////9AggAw/////4AYAAz/////LAAAAP////9AggAk/////4gYAAP/////KAAAAP////9BggAQ/////4gYAAX/////KAAAb/////9BggAM/////39j23j/////SAAClP////+IuAAF/////zgF/6j/////KAAAIP////9BgQCM/////zygAAD//wAAVAAQOv////84pQAA//8AAHwFAC7/////fAkDpv////9OgAQg/////zgAAAD/////bGWAAP////9sA4AA/////zuAAAr/////fAAgEP////87oAAA/////3xjKRD/////fGUpEP////98YwDR/////0GCAEz/////I94AAP////87IAAB/////3//AZD/////SAAAPP////84AAAA/////zuAAAj/////mBgAAf////87oAAA/////0gAACj/////OAAAAP////87gAAK/////5gYAAH/////O6AAAP////9IAAAU/////zgAAAD/////O4AAEP////+YGAAB/////zugAAD/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAA3yWI3j/////f+P7eP////9/xPN4/////3+l63j/////f4bjeP////9IAAAB/AAAAywWAAr/////fJ4jeP////98fxt4/////0CAAAz/////OBYAMP////9IAAAc/////4gYAAX/////KAAAeP////9AggAM/////zgWAFf/////SAAACP////84FgA3/////ziAAAD/////nBv///////9/wyJ4/////ztaAAH/////f+AieP////98YAN5/////0CC/4z/////OGAACP////9/oCJ4/////3+DGnj/////fGADef////9AggAo/////4gYAAP/////KAAAAP////9BggAc/////4gbAAD/////LAAAMP////9BggAQ/////zgAADD/////O1oAAf////+cG////////4gYAAD/////KAAAAv////9AggBc/////4AYAAj/////LBkAAP////+QGAAM/////0CCABD/////iBgAAf////8oAAAA/////0GCABD/////gHgADP////84A////////5AYAAz/////OGAAEP////84AAAA/////3+DGnj/////f6ACeP////98YAN5/////0CCABz/////iBgAA/////8oAAAA/////0GCABD/////gHgADP////84A//+/////5AYAAz/////gHgADP////98G7hQ/////3wDAhT/////LAAB/f////9AgQAM/////zhgAAD/////SAAAzP////98GhgA/////3x6GFD/////OIAAMP////9AgABI/////1Rg6P//////fAkDpv////9BggAw/////5ib////////mJv//v////+Ym//9/////5ib//z/////mJv/+/////+Ym//6/////5ib//n/////nJv/+P////9CAP/g/////3BjAAf/////QYIAEP////98aQOm/////5yb////////QgD//P////84YAAQ/////zgAAAD/////f4MaeP////9/oAJ4/////3xgA3n/////QIIAIP////+IGAAD/////ygAAAD/////QYIAFP////+IeAAF/////zgAADD/////mHv///////+cG//+/////ywZAAD/////QYIAEP////84AAAt/////5wb////////SAAALP////+IGAAB/////ygAAAH/////QIIAEP////84AAAr/////5wb////////SAAAFP////8oAAAC/////0CCAAz/////OAAAIP////+cG////////39j23j/////usEACP////+AAQA0/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: longlong2str + size: 788 + flags: 2 + section: .text + - kind: Object + name: '@1248' + size: 132 + flags: 2 + section: .data + - kind: Function + name: __mod2u + size: 0 + flags: 1 + section: .text + - kind: Function + name: __div2u + size: 0 + flags: 1 + section: .text + relocations: + - offset: 128 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 3 + addend: 0 diff --git a/assets/memset.yml b/assets/memset.yml new file mode 100644 index 0000000..a38822b --- /dev/null +++ b/assets/memset.yml @@ -0,0 +1,109 @@ +- symbol: 0 + hash: c4770873fbeb8830db6e9cf29cc8c617d93b6541 + signature: VIQGPv////8sBAAA/////0GCABz/////VIdALv////9UhsAO/////1SAgB7/////fIQ7eP////98wAN4/////3yEA3j/////SAAAAPwAAAM= + symbols: + - kind: Function + name: memset + size: 40 + flags: 1 + section: .text + - kind: Function + name: memset_generic + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 99f9bc34519968d4b7ba83d5f042f2604e4e5896 + signature: fAgCpv////+QAQAE/////5Qh/+D/////k+EAHP////98fxt4/////0gAAAH8AAADgAEAJP////9/4/t4/////4PhABz/////OCEAIP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: memset + size: 48 + flags: 1 + section: .init + - kind: Function + name: __fill_mem + size: 0 + flags: 1 + section: .init + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: c1eb20ad01fa77413899f4b52d6b0de27675c956 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98fxt4/////0gAAAH8AAADgAEAFP////9/4/t4/////4PhAAz/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: memset + size: 48 + flags: 1 + section: .init + - kind: Function + name: __fill_mem + size: 0 + flags: 1 + section: .init + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 026973c2277e87b1b44b45a6a03eb6243337d22a + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98fxt4/////0gAAAH8AAADf+P7eP////+D4QAM/////4ABABT/////fAgDpv////84IQAQ/////06AACD///// + symbols: + - kind: Function + name: memset + size: 48 + flags: 1 + section: .init + - kind: Function + name: __fill_mem + size: 0 + flags: 1 + section: .init + relocations: + - offset: 20 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 82ad50abc07914c938bdf3e8390c4b02208921c4 + signature: fAgCpv////+QAQAE/////5Qh/9D/////v0EAGP////87pQAA/////zuDAAD/////KB0AIP////87/AAA/////1SeBj7/////QIEA4P////84ngAA/////zhgAAD/////OKAAGP////9IAAAB/AAAA1fAQC7/////V8WAHv////9/wAN4/////3ylA3j/////fKD+cP////98mit4/////3x7A3j/////OHsAAP////84mgAA/////zigACD/////SAAAAfwAAANX4Ad+/////yAAAAj/////VAAHfv////98BgN5/////39II3j/////f2cbeP////84pgAA/////3+g6FD/////QYIAUP////9UoOj//////3wJA6b/////QYIANP////+b3wAA/////5vfAAH/////m98AAv////+b3wAD/////5vfAAT/////m98ABf////+b3wAG/////5vfAAf/////O/8ACP////9CAP/c/////3ClAAf/////QYIAFP////98qQOm/////5vfAAD/////O/8AAf////9CAP/4/////1egADj/////OJ8AAP////98HwIU/////3yDI3j/////kQQABP////84hAAI/////3wEAED/////kOMAAP////9BgP/s/////zvkAAD/////V70Hfv////9IAABI/////1fgB7//////QIIAQP////9Xw0Au/////1fEgB7/////f8MbeP////9XoAA6/////3yDG3j/////V8XADv////84nwAA/////3yjG3j/////fB8CFP////+QZAAA/////ziEAAT/////fAQAQP////9BgP/0/////zvkAAD/////V70Hvv////8oHQAA/////zh9AAD/////QYIAUP////9UYOj//////3wJA6b/////QYIANP////+b3wAA/////5vfAAH/////m98AAv////+b3wAD/////5vfAAT/////m98ABf////+b3wAG/////5vfAAf/////O/8ACP////9CAP/c/////3BjAAf/////QYIAFP////98aQOm/////5vfAAD/////O/8AAf////9CAP/4/////3+D43j/////u0EAGP////+AAQA0/////zghADD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: memset + size: 440 + flags: 1 + section: .text + - kind: Function + name: __shl2i + size: 0 + flags: 1 + section: .text + relocations: + - offset: 52 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 801085364ed4cce07634d78594b635b87ecccf86 + signature: KAUAAf////9Uh4Ie/////1CHBj7/////fGgbeP////9Qh0Qu/////1CHwA7/////QYAAGP////9UYAf//////0GCABD/////mOMAAP////85AwAB/////zil////////KAUAAv////9BgAAY/////1UAB73/////QYIAEP////+w6AAA/////zkIAAL/////OKX//v////8oBQAE/////0GAABj/////VQAHe/////9BggAQ/////5DoAAD/////OQgABP////84pf/8/////ygFAAj/////QYAAHP////9VAAc5/////0GCABT/////kOgAAP////84pf/4/////5DoAAT/////OQgACP////8oBQAQ/////0GAACT/////VQAG9/////9BggAc/////5DoAAD/////OKX/8P////+Q6AAE/////5DoAAj/////kOgADP////85CAAQ/////ygFACD/////VKbZfv////9BgADY/////1TE8L//////VMAoNP////98AADQ/////3yJA6b/////QYIAlP////+Q6AAA/////5DoAAT/////kOgACP////+Q6AAM/////5DoABD/////kOgAFP////+Q6AAY/////5DoABz/////kOgAIP////+Q6AAk/////5DoACj/////kOgALP////+Q6AAw/////5DoADT/////kOgAOP////+Q6AA8/////5DoAED/////kOgARP////+Q6ABI/////5DoAEz/////kOgAUP////+Q6ABU/////5DoAFj/////kOgAXP////+Q6ABg/////5DoAGT/////kOgAaP////+Q6ABs/////5DoAHD/////kOgAdP////+Q6AB4/////5DoAHz/////OQgAgP////9CAP98/////3DGAAP/////QYIAMP////98yQOm/////5DoAAD/////kOgABP////+Q6AAI/////5DoAAz/////kOgAEP////+Q6AAU/////5DoABj/////kOgAHP////85CAAg/////0IA/9z/////fKUCFP////8oBQAQ/////0GAABz/////kOgAAP////84pf/w/////5DoAAT/////kOgACP////+Q6AAM/////zkIABD/////KAUACP////9BgAAU/////5DoAAD/////OKX/+P////+Q6AAE/////zkIAAj/////KAUABP////9BgAAQ/////5DoAAD/////OQgABP////84pf/8/////ygFAAL/////QYAAEP////+w6AAA/////zkIAAL/////OKX//v////8oBQAB/////02AACD/////mOgAAP////9OgAAg/////w== + symbols: + - kind: Function + name: memset + size: 512 + flags: 1 + section: .text + relocations: [] diff --git a/assets/nandConvertErrorCode.yml b/assets/nandConvertErrorCode.yml new file mode 100644 index 0000000..874d8fb --- /dev/null +++ b/assets/nandConvertErrorCode.yml @@ -0,0 +1,686 @@ +- symbol: 0 + hash: f9f34b2daa95202bd9ed5e1b95262be479f9be61 + signature: lCH+sP////98CAKm/////5ABAVT/////k+EBTP////+TwQFI/////3x+G3j/////OKEABP////88YAAA//8AADhjAAD//wAAOIP//P////84AAAo/////3wJA6b/////gGQABP////+EBAAI/////5BlAAT/////lAUACP////9CAP/w/////zvgAAD/////LB4AAP////9BgABA/////3/D83j/////SAAAYP////9X4BA6/////zhhAAj/////fAMALv////98HgAA/////0CCACD/////f8PzeP////9IAAAB/AAAAzgfAAH/////VAAQOv////84YQAI/////3xjAC7/////SAAAMP////87/wAC/////ygfAFD/////QYD/yP////88YAAA//8AADhjAAD//wAAf8TzeP////9MxjGC/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAzhg/8D/////g+EBTP////+DwQFI/////4ABAVT/////fAgDpv////84IQFQ/////06AACD///// + symbols: + - kind: Function + name: nandConvertErrorCode + size: 204 + flags: 1 + section: .text + - kind: Object + name: '@2843' + size: 320 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2855' + size: 49 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: c1dc186aced6b7d28271508d98b422b02bbf6d79 + signature: lCH+sP////98CAKm/////5ABAVT/////k+EBTP////+TwQFI/////3x+G3j/////OKEABP////88YAAA//8AADhjAAD//wAAOIP//P////84AAAn/////3wJA6b/////gGQABP////+EBAAI/////5BlAAT/////lAUACP////9CAP/w/////zvgAAD/////LB4AAP////9BgABA/////3/D83j/////SAAAYP////9X4BA6/////zhhAAj/////fAMALv////98HgAA/////0CCACD/////f8PzeP////9IAAAB/AAAAzgfAAH/////VAAQOv////84YQAI/////3xjAC7/////SAAAMP////87/wAC/////ygfAE7/////QYD/yP////88YAAA//8AADhjAAD//wAAf8TzeP////9MxjGC/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAzhg/8D/////g+EBTP////+DwQFI/////4ABAVT/////fAgDpv////84IQFQ/////06AACD///// + symbols: + - kind: Function + name: nandConvertErrorCode + size: 204 + flags: 1 + section: .text + - kind: Object + name: '@2760' + size: 312 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2772' + size: 49 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 28 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: cdaf2c21714014cdd94ace718fca226193054db3 + signature: lCH+sP////98CAKm/////zyAAAD//wAAkAEBVP////84hAAA//8AADgAACj/////OMEABP////+T4QFM/////zik//z/////k8EBSP////98fht4/////3wJA6b/////gIUABP////+EBQAI/////5CGAAT/////lAYACP////9CAP/w/////ywDAAD/////O+AAAP////9BgAAM/////3/D83j/////SAAAZP////84AAAo/////ziBAAj/////fAkDpv////+ABAAA/////3wDAAD/////QIIAIP////9/w/N4/////0gAAAH8AAADOB8AAf////84YQAI/////1QAEDr/////fGMALv////9IAAAw/////ziEAAj/////O/8AAv////9CAP/Q/////zxgAAD//wAAf8TzeP////84YwAA//8AAEzGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADOGD/wP////+AAQFU/////4PhAUz/////g8EBSP////98CAOm/////zghAVD/////ToAAIP////8= + symbols: + - kind: Function + name: nandConvertErrorCode + size: 208 + flags: 1 + section: .text + - kind: Object + name: '@2869' + size: 320 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@3970' + size: 49 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 760683a26ba69a3a15c214ca2c2d05a89980f60c + signature: lCH+sP////98CAKm/////zyAAAD//wAAkAEBVP////84hAAA//8AADgAACf/////OMEABP////+T4QFM/////zik//z/////k8EBSP////98fht4/////3wJA6b/////gIUABP////+EBQAI/////5CGAAT/////lAYACP////9CAP/w/////ywDAAD/////O+AAAP////9BgAAM/////3/D83j/////SAAAZP////84AAAn/////ziBAAj/////fAkDpv////+ABAAA/////3wDAAD/////QIIAIP////9/w/N4/////0gAAAH8AAADOB8AAf////84YQAI/////1QAEDr/////fGMALv////9IAAAw/////ziEAAj/////O/8AAv////9CAP/Q/////zxgAAD//wAAf8TzeP////84YwAA//8AAEzGMYL/////SAAAAfwAAAN/w/N4/////0gAAAH8AAADOGD/wP////+AAQFU/////4PhAUz/////g8EBSP////98CAOm/////zghAVD/////ToAAIP////8= + symbols: + - kind: Function + name: nandConvertErrorCode + size: 208 + flags: 1 + section: .text + - kind: Object + name: '@2852' + size: 312 + flags: 2 + section: .rodata + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@3899' + size: 49 + flags: 2 + section: .data + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 160 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 3d2150e5f7faac2d13c6d7714b7ae5731b028e33 + signature: VCsGvv////98LAt4/////yFr/QD/////fCFZbv////98CAKm/////zyAAAD//wAAkAwABP////84hAAA//8AADgAACn/////OMEBPP////+T7P/8/////z/gAAD//wAAO/8AAP//AAA4pP/8/////5PM//j/////k6z/9P////98fRt4/////3wJA6b/////gIUABP////+EBQAI/////5CGAAT/////lAYACP////9CAP/w/////ywDAAD/////O8AAAP////84gAAA/////0GAAAz/////f6PreP////9IAADQ/////zgAACn/////OKEBQP////98CQOm/////3wFIC7/////fAMAAP////9AggBs/////ywD/47/////QYIAJP////8sA/+M/////0GCABz/////LAP/i/////9BggAU/////ywD//f/////QYIADP////8sA//0/////0CCACj/////f6XreP////84YQDA/////zifAMj/////TMYxgv////9IAAAB/AAAAziBAMD/////OGAAAP////9MxjGC/////0gAAAH8AAADf6PreP////9IAAAB/AAAAzgeAAH/////OGEBQP////9UABA6/////3xjAC7/////SAAAUP////873gAC/////ziEAAj/////QgD/hP////9/pOt4/////zh/ANz/////TMYxgv////9IAAAB/AAAA3+l63j/////OGEAQP////84nwEQ/////0zGMYL/////SAAAAfwAAAM4gQBA/////zhgAAD/////TMYxgv////9IAAAB/AAAA3+j63j/////SAAAAfwAAAM4YP/A/////4FBAAD/////gAoABP////+D6v/8/////4PK//j/////g6r/9P////98CAOm/////31BU3j/////ToAAIP////8= + symbols: + - kind: Function + name: nandConvertErrorCode + size: 352 + flags: 1 + section: .text + - kind: Object + name: '@3094' + size: 328 + flags: 2 + section: .rodata + - kind: Object + name: '@2834' + size: 73 + flags: 2 + section: .data + - kind: Function + name: sprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: NANDLoggingAddMessageAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: ddfb15489993bca4cd6acbb54e2abc32229378b7 + signature: VCsGvv////8ha/0A/////3wsC3j/////fCFZbv////98CAKm/////5AMAAT/////k+z//P////+TzP/4/////5Os//T/////k4z/8P////98Pwt4/////3x+G3j/////PGAAAP//AAA7gwAA//8AADi/ATz/////PGAAAP//AAA4YwAA//8AADiD//z/////OAAAKf////98CQOm/////4BkAAT/////hAQACP////+QZQAE/////5QFAAj/////QgD/8P////87oAAA/////yweAAD/////QYAAjP////9/w/N4/////0gAAMz/////V6AQOv////84fwFA/////3wDAC7/////fB4AAP////9AggBs/////ywe/47/////QYIAJP////8sHv+M/////0GCABz/////LB7/i/////9BggAU/////ywe//f/////QYIADP////8sHv/0/////0CCACj/////OH8AwP////84nAIY/////3/F83j/////TMYxgv////9IAAAB/AAAAzhgAAD/////OJ8AwP////9MxjGC/////0gAAAH8AAADf8PzeP////9IAAAB/AAAAzgdAAH/////VAAQOv////84fwFA/////3xjAC7/////SAAAUP////87vQAC/////ygdAFL/////QYD/fP////84fAIs/////3/E83j/////TMYxgv////9IAAAB/AAAAzh/AED/////OJwCYP////9/xfN4/////0zGMYL/////SAAAAfwAAAM4YAAA/////zifAED/////TMYxgv////9IAAAB/AAAA3/D83j/////SAAAAfwAAAM4YP/A/////4FBAAD/////g+r//P////+Dyv/4/////4Oq//T/////g4r/8P////+ACgAE/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: nandConvertErrorCode + size: 356 + flags: 1 + section: .text + - kind: Object + name: '@2628' + size: 71 + flags: 2 + section: .data + - kind: Object + name: '@2998' + size: 328 + flags: 2 + section: .rodata + - kind: Function + name: sprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: NANDLoggingAddMessageAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 48 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: b153827fc2f8f18756dde7d11aff4b8f8b21c74d + signature: VCsGvv////98LAt4/////yFr/QD/////fCFZbv////98CAKm/////zyAAAD//wAAkAwABP////84hAAA//8AADgAACn/////OMEBPP////+T7P/8/////z/gAAD//wAAO/8AAP//AAA4pP/8/////5PM//j/////k6z/9P////98fRt4/////3wJA6b/////gIUABP////+EBQAI/////5CGAAT/////lAYACP////9CAP/w/////ywDAAD/////O8AAAP////84gAAA/////0GAAAz/////f6PreP////9IAADY/////zgAACn/////OKEBQP////98CQOm/////3wFIC7/////fAMAAP////9AggBw/////ywD/47/////QYIAJP////8sA/+M/////0GCABz/////LAP/i/////9BggAU/////ywD//f/////QYIADP////8sA//0/////0CCACj/////f6XreP////84YQDA/////zifAMj/////TMYxgv////9IAAAB/AAAAziBAMD/////OGAAAP////9MxjGC/////0gAAAH8AAADLB3/6f////9AgAAI/////ywd/5z/////OB4AAf////84YQFA/////1QAEDr/////fGMALv////9IAABU/////zveAAL/////OIQACP////9CAP+A/////3+k63j/////OH8A3P////9MxjGC/////0gAAAH8AAADf6XreP////84YQBA/////zifARD/////TMYxgv////9IAAAB/AAAAziBAED/////OGAAAP////9MxjGC/////0gAAAH8AAADLB3/6f////9AgAAI/////ywd/5z/////OGD/wP////+BQQAA/////4AKAAT/////g+r//P////+Dyv/4/////4Oq//T/////fAgDpv////99QVN4/////06AACD///// + symbols: + - kind: Function + name: nandConvertErrorCode + size: 360 + flags: 1 + section: .text + - kind: Object + name: '@3037' + size: 328 + flags: 2 + section: .rodata + - kind: Object + name: '@2779' + size: 71 + flags: 2 + section: .data + - kind: Function + name: sprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: NANDLoggingAddMessageAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 212 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 272 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 292 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 5afc021907e233b71d03301f570876b68a2aead2 + signature: VCsGvv////8ha/0A/////3wsC3j/////fCFZbv////98CAKm/////5AMAAT/////k+z//P////+TzP/4/////5Os//T/////k4z/8P////98Pwt4/////3x+G3j/////PGAAAP//AAA7gwAA//8AADi/ATz/////PGAAAP//AAA4YwAA//8AADiD//z/////OAAAKf////98CQOm/////4BkAAT/////hAQACP////+QZQAE/////5QFAAj/////QgD/8P////87oAAA/////yweAAD/////QYAAzP////9/w/N4/////0gAART/////V6AQOv////84fwFA/////3wDAC7/////fB4AAP////9AggCs/////ywe/47/////QYIAJP////8sHv+M/////0GCABz/////LB7/i/////9BggAU/////ywe//f/////QYIADP////8sHv/0/////0CCADD/////OH8AwP////84nAJU/////3/F83j/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAB/xPN4/////zi/AMD/////TMYxgv////9IAAAB/AAAA3/D83j/////SAAAAfwAAAMsHv+U/////0GCACz/////LB7/lf////9BggAk/////ywe/5n/////QYIAHP////8sHv+K/////0GCABT/////LB7/+P////9BggAM/////ywe/+r/////QIIADP////9/w/N4/////0gAAAH8AAADOB0AAf////9UABA6/////zh/AUD/////fGMALv////9IAABY/////zu9AAL/////KB0AUv////9BgP88/////zh8Amj/////f8TzeP////9MxjGC/////0gAAAH8AAADOH8AQP////84nAKc/////3/F83j/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAOGMAAP//AAB/xPN4/////zi/AED/////TMYxgv////9IAAAB/AAAA3/D83j/////SAAAAfwAAAM4YP/A/////4FBAAD/////g+r//P////+Dyv/4/////4Oq//T/////g4r/8P////+ACgAE/////3wIA6b/////fUFTeP////9OgAAg/////w== + symbols: + - kind: Function + name: nandConvertErrorCode + size: 428 + flags: 1 + section: .text + - kind: Object + name: '@2665' + size: 69 + flags: 2 + section: .data + - kind: Object + name: '@3048' + size: 328 + flags: 2 + section: .rodata + - kind: Function + name: sprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandLoggingCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDLoggingAddMessageAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandReportErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: __NANDPrintErrorMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 5 + section: .text + relocations: + - offset: 48 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 204 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 284 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 356 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 376 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: f9ff885c66ff805ca074d08b7a77079d86b514c4 + signature: VCsGvv////98LAt4/////yFr/QD/////fCFZbv////98CAKm/////zyAAAD//wAAkAwABP////84hAAA//8AADgAACn/////OMEBPP////+T7P/8/////z/gAAD//wAAO/8AAP//AAA4pP/8/////5PM//j/////k6z/9P////98fRt4/////3wJA6b/////gIUABP////+EBQAI/////5CGAAT/////lAYACP////9CAP/w/////ywDAAD/////O8AAAP////84gAAA/////0GAAAz/////f6PreP////9IAAEg/////zgAACn/////OKEBQP////98CQOm/////3wFIC7/////fAMAAP////9AggCw/////ywD/47/////QYIAJP////8sA/+M/////0GCABz/////LAP/i/////9BggAU/////ywD//f/////QYIADP////8sA//0/////0CCADD/////f6XreP////84YQDA/////zifAMj/////TMYxgv////9IAAAB/AAAAzxgAAD//wAAf6TreP////84YwAA//8AADihAMD/////TMYxgv////9IAAAB/AAAAywd/+n/////QIAACP////8sHf+c/////ywd/5T/////QYIALP////8sHf+V/////0GCACT/////LB3/mf////9BggAc/////ywd/4r/////QYIAFP////8sHf/4/////0GCAAz/////LB3/6v////9AggAM/////3+j63j/////SAAAAfwAAAM4HgAB/////zhhAUD/////VAAQOv////98YwAu/////0gAAFz/////O94AAv////84hAAI/////0IA/0D/////f6TreP////84fwDc/////0zGMYL/////SAAAAfwAAAN/pet4/////zhhAED/////OJ8BEP////9MxjGC/////0gAAAH8AAADPGAAAP//AAB/pOt4/////zhjAAD//wAAOKEAQP////9MxjGC/////0gAAAH8AAADLB3/6f////9AgAAI/////ywd/5z/////OGD/wP////+BQQAA/////4AKAAT/////g+r//P////+Dyv/4/////4Oq//T/////fAgDpv////99QVN4/////06AACD///// + symbols: + - kind: Function + name: nandConvertErrorCode + size: 432 + flags: 1 + section: .text + - kind: Object + name: '@3073' + size: 328 + flags: 2 + section: .rodata + - kind: Object + name: '@2807' + size: 71 + flags: 2 + section: .data + - kind: Function + name: sprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandLoggingCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: NANDLoggingAddMessageAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: __NANDPrintErrorMessage + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 196 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 208 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 220 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 356 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 360 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 368 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 380 + kind: PpcRel24 + symbol: 5 + addend: 0 diff --git a/assets/nandGenerateAbsPath.yml b/assets/nandGenerateAbsPath.yml new file mode 100644 index 0000000..14c3f74 --- /dev/null +++ b/assets/nandGenerateAbsPath.yml @@ -0,0 +1,219 @@ +- symbol: 0 + hash: e702fa1fa50f708383438859d21ca9651e7349c6 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////98nyN4/////5PBAAj/////fH4beP////9/4/t4/////0gAAAH8AAADLAMAAP////9AggAU/////3/D83j/////OIAAAP/gAABIAAAB/AAAA0gAAHj/////iB8AAP////8sAAAv/////0CCAAz/////OAAAAP////9IAAAI/////zgAAAH/////LAAAAP////9BggAc/////zyAAAD//wAAf8PzeP////9/5ft4/////ziEAAD//wAASAAAAfwAAANIAABA/////3/D83j/////f+T7eP////9IAAAB/AAAA3/D83j/////SAAAAfwAAAMsAwAA/////0GCACT/////fIPyFP////+IBP///////ywAAC//////QIIAFP////80A////////0GCAAz/////OAAAAP////+YBP///////4ABABT/////g+EADP////+DwQAI/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: nandGenerateAbsPath + size: 200 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@3775' + size: 1 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_currentDir + size: 64 + flags: 2 + section: .data + - kind: Function + name: nandConvertPath + size: 0 + flags: 1 + section: .text + relocations: + - offset: 32 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 7ac54894dfe3eea07a677932ea62fe0d4012c166 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////fH4beP////98nSN4/////3+j63j/////SAAAAfwAAAMsAwAA/////0CCABT/////f8PzeP////84gAAA/+AAAEgAAAH8AAADSAAAfP////9/o+t4/////0gAAAH8AAADLAMAAP////9BggAc/////3/D83j/////PIAAAP//AAA4hAAA//8AAH+l63j/////SAAAAfwAAANIAABU/////zvg////////f8PzeP////9/pOt4/////0gAAAH8AAADf8PzeP////9IAAAB/AAAA3x/G3j/////LB8AAP////9BggAw/////3x/8hT/////iAP///////98AAd0/////ywAAC//////QIIAHP////84H////////ywAAAD/////QYIAEP////84AAAA/////3x/8hT/////mAP///////+D4QAc/////4PBABj/////g6EAFP////+AAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: nandGenerateAbsPath + size: 212 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2519' + size: 1 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsRelativePath + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_currentDir + size: 64 + flags: 2 + section: .data + - kind: Function + name: nandConvertPath + size: 0 + flags: 1 + section: .text + relocations: + - offset: 36 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 84 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 5d22a62268efaeb8fa503a163eda51351ff72993 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////+TwQAY/////5OhABT/////k4EAEP////98Pwt4/////3x9G3j/////fJwjeP////9/g+N4/////0gAAAH8AAADLAMAAP////9AggAU/////3+j63j/////OIAAAP/gAABIAAAB/AAAA0gAAHz/////f4PjeP////9IAAAB/AAAAywDAAD/////QYIAHP////9/o+t4/////zyAAAD//wAAOIQAAP//AAB/heN4/////0gAAAH8AAADSAAAVP////87wP///////3+j63j/////f4TjeP////9IAAAB/AAAA3+j63j/////SAAAAfwAAAN8fht4/////yweAAD/////QYIAMP////98fuoU/////4gD////////fAAHdP////8sAAAv/////0CCABz/////OB7///////8sAAAA/////0GCABD/////OAAAAP////98fuoU/////5gD////////f+r7eP////+D6gAc/////4PKABj/////g6oAFP////+DigAQ/////4FBAAD/////gAoABP////99QVN4/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: nandGenerateAbsPath + size: 232 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2757' + size: 1 + flags: 2 + section: .sdata + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsRelativePath + size: 0 + flags: 1 + section: .text + - kind: Object + name: s_currentDir + size: 64 + flags: 2 + section: .data + - kind: Function + name: nandConvertPath + size: 0 + flags: 1 + section: .text + relocations: + - offset: 44 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 92 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 96 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 104 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 124 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 1 + addend: 0 diff --git a/assets/nandGetHeadToken.yml b/assets/nandGetHeadToken.yml new file mode 100644 index 0000000..a0fc36f --- /dev/null +++ b/assets/nandGetHeadToken.yml @@ -0,0 +1,542 @@ +- symbol: 0 + hash: 5118bed851c820288cf20bb024b5794f97677cbd + signature: lCH/4P////98CAKm/////5ABACT/////OWEAIP////9IAAAB/AAAA3x7G3j/////fJwjeP////98vSt4/////3y/K3j/////O8AAAP////9IAACE/////4gfAAD/////fAAHdP////8sAAAv/////0CCAET/////f2PbeP////9/pOt4/////3/F83j/////SAAAAfwAAAN8nuoU/////zhgAAD/////iAQAAf////98e/Gu/////3wAB3X/////QIIADP////+YfAAA/////0gAAFT/////f4PjeP////84hAAB/////0gAAAH8AAADSAAARP////8sAAAA/////0CCACT/////f2PbeP////9/pOt4/////3/F83j/////SAAAAfwAAAM4AAAA/////3wb8a7/////mBwAAP////9IAAAc/////zveAAH/////O/8AAf////9/o+t4/////0gAAAH8AAADfB4YQP////9Agf90/////zlhACD/////SAAAAfwAAAOAAQAk/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: nandGetHeadToken + size: 212 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: strncpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 192 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: ff156bd31eb24a5504a64df6587b40c1a4cd52b5 + signature: lCH/wP////98CAKm/////5ABAET/////OWEAQP////9IAAAB/AAAA3x9G3j/////fJwjeP////98vyt4/////zxgAAD//wAAO2MAAP//AAA7wAAA/////ztAAAH/////OyAAAP////87AAAA/////ywdAAD/////QYIAEP////8sHAAA/////0GCAAj/////OwAAAf////8sGAAA/////0GCABD/////LB8AAP////9BggAI/////zsgAAH/////LBkAAP////9AggAw/////zh7AKD/////OIAAtP////84uwEw/////0zGMYL/////SAAAAfwAAAM4AAAA/////5ABABD/////gAEAEP////8sAAAA/////0CCAAj/////O0AAAP////864AAB/////3/j+3j/////SAAAAfwAAAMsAwAA/////0CCADD/////OHsAoP////84gAC1/////zi7AUj/////TMYxgv////9IAAAB/AAAAzgAAAD/////kAEADP////+AAQAM/////ywAAAD/////QIIACP////864AAA/////zrAAAH/////iB8AAP////98AAd0/////ywAAC//////QIIAMP////84ewCg/////ziAALb/////OLsBZP////9MxjGC/////0gAAAH8AAADOAAAAP////+QAQAI/////4ABAAj/////LAAAAP////9AggAI/////zrAAAD/////O8AAAP////9IAACY/////3wf8K7/////fAAHdP////8sAAAv/////0CCAFD/////f6PreP////9/5Pt4/////3/F83j/////SAAAAfwAAAM4AAAA/////3wd8a7/////fH76FP////+IAwAB/////3wAB3T/////LAAAAP////9AggAQ/////zgAAAD/////mBwAAP////9IAABg/////3+D43j/////fJ/yFP////84hAAB/////0gAAAH8AAADSAAATP////98H/Cu/////3wAB3T/////LAAAAP////9AggAo/////3+j63j/////f+T7eP////9/xfN4/////0gAAAH8AAADOAAAAP////98HfGu/////zgAAAD/////mBwAAP////9IAAAY/////zveAAH/////f+P7eP////9IAAAB/AAAA3weGED/////QIH/YP////85YQBA/////0gAAAH8AAADgAEARP////98CAOm/////zghAED/////ToAAIP////8= + symbols: + - kind: Function + name: nandGetHeadToken + size: 472 + flags: 1 + section: .text + - kind: Unknown + name: _savegpr_22 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2387' + size: 71 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Function + name: strncpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_22 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 36 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 120 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 436 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 9d21077156768bd49d06f63e30588e53800eff4b + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////5OhADT/////k4EAMP////98fRt4/////3ycI3j/////fL4reP////874AAA/////zgAAAH/////kAEAJP////84AAAA/////5ABACD/////OAAAAP////+QAQAc/////ywdAAD/////QYIAFP////8sHAAA/////0GCAAz/////OAAAAf////+QAQAc/////4ABABz/////LAAAAP////9BggAU/////yweAAD/////QYIADP////84AAAB/////5ABACD/////gAEAIP////8sAAAA/////0CCADz/////PGAAAP//AAA4YwAA//8AADiAAOD/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABj/////gAEAGP////8sAAAA/////0CCAAz/////OAAAAP////+QAQAk/////zgAAAH/////kAEAFP////9/w/N4/////0gAAAH8AAADLAMAAP////9AggA8/////zxgAAD//wAAOGMAAP//AAA4gADh/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAQ/////4ABABD/////LAAAAP////9AggAM/////zgAAAD/////kAEAFP////84AAAB/////5ABAAz/////iB4AAP////98AAd0/////ywAAC//////QIIAPP////88YAAA//8AADhjAAD//wAAOIAA4v////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIADP////84AAAA/////5ABAAz/////O+AAAP////9IAACY/////3we+K7/////fAAHdP////8sAAAv/////0CCAFD/////f6PreP////9/xPN4/////3/l+3j/////SAAAAfwAAAM4AAAA/////3wd+a7/////fH/yFP////+IAwAB/////3wAB3T/////LAAAAP////9AggAQ/////zgAAAD/////mBwAAP////9IAABg/////3+D43j/////fJ76FP////84hAAB/////0gAAAH8AAADSAAATP////98Hviu/////3wAB3T/////LAAAAP////9AggAo/////3+j63j/////f8TzeP////9/5ft4/////0gAAAH8AAADOAAAAP////98Hfmu/////zgAAAD/////mBwAAP////9IAAAY/////zv/AAH/////f8PzeP////9IAAAB/AAAA3wfGED/////QIH/YP////+D4QA8/////4PBADj/////g6EANP////+DgQAw/////4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: nandGetHeadToken + size: 552 + flags: 1 + section: .text + - kind: Object + name: '@2712' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@2760' + size: 24 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2761' + size: 27 + flags: 2 + section: .data + - kind: Object + name: '@2762' + size: 41 + flags: 2 + section: .data + - kind: Function + name: strncpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + relocations: + - offset: 132 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 4f25c7c201c77679a9a94712051e877b37472c31 + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////5OhADT/////k4EAMP////98fRt4/////3ycI3j/////fL4reP////874AAA/////zgAAAH/////kAEAJP////84AAAA/////5ABACD/////OAAAAP////+QAQAc/////ywdAAD/////QYIAFP////8sHAAA/////0GCAAz/////OAAAAf////+QAQAc/////4ABABz/////LAAAAP////9BggAU/////yweAAD/////QYIADP////84AAAB/////5ABACD/////gAEAIP////8sAAAA/////0CCADz/////PGAAAP//AAA4YwAA//8AADiAANP/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABj/////gAEAGP////8sAAAA/////0CCAAz/////OAAAAP////+QAQAk/////zgAAAH/////kAEAFP////9/w/N4/////0gAAAH8AAADLAMAAP////9AggA8/////zxgAAD//wAAOGMAAP//AAA4gADU/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAQ/////4ABABD/////LAAAAP////9AggAM/////zgAAAD/////kAEAFP////84AAAB/////5ABAAz/////iB4AAP////98AAd0/////ywAAC//////QIIAPP////88YAAA//8AADhjAAD//wAAOIAA1f////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIADP////84AAAA/////5ABAAz/////O+AAAP////9IAACY/////3we+K7/////fAAHdP////8sAAAv/////0CCAFD/////f6PreP////9/xPN4/////3/l+3j/////SAAAAfwAAAM4AAAA/////3wd+a7/////fH/yFP////+IAwAB/////3wAB3T/////LAAAAP////9AggAQ/////zgAAAD/////mBwAAP////9IAABg/////3+D43j/////fJ76FP////84hAAB/////0gAAAH8AAADSAAATP////98Hviu/////3wAB3T/////LAAAAP////9AggAo/////3+j63j/////f8TzeP////9/5ft4/////0gAAAH8AAADOAAAAP////98Hfmu/////zgAAAD/////mBwAAP////9IAAAY/////zv/AAH/////f8PzeP////9IAAAB/AAAA3wfGED/////QIH/YP////+D4QA8/////4PBADj/////g6EANP////+DgQAw/////4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: nandGetHeadToken + size: 552 + flags: 1 + section: .text + - kind: Object + name: '@2520' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@2568' + size: 24 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2569' + size: 27 + flags: 2 + section: .data + - kind: Object + name: '@2570' + size: 41 + flags: 2 + section: .data + - kind: Function + name: strncpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + relocations: + - offset: 132 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 27d09a4d65488f644b98cb95a66b69689a0dd2e9 + signature: lCH/wP////98CAKm/////5ABAET/////k+EAPP////+TwQA4/////5OhADT/////k4EAMP////98fRt4/////3ycI3j/////fL4reP////874AAA/////zgAAAH/////kAEAJP////84AAAA/////5ABACD/////OAAAAP////+QAQAc/////ywdAAD/////QYIAFP////8sHAAA/////0GCAAz/////OAAAAf////+QAQAc/////4ABABz/////LAAAAP////9BggAU/////yweAAD/////QYIADP////84AAAB/////5ABACD/////gAEAIP////8sAAAA/////0CCADz/////PGAAAP//AAA4YwAA//8AADiAANz/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABj/////gAEAGP////8sAAAA/////0CCAAz/////OAAAAP////+QAQAk/////zgAAAH/////kAEAFP////9/w/N4/////0gAAAH8AAADLAMAAP////9AggA8/////zxgAAD//wAAOGMAAP//AAA4gADd/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAQ/////4ABABD/////LAAAAP////9AggAM/////zgAAAD/////kAEAFP////84AAAB/////5ABAAz/////iB4AAP////98AAd0/////ywAAC//////QIIAPP////88YAAA//8AADhjAAD//wAAOIAA3v////88oAAA//8AADilAAD//wAATMYxgv////9IAAAB/AAAAzgAAAD/////kAEACP////+AAQAI/////ywAAAD/////QIIADP////84AAAA/////5ABAAz/////O+AAAP////9IAACY/////3we+K7/////fAAHdP////8sAAAv/////0CCAFD/////f6PreP////9/xPN4/////3/l+3j/////SAAAAfwAAAM4AAAA/////3wd+a7/////fH/yFP////+IAwAB/////3wAB3T/////LAAAAP////9AggAQ/////zgAAAD/////mBwAAP////9IAABg/////3+D43j/////fJ76FP////84hAAB/////0gAAAH8AAADSAAATP////98Hviu/////3wAB3T/////LAAAAP////9AggAo/////3+j63j/////f8TzeP////9/5ft4/////0gAAAH8AAADOAAAAP////98Hfmu/////zgAAAD/////mBwAAP////9IAAAY/////zv/AAH/////f8PzeP////9IAAAB/AAAA3wfGED/////QIH/YP////+D4QA8/////4PBADj/////g6EANP////+DgQAw/////4ABAET/////fAgDpv////84IQBA/////06AACD///// + symbols: + - kind: Function + name: nandGetHeadToken + size: 552 + flags: 1 + section: .text + - kind: Object + name: '@2675' + size: 11 + flags: 2 + section: .data + - kind: Object + name: '@2723' + size: 24 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: strlen + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2724' + size: 27 + flags: 2 + section: .data + - kind: Object + name: '@2725' + size: 41 + flags: 2 + section: .data + - kind: Function + name: strncpy + size: 0 + flags: 1 + section: .text + - kind: Function + name: strcpy + size: 0 + flags: 1 + section: .text + relocations: + - offset: 132 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 136 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 148 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 216 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 224 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 236 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 296 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 304 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 308 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 384 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 4 + addend: 0 diff --git a/assets/nandIsInitialized.yml b/assets/nandIsInitialized.yml new file mode 100644 index 0000000..a767c93 --- /dev/null +++ b/assets/nandIsInitialized.yml @@ -0,0 +1,38 @@ +- symbol: 0 + hash: f817c1799784a6f7f1dadfff8b09e273cbce09f8 + signature: gGAAAP/gAAA4A//+/////3wAADT/////VAPZfv////9OgAAg/////w== + symbols: + - kind: Function + name: nandIsInitialized + size: 20 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 75990b74647c490ee769808824dd3bb9f9265b94 + signature: gAAAAP/gAAAsAAAC/////0CCAAz/////OGAAAf////9IAAAI/////zhgAAD/////ToAAIP////8= + symbols: + - kind: Function + name: nandIsInitialized + size: 28 + flags: 1 + section: .text + - kind: Object + name: s_libState + size: 4 + flags: 2 + section: .sbss + relocations: + - offset: 0 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 diff --git a/assets/nandOpen.yml b/assets/nandOpen.yml new file mode 100644 index 0000000..e7469df --- /dev/null +++ b/assets/nandOpen.yml @@ -0,0 +1,668 @@ +- symbol: 0 + hash: 2fa8b1d66d1937a2595188a1696f79ac39e3414d + signature: lCH/oP////98CAKm/////5ABAGT/////OWEAYP////9IAAAB/AAAAzgAAAD/////kAEACP////98myN4/////3xkG3j/////kAEADP////98vCt4/////3zdM3j/////fP47eP////+QAQAQ/////zhhAAj/////O+AAAP////+QAQAU/////5ABABj/////kAEAHP////+QAQAg/////5ABACT/////kAEAKP////+QAQAs/////5ABADD/////kAEANP////+QAQA4/////5ABADz/////kAEAQP////+QAQBE/////0gAAAH8AAADLB4AAP////9AggAc/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAAz/////OGD/mv////9IAABk/////ywbAAP/////QYIAGP////8sGwAB/////0GCABj/////LBsAAv////9BggAY/////0gAABj/////O+AAA/////9IAAAQ/////zvgAAH/////SAAACP////874AAC/////ywdAAD/////QYIAIP////88oAAA//8AAH/k+3j/////f4bjeP////84YQAI/////zilAAD//wAASAAAAfwAAANIAAAQ/////3/k+3j/////OGEACP////9IAAAB/AAAAzlhAGD/////SAAAAfwAAAOAAQBk/////3wIA6b/////OCEAYP////9OgAAg/////w== + symbols: + - kind: Function + name: nandOpen + size: 272 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 208 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 224 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 244 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 252 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: 3e518d60d77af74f35552c8c07c74ac3e8d678bf + signature: lCH/oP////98CAKm/////5ABAGT/////OWEAYP////9IAAAB/AAAAzgAAAD/////fJsjeP////+QAQAI/////3xkG3j/////fLwreP////983TN4/////5ABAAz/////fP47eP////84YQAI/////zvgAAD/////kAEAEP////+QAQAU/////5ABABj/////kAEAHP////+QAQAg/////5ABACT/////kAEAKP////+QAQAs/////5ABADD/////kAEANP////+QAQA4/////5ABADz/////kAEAQP////+QAQBE/////0gAAAH8AAADLB4AAP////9AggAc/////zhhAAj/////SAAAAfwAAAMsAwAA/////0GCAAz/////OGD/mv////9IAABo/////ywbAAL/////QYIALP////9AgAAQ/////ywbAAH/////QIAAGP////9IAAAg/////ywbAAT/////QIAAGP////874AAD/////0gAABD/////O+AAAf////9IAAAI/////zvgAAL/////LB0AAP////9BggAg/////zygAAD//wAAf+T7eP////9/huN4/////zhhAAj/////OKUAAP//AABIAAAB/AAAA0gAABD/////f+T7eP////84YQAI/////0gAAAH8AAADOWEAYP////9IAAAB/AAAA4ABAGT/////fAgDpv////84IQBg/////06AACD///// + symbols: + - kind: Function + name: nandOpen + size: 276 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_27 + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_27 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 212 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 248 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 7 + addend: 0 +- symbol: 0 + hash: db01b3329a0185e64b11ffab9c841cbcdd660a9d + signature: lCH/cP////98CAKm/////5ABAJT/////OWEAkP////9IAAAB/AAAA3x1G3j/////fJ0jeP////+QoQAI/////5DBAAz/////kOEAEP////88YAAA//8AADuDAAD//wAAO8D/i/////84AAAA/////5ABABj/////kAEAHP////+QAQAg/////5ABACT/////kAEAKP////+QAQAs/////5ABADD/////kAEANP////+QAQA4/////5ABADz/////kAEAQP////+QAQBE/////5ABAEj/////kAEATP////+QAQBQ/////5ABAFT/////O+AAAP////87YAAB/////ywVAAD/////QIIAKP////84fAAA/////ziAAFr/////OLwAEP////9MxjGC/////0gAAAH8AAADOuAAAP////8sFwAA/////0CCAAj/////O2AAAP////87QAAB/////zsgAAH/////OwAAAf////9XoAY+/////ygAAAH/////QYIAFP////9XoAY+/////ygAAAL/////QYIACP////87AAAA/////ywYAAD/////QIIAFP////9XoAY+/////ygAAAP/////QYIACP////87IAAA/////ywZAAD/////QIIAKP////84fAAA/////ziAAF7/////OLwAMP////9MxjGC/////0gAAAH8AAADOsAAAP////8sFgAA/////0CCAAj/////O0AAAP////84YQAY/////36kq3j/////SAAAAfwAAAOAAQAQ/////ywAAAD/////QIIAHP////84YQAY/////0gAAAH8AAADLAMAAP////9BggAM/////zhg/5r/////SAAAhP////9XoAY+/////ywAAAL/////QYIAMP////9AgAAQ/////ywAAAH/////QIAAHP////9IAAAo/////ywAAAT/////QIAAIP////9IAAAE/////zvgAAP/////SAAAFP////874AAB/////0gAAAz/////O+AAAv////9IAAAE/////4ABAAz/////LAAAAP////9BggAk/////zhhABj/////f+T7eP////88oAAA//8AADilAAD//wAAgMEACP////9IAAAB/AAAA3x+G3j/////SAAAFP////84YQAY/////3/k+3j/////SAAAAfwAAAN8fht4/////3/D83j/////OWEAkP////9IAAAB/AAAA4ABAJT/////fAgDpv////84IQCQ/////06AACD///// + symbols: + - kind: Function + name: nandOpen + size: 480 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_21 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2382' + size: 16 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_21 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 260 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 288 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 308 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 412 + kind: PpcAddr16Ha + symbol: 6 + addend: 0 + - offset: 416 + kind: PpcAddr16Lo + symbol: 6 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 444 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 460 + kind: PpcRel24 + symbol: 9 + addend: 0 +- symbol: 0 + hash: fb99e5e16bfb99044a360929a4e05aa9ac6f1770 + signature: lCH/gP////98CAKm/////5ABAIT/////OWEAgP////9IAAAB/AAAA3x4G3j/////fJ0jeP////+QoQAI/////5DBAAz/////kOEAEP////87wP+L/////zgAAAD/////kAEAIP////+QAQAk/////5ABACj/////kAEALP////+QAQAw/////5ABADT/////kAEAOP////+QAQA8/////5ABAED/////kAEARP////+QAQBI/////5ABAEz/////kAEAUP////+QAQBU/////5ABAFj/////kAEAXP////874AAA/////zuAAAH/////LBgAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gADC/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAY/////4ABABj/////LAAAAP////9AggAI/////zuAAAD/////O2AAAf////87QAAB/////zsgAAH/////V6AGPv////8oAAAB/////0GCABT/////V6AGPv////8oAAAC/////0GCAAj/////OyAAAP////8sGQAA/////0CCABT/////V6AGPv////8oAAAD/////0GCAAj/////O0AAAP////8sGgAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAMb/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABT/////gAEAFP////8sAAAA/////0CCAAj/////O2AAAP////84YQAg/////38Ew3j/////SAAAAfwAAAOAAQAQ/////ywAAAD/////QIIAHP////84YQAg/////0gAAAH8AAADLAMAAP////9BggAM/////zhg/5r/////SAAAhP////9XoAY+/////ywAAAL/////QYIAMP////9AgAAQ/////ywAAAH/////QIAAHP////9IAAAo/////ywAAAT/////QIAAIP////9IAAAE/////zvgAAP/////SAAAFP////874AAB/////0gAAAz/////O+AAAv////9IAAAE/////4ABAAz/////LAAAAP////9BggAk/////zhhACD/////f+T7eP////88oAAA//8AADilAAD//wAAgMEACP////9IAAAB/AAAA3x+G3j/////SAAAFP////84YQAg/////3/k+3j/////SAAAAfwAAAN8fht4/////3/D83j/////OWEAgP////9IAAAB/AAAA4ABAIT/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: nandOpen + size: 504 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2479' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2480' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2481' + size: 24 + flags: 2 + section: .data + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: da16ae1b5d5dad36c5433f2717fea4f7c8388c23 + signature: lCH/gP////98CAKm/////5ABAIT/////OWEAgP////9IAAAB/AAAA3x4G3j/////fJ0jeP////+QoQAI/////5DBAAz/////kOEAEP////87wP+L/////zgAAAD/////kAEAIP////+QAQAk/////5ABACj/////kAEALP////+QAQAw/////5ABADT/////kAEAOP////+QAQA8/////5ABAED/////kAEARP////+QAQBI/////5ABAEz/////kAEAUP////+QAQBU/////5ABAFj/////kAEAXP////874AAA/////zuAAAH/////LBgAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gAC8/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAY/////4ABABj/////LAAAAP////9AggAI/////zuAAAD/////O2AAAf////87QAAB/////zsgAAH/////V6AGPv////8oAAAB/////0GCABT/////V6AGPv////8oAAAC/////0GCAAj/////OyAAAP////8sGQAA/////0CCABT/////V6AGPv////8oAAAD/////0GCAAj/////O0AAAP////8sGgAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAMD/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABT/////gAEAFP////8sAAAA/////0CCAAj/////O2AAAP////84YQAg/////38Ew3j/////SAAAAfwAAAOAAQAQ/////ywAAAD/////QIIAHP////84YQAg/////0gAAAH8AAADLAMAAP////9BggAM/////zhg/5r/////SAAAhP////9XoAY+/////ywAAAL/////QYIAMP////9AgAAQ/////ywAAAH/////QIAAHP////9IAAAo/////ywAAAT/////QIAAIP////9IAAAE/////zvgAAP/////SAAAFP////874AAB/////0gAAAz/////O+AAAv////9IAAAE/////4ABAAz/////LAAAAP////9BggAk/////zhhACD/////f+T7eP////88oAAA//8AADilAAD//wAAgMEACP////9IAAAB/AAAA3x+G3j/////SAAAFP////84YQAg/////3/k+3j/////SAAAAfwAAAN8fht4/////3/D83j/////OWEAgP////9IAAAB/AAAA4ABAIT/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: nandOpen + size: 504 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2384' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2385' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2386' + size: 24 + flags: 2 + section: .data + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 +- symbol: 0 + hash: 5365d89fb6e693e96b62ae79bdfba2e082d26014 + signature: lCH/gP////98CAKm/////5ABAIT/////OWEAgP////9IAAAB/AAAA3x4G3j/////fJ0jeP////+QoQAI/////5DBAAz/////kOEAEP////87wP+L/////zgAAAD/////kAEAIP////+QAQAk/////5ABACj/////kAEALP////+QAQAw/////5ABADT/////kAEAOP////+QAQA8/////5ABAED/////kAEARP////+QAQBI/////5ABAEz/////kAEAUP////+QAQBU/////5ABAFj/////kAEAXP////874AAA/////zuAAAH/////LBgAAP////9AggA4/////zxgAAD//wAAOGMAAP//AAA4gACi/////zygAAD//wAAOKUAAP//AABMxjGC/////0gAAAH8AAADOAAAAP////+QAQAY/////4ABABj/////LAAAAP////9AggAI/////zuAAAD/////O2AAAf////87QAAB/////zsgAAH/////V6AGPv////8oAAAB/////0GCABT/////V6AGPv////8oAAAC/////0GCAAj/////OyAAAP////8sGQAA/////0CCABT/////V6AGPv////8oAAAD/////0GCAAj/////O0AAAP////8sGgAA/////0CCADj/////PGAAAP//AAA4YwAA//8AADiAAKb/////PKAAAP//AAA4pQAA//8AAEzGMYL/////SAAAAfwAAAM4AAAA/////5ABABT/////gAEAFP////8sAAAA/////0CCAAj/////O2AAAP////84YQAg/////38Ew3j/////SAAAAfwAAAOAAQAQ/////ywAAAD/////QIIAHP////84YQAg/////0gAAAH8AAADLAMAAP////9BggAM/////zhg/5r/////SAAAhP////9XoAY+/////ywAAAL/////QYIAMP////9AgAAQ/////ywAAAH/////QIAAHP////9IAAAo/////ywAAAT/////QIAAIP////9IAAAE/////zvgAAP/////SAAAFP////874AAB/////0gAAAz/////O+AAAv////9IAAAE/////4ABAAz/////LAAAAP////9BggAk/////zhhACD/////f+T7eP////88oAAA//8AADilAAD//wAAgMEACP////9IAAAB/AAAA3x+G3j/////SAAAFP////84YQAg/////3/k+3j/////SAAAAfwAAAN8fht4/////3/D83j/////OWEAgP////9IAAAB/AAAA4ABAIT/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: nandOpen + size: 504 + flags: 2 + section: .text + - kind: Unknown + name: _savegpr_24 + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@2424' + size: 16 + flags: 2 + section: .data + - kind: Object + name: '@2425' + size: 26 + flags: 2 + section: .data + - kind: Function + name: OSPanic + size: 0 + flags: 5 + section: .text + - kind: Object + name: '@2426' + size: 24 + flags: 2 + section: .data + - kind: Function + name: nandGenerateAbsPath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandIsPrivatePath + size: 0 + flags: 1 + section: .text + - kind: Function + name: nandOpenCallback + size: 0 + flags: 2 + section: .text + - kind: Function + name: ISFS_OpenAsync + size: 0 + flags: 1 + section: .text + - kind: Function + name: ISFS_Open + size: 0 + flags: 1 + section: .text + - kind: Unknown + name: _restgpr_24 + size: 0 + flags: 1 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 128 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 132 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 144 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 252 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 264 + kind: PpcAddr16Ha + symbol: 5 + addend: 0 + - offset: 268 + kind: PpcAddr16Lo + symbol: 5 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 312 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 332 + kind: PpcRel24 + symbol: 7 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 8 + addend: 0 + - offset: 440 + kind: PpcAddr16Lo + symbol: 8 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 9 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 10 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 11 + addend: 0 diff --git a/assets/printf.yml b/assets/printf.yml new file mode 100644 index 0000000..9a0ec94 --- /dev/null +++ b/assets/printf.yml @@ -0,0 +1,357 @@ +- symbol: 0 + hash: 282f9bf3b1f14c056739e1880b6e3484b82030b6 + signature: lCH/kP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////+QYQAI/////zhgAAD/////kIEADP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////84IQBw/////06AACD///// + symbols: + - kind: Function + name: printf + size: 84 + flags: 1 + section: .text + relocations: [] +- symbol: 0 + hash: 33ed179a917b9d636d66364f578ab12c4b3cb9dd + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////3x+G3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////P+AAAP//AACQgQAM/////zv/AAD//wAAOID///////+QYQAI/////zh/AFD/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////SAAAAfwAAAMsAwAA/////0GAAAz/////OGD///////9IAAA0/////ziBAIj/////OAEACP////88oAEA/////zxgAAD//wAAkKEAaP////84wQBo/////3/F83j/////OGMAAP//AACQgQBs/////zifAFD/////kAEAcP////9IAAAB/AAAA4ABAIT/////g+EAfP////+DwQB4/////3wIA6b/////OCEAgP////9OgAAg/////w== + symbols: + - kind: Function + name: printf + size: 200 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 172 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: faa186bb0ef24f099b8fc0c591d085bb595c7ca6 + signature: fAgCpv////+QAQAE/////5Qh/4D/////k+EAfP////+TwQB4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////5BhAAj/////O8MAAP////+QgQAM/////zyAAAD//wAAOIQAAP//AACQoQAQ/////zvkAEj/////OH8AAP////+QwQAU/////ziA////////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAADT/////PAABAP////+QAQBs/////zgBAIj/////PGAAAP//AACQAQBw/////zgBAAj/////OMEAbP////+QAQB0/////zhjAAD//wAAOJ8AAP////84vgAA/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: printf + size: 204 + flags: 1 + section: .text + - kind: Object + name: __files + size: 216 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 68 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: df851647f6a324a4203eda8f0dd4617eb9db14fa + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////3x+G3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////P+AAAP//AACQgQAM/////zv/AAD//wAAOID///////+QYQAI/////zh/AFD/////kKEAEP////+QwQAU/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////SAAAAfwAAAMsAwAA/////0GAAAz/////OGD///////9IAAA4/////ziBAIj/////OAEACP////88oAEA/////zxgAAD//wAAkKEAaP////84wQBo/////3/F83j/////OGMAAP//AACQgQBs/////zifAFD/////OOAAAP////+QAQBw/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: printf + size: 204 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: c95409a1b2096447096e76589d0ab09f4bd72ba3 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////3x+G3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////PWAAAP//AACQgQAM/////zlrAAD//wAAOID///////+QYQAI/////zvrAFD/////f+P7eP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAADT/////OKEAiP////84AQAI/////zyAAQD/////PGAAAP//AACQgQBo/////zjBAGj/////OGMAAP//AAB/5Pt4/////5ChAGz/////f8XzeP////+QAQBw/////0gAAAH8AAADgAEAhP////+D4QB8/////4PBAHj/////fAgDpv////84IQCA/////06AACD///// + symbols: + - kind: Function + name: printf + size: 204 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 144 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 156 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 1f6e6162f2d464ba3e379888e212a0087f516422 + signature: lCH7gP////98CAKm/////5ABBIT/////k+EEfP////98fxt4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////5BhAAj/////kIEADP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////9IAAAB/AAAAywDAAD/////QYIAGP////88YAAA//8AADhjAAD//wAASAAAAfwAAAMsAwAA/////0CCAAz/////OGAAAP////9IAAA8/////zihAGj/////PAABAP////+QAQBo/////zgBBIj/////kAEAbP////84AQAI/////5ABAHD/////OGEAdP////9/5Pt4/////0gAAAH8AAADOGEAdP////9MxjGC/////0gAAAH8AAADOGAAAP////+D4QR8/////4ABBIT/////fAgDpv////84IQSA/////06AACD///// + symbols: + - kind: Function + name: printf + size: 204 + flags: 1 + section: .text + - kind: Function + name: VAR_isInitialized + size: 0 + flags: 1 + section: .text + - kind: Object + name: '@775' + size: 15 + flags: 2 + section: .data + - kind: Function + name: VAR_getInt + size: 0 + flags: 1 + section: .text + - kind: Function + name: vsprintf + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSReport + size: 0 + flags: 1 + section: .text + relocations: + - offset: 88 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 176 + kind: PpcRel24 + symbol: 5 + addend: 0 +- symbol: 0 + hash: 86ae9e130b0f71dd799117031c530b64a6fd9b3f + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////3x+G3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////PWAAAP//AACQgQAM/////zlrAAD//wAAOID///////+QYQAI/////zvrAFD/////f+P7eP////+QoQAQ/////5DBABT/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAAFD/////OGAAAv////9IAAAB/AAAAzihAIj/////OAEACP////88gAEA/////zxgAAD//wAAkIEAaP////84wQBo/////zhjAAD//wAAf+T7eP////+QoQBs/////3/F83j/////kAEAcP////9IAAAB/AAAA3xgG3j/////OGAAAv////98HwN4/////0gAAAH8AAADf+P7eP////+AAQCE/////4PhAHz/////g8EAeP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: printf + size: 232 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + relocations: + - offset: 60 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 112 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 136 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 164 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 184 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 200 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/sprintf.yml b/assets/sprintf.yml new file mode 100644 index 0000000..caf357c --- /dev/null +++ b/assets/sprintf.yml @@ -0,0 +1,217 @@ +- symbol: 0 + hash: 79976cad443ea8598a646484234dc9fbbec55221 + signature: fAgCpv////+QAQAE/////5Qh/4D/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////kGEACP////88AAIA/////5CBAAz/////kKEAEP////84pAAA/////zyAABD/////kMEAFP////84wQBw/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////kAEAcP////84AQCI/////5ABAHT/////OAEACP////+QAQB4/////0gAAAH8AAADgAEAhP////84IQCA/////3wIA6b/////ToAAIP////8= + symbols: + - kind: Function + name: sprintf + size: 136 + flags: 1 + section: .text + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 116 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 48eeccf5b95dbad11c8c14fc93c959db9bece0a7 + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////+TwQB4/////3yeI3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////OWEAiP////84AQAI/////z2AAgD/////kIEADP////874QBo/////ziAAQD/////kKEAEP////9/xfN4/////5DBABT/////f+b7eP////+QYQAI/////5DhABj/////kQEAHP////+RIQAg/////5FBACT/////kYEAaP////+RYQBs/////5ABAHD/////SAAAAfwAAAOAAQCE/////4PhAHz/////g8EAeP////98CAOm/////zghAID/////ToAAIP////8= + symbols: + - kind: Function + name: sprintf + size: 160 + flags: 1 + section: .text + - kind: Function + name: nvfprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 132 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 2a06e12e492b33a5e31e6d242d4d618cd8795ccf + signature: lCH/gP////98CAKm/////5ABAIT/////k+EAfP////98nyN4/////5PBAHj/////kGEAaP////9AhgAk/////9ghACj/////2EEAMP/////YYQA4/////9iBAED/////2KEASP/////YwQBQ/////9jhAFj/////2QEAYP////85YQCI/////zgBAAj/////PYACAP////+QYQAI/////4BhAGj/////kIEADP////84gP///////5ChABD/////f+X7eP////+QwQAU/////zjBAGz/////kOEAGP////+RAQAc/////5EhACD/////kUEAJP////+RgQBs/////5FhAHD/////kAEAdP////9IAAAB/AAAA4ABAIT/////g+EAfP////+DwQB4/////3wIA6b/////OCEAgP////9OgAAg/////w== + symbols: + - kind: Function + name: sprintf + size: 164 + flags: 1 + section: .text + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 136 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: d09a1b9030743f361d194938ef89ff9f9a1cf212 + signature: lCH/YP////98CAKm/////5ABAKT/////v2EAjP////98ext4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////zmBAKj/////OAEACP////8/oAIA/////zvA////////O+AAAP////+QoQAQ/////zuBAHT/////PWAAAP//AACQwQAU/////3yFI3j/////f4bjeP////+QgQAM/////ziBAGj/////kGEACP////+QYQBo/////zhrAAD//wAAkOEAGP////+RAQAc/////5EhACD/////kUEAJP////+ToQB0/////5GBAHj/////kAEAfP////+TwQBs/////5PhAHD/////SAAAAfwAAAMsGwAA/////0GCABj/////fAPwQP////9AgAAM/////3/7Ga7/////SAAACP////+b+//+/////7thAIz/////gAEApP////98CAOm/////zghAKD/////ToAAIP////8= + symbols: + - kind: Function + name: sprintf + size: 208 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 84 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 116 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 77e9faef79e88c7e441e22b58aecf84a2a2a6bfa + signature: lCH/YP////98CAKm/////5ABAKT/////v2EAjP////98ext4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////zmBAKj/////OAEACP////8/oAIA/////zvA////////O+AAAP////+QoQAQ/////zuBAHT/////PWAAAP//AACQwQAU/////3yFI3j/////f4bjeP////+QgQAM/////ziBAGj/////kOEAGP////844AAA/////5BhAAj/////kGEAaP////84awAA//8AAJEBABz/////kSEAIP////+RQQAk/////5OhAHT/////kYEAeP////+QAQB8/////5PBAGz/////k+EAcP////9IAAAB/AAAAywbAAD/////QYIAGP////98A/BA/////0CAAAz/////f/sZrv////9IAAAI/////5v7//7/////u2EAjP////+AAQCk/////3wIA6b/////OCEAoP////9OgAAg/////w== + symbols: + - kind: Function + name: sprintf + size: 212 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 84 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: d4a3a295f042458e1a6620851c6674cdc5c49250 + signature: fAgCpv////+QAQAE/////5Qh/3D/////k+EAjP////+TwQCI/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////5BhAAj/////PAACAP////87wwAA/////5CBAAz/////O+D///////+QoQAQ/////zygAAD//wAAOGUAAP//AACQwQAU/////zikAAD/////OMEAfP////+Q4QAY/////ziBAHD/////kQEAHP////+RIQAg/////5FBACT/////kAEAfP////84AQCY/////5ABAID/////OAEACP////+QAQCE/////zgAAAD/////k8EAcP////+T4QB0/////5ABAHj/////SAAAAfwAAAN8A/hA/////0CAAAz/////fGQbeP////9IAAAI/////ziA//7/////OAAAAP////98HiGu/////4ABAJT/////g+EAjP////+DwQCI/////3wIA6b/////OCEAkP////9OgAAg/////w== + symbols: + - kind: Function + name: sprintf + size: 212 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 80 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 156 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 7c0c97fb5ae8b35eeb435fd97a28fc4ecd548683 + signature: lCH/YP////98CAKm/////5ABAKT/////v2EAjP////98ext4/////0CGACT/////2CEAKP/////YQQAw/////9hhADj/////2IEAQP/////YoQBI/////9jBAFD/////2OEAWP/////ZAQBg/////zmBAKj/////OAEACP////8/oAIA/////5ChABD/////O8D///////874AAA/////5DhABj/////O4EAdP////89YAAA//8AAHyFI3j/////kIEADP////84gQBo/////zjgAAD/////kMEAFP////9/huN4/////5BhAAj/////kGEAaP////84awAA//8AAJEBABz/////kSEAIP////+RQQAk/////5OhAHT/////kYEAeP////+QAQB8/////5PBAGz/////k+EAcP////9IAAAB/AAAAywbAAD/////QYIAGP////98A/BA/////0CAAAz/////f/sZrv////9IAAAI/////5v7//7/////u2EAjP////+AAQCk/////3wIA6b/////OCEAoP////9OgAAg/////w== + symbols: + - kind: Function + name: sprintf + size: 212 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 88 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 124 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 160 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 660c7cb92c8c16ca6bce5b8b457c61909b055747 + signature: lCH/YP////98CAKm/////5ABAKT/////vyEAhP////98eRt4/////3yaI3j/////QIYAJP/////YIQAo/////9hBADD/////2GEAOP/////YgQBA/////9ihAEj/////2MEAUP/////Y4QBY/////9kBAGD/////O6EAqP////87wQAI/////z+AAgD/////O+D///////85gAAA/////z1gAAD//wAAkIEADP////87YQB0/////zgLAAD//wAAOIEAaP////+QYQAI/////3wDA3j/////kKEAEP////9/RdN4/////5DBABT/////f2bbeP////+Q4QAY/////5EBABz/////kSEAIP////+RQQAk/////5OBAHT/////k6EAeP////+TwQB8/////5MhAGj/////k+EAbP////+RgQBw/////0gAAAH8AAADKBkAAP////9BggAg/////zgA////////OID//v////98AwBA/////0CAAAj/////fGQbeP////84AAAA/////3wZIa7/////uyEAhP////+AAQCk/////3wIA6b/////OCEAoP////9OgAAg/////w== + symbols: + - kind: Function + name: sprintf + size: 224 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 80 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 92 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 164 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/assets/stateReady.yml b/assets/stateReady.yml new file mode 100644 index 0000000..21ec15f --- /dev/null +++ b/assets/stateReady.yml @@ -0,0 +1,3796 @@ +- symbol: 0 + hash: 156ab58a382fe4aff4f6427932f93fdff78d004b + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAA/////5AAAAD/4AAASAABSP////+AAAAA/+AAACwAAAD/////QYIAGP////84AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAAEgAASj/////SAAAAfwAAAOQYAAA/+AAAIAAAAD/4AAALAAAAP////9BggBI/////zgA////////gGAAAP/gAACQAwAM/////4PgAAD/4AAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAgB8AKP////8oAAAA/////0GCABj/////OGD///////84nwAA/////4GfACj/////fYgDpv////9OgAAh/////0gAAAH8AAADSAAA0P////+AYAAA/+AAAIADAAj/////kAAAAP/gAACAAAAA/+AAACgAAAD/////QYIApP////+AAAAA/+AAACwAAAT/////QYIAXP////9AgAAc/////ywAAAL/////QYIAKP////9AgAA4/////ywAAAH/////QIAAWP////9IAABw/////ywAAAj/////QIAAaP////8sAAAG/////0CAAET/////SAAAVP////84AAAL/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAAEj/////OAAABP////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAAA0/////zgAAAX/////gGAAAP/gAACQAwAM/////0gAAAH8AAADSAAAIP////84AAAD/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAAAz/////gGAAAP/gAABIAAAB/AAAAzgAAAD/////kAAAAP/gAABIAAAY/////zgAAAH/////gGAAAP/gAACQAwAM/////4BgAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: stateReady + size: 384 + flags: 2 + section: .text + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 324 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 348 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 356 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 15 + addend: 0 +- symbol: 0 + hash: 23053a8cb3b5b8b35486229bd625c78cbb9cca73 + signature: fAgCpv////+QAQAE/////5Qh//D/////k+EADP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAA/////5AAAAD/4AAASAABVP////+AAAAA/+AAACwAAAD/////QYIAGP////84AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAAEgAATT/////SAAAAfwAAAOQYAAA/+AAAIAAAAD/4AAALAAAAP////9BggBI/////zgA////////gGAAAP/gAACQAwAM/////4PgAAD/4AAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAgB8AKP////8oAAAA/////0GCABj/////OGD///////84nwAA/////4GfACj/////fYgDpv////9OgAAh/////0gAAAH8AAADSAAA3P////+AYAAA/+AAAIADAAj/////kAAAAP/gAACAAAAA/+AAACgAAAD/////QYIAsP////+AAAAA/+AAACwAAAT/////QYIAXP////9AgAAc/////ywAAAL/////QYIAKP////9AgAA4/////ywAAAH/////QIAAWP////9IAAB8/////ywAAAj/////QIAAdP////8sAAAG/////0CAAET/////SAAAVP////84AAAL/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAAFT/////OAAABP////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAABA/////zgAAAX/////gGAAAP/gAACQAwAM/////0gAAAH8AAADSAAALP////84AAAD/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAABj/////OAD///////+AYAAA/+AAAJADAAz/////gGAAAP/gAABIAAAB/AAAAzgAAAD/////kAAAAP/gAABIAAAY/////zgAAAH/////gGAAAP/gAACQAwAM/////4BgAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: stateReady + size: 396 + flags: 2 + section: .text + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 268 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 276 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 316 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 328 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 336 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 348 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 360 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 15 + addend: 0 +- symbol: 0 + hash: 2807308193226aee54b846edde8786bf9ad14067 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QYIAGP////84AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAAEgAAcz/////SAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAbT/////SAAAAfwAAAOQYAAA/+AAAIAAAAD/4AAALAAAAP////9BggBI/////zgA////////gGAAAP/gAACQAwAM/////4PgAAD/4AAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAgB8AKP////8sAAAA/////0GCABj/////OGD///////9/5Pt4/////4GfACj/////fYkDpv////9OgAQh/////0gAAAH8AAADSAABXP////+AYAAA/+AAAIADAAj/////kAAAAP/gAACAAAAA/+AAACgAACD/////QYIAHP////+AAAAA/+AAACgAAA7/////QYIAEP////+AAAAA/+AAACgAACP/////QIIADP////84AAAA/////5AAAAD/4AAAgAAAAP/gAAAsAAAA/////0GCAKT/////gAAAAP/gAAAsAAAE/////0GCAFz/////QIAAHP////8sAAAC/////0GCACj/////QIAAOP////8sAAAB/////0CAAFj/////SAAAcP////8sAAAI/////0CAAGj/////LAAABv////9AgABE/////0gAAFT/////OAAAC/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAABI/////zgAAAT/////gGAAAP/gAACQAwAM/////0gAAAH8AAADSAAANP////84AAAF/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAACD/////OAAAA/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAAAM/////4BgAAD/4AAASAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAeP////+AAAAA/+AAACwAAAH/////QYIAaP////9AgAAQ/////ywAAAD/////QIAARP////9IAABY/////ywAAAP/////QIAAUP////9IAAAE/////4AAAAD/4AAALAAAAP////9BggAU/////zgAAAz/////gGAAAP/gAACQAwAM/////0gAADT/////OAAAA/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAAAg/////zgAAAH/////gGAAAP/gAACQAwAM/////4BgAAD/4AAASAAAAfwAAANIAAAI/////0gAAAH8AAADg+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: stateReady + size: 524 + flags: 2 + section: .text + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateError + size: 0 + flags: 2 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MotorStopped + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 444 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 480 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 488 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 3fc4b589e6589fd946b4bb9b6cd4ecefb38a5f3a + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAA/////5AAAAD/4AAASAAB1P////+AAAAA/+AAACwAAAD/////QYIAGP////84AAAB/////5AAAAD/4AAAOAAAAP////+QAAAA/+AAAEgAAbT/////SAAAAfwAAAOQYAAA/+AAAIAAAAD/4AAALAAAAP////9BggBI/////zgA////////gGAAAP/gAACQAwAM/////4PgAAD/4AAAPGAAAP//AAA4AwAA//8AAJAAAAD/4AAAgB8AKP////8sAAAA/////0GCABj/////OGD///////9/5Pt4/////4GfACj/////fYkDpv////9OgAQh/////0gAAAH8AAADSAABXP////+AYAAA/+AAAIADAAj/////kAAAAP/gAACAAAAA/+AAACgAACD/////QYIAHP////+AAAAA/+AAACgAAA7/////QYIAEP////+AAAAA/+AAACgAACP/////QIIADP////84AAAA/////5AAAAD/4AAAgAAAAP/gAAAsAAAA/////0GCAKT/////gAAAAP/gAAAsAAAE/////0GCAFz/////QIAAHP////8sAAAC/////0GCACj/////QIAAOP////8sAAAB/////0CAAFj/////SAAAcP////8sAAAI/////0CAAGj/////LAAABv////9AgABE/////0gAAFT/////OAAAC/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAABI/////zgAAAT/////gGAAAP/gAACQAwAM/////0gAAAH8AAADSAAANP////84AAAF/////4BgAAD/4AAAkAMADP////9IAAAB/AAAA0gAACD/////OAAAA/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAAAM/////4BgAAD/4AAASAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAeP////+AAAAA/+AAACwAAAH/////QYIAaP////9AgAAQ/////ywAAAD/////QIAARP////9IAABY/////ywAAAP/////QIAAUP////9IAAAE/////4AAAAD/4AAALAAAAP////9BggAU/////zgAAAz/////gGAAAP/gAACQAwAM/////0gAADT/////OAAAA/////+AYAAA/+AAAJADAAz/////SAAAAfwAAANIAAAg/////zgAAAH/////gGAAAP/gAACQAwAM/////4BgAAD/4AAASAAAAfwAAANIAAAI/////0gAAAH8AAADg+EADP////+AAQAU/////3wIA6b/////OCEAEP////9OgAAg/////w== + symbols: + - kind: Function + name: stateReady + size: 524 + flags: 2 + section: .text + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateError + size: 0 + flags: 2 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MotorStopped + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 56 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 96 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 108 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 152 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 160 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 172 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 184 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 216 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 228 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 292 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 300 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 312 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 320 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 332 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 340 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 352 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 360 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 368 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 388 + kind: PpcEmbSda21 + symbol: 15 + addend: 0 + - offset: 428 + kind: PpcEmbSda21 + symbol: 16 + addend: 0 + - offset: 444 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 460 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 468 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 480 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 488 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 492 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 12 + addend: 0 +- symbol: 0 + hash: 05b265d9ddba929732299aec83c8979d9d05e171 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvjAAD//wAASAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAej/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAf////84AAAA/////5BgAAD/4AAAkAAAAP/gAABIAAHI/////0gAAAH8AAADgAAAAP/gAACQYAAA/+AAACwAAAD/////QYIAPP////+AYAAA/+AAADiA////////OB8AQP////+QgwAM/////4CAAAD/4AAAkAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg////////ToAAIf////9IAAAB/AAAA0gAAXz/////gIAAAP/gAACABAAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCAVT/////gAAAAP/gAAAsAAAE/////0GCAGT/////QIAAHP////8sAAAC/////0GCACj/////QIAAPP////8sAAAB/////0CAAGT/////SAABIP////8sAAAI/////0CAARj/////LAAABv////9AgABQ/////0gAAPj/////OAAAC/////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAPT/////OAAABP////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAANz/////OAAABf////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAMT/////OAAAA/////+QBAAM/////4AAAAD/4AAALAAADf////9BggAo/////0CAABj/////LAAABv////9AgABM/////ywAAAT/////QIAAFP////9IAABA/////ywAAA//////QYIACP////9IAAA0/////0gAAAH8AAADgIAAAP/gAAA4HwBA/////5AAAAD/4AAAgYQAKP////8oDAAA/////0GCABD/////fYgDpv////84YP/8/////06AACH/////SAAAAfwAAANIAABc/////0gAAAH8AAADOH8AcP////9IAAAB/AAAAzxggAD/////gAMA+P////88gBBi/////zxgAAD//wAAVADwvv////84hE3T/////3wEABb/////VADRvv////8cwAR+/////zjjAAD//wAAOH8AcP////84oAAA/////0gAAAH8AAADSAAAGP////+AYAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADOAAAAP////+QAAAA/+AAAEgAABT/////OAAAAf////+QBAAM/////4BgAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: stateReady + size: 552 + flags: 2 + section: .text + - kind: Object + name: BB2 + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: cbForStateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowWaitCoverClose + size: 0 + flags: 5 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowStopMotor + size: 0 + flags: 5 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 464 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 484 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 488 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 492 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 496 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 508 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 528 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: d7d7a0037a25fc132562014d1304fb2ebd240435 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvjAAD//wAASAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAfD/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAf////84AAAA/////5BgAAD/4AAAkAAAAP/gAABIAAHQ/////0gAAAH8AAADgAAAAP/gAACQYAAA/+AAACwAAAD/////QYIAPP////+AYAAA/+AAADiA////////OB8AQP////+QgwAM/////4CAAAD/4AAAkAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg////////ToAAIf////9IAAAB/AAAA0gAAYT/////gIAAAP/gAACABAAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCAVz/////gAAAAP/gAAAsAAAE/////0GCAGT/////QIAAHP////8sAAAC/////0GCACj/////QIAAPP////8sAAAB/////0CAAGT/////SAABKP////8sAAAI/////0CAASD/////LAAABv////9AgABQ/////0gAAPj/////OAAAC/////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAPz/////OAAABP////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAOT/////OAAABf////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAMz/////OAAAA/////+QBAAM/////4AAAAD/4AAALAAADf////9BggAo/////0CAABj/////LAAABv////9AgABM/////ywAAAT/////QIAAFP////9IAABA/////ywAAA//////QYIACP////9IAAA0/////0gAAAH8AAADgIAAAP/gAAA4HwBA/////5AAAAD/4AAAgYQAKP////8oDAAA/////0GCABD/////fYgDpv////84YP/8/////06AACH/////SAAAAfwAAANIAABk/////0gAAAH8AAADOH8AcP////9IAAAB/AAAAzxggAD/////gAMA+P////88gBBi/////zxgAAD//wAAVADwvv////84hE3T/////3wEABb/////VADRvv////8cwAR+/////zjjAAD//wAAOH8AcP////84oAAA/////0gAAAH8AAADSAAAIP////84AP///////5AEAAz/////gGAAAP/gAABIAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAAzgAAAD/////kAAAAP/gAABIAAAU/////zgAAAH/////kAQADP////+AYAAA/+AAAEgAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: stateReady + size: 560 + flags: 2 + section: .text + - kind: Object + name: BB2 + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: cbForStateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowWaitCoverClose + size: 0 + flags: 5 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowStopMotor + size: 0 + flags: 5 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 416 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 464 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 500 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 504 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 536 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 988594a56f1a1d537c6cebc018e2dcb4d0c3184c + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvjAAD//wAASAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAgj/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAf////84AAAA/////5BgAAD/4AAAkAAAAP/gAABIAAHo/////0gAAAH8AAADgAAAAP/gAACQYAAA/+AAACwAAAD/////QYIAPP////+AYAAA/+AAADiA////////OB8AgP////+QgwAM/////4CAAAD/4AAAkAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg////////ToAAIf////9IAAAB/AAAA0gAAZz/////gIAAAP/gAACABAAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCAXT/////gAAAAP/gAAAoAAAH/////0GBAVz/////PGAAAP//AAA4YwAA//8AAFQAEDr/////fAMALv////98CQOm/////06ABCD/////OAAABv////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAASz/////OAAAC/////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAART/////OAAABP////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAPz/////OAAAB/////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAOT/////OAAABf////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAMz/////OAAAA/////+QBAAM/////4AAAAD/4AAALAAADf////9BggAo/////0CAABj/////LAAABv////9AgABM/////ywAAAT/////QIAAFP////9IAABA/////ywAAA//////QYIACP////9IAAA0/////0gAAAH8AAADgIAAAP/gAAA4HwCA/////5AAAAD/4AAAgYQAKP////8oDAAA/////0GCABD/////fYgDpv////84YP/8/////06AACH/////SAAAAfwAAANIAABk/////0gAAAH8AAADOH8AsP////9IAAAB/AAAAzxggAD/////gAMA+P////88gBBi/////zxgAAD//wAAVADwvv////84hE3T/////3wEABb/////VADRvv////8cwAR+/////zjjAAD//wAAOH8AsP////84oAAA/////0gAAAH8AAADSAAAIP////84AP///////5AEAAz/////gGAAAP/gAABIAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAAzgAAAD/////kAAAAP/gAABIAAAU/////zgAAAH/////kAQADP////+AYAAA/+AAAEgAAAH8AAADgAEAFP////+D4QAM/////zghABD/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: stateReady + size: 584 + flags: 2 + section: .text + - kind: Object + name: tmpBuffer + size: 128 + flags: 2 + section: .bss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: '@293' + size: 32 + flags: 2 + section: .data + - kind: Function + name: cbForStateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowWaitCoverClose + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowStopMotor + size: 0 + flags: 1 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 192 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 196 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 220 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 228 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 232 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 316 + kind: PpcAddr16Ha + symbol: 12 + addend: 0 + - offset: 324 + kind: PpcAddr16Lo + symbol: 12 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 344 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 392 + kind: PpcRel24 + symbol: 14 + addend: 0 + - offset: 396 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 404 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 440 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 488 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 500 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 520 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 524 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 528 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 532 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 540 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 560 + kind: PpcRel24 + symbol: 23 + addend: 0 +- symbol: 0 + hash: 421e53c306ab2d210f6060f3857a846de9a4e962 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvjAAD//wAASAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAApz/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAf////84AAAA/////5BgAAD/4AAAkAAAAP/gAABIAAJ8/////0gAAAH8AAADgAAAAP/gAACQYAAA/+AAACwAAAD/////QYIAPP////+AYAAA/+AAADiA////////OB8AQP////+QgwAM/////4CAAAD/4AAAkAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg////////ToAAIf////9IAAAB/AAAA0gAAjD/////gIAAAP/gAACABAAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCAgj/////gAAAAP/gAAAsAAAE/////0GCARD/////QIAAHP////8sAAAC/////0GCANT/////QIAA6P////8sAAAB/////0CAABz/////SAAB1P////8sAAAI/////0CAAcz/////LAAABv////9AgAD8/////0gAAaT/////OAAAAf////+QBAAM/////4AAAAD/4AAALAAADf////9BggAo/////0CAABj/////LAAABv////9AgABM/////ywAAAT/////QIAAFP////9IAABA/////ywAAA//////QYIACP////9IAAA0/////0gAAAH8AAADgIAAAP/gAAA4HwBA/////5AAAAD/4AAAgYQAKP////8oDAAA/////0GCABD/////fYgDpv////84YP/8/////06AACH/////SAAAAfwAAANIAAFY/////0gAAAH8AAADOH8AcP////9IAAAB/AAAAzxggAD/////gAMA+P////88gBBi/////zxgAAD//wAAVADwvv////84hE3T/////3wEABb/////VADRvv////8cwAR+/////zjjAAD//wAAOH8AcP////84oAAA/////0gAAAH8AAADSAABFP////84AAAL/////zxgAAD//wAAkAQADP////84YwAA//8AAEgAAAH8AAADSAAA/P////84AAAE/////zxgAAD//wAAkAQADP////84YwAA//8AAEgAAAH8AAADSAAA5P////84AAAF/////zxgAAD//wAAkAQADP////84YwAA//8AAEgAAAH8AAADSAAAzP////84AAAD/////5AEAAz/////gAAAAP/gAAAsAAAN/////0GCACj/////QIAAGP////8sAAAG/////0CAAEz/////LAAABP////9AgAAU/////0gAAED/////LAAAD/////9BggAI/////0gAADT/////SAAAAfwAAAOAgAAA/+AAADgfAED/////kAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg//z/////ToAAIf////9IAAAB/AAAA0gAAGT/////SAAAAfwAAAM4fwBw/////0gAAAH8AAADPGCAAP////+AAwD4/////zyAEGL/////PGAAAP//AABUAPC+/////ziETdP/////fAQAFv////9UANG+/////xzABH7/////OOMAAP//AAA4fwBw/////zigAAD/////SAAAAfwAAANIAAAg/////zgA////////kAQADP////+AYAAA/+AAAEgAAAH8AAADPGAAAP//AAA4YwAA//8AAEgAAAH8AAADOAAAAP////+QAAAA/+AAAEgAABT/////OAAAAf////+QBAAM/////4BgAAD/4AAASAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: stateReady + size: 732 + flags: 2 + section: .text + - kind: Object + name: BB2 + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowWaitCoverClose + size: 0 + flags: 1 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowStopMotor + size: 0 + flags: 1 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 248 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 296 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 308 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 336 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 344 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 352 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 368 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 392 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 404 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 416 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 424 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 428 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 440 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 448 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 464 + kind: PpcAddr16Ha + symbol: 16 + addend: 0 + - offset: 472 + kind: PpcAddr16Lo + symbol: 16 + addend: 0 + - offset: 476 + kind: PpcRel24 + symbol: 17 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 540 + kind: PpcRel24 + symbol: 11 + addend: 0 + - offset: 544 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 552 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 580 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 588 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 596 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 612 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 636 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 648 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 18 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 672 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 676 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 680 + kind: PpcRel24 + symbol: 21 + addend: 0 + - offset: 688 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 704 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 708 + kind: PpcRel24 + symbol: 22 + addend: 0 +- symbol: 0 + hash: 8080f590b7adb753efa75463a5bae04498a6d3d5 + signature: fAgCpv////88YAAA//8AAJABAAT/////lCH/8P////+T4QAM/////zvjAAD//wAASAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAqj/////gAAAAP/gAAAsAAAA/////0GCABj/////OGAAAf////84AAAA/////5BgAAD/4AAAkAAAAP/gAABIAAKI/////0gAAAH8AAADgAAAAP/gAACQYAAA/+AAACwAAAD/////QYIAPP////+AYAAA/+AAADiA////////OB8AQP////+QgwAM/////4CAAAD/4AAAkAAAAP/gAACBhAAo/////ygMAAD/////QYIAEP////99iAOm/////zhg////////ToAAIf////9IAAAB/AAAA0gAAjz/////gIAAAP/gAACABAAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAA/////0GCAVz/////gAAAAP/gAAAsAAAE/////0GCAGT/////QIAAHP////8sAAAC/////0GCACj/////QIAAPP////8sAAAB/////0CAAGT/////SAABKP////8sAAAI/////0CAASD/////LAAABv////9AgABQ/////0gAAQD/////OAAAC/////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAPz/////OAAABP////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAOT/////OAAABf////88YAAA//8AAJAEAAz/////OGMAAP//AABIAAAB/AAAA0gAAMz/////OAAAA/////+QBAAM/////4AAAAD/4AAALAAADf////9BggAo/////0CAABj/////LAAABv////9AgABM/////ywAAAT/////QIAAFP////9IAABA/////ywAAA//////QYIACP////9IAAA0/////0gAAAH8AAADgIAAAP/gAAA4HwBA/////5AAAAD/4AAAgYQAKP////8oDAAA/////0GCABD/////fYgDpv////84YP/8/////06AACH/////SAAAAfwAAANIAABk/////zgAAAD/////kAAAAP/gAABIAAAB/AAAAzh/AHD/////SAAAAfwAAAM8YIAA/////4ADAPj/////PIAQYv////88YAAA//8AAFQA8L7/////OIRN0/////98BAAW/////1QA0b7/////HMAEfv////844wAA//8AADh/AHD/////OKAAAP////9IAAAB/AAAA0gAABj/////gGAAAP/gAABIAAAB/AAAAzxgAAD//wAAOGMAAP//AABIAAAB/AAAAzgAAAD/////kAAAAP/gAABIAADM/////4AAAAD/4AAAKAAAAP////9AggAY/////zgAAAH/////kAQADP////+AYAAA/+AAAEgAAAH8AAADSAAArP////+AAAAA/+AAACwAAA3/////QYIAKP////9AgAAY/////ywAAAb/////QIAATP////8sAAAE/////0CAABT/////SAAAQP////8sAAAP/////0GCAAj/////SAAANP////9IAAAB/AAAA4CAAAD/4AAAOB8AQP////+QAAAA/+AAAIGEACj/////KAwAAP////9BggAQ/////32IA6b/////OGD//P////9OgAAh/////0gAAAH8AAADSAAATP////84AAAA/////5AAAAD/4AAASAAAAfwAAAM4fwBw/////0gAAAH8AAADPGCAAP////+AAwD4/////zyAEGL/////PGAAAP//AABUAPC+/////ziETdP/////fAQAFv////9UANG+/////xzABH7/////OOMAAP//AAA4fwBw/////zigAAD/////SAAAAfwAAAOAAQAU/////4PhAAz/////OCEAEP////98CAOm/////06AACD///// + symbols: + - kind: Function + name: stateReady + size: 744 + flags: 2 + section: .text + - kind: Object + name: BB2 + size: 32 + flags: 2 + section: .bss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: cbForStateMotorStopped + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowWaitCoverClose + size: 0 + flags: 5 + section: .text + - kind: Function + name: __DVDClearWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: DVDReset + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: AlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetAlarm + size: 0 + flags: 1 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Function + name: cbForStateError + size: 0 + flags: 2 + section: .text + - kind: Function + name: DVDLowStopMotor + size: 0 + flags: 5 + section: .text + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 24 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 68 + kind: PpcEmbSda21 + symbol: 5 + addend: 0 + - offset: 72 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 6 + addend: 0 + - offset: 84 + kind: PpcEmbSda21 + symbol: 7 + addend: 0 + - offset: 88 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 116 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 120 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 148 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 164 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 244 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 252 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 256 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 268 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 276 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 280 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 292 + kind: PpcAddr16Ha + symbol: 11 + addend: 0 + - offset: 300 + kind: PpcAddr16Lo + symbol: 11 + addend: 0 + - offset: 304 + kind: PpcRel24 + symbol: 12 + addend: 0 + - offset: 320 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 368 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 372 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 380 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 408 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 420 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 424 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 432 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 448 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 472 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 484 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 492 + kind: PpcEmbSda21 + symbol: 19 + addend: 0 + - offset: 496 + kind: PpcRel24 + symbol: 20 + addend: 0 + - offset: 500 + kind: PpcAddr16Ha + symbol: 21 + addend: 0 + - offset: 504 + kind: PpcAddr16Lo + symbol: 21 + addend: 0 + - offset: 508 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 516 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 524 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 544 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 548 + kind: PpcRel24 + symbol: 23 + addend: 0 + - offset: 556 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 604 + kind: PpcRel24 + symbol: 13 + addend: 0 + - offset: 608 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 616 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 644 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 656 + kind: PpcEmbSda21 + symbol: 14 + addend: 0 + - offset: 660 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 668 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 684 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 708 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 720 + kind: PpcRel24 + symbol: 18 + addend: 0 +- symbol: 0 + hash: 287a71c25050dc67264e995e1d5a185fd24c403d + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QYIAGP////84YAAB/////zgAAAD/////kGAAAP/gAACQAAAA/+AAAEgAAtz/////SAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAsT/////SAAAAfwAAAOAAAAA/+AAAJBgAAD/4AAALAAAAP////9BggA8/////zgA////////kAMADP////88YAAA//8AAICAAAD/4AAAOGMAAP//AACQYAAA/+AAAIGEACj/////LAwAAP////9BggAQ/////zhg////////fYkDpv////9OgAQh/////0gAAAH8AAADSAACeP////+AAwAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAg/////0GCABz/////gAAAAP/gAAAoAAAO/////0GCABD/////gAAAAP/gAAAoAAAj/////0CCAAz/////OAAAAP////+QAAAA/+AAAIAAAAD/4AAALAAAAP////9BggHg/////4CAAAD/4AAAOAT/+v////8oAAAB/////0CBAaT/////KAQAAv////9BggAo/////ygEAAP/////QYIAnP////8oBAAE/////0GCARD/////KAQAAf////9BggGE/////ygEAAX/////QYIBjP////9IAAGY/////zgAAAv/////kAMADP////84YAAB/////4AAAAD/4AAAkGAAAP/gAAAsAAAA/////0CCAXz/////gAAAAP/gAAAsAAAA/////0CCAXD/////P+AAAP//AACQYAAA/+AAADh/AAD//wAASAAAAfwAAANIAAAB/AAAAzyggAD/////PIAQYv////+ABQD4/////z0gAAD//wAAfGYbeP////84hE3T/////1QA8L7/////OH8AAP//AAB8BAAW/////zkpAAD//wAAOKAAAP////844AAA/////1QA0b7/////HQAAZP////9IAAAB/AAAA0gAARz/////OAAABP////+QAwAM/////zhgAAH/////gAAAAP/gAACQYAAA/+AAACwAAAD/////QIIBAP////+AAAAA/+AAACwAAAD/////QIIA9P////8/4AAA//8AAJBgAAD/4AAAOH8AAP//AABIAAAB/AAAA0gAAAH8AAADPKCAAP////88gBBi/////4AFAPj/////PSAAAP//AAB8Zht4/////ziETdP/////VADwvv////84fwAA//8AAHwEABb/////OSkAAP//AAA4oAAA/////zjgAAD/////VADRvv////8dAABk/////0gAAAH8AAADSAAAoP////84AAAF/////5ADAAz/////OGAAAf////+AAAAA/+AAAJBgAAD/4AAALAAAAP////9AggCE/////4AAAAD/4AAALAAAAP////9AggB4/////z/gAAD//wAAkGAAAP/gAAA4fwAA//8AAEgAAAH8AAADSAAAAfwAAAM8oIAA/////zyAEGL/////gAUA+P////89IAAA//8AAHxmG3j/////OIRN0/////9UAPC+/////zh/AAD//wAAfAQAFv////85KQAA//8AADigAAD/////OOAAAP////9UANG+/////x0AAGT/////SAAAAfwAAANIAAAk/////zgAAAP/////kAMADP////9IAAAB/AAAA0gAABT/////PIAAAP//AACAYAAA/+AAADiEAAD//wAASAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAXP////+AAAAA/+AAACgAAAL/////QYIAEP////8sAAAA/////0GCADD/////SAAAQP////+AAAAA/+AAACwAAAD/////QYIAEP////84AAAM/////5ADAAz/////SAAALP////84AAAD/////5ADAAz/////SAAAAfwAAANIAAAc/////zgAAAH/////kAMADP////+AYAAA/+AAAEgAAAH8AAADSAAACP////9IAAAB/AAAA4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: stateReady + size: 796 + flags: 2 + section: .text + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverOpen + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverClose + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: CoverAlarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + - kind: Function + name: CoverAlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetPeriodicAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Function + name: cbForStoreErrorCode1 + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorStopped + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 100 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 108 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 312 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 368 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 424 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 492 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 536 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 568 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 608 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 616 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 668 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 680 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 688 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 712 + kind: PpcEmbSda21 + symbol: 23 + addend: 0 + - offset: 744 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 760 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 764 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 772 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: 4d8ee32a48cbe3bc4e6870f7f422096d81ec8de8 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////+AAAAA/+AAACwAAAD/////QYIAGP////84YAAB/////zgAAAD/////kGAAAP/gAACQAAAA/+AAAEgAAuj/////SAAAAfwAAAMsAwAA/////0CCABD/////OAAAAP////+QAAAA/+AAAEgAAtD/////SAAAAfwAAAOAAAAA/+AAAJBgAAD/4AAALAAAAP////9BggA8/////zgA////////PKAAAP//AACQAwAM/////zilAAD//wAAgIAAAP/gAACQoAAA/+AAAIGEACj/////LAwAAP////9BggAQ/////zhg////////fYkDpv////9OgAQh/////0gAAAH8AAADSAAChP////+AAwAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAg/////0GCABz/////gAAAAP/gAAAoAAAO/////0GCABD/////gAAAAP/gAAAoAAAj/////0CCAAz/////OAAAAP////+QAAAA/+AAAIAAAAD/4AAALAAAAP////9BggHg/////4AAAAD/4AAALAAABP////9BggEs/////0CAABz/////LAAAAv////9BggAo/////0CAAKD/////LAAAAf////9AgAGQ/////0gAAaz/////LAAACP////9AgAGk/////ywAAAb/////QIABfP////9IAAGI/////zgAAAv/////OIAAAf////+QAwAM/////4AAAAD/4AAAkIAAAP/gAAAsAAAA/////0CCAXz/////gAAAAP/gAAAsAAAA/////0CCAXD/////P+AAAP//AACQgAAA/+AAADh/AAD//wAASAAAAfwAAANIAAAB/AAAAzyggAD/////PIAQYv////+ABQD4/////z0gAAD//wAAfGYbeP////84hE3T/////1QA8L7/////OH8AAP//AAB8BAAW/////zkpAAD//wAAOKAAAP////844AAA/////1QA0b7/////HQAAZP////9IAAAB/AAAA0gAARz/////OAAABP////84gAAB/////5ADAAz/////gAAAAP/gAACQgAAA/+AAACwAAAD/////QIIBAP////+AAAAA/+AAACwAAAD/////QIIA9P////8/4AAA//8AAJCAAAD/4AAAOH8AAP//AABIAAAB/AAAA0gAAAH8AAADPKCAAP////88gBBi/////4AFAPj/////PSAAAP//AAB8Zht4/////ziETdP/////VADwvv////84fwAA//8AAHwEABb/////OSkAAP//AAA4oAAA/////zjgAAD/////VADRvv////8dAABk/////0gAAAH8AAADSAAAoP////84AAAF/////ziAAAH/////kAMADP////+AAAAA/+AAAJCAAAD/4AAALAAAAP////9AggCE/////4AAAAD/4AAALAAAAP////9AggB4/////z/gAAD//wAAkIAAAP/gAAA4fwAA//8AAEgAAAH8AAADSAAAAfwAAAM8oIAA/////zyAEGL/////gAUA+P////89IAAA//8AAHxmG3j/////OIRN0/////9UAPC+/////zh/AAD//wAAfAQAFv////85KQAA//8AADigAAD/////OOAAAP////9UANG+/////x0AAGT/////SAAAAfwAAANIAAAk/////zgAAAP/////kAMADP////9IAAAB/AAAA0gAABT/////PIAAAP//AACAYAAA/+AAADiEAAD//wAASAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAaP////+AAAAA/+AAACwAAAH/////QYIAWP////9AgAAQ/////ywAAAD/////QIAAOP////9IAABI/////ywAAAP/////QIAAQP////+AAAAA/+AAACwAAAD/////QYIAEP////84AAAM/////5ADAAz/////SAAALP////84AAAD/////5ADAAz/////SAAAAfwAAANIAAAc/////zgAAAH/////kAMADP////+AYAAA/+AAAEgAAAH8AAADSAAACP////9IAAAB/AAAA4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: stateReady + size: 808 + flags: 2 + section: .text + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverOpen + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverClose + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: CoverAlarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + - kind: Function + name: CoverAlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetPeriodicAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Function + name: cbForStoreErrorCode1 + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorStopped + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcEmbSda21 + symbol: 1 + addend: 0 + - offset: 36 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 312 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 368 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 424 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 492 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 536 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 568 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 608 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 616 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 668 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 680 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 688 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 724 + kind: PpcEmbSda21 + symbol: 23 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 772 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 19 + addend: 0 +- symbol: 0 + hash: 1f96cf073f2218dbaab1abea75082bd868d34f31 + signature: lCH/8P////98CAKm/////5ABABT/////k+EADP////9IAAAB/AAAAywDAAD/////QIIAEP////84AAAA/////5AAAAD/4AAASAAC8P////+AAAAA/+AAACwAAAD/////QYIAGP////84YAAB/////zgAAAD/////kGAAAP/gAACQAAAA/+AAAEgAAtD/////SAAAAfwAAAOAAAAA/+AAAJBgAAD/4AAALAAAAP////9BggA8/////zgA////////PKAAAP//AACQAwAM/////zilAAD//wAAgIAAAP/gAACQoAAA/+AAAIGEACj/////LAwAAP////9BggAQ/////zhg////////fYkDpv////9OgAQh/////0gAAAH8AAADSAAChP////+AAwAI/////5AAAAD/4AAAgAAAAP/gAAAoAAAg/////0GCABz/////gAAAAP/gAAAoAAAO/////0GCABD/////gAAAAP/gAAAoAAAj/////0CCAAz/////OAAAAP////+QAAAA/+AAAIAAAAD/4AAALAAAAP////9BggHg/////4AAAAD/4AAALAAABP////9BggEs/////0CAABz/////LAAAAv////9BggAo/////0CAAKD/////LAAAAf////9AgAGQ/////0gAAaz/////LAAACP////9AgAGk/////ywAAAb/////QIABfP////9IAAGI/////zgAAAv/////OIAAAf////+QAwAM/////4AAAAD/4AAAkIAAAP/gAAAsAAAA/////0CCAXz/////gAAAAP/gAAAsAAAA/////0CCAXD/////P+AAAP//AACQgAAA/+AAADh/AAD//wAASAAAAfwAAANIAAAB/AAAAzyggAD/////PIAQYv////+ABQD4/////z0gAAD//wAAfGYbeP////84hE3T/////1QA8L7/////OH8AAP//AAB8BAAW/////zkpAAD//wAAOKAAAP////844AAA/////1QA0b7/////HQAAZP////9IAAAB/AAAA0gAARz/////OAAABP////84gAAB/////5ADAAz/////gAAAAP/gAACQgAAA/+AAACwAAAD/////QIIBAP////+AAAAA/+AAACwAAAD/////QIIA9P////8/4AAA//8AAJCAAAD/4AAAOH8AAP//AABIAAAB/AAAA0gAAAH8AAADPKCAAP////88gBBi/////4AFAPj/////PSAAAP//AAB8Zht4/////ziETdP/////VADwvv////84fwAA//8AAHwEABb/////OSkAAP//AAA4oAAA/////zjgAAD/////VADRvv////8dAABk/////0gAAAH8AAADSAAAoP////84AAAF/////ziAAAH/////kAMADP////+AAAAA/+AAAJCAAAD/4AAALAAAAP////9AggCE/////4AAAAD/4AAALAAAAP////9AggB4/////z/gAAD//wAAkIAAAP/gAAA4fwAA//8AAEgAAAH8AAADSAAAAfwAAAM8oIAA/////zyAEGL/////gAUA+P////89IAAA//8AAHxmG3j/////OIRN0/////9UAPC+/////zh/AAD//wAAfAQAFv////85KQAA//8AADigAAD/////OOAAAP////9UANG+/////x0AAGT/////SAAAAfwAAANIAAAk/////zgAAAP/////kAMADP////9IAAAB/AAAA0gAABT/////PIAAAP//AACAYAAA/+AAADiEAAD//wAASAAAAfwAAAM4AAAA/////5AAAAD/4AAASAAAaP////+AAAAA/+AAACwAAAH/////QYIAWP////9AgAAQ/////ywAAAD/////QIAAOP////9IAABI/////ywAAAP/////QIAAQP////+AAAAA/+AAACwAAAD/////QYIAEP////84AAAM/////5ADAAz/////SAAALP////84AAAD/////5ADAAz/////SAAAAfwAAANIAAAc/////zgAAAH/////kAMADP////+AYAAA/+AAAEgAAAH8AAADSAAACP////9IAAAB/AAAA4ABABT/////g+EADP////98CAOm/////zghABD/////ToAAIP////8= + symbols: + - kind: Function + name: stateReady + size: 808 + flags: 2 + section: .text + - kind: Function + name: __DVDCheckWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: executing + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PauseFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: PausingFlag + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDPopWaitingQueue + size: 0 + flags: 1 + section: .text + - kind: Object + name: FatalErrorFlag + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: DummyCommandBlock + size: 48 + flags: 2 + section: .bss + - kind: Function + name: stateReady + size: 0 + flags: 2 + section: .text + - kind: Object + name: CurrCommand + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: ResumeFromHere + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverOpen + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: MotorState + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: WaitingForCoverClose + size: 4 + flags: 2 + section: .sbss + - kind: Object + name: CoverAlarm + size: 48 + flags: 2 + section: .bss + - kind: Function + name: OSCreateAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: OSGetTick + size: 0 + flags: 1 + section: .text + - kind: Function + name: CoverAlarmHandler + size: 0 + flags: 2 + section: .text + - kind: Function + name: OSSetPeriodicAlarm + size: 0 + flags: 1 + section: .text + - kind: Function + name: stateCoverClosed + size: 0 + flags: 2 + section: .text + - kind: Function + name: cbForStoreErrorCode1 + size: 0 + flags: 2 + section: .text + - kind: Object + name: CancelLastError + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: __DVDStoreErrorCode + size: 0 + flags: 1 + section: .text + - kind: Object + name: MotorStopped + size: 4 + flags: 2 + section: .sbss + - kind: Function + name: stateBusy + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcRel24 + symbol: 1 + addend: 0 + - offset: 32 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 40 + kind: PpcEmbSda21 + symbol: 3 + addend: 0 + - offset: 60 + kind: PpcEmbSda21 + symbol: 4 + addend: 0 + - offset: 64 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 76 + kind: PpcEmbSda21 + symbol: 6 + addend: 0 + - offset: 80 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 96 + kind: PpcAddr16Ha + symbol: 7 + addend: 0 + - offset: 104 + kind: PpcAddr16Lo + symbol: 7 + addend: 0 + - offset: 108 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 112 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 140 + kind: PpcRel24 + symbol: 8 + addend: 0 + - offset: 152 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 156 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 168 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 180 + kind: PpcEmbSda21 + symbol: 9 + addend: 0 + - offset: 196 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 200 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 212 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 284 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 288 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 300 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 312 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 316 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 320 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 324 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 328 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 344 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 360 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 368 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 388 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 408 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 412 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 424 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 436 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 440 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 444 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 448 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 452 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 468 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 484 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 492 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 512 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 532 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 536 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 548 + kind: PpcEmbSda21 + symbol: 13 + addend: 0 + - offset: 560 + kind: PpcAddr16Ha + symbol: 14 + addend: 0 + - offset: 564 + kind: PpcEmbSda21 + symbol: 11 + addend: 0 + - offset: 568 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 572 + kind: PpcRel24 + symbol: 15 + addend: 0 + - offset: 576 + kind: PpcRel24 + symbol: 16 + addend: 0 + - offset: 592 + kind: PpcAddr16Ha + symbol: 17 + addend: 0 + - offset: 608 + kind: PpcAddr16Lo + symbol: 14 + addend: 0 + - offset: 616 + kind: PpcAddr16Lo + symbol: 17 + addend: 0 + - offset: 636 + kind: PpcRel24 + symbol: 18 + addend: 0 + - offset: 652 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 660 + kind: PpcAddr16Ha + symbol: 20 + addend: 0 + - offset: 664 + kind: PpcEmbSda21 + symbol: 21 + addend: 0 + - offset: 668 + kind: PpcAddr16Lo + symbol: 20 + addend: 0 + - offset: 672 + kind: PpcRel24 + symbol: 22 + addend: 0 + - offset: 680 + kind: PpcEmbSda21 + symbol: 10 + addend: 0 + - offset: 688 + kind: PpcEmbSda21 + symbol: 12 + addend: 0 + - offset: 724 + kind: PpcEmbSda21 + symbol: 23 + addend: 0 + - offset: 756 + kind: PpcRel24 + symbol: 19 + addend: 0 + - offset: 772 + kind: PpcEmbSda21 + symbol: 2 + addend: 0 + - offset: 776 + kind: PpcRel24 + symbol: 24 + addend: 0 + - offset: 784 + kind: PpcRel24 + symbol: 19 + addend: 0 diff --git a/assets/vprintf.yml b/assets/vprintf.yml new file mode 100644 index 0000000..ffa1cb8 --- /dev/null +++ b/assets/vprintf.yml @@ -0,0 +1,368 @@ +- symbol: 0 + hash: 3b4e8a7f225c30c5449274e9abdc204ee21e3c0d + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////8/4AAA//8AADv/AAD//wAAk8EAGP////98niN4/////ziA////////k6EAFP////98fRt4/////zh/AFD/////SAAAAfwAAAMsAwAA/////0GAAAz/////OGD///////9IAAAc/////zxgAAD//wAAf6XreP////9/xvN4/////zifAFD/////OGMAAP//AABIAAAB/AAAA4ABACT/////g+EAHP////+DwQAY/////4OhABT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: vprintf + size: 120 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 88 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: dc80e3de9af9716a2d906e308bca88db274ea1f3 + signature: fAgCpv////88oAAA//8AAJABAAT/////OKUAAP//AACUIf/g/////5PhABz/////O+UASP////+TwQAY/////zvEAAD/////OID///////+ToQAU/////zujAAD/////OH8AAP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAABz/////PGAAAP//AAA4YwAA//8AADifAAD/////OL0AAP////843gAA/////0gAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////fAgDpv////+DoQAU/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: vprintf + size: 124 + flags: 1 + section: .text + - kind: Object + name: __files + size: 216 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 4 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 12 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 2176403937c686ed6f1358e6b1d5b7b5f2189951 + signature: lCH/4P////98CAKm/////5ABACT/////k+EAHP////8/4AAA//8AADv/AAD//wAAk8EAGP////98niN4/////ziA////////k6EAFP////98fRt4/////zh/AFD/////SAAAAfwAAAMsAwAA/////0GAAAz/////OGD///////9IAAAg/////zxgAAD//wAAf6XreP////9/xvN4/////zifAFD/////OGMAAP//AAA44AAA/////0gAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////g6EAFP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: vprintf + size: 124 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 16 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 20 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 84 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: e559aa5fd2ac1600ab39a86fcc5cfaba6d51ab20 + signature: lCH/4P////98CAKm/////zygAAD//wAAkAEAJP////+T4QAc/////5PBABj/////fJ4jeP////84hQAA//8AAJOhABT/////O+QAUP////98fRt4/////ziA////////f+P7eP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAABz/////PGAAAP//AAB/5Pt4/////zhjAAD//wAAf6XreP////9/xvN4/////0gAAAH8AAADgAEAJP////+D4QAc/////4PBABj/////g6EAFP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: vprintf + size: 124 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Lo + symbol: 3 + addend: 0 + - offset: 92 + kind: PpcRel24 + symbol: 4 + addend: 0 +- symbol: 0 + hash: 7d02711c0ae8687221526dba590c50461649feac + signature: lCH/4P////98CAKm/////zygAAD//wAAkAEAJP////84pQAA//8AAJCBAAz/////OID///////+QYQAI/////zhlAFD/////k+EAHP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAADz/////OGAAAv////9IAAAB/AAAAzyAAAD//wAAPGAAAP//AAA4hAAA//8AAIChAAj/////gMEADP////84YwAA//8AADiEAFD/////SAAAAfwAAAN8fxt4/////zhgAAL/////SAAAAfwAAAN/4/t4/////4ABACT/////g+EAHP////98CAOm/////zghACD/////ToAAIP////8= + symbols: + - kind: Function + name: vprintf + size: 136 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 16 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 40 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 68 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 76 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 96 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 108 + kind: PpcRel24 + symbol: 6 + addend: 0 +- symbol: 0 + hash: 51a3464f72c3fcf057debbe5d54872178d644c17 + signature: lCH/4P////98CAKm/////zygAAD//wAAkAEAJP////+T4QAc/////5PBABj/////fJ4jeP////84hQAA//8AAJOhABT/////O+QAUP////98fRt4/////ziA////////f+P7eP////9IAAAB/AAAAywDAAD/////QYAADP////84YP///////0gAADj/////OGAAAv////9IAAAB/AAAAzxgAAD//wAAf+T7eP////84YwAA//8AAH+l63j/////f8bzeP////9IAAAB/AAAA3xgG3j/////OGAAAv////98HwN4/////0gAAAH8AAADf+P7eP////+AAQAk/////4PhABz/////g8EAGP////+DoQAU/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: vprintf + size: 152 + flags: 1 + section: .text + - kind: Object + name: __files + size: 320 + flags: 1 + section: .data + - kind: Function + name: fwide + size: 0 + flags: 1 + section: .text + - kind: Function + name: __begin_critical_region + size: 0 + flags: 1 + section: .text + - kind: Function + name: __FileWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + - kind: Function + name: __end_critical_region + size: 0 + flags: 1 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 28 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcRel24 + symbol: 2 + addend: 0 + - offset: 76 + kind: PpcRel24 + symbol: 3 + addend: 0 + - offset: 80 + kind: PpcAddr16Ha + symbol: 4 + addend: 0 + - offset: 88 + kind: PpcAddr16Lo + symbol: 4 + addend: 0 + - offset: 100 + kind: PpcRel24 + symbol: 5 + addend: 0 + - offset: 116 + kind: PpcRel24 + symbol: 6 + addend: 0 diff --git a/assets/vsnprintf.yml b/assets/vsnprintf.yml new file mode 100644 index 0000000..2d712f3 --- /dev/null +++ b/assets/vsnprintf.yml @@ -0,0 +1,160 @@ +- symbol: 0 + hash: fa9f4305375ff4c38deda8008893305d166f1bc6 + signature: fAgCpv////+QAQAE/////zgAAAD/////lCH/0P////+T4QAs/////zvkAAD/////OIEAGP////+TwQAo/////3x+G3j/////PGAAAP//AACTwQAY/////zhjAAD//wAAk+EAHP////+QAQAg/////0gAAAH8AAADfAP4QP////9AgAAM/////3xkG3j/////SAAACP////84n////////zgAAAD/////fB4hrv////+AAQA0/////4PhACz/////g8EAKP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: vsnprintf + size: 112 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 5c158d8dc03137ede7b68e26eae7ea8e20f4cb70 + signature: lCH/4P////98CAKm/////5ABACT/////OAAAAP////+T4QAc/////3yfI3j/////OIEACP////+TwQAY/////3x+G3j/////PGAAAP//AACTwQAI/////zhjAAD//wAAk+EADP////+QAQAQ/////0gAAAH8AAADKB4AAP////9BggAc/////3wD+ED/////OJ////////9AgAAI/////3xkG3j/////OAAAAP////98HiGu/////4ABACT/////g+EAHP////+DwQAY/////3wIA6b/////OCEAIP////9OgAAg/////w== + symbols: + - kind: Function + name: vsnprintf + size: 116 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 36 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: dae7c6adc471f7148006db699fa19d4d2d417161 + signature: lCH/0P////98CAKm/////zzgAAD//wAAkAEANP////+T4QAs/////zvgAAD/////k8EAKP////98niN4/////5OhACT/////fH0beP////+QYQAI/////zhnAAD//wAAkIEADP////84gQAI/////5PhABD/////SAAAAfwAAAMsHQAA/////0GCACT/////fAPwQP////9AgAAM/////3/9Ga7/////SAAAFP////8sHgAA/////0GCAAz/////fJ3yFP////+b5P///////4ABADT/////g+EALP////+DwQAo/////4OhACT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: vsnprintf + size: 132 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 085881ea5beae3a4b56d9ce3c3886a1818c3b144 + signature: lCH/0P////98CAKm/////zzgAAD//wAAkAEANP////+T4QAs/////zvgAAD/////k8EAKP////98niN4/////5OhACT/////fH0beP////+QYQAI/////zhnAAD//wAAOOAAAP////+QgQAM/////ziBAAj/////k+EAEP////9IAAAB/AAAAywdAAD/////QYIAJP////98A/BA/////0CAAAz/////f/0Zrv////9IAAAU/////yweAAD/////QYIADP////98nfIU/////5vk////////gAEANP////+D4QAs/////4PBACj/////g6EAJP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: vsnprintf + size: 136 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 8 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 658726a44dbb17153ed490c2ec3a577cfad693d0 + signature: lCH/0P////98CAKm/////5ABADT/////OAAAAP////+T4QAs/////5PBACj/////k6EAJP////98fRt4/////zxgAAD//wAAk4EAIP////98nCN4/////zhjAAD//wAAOIEAEP////+QoQAI/////5DBAAz/////gKEACP////+ToQAQ/////4DBAAz/////k4EAFP////+QAQAY/////0gAAAH8AAADKB0AAP////98fxt4/////0GCACD/////fB/gQP////9AgAAM/////3/++3j/////SAAACP////873P///////zgAAAD/////fB3xrv////+AAQA0/////3/j+3j/////g+EALP////+DwQAo/////4OhACT/////g4EAIP////98CAOm/////zghADD/////ToAAIP////8= + symbols: + - kind: Function + name: vsnprintf + size: 160 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 32 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 44 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 80 + kind: PpcRel24 + symbol: 2 + addend: 0 \ No newline at end of file diff --git a/assets/vsprintf.yml b/assets/vsprintf.yml new file mode 100644 index 0000000..18318da --- /dev/null +++ b/assets/vsprintf.yml @@ -0,0 +1,166 @@ +- symbol: 0 + hash: 0a86ea00beea7cea63ce37b5216063b5346c1c0b + signature: fAgCpv////84xQAA/////5ABAAT/////OKQAAP////88gAAQ/////5Qh//j/////SAAAAfwAAAOAAQAM/////zghAAj/////fAgDpv////9OgAAg/////w== + symbols: + - kind: Function + name: vsprintf + size: 44 + flags: 1 + section: .text + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 24 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 13170c969386c2018d768adfbab78de7aa63105d + signature: lCH/4P////98CAKm/////5BhAAj/////kIEADP////84gP///////4BhAAj/////kKEAEP////+AoQAM/////5ABACT/////gMEAEP////9IAAAB/AAAA4ABACT/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: vsprintf + size: 60 + flags: 1 + section: .text + - kind: Function + name: vsnprintf + size: 0 + flags: 1 + section: .text + relocations: + - offset: 40 + kind: PpcRel24 + symbol: 1 + addend: 0 +- symbol: 0 + hash: 5885efac2a796a2c1b4ff274c694aa4835b02bcd + signature: fAgCpv////84xQAA/////5ABAAT/////OAAAAP////84pAAA/////5Qh/9j/////k+EAJP////874P///////ziBABT/////k8EAIP////98fht4/////zxgAAD//wAAk8EAFP////84YwAA//8AAJPhABj/////kAEAHP////9IAAAB/AAAA3wD+ED/////QIAADP////98ZBt4/////0gAAAj/////OID//v////84AAAA/////3weIa7/////gAEALP////+D4QAk/////4PBACD/////fAgDpv////84IQAo/////06AACD///// + symbols: + - kind: Function + name: vsprintf + size: 120 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 44 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 52 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 64 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: cd553648d654529f91590b8f8f23051d871b875e + signature: lCH/4P////98CAKm/////3ymK3j/////fIUjeP////+QAQAk/////zjg////////OAAAAP////84gQAI/////5PhABz/////fH8beP////88YAAA//8AAJPhAAj/////OGMAAP//AACQ4QAM/////5ABABD/////SAAAAfwAAAMoHwAA/////0GCACD/////OAD///////84gP/+/////3wDAED/////QIAACP////98ZBt4/////zgAAAD/////fB8hrv////+AAQAk/////4PhABz/////fAgDpv////84IQAg/////06AACD///// + symbols: + - kind: Function + name: vsprintf + size: 120 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 40 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 48 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 60 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 0ce7109467aa4020642bb441a6f6cc163c2acbf8 + signature: lCH/0P////98CAKm/////3ymK3j/////fIUjeP////+QAQA0/////zzgAAD//wAAOIEACP////+T4QAs/////zvgAAD/////k8EAKP////87wP///////5OhACT/////fH0beP////+QYQAI/////zhnAAD//wAAk8EADP////+T4QAQ/////0gAAAH8AAADLB0AAP////9BggAY/////3wD8ED/////QIAADP////9//Rmu/////0gAAAj/////m/3//v////+AAQA0/////4PhACz/////g8EAKP////+DoQAk/////3wIA6b/////OCEAMP////9OgAAg/////w== + symbols: + - kind: Function + name: vsprintf + size: 128 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 68 + kind: PpcRel24 + symbol: 2 + addend: 0 +- symbol: 0 + hash: 9027cdd7c152d7b4df6db6ff732d2e01fd7a2bd5 + signature: lCH/0P////98CAKm/////3ymK3j/////fIUjeP////+QAQA0/////zzgAAD//wAAOIEACP////+T4QAs/////zvgAAD/////k8EAKP////87wP///////5OhACT/////fH0beP////+QYQAI/////zhnAAD//wAAOOAAAP////+TwQAM/////5PhABD/////SAAAAfwAAAMsHQAA/////0GCABj/////fAPwQP////9AgAAM/////3/9Ga7/////SAAACP////+b/f/+/////4ABADT/////g+EALP////+DwQAo/////4OhACT/////fAgDpv////84IQAw/////06AACD///// + symbols: + - kind: Function + name: vsprintf + size: 132 + flags: 1 + section: .text + - kind: Function + name: __StringWrite + size: 0 + flags: 1 + section: .text + - kind: Function + name: __pformatter + size: 0 + flags: 2 + section: .text + relocations: + - offset: 20 + kind: PpcAddr16Ha + symbol: 1 + addend: 0 + - offset: 56 + kind: PpcAddr16Lo + symbol: 1 + addend: 0 + - offset: 72 + kind: PpcRel24 + symbol: 2 + addend: 0 diff --git a/src/cmd/ar.rs b/src/cmd/ar.rs index b0d4844..c1d78a1 100644 --- a/src/cmd/ar.rs +++ b/src/cmd/ar.rs @@ -5,7 +5,7 @@ use std::{ path::PathBuf, }; -use anyhow::{Context, Error, Result}; +use anyhow::{anyhow, bail, Context, Result}; use argh::FromArgs; use object::{Object, ObjectSymbol, SymbolScope}; @@ -45,9 +45,9 @@ fn create(args: CreateArgs) -> Result<()> { // Process response files (starting with '@') let mut files = Vec::with_capacity(args.files.len()); for path in args.files { - let path_str = path.to_str().ok_or_else(|| { - Error::msg(format!("'{}' is not valid UTF-8", path.to_string_lossy())) - })?; + let path_str = path + .to_str() + .ok_or_else(|| anyhow!("'{}' is not valid UTF-8", path.display()))?; match path_str.strip_prefix('@') { Some(rsp_file) => { let reader = BufReader::new( @@ -71,25 +71,23 @@ fn create(args: CreateArgs) -> Result<()> { let mut identifiers = Vec::with_capacity(files.len()); let mut symbol_table = BTreeMap::new(); for path in &files { - let file_name = path.file_name().ok_or_else(|| { - Error::msg(format!("'{}' is not a file path", path.to_string_lossy())) - })?; - let file_name = file_name.to_str().ok_or_else(|| { - Error::msg(format!("'{}' is not valid UTF-8", file_name.to_string_lossy())) - })?; + let file_name = path + .file_name() + .ok_or_else(|| anyhow!("'{}' is not a file path", path.display()))?; + let file_name = file_name + .to_str() + .ok_or_else(|| anyhow!("'{}' is not valid UTF-8", file_name.to_string_lossy()))?; let identifier = file_name.as_bytes().to_vec(); identifiers.push(identifier.clone()); let entries = match symbol_table.entry(identifier) { Entry::Vacant(e) => e.insert(Vec::new()), - Entry::Occupied(_) => { - return Err(Error::msg(format!("Duplicate file name '{file_name}'"))) - } + Entry::Occupied(_) => bail!("Duplicate file name '{file_name}'"), }; let object_file = File::open(path) - .with_context(|| format!("Failed to open object file '{}'", path.to_string_lossy()))?; + .with_context(|| format!("Failed to open object file '{}'", path.display()))?; let map = unsafe { memmap2::MmapOptions::new().map(&object_file) } - .with_context(|| format!("Failed to mmap object file: '{}'", path.to_string_lossy()))?; + .with_context(|| format!("Failed to mmap object file: '{}'", path.display()))?; let obj = object::File::parse(map.as_ref())?; for symbol in obj.symbols() { if symbol.scope() == SymbolScope::Dynamic { diff --git a/src/cmd/demangle.rs b/src/cmd/demangle.rs index 7c18621..62070c1 100644 --- a/src/cmd/demangle.rs +++ b/src/cmd/demangle.rs @@ -1,4 +1,4 @@ -use anyhow::{Error, Result}; +use anyhow::{anyhow, Result}; use argh::FromArgs; use cwdemangle::{demangle, DemangleOptions}; @@ -21,6 +21,6 @@ pub fn run(args: Args) -> Result<()> { println!("{symbol}"); Ok(()) } - None => Err(Error::msg("Failed to demangle symbol")), + None => Err(anyhow!("Failed to demangle symbol")), } } diff --git a/src/cmd/dol.rs b/src/cmd/dol.rs new file mode 100644 index 0000000..4adcbee --- /dev/null +++ b/src/cmd/dol.rs @@ -0,0 +1,582 @@ +use std::{ + collections::BTreeMap, + fs::File, + io::{BufRead, BufReader, BufWriter}, + path::{Path, PathBuf}, +}; + +use anyhow::{anyhow, bail, Context, Result}; +use argh::FromArgs; + +use crate::util::{ + cfa::{ + locate_sda_bases, AnalysisPass, AnalyzerState, FindSaveRestSleds, + FindTRKInterruptVectorTable, + }, + config::{parse_symbol_line, write_symbols}, + dol::process_dol, + elf::process_elf, + executor::read_u32, + map::process_map, + obj::{ + ObjInfo, ObjRelocKind, ObjSectionKind, ObjSymbol, ObjSymbolFlagSet, ObjSymbolFlags, + ObjSymbolKind, + }, + sigs::check_signatures, + tracker::Tracker, +}; + +#[derive(FromArgs, PartialEq, Debug)] +/// Commands for processing DOL files. +#[argh(subcommand, name = "dol")] +pub struct Args { + #[argh(subcommand)] + command: SubCommand, +} + +#[derive(FromArgs, PartialEq, Debug)] +#[argh(subcommand)] +enum SubCommand { + Disasm(DisasmArgs), + Info(InfoArgs), +} + +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Disassembles a DOL file. +#[argh(subcommand, name = "disasm")] +pub struct DisasmArgs { + #[argh(option, short = 'm')] + /// path to input map + map_file: Option, + #[argh(option, short = 's')] + /// path to symbols file + symbols_file: Option, + #[argh(option, short = 'e')] + /// ELF file to validate against (debugging only) + elf_file: Option, + #[argh(positional)] + /// DOL file + dol_file: PathBuf, +} + +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Views DOL file information. +#[argh(subcommand, name = "info")] +pub struct InfoArgs { + #[argh(positional)] + /// DOL file + dol_file: PathBuf, +} + +pub fn run(args: Args) -> Result<()> { + match args.command { + SubCommand::Disasm(c_args) => disasm(c_args), + SubCommand::Info(c_args) => info(c_args), + } +} + +const SIGNATURES: &[(&str, &str)] = &[ + ("__init_registers", include_str!("../../assets/__init_registers.yml")), + ("__init_hardware", include_str!("../../assets/__init_hardware.yml")), + ("__init_data", include_str!("../../assets/__init_data.yml")), + ("__set_debug_bba", include_str!("../../assets/__set_debug_bba.yml")), + ("__OSPSInit", include_str!("../../assets/__OSPSInit.yml")), + ("__OSFPRInit", include_str!("../../assets/__OSFPRInit.yml")), + ("__OSCacheInit", include_str!("../../assets/__OSCacheInit.yml")), + ("DMAErrorHandler", include_str!("../../assets/DMAErrorHandler.yml")), + ("DBInit", include_str!("../../assets/DBInit.yml")), + ("OSInit", include_str!("../../assets/OSInit.yml")), + ("__OSThreadInit", include_str!("../../assets/__OSThreadInit.yml")), + ("__OSInitIPCBuffer", include_str!("../../assets/__OSInitIPCBuffer.yml")), + ("EXIInit", include_str!("../../assets/EXIInit.yml")), + ("EXIGetID", include_str!("../../assets/EXIGetID.yml")), + ("exit", include_str!("../../assets/exit.yml")), + ("_ExitProcess", include_str!("../../assets/_ExitProcess.yml")), + ("__fini_cpp", include_str!("../../assets/__fini_cpp.yml")), + ("__destroy_global_chain", include_str!("../../assets/__destroy_global_chain.yml")), + ("InitMetroTRK", include_str!("../../assets/InitMetroTRK.yml")), + ("InitMetroTRKCommTable", include_str!("../../assets/InitMetroTRKCommTable.yml")), + ("OSExceptionInit", include_str!("../../assets/OSExceptionInit.yml")), + ("OSDefaultExceptionHandler", include_str!("../../assets/OSDefaultExceptionHandler.yml")), + ("__OSUnhandledException", include_str!("../../assets/__OSUnhandledException.yml")), + ("OSDisableScheduler", include_str!("../../assets/OSDisableScheduler.yml")), + ("__OSReschedule", include_str!("../../assets/__OSReschedule.yml")), + ("__OSInitSystemCall", include_str!("../../assets/__OSInitSystemCall.yml")), + ("OSInitAlarm", include_str!("../../assets/OSInitAlarm.yml")), + ("__OSInitAlarm", include_str!("../../assets/__OSInitAlarm.yml")), + ("__OSEVStart", include_str!("../../assets/OSExceptionVector.yml")), + ("__OSDBINTSTART", include_str!("../../assets/__OSDBIntegrator.yml")), + ("__OSDBJUMPSTART", include_str!("../../assets/__OSDBJump.yml")), + ("SIInit", include_str!("../../assets/SIInit.yml")), + ("SIGetType", include_str!("../../assets/SIGetType.yml")), + ("SISetSamplingRate", include_str!("../../assets/SISetSamplingRate.yml")), + ("SISetXY", include_str!("../../assets/SISetXY.yml")), + ("VIGetTvFormat", include_str!("../../assets/VIGetTvFormat.yml")), + ("DVDInit", include_str!("../../assets/DVDInit.yml")), + ("DVDSetAutoFatalMessaging", include_str!("../../assets/DVDSetAutoFatalMessaging.yml")), + ("OSSetArenaLo", include_str!("../../assets/OSSetArenaLo.yml")), + ("OSSetArenaHi", include_str!("../../assets/OSSetArenaHi.yml")), + ("OSSetMEM1ArenaLo", include_str!("../../assets/OSSetMEM1ArenaLo.yml")), + ("OSSetMEM1ArenaHi", include_str!("../../assets/OSSetMEM1ArenaHi.yml")), + ("OSSetMEM2ArenaLo", include_str!("../../assets/OSSetMEM2ArenaLo.yml")), + ("OSSetMEM2ArenaHi", include_str!("../../assets/OSSetMEM2ArenaHi.yml")), + ("__OSInitAudioSystem", include_str!("../../assets/__OSInitAudioSystem.yml")), + ("__OSInitMemoryProtection", include_str!("../../assets/__OSInitMemoryProtection.yml")), + // ("BATConfig", include_str!("../../assets/BATConfig.yml")), TODO + ("ReportOSInfo", include_str!("../../assets/ReportOSInfo.yml")), + ("__check_pad3", include_str!("../../assets/__check_pad3.yml")), + ("OSResetSystem", include_str!("../../assets/OSResetSystem.yml")), + ("OSReturnToMenu", include_str!("../../assets/OSReturnToMenu.yml")), + ("__OSReturnToMenu", include_str!("../../assets/__OSReturnToMenu.yml")), + ("__OSShutdownDevices", include_str!("../../assets/__OSShutdownDevices.yml")), + ("__OSInitSram", include_str!("../../assets/__OSInitSram.yml")), + ("__OSSyncSram", include_str!("../../assets/__OSSyncSram.yml")), + ("__OSGetExceptionHandler", include_str!("../../assets/__OSGetExceptionHandler.yml")), + ("OSRegisterResetFunction", include_str!("../../assets/OSRegisterResetFunction.yml")), + ("OSRegisterShutdownFunction", include_str!("../../assets/OSRegisterShutdownFunction.yml")), + ("DecrementerExceptionHandler", include_str!("../../assets/DecrementerExceptionHandler.yml")), + ("DecrementerExceptionCallback", include_str!("../../assets/DecrementerExceptionCallback.yml")), + ("__OSInterruptInit", include_str!("../../assets/__OSInterruptInit.yml")), + ("__OSContextInit", include_str!("../../assets/__OSContextInit.yml")), + ("OSSwitchFPUContext", include_str!("../../assets/OSSwitchFPUContext.yml")), + ("OSReport", include_str!("../../assets/OSReport.yml")), + ("TRK_main", include_str!("../../assets/TRK_main.yml")), + ("TRKNubWelcome", include_str!("../../assets/TRKNubWelcome.yml")), + ("TRKInitializeNub", include_str!("../../assets/TRKInitializeNub.yml")), + ("TRKInitializeIntDrivenUART", include_str!("../../assets/TRKInitializeIntDrivenUART.yml")), + ("TRKEXICallBack", include_str!("../../assets/TRKEXICallBack.yml")), + ("TRKLoadContext", include_str!("../../assets/TRKLoadContext.yml")), + ("TRKInterruptHandler", include_str!("../../assets/TRKInterruptHandler.yml")), + ("TRKExceptionHandler", include_str!("../../assets/TRKExceptionHandler.yml")), + ("TRKSaveExtended1Block", include_str!("../../assets/TRKSaveExtended1Block.yml")), + ("TRKNubMainLoop", include_str!("../../assets/TRKNubMainLoop.yml")), + ("TRKTargetContinue", include_str!("../../assets/TRKTargetContinue.yml")), + ("TRKSwapAndGo", include_str!("../../assets/TRKSwapAndGo.yml")), + ("TRKRestoreExtended1Block", include_str!("../../assets/TRKRestoreExtended1Block.yml")), + ( + "TRKInterruptHandlerEnableInterrupts", + include_str!("../../assets/TRKInterruptHandlerEnableInterrupts.yml"), + ), + ("memset", include_str!("../../assets/memset.yml")), + ( + "__msl_runtime_constraint_violation_s", + include_str!("../../assets/__msl_runtime_constraint_violation_s.yml"), + ), + ("ClearArena", include_str!("../../assets/ClearArena.yml")), + ("IPCCltInit", include_str!("../../assets/IPCCltInit.yml")), + ("__OSInitSTM", include_str!("../../assets/__OSInitSTM.yml")), + ("IOS_Open", include_str!("../../assets/IOS_Open.yml")), + ("__ios_Ipc2", include_str!("../../assets/__ios_Ipc2.yml")), + ("IPCiProfQueueReq", include_str!("../../assets/IPCiProfQueueReq.yml")), + ("SCInit", include_str!("../../assets/SCInit.yml")), + ("SCReloadConfFileAsync", include_str!("../../assets/SCReloadConfFileAsync.yml")), + ("NANDPrivateOpenAsync", include_str!("../../assets/NANDPrivateOpenAsync.yml")), + ("nandIsInitialized", include_str!("../../assets/nandIsInitialized.yml")), + ("nandOpen", include_str!("../../assets/nandOpen.yml")), + ("nandGenerateAbsPath", include_str!("../../assets/nandGenerateAbsPath.yml")), + ("nandGetHeadToken", include_str!("../../assets/nandGetHeadToken.yml")), + ("ISFS_OpenAsync", include_str!("../../assets/ISFS_OpenAsync.yml")), + ("nandConvertErrorCode", include_str!("../../assets/nandConvertErrorCode.yml")), + ("NANDLoggingAddMessageAsync", include_str!("../../assets/NANDLoggingAddMessageAsync.yml")), + ("__NANDPrintErrorMessage", include_str!("../../assets/__NANDPrintErrorMessage.yml")), + ("__OSInitNet", include_str!("../../assets/__OSInitNet.yml")), + ("__DVDCheckDevice", include_str!("../../assets/__DVDCheckDevice.yml")), + ("__OSInitPlayTime", include_str!("../../assets/__OSInitPlayTime.yml")), + ("__OSStartPlayRecord", include_str!("../../assets/__OSStartPlayRecord.yml")), + ("NANDInit", include_str!("../../assets/NANDInit.yml")), + ("ISFS_OpenLib", include_str!("../../assets/ISFS_OpenLib.yml")), + ("ESP_GetTitleId", include_str!("../../assets/ESP_GetTitleId.yml")), + ("NANDSetAutoErrorMessaging", include_str!("../../assets/NANDSetAutoErrorMessaging.yml")), + ("__DVDFSInit", include_str!("../../assets/__DVDFSInit.yml")), + ("__DVDClearWaitingQueue", include_str!("../../assets/__DVDClearWaitingQueue.yml")), + ("__DVDInitWA", include_str!("../../assets/__DVDInitWA.yml")), + ("__DVDLowSetWAType", include_str!("../../assets/__DVDLowSetWAType.yml")), + ("__fstLoad", include_str!("../../assets/__fstLoad.yml")), + ("DVDReset", include_str!("../../assets/DVDReset.yml")), + ("DVDLowReset", include_str!("../../assets/DVDLowReset.yml")), + ("DVDReadDiskID", include_str!("../../assets/DVDReadDiskID.yml")), + ("stateReady", include_str!("../../assets/stateReady.yml")), + ("DVDLowWaitCoverClose", include_str!("../../assets/DVDLowWaitCoverClose.yml")), + ("__DVDStoreErrorCode", include_str!("../../assets/__DVDStoreErrorCode.yml")), + ("DVDLowStopMotor", include_str!("../../assets/DVDLowStopMotor.yml")), + ("DVDGetDriveStatus", include_str!("../../assets/DVDGetDriveStatus.yml")), + ("printf", include_str!("../../assets/printf.yml")), + ("sprintf", include_str!("../../assets/sprintf.yml")), + ("vprintf", include_str!("../../assets/vprintf.yml")), + ("vsprintf", include_str!("../../assets/vsprintf.yml")), + ("vsnprintf", include_str!("../../assets/vsnprintf.yml")), + ("__pformatter", include_str!("../../assets/__pformatter.yml")), + ("longlong2str", include_str!("../../assets/longlong2str.yml")), + ("__mod2u", include_str!("../../assets/__mod2u.yml")), + ("__FileWrite", include_str!("../../assets/__FileWrite.yml")), + ("fwrite", include_str!("../../assets/fwrite.yml")), + ("__fwrite", include_str!("../../assets/__fwrite.yml")), + ("__stdio_atexit", include_str!("../../assets/__stdio_atexit.yml")), + ("__StringWrite", include_str!("../../assets/__StringWrite.yml")), +]; + +pub fn apply_signatures(obj: &mut ObjInfo) -> Result<()> { + let entry = obj.entry as u32; + check_signatures(obj, entry, include_str!("../../assets/__start.yml"))?; + for &(name, sig_str) in SIGNATURES { + if let Some(symbol) = obj.symbols.iter().find(|symbol| symbol.name == name) { + let addr = symbol.address as u32; + check_signatures(obj, addr, sig_str)?; + } + } + if let Some(symbol) = obj.symbols.iter().find(|symbol| symbol.name == "__init_user") { + // __init_user can be overridden, but we can still look for __init_cpp from it + let mut analyzer = AnalyzerState::default(); + analyzer.process_function_at(&obj, symbol.address as u32)?; + for addr in analyzer.function_entries { + if check_signatures(obj, addr, include_str!("../../assets/__init_cpp.yml"))? { + break; + } + } + } + if let Some(symbol) = obj.symbols.iter().find(|symbol| symbol.name == "_ctors") { + // First entry of ctors is __init_cpp_exceptions + let section = obj.section_at(symbol.address as u32)?; + let target = read_u32(§ion.data, symbol.address as u32, section.address as u32) + .ok_or_else(|| anyhow!("Failed to read _ctors data"))?; + if target != 0 { + check_signatures(obj, target, include_str!("../../assets/__init_cpp_exceptions.yml"))?; + } + } + if let Some(symbol) = obj.symbols.iter().find(|symbol| symbol.name == "_dtors") { + // Second entry of dtors is __fini_cpp_exceptions + let section = obj.section_at(symbol.address as u32)?; + let target = read_u32(§ion.data, symbol.address as u32 + 4, section.address as u32) + .ok_or_else(|| anyhow!("Failed to read _dtors data"))?; + if target != 0 { + check_signatures(obj, target, include_str!("../../assets/__fini_cpp_exceptions.yml"))?; + } + } + Ok(()) +} + +fn info(args: InfoArgs) -> Result<()> { + let mut obj = process_dol(&args.dol_file)?; + apply_signatures(&mut obj)?; + // Apply known functions from extab + let mut state = AnalyzerState::default(); + for (&addr, &size) in &obj.known_functions { + state.function_entries.insert(addr); + state.function_bounds.insert(addr, addr + size); + } + for symbol in &obj.symbols { + if symbol.kind != ObjSymbolKind::Function { + continue; + } + state.function_entries.insert(symbol.address as u32); + if !symbol.size_known { + continue; + } + state.function_bounds.insert(symbol.address as u32, (symbol.address + symbol.size) as u32); + } + // Also check the start of each code section + for section in &obj.sections { + if section.kind == ObjSectionKind::Code { + state.function_entries.insert(section.address as u32); + } + } + + state.detect_functions(&obj)?; + log::info!("Discovered {} functions", state.function_slices.len()); + + FindTRKInterruptVectorTable::execute(&mut state, &obj)?; + FindSaveRestSleds::execute(&mut state, &obj)?; + state.apply(&mut obj)?; + + println!("{}:", obj.name); + println!("Entry point: {:#010X}", obj.entry); + println!("\nSections:"); + println!("\t{: >10} | {: <10} | {: <10} | {: <10}", "Name", "Address", "Size", "File Off"); + for section in &obj.sections { + println!( + "\t{: >10} | {:#010X} | {: <#10X} | {: <#10X}", + section.name, section.address, section.size, section.file_offset + ); + } + println!("\nDiscovered symbols:"); + println!("\t{: >23} | {: <10} | {: <10}", "Name", "Address", "Size"); + let mut symbols = obj.symbols.clone(); + symbols.sort_by_key(|sym| sym.address); + for symbol in symbols { + if symbol.name.starts_with('@') || symbol.name.starts_with("fn_") { + continue; + } + if symbol.size_known { + println!("\t{: >23} | {:#010X} | {: <#10X}", symbol.name, symbol.address, symbol.size); + } else { + let size_str = if symbol.section.is_none() { "ABS" } else { "?" }; + println!("\t{: >23} | {:#010X} | {: <10}", symbol.name, symbol.address, size_str); + } + } + println!("\n{} discovered functions from exception table", obj.known_functions.len()); + Ok(()) +} + +fn disasm(args: DisasmArgs) -> Result<()> { + let mut obj = process_dol(&args.dol_file)?; + log::info!("Performing initial control flow analysis"); + + // if detect_sda_bases(&mut obj).context("Failed to locate SDA bases")? { + // let (sda2_base, sda_base) = obj.sda_bases.unwrap(); + // log::info!("Found _SDA2_BASE_ @ {:#010X}, _SDA_BASE_ @ {:#010X}", sda2_base, sda_base); + // } else { + // bail!("Unable to locate SDA bases"); + // } + + if let Some(map) = &args.map_file { + let mut reader = BufReader::new( + File::open(map) + .with_context(|| format!("Failed to open map file '{}'", map.display()))?, + ); + let _entries = process_map(&mut reader)?; + } + + let mut state = AnalyzerState::default(); + + if let Some(symbols_path) = &args.symbols_file { + let mut reader = BufReader::new(File::open(symbols_path).with_context(|| { + format!("Failed to open symbols file '{}'", symbols_path.display()) + })?); + for result in reader.lines() { + let line = match result { + Ok(line) => line, + Err(e) => bail!("Failed to process symbols file: {e:?}"), + }; + if let Some(symbol) = parse_symbol_line(&line, &obj)? { + // if symbol.kind == ObjSymbolKind::Function { + // state.function_entries.insert(symbol.address as u32); + // if symbol.size_known { + // state + // .function_bounds + // .insert(symbol.address as u32, (symbol.address + symbol.size) as u32); + // } + // } + if let Some(existing_symbol) = obj + .symbols + .iter_mut() + .find(|e| e.address == symbol.address && e.kind == symbol.kind) + { + *existing_symbol = symbol; + } else { + obj.symbols.push(symbol); + } + } + } + } + + // TODO move before symbols? + apply_signatures(&mut obj)?; + + // Apply known functions from extab + for (&addr, &size) in &obj.known_functions { + state.function_entries.insert(addr); + state.function_bounds.insert(addr, addr + size); + } + for symbol in &obj.symbols { + if symbol.kind != ObjSymbolKind::Function { + continue; + } + state.function_entries.insert(symbol.address as u32); + if !symbol.size_known { + continue; + } + state.function_bounds.insert(symbol.address as u32, (symbol.address + symbol.size) as u32); + } + // Also check the start of each code section + for section in &obj.sections { + if section.kind == ObjSectionKind::Code { + state.function_entries.insert(section.address as u32); + } + } + + state.detect_functions(&obj)?; + log::info!("Discovered {} functions", state.function_slices.len()); + + FindTRKInterruptVectorTable::execute(&mut state, &obj)?; + FindSaveRestSleds::execute(&mut state, &obj)?; + state.apply(&mut obj)?; + + log::info!("Performing relocation analysis"); + let mut tracker = Tracker::new(&obj); + tracker.process(&obj)?; + + log::info!("Applying relocations"); + tracker.apply(&mut obj, false)?; + // + // log::info!("Writing disassembly"); + // let mut w = BufWriter::new(File::create("out.s")?); + // write_asm(&mut w, &obj)?; + + if let Some(symbols_path) = &args.symbols_file { + let mut symbols_writer = BufWriter::new( + File::create(&symbols_path) + .with_context(|| format!("Failed to create '{}'", symbols_path.display()))?, + ); + write_symbols(&mut symbols_writer, &obj)?; + } + + // (debugging) validate against ELF + if let Some(file) = args.elf_file { + validate(&obj, &file, &state)?; + } + Ok(()) +} + +fn validate>(obj: &ObjInfo, elf_file: P, state: &AnalyzerState) -> Result<()> { + let real_obj = process_elf(elf_file)?; + for real_section in &real_obj.sections { + let obj_section = match obj.sections.get(real_section.index) { + Some(v) => v, + None => { + log::error!( + "Section {} {} doesn't exist in DOL", + real_section.index, + real_section.name + ); + continue; + } + }; + if obj_section.kind != real_section.kind || obj_section.name != real_section.name { + log::warn!( + "Section mismatch: {} {:?} ({}) should be {} {:?}", + obj_section.name, + obj_section.kind, + obj_section.index, + real_section.name, + real_section.kind + ); + } + } + let mut real_functions = BTreeMap::::new(); + for section in &real_obj.sections { + if section.kind != ObjSectionKind::Code { + continue; + } + for (_symbol_idx, symbol) in real_obj.symbols_for_section(section.index) { + // if symbol.name.starts_with("switch_") { + // continue; + // } + // if symbol.kind == ObjSymbolKind::Function { + real_functions.insert(symbol.address as u32, symbol.name.clone()); + match state.function_bounds.get(&(symbol.address as u32)) { + Some(&end) => { + if symbol.size > 0 && end != (symbol.address + symbol.size) as u32 { + log::warn!( + "Function {:#010X} ({}) ends at {:#010X}, expected {:#010X}", + symbol.address, + symbol.name, + end, + symbol.address + symbol.size + ); + } + } + None => { + log::warn!( + "Function {:#010X} ({}) not discovered!", + symbol.address, + symbol.name + ); + } + } + // } + } + } + for (&start, &end) in &state.function_bounds { + if end == 0 { + continue; + } + if !real_functions.contains_key(&start) { + let (real_addr, real_name) = real_functions.range(..start).last().unwrap(); + log::warn!( + "Function {:#010X} not real (actually a part of {} @ {:#010X})", + start, + real_name, + real_addr + ); + } + } + for real_section in &real_obj.sections { + let obj_section = match obj.sections.get(real_section.index) { + Some(v) => v, + None => continue, + }; + let real_map = real_section.build_relocation_map()?; + let obj_map = obj_section.build_relocation_map()?; + for (&real_addr, real_reloc) in &real_map { + let real_symbol = &real_obj.symbols[real_reloc.target_symbol]; + let obj_reloc = match obj_map.get(&real_addr) { + Some(v) => v, + None => { + // Ignore GCC local jump branches + if real_symbol.kind == ObjSymbolKind::Section + && real_section.kind == ObjSectionKind::Code + && real_reloc.addend != 0 + && matches!( + real_reloc.kind, + ObjRelocKind::PpcRel14 | ObjRelocKind::PpcRel24 + ) + { + continue; + } + log::warn!( + "Relocation not found @ {:#010X} {:?} to {:#010X}+{:X} ({})", + real_addr, + real_reloc.kind, + real_symbol.address, + real_reloc.addend, + real_symbol.demangled_name.as_ref().unwrap_or(&real_symbol.name) + ); + continue; + } + }; + let obj_symbol = &obj.symbols[obj_reloc.target_symbol]; + if real_reloc.kind != obj_reloc.kind { + log::warn!( + "Relocation type mismatch @ {:#010X}: {:?} != {:?}", + real_addr, + obj_reloc.kind, + real_reloc.kind + ); + continue; + } + if real_symbol.address as i64 + real_reloc.addend + != obj_symbol.address as i64 + obj_reloc.addend + { + log::warn!( + "Relocation target mismatch @ {:#010X} {:?}: {:#010X}+{:X} != {:#010X}+{:X} ({})", + real_addr, + real_reloc.kind, + obj_symbol.address, + obj_reloc.addend, + real_symbol.address, + real_reloc.addend, + real_symbol.demangled_name.as_ref().unwrap_or(&real_symbol.name) + ); + continue; + } + } + for (&obj_addr, obj_reloc) in &obj_map { + let obj_symbol = &obj.symbols[obj_reloc.target_symbol]; + let real_reloc = match real_map.get(&obj_addr) { + Some(v) => v, + None => { + log::warn!( + "Relocation not real @ {:#010X} {:?} to {:#010X}+{:X} ({})", + obj_addr, + obj_reloc.kind, + obj_symbol.address, + obj_reloc.addend, + obj_symbol.demangled_name.as_ref().unwrap_or(&obj_symbol.name) + ); + continue; + } + }; + } + } + Ok(()) +} diff --git a/src/cmd/elf.rs b/src/cmd/elf.rs index 6a7a260..b421a83 100644 --- a/src/cmd/elf.rs +++ b/src/cmd/elf.rs @@ -1,24 +1,30 @@ use std::{ - collections::{btree_map, hash_map, BTreeMap, HashMap}, + collections::{btree_map, btree_map::Entry, hash_map, BTreeMap, HashMap, HashSet}, fs, fs::{DirBuilder, File}, - io::{BufWriter, Write}, - path::PathBuf, + io::{BufRead, BufReader, BufWriter, Write}, + path::{Path, PathBuf}, }; -use anyhow::{Context, Error, Result}; +use anyhow::{anyhow, bail, ensure, Context, Result}; use argh::FromArgs; use object::{ - write::{SectionId, SymbolId}, + write::{Mangling, SectionId, SymbolId}, Object, ObjectSection, ObjectSymbol, RelocationKind, RelocationTarget, SectionFlags, SectionIndex, SectionKind, SymbolFlags, SymbolKind, SymbolScope, SymbolSection, }; +use ppc750cl::Ins; +use serde::{Deserialize, Serialize}; +use sha1::{Digest, Sha1}; use crate::util::{ asm::write_asm, + config::write_symbols, elf::{process_elf, write_elf}, - obj::ObjKind, + obj::{ObjKind, ObjReloc, ObjRelocKind, ObjSymbolFlagSet, ObjSymbolKind}, + sigs::{check_signature, compare_signature, generate_signature, FunctionSignature}, split::split_obj, + tracker::Tracker, }; #[derive(FromArgs, PartialEq, Debug)] @@ -32,8 +38,10 @@ pub struct Args { #[derive(FromArgs, PartialEq, Debug)] #[argh(subcommand)] enum SubCommand { + Config(ConfigArgs), Disasm(DisasmArgs), Fixup(FixupArgs), + Signatures(SignaturesArgs), Split(SplitArgs), } @@ -73,18 +81,64 @@ pub struct SplitArgs { out_dir: PathBuf, } +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Generates configuration files from an executable ELF. +#[argh(subcommand, name = "config")] +pub struct ConfigArgs { + #[argh(positional)] + /// input file + in_file: PathBuf, + #[argh(positional)] + /// output directory + out_dir: PathBuf, +} + +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Builds function signatures from an ELF file. +#[argh(subcommand, name = "sigs")] +pub struct SignaturesArgs { + #[argh(positional)] + /// input file(s) + files: Vec, + #[argh(option, short = 's')] + /// symbol name + symbol: String, + #[argh(option, short = 'o')] + /// output yml + out_file: PathBuf, +} + pub fn run(args: Args) -> Result<()> { match args.command { + SubCommand::Config(c_args) => config(c_args), SubCommand::Disasm(c_args) => disasm(c_args), SubCommand::Fixup(c_args) => fixup(c_args), SubCommand::Split(c_args) => split(c_args), + SubCommand::Signatures(c_args) => signatures(c_args), } } +fn config(args: ConfigArgs) -> Result<()> { + log::info!("Loading {}", args.in_file.display()); + let mut obj = process_elf(&args.in_file)?; + + DirBuilder::new().recursive(true).create(&args.out_dir)?; + let symbols_path = args.out_dir.join("symbols.txt"); + let mut symbols_writer = BufWriter::new( + File::create(&symbols_path) + .with_context(|| format!("Failed to create '{}'", symbols_path.display()))?, + ); + write_symbols(&mut symbols_writer, &obj)?; + + Ok(()) +} + fn disasm(args: DisasmArgs) -> Result<()> { + log::info!("Loading {}", args.elf_file.display()); let obj = process_elf(&args.elf_file)?; match obj.kind { ObjKind::Executable => { + log::info!("Splitting {} objects", obj.link_order.len()); let split_objs = split_obj(&obj)?; let asm_dir = args.out.join("asm"); @@ -92,17 +146,21 @@ fn disasm(args: DisasmArgs) -> Result<()> { DirBuilder::new().recursive(true).create(&include_dir)?; fs::write(&include_dir.join("macros.inc"), include_bytes!("../../assets/macros.inc"))?; + let mut files_out = File::create(args.out.join("link_order.txt"))?; for (unit, split_obj) in obj.link_order.iter().zip(&split_objs) { let out_path = asm_dir.join(file_name_from_unit(unit, ".s")); + log::info!("Writing {}", out_path.display()); + if let Some(parent) = out_path.parent() { DirBuilder::new().recursive(true).create(parent)?; } let mut w = BufWriter::new(File::create(out_path)?); write_asm(&mut w, split_obj)?; + w.flush()?; - let name = format!("$(OBJ_DIR)/asm/{}", file_name_from_unit(unit, ".o")); - println!(" {name: <70}\\"); + writeln!(files_out, "{}", file_name_from_unit(unit, ".o"))?; } + files_out.flush()?; } ObjKind::Relocatable => { if let Some(parent) = args.out.parent() { @@ -117,17 +175,16 @@ fn disasm(args: DisasmArgs) -> Result<()> { fn split(args: SplitArgs) -> Result<()> { let obj = process_elf(&args.in_file)?; + ensure!(obj.kind == ObjKind::Executable, "Can only split executable objects"); - let mut file_map = HashMap::::new(); + let mut file_map = HashMap::>::new(); let split_objs = split_obj(&obj)?; for (unit, split_obj) in obj.link_order.iter().zip(&split_objs) { let out_obj = write_elf(split_obj)?; match file_map.entry(unit.clone()) { - hash_map::Entry::Occupied(_) => { - return Err(Error::msg(format!("Duplicate file {unit}"))); - } hash_map::Entry::Vacant(e) => e.insert(out_obj), + hash_map::Entry::Occupied(_) => bail!("Duplicate file {unit}"), }; } @@ -135,14 +192,15 @@ fn split(args: SplitArgs) -> Result<()> { for unit in &obj.link_order { let object = file_map .get(unit) - .ok_or_else(|| Error::msg(format!("Failed to find object file for unit '{unit}'")))?; + .ok_or_else(|| anyhow!("Failed to find object file for unit '{unit}'"))?; let out_path = args.out_dir.join(file_name_from_unit(unit, ".o")); - writeln!(rsp_file, "{}", out_path.to_string_lossy())?; + writeln!(rsp_file, "{}", out_path.display())?; if let Some(parent) = out_path.parent() { DirBuilder::new().recursive(true).create(parent)?; } - let mut file = BufWriter::new(File::create(out_path)?); - object.write_stream(&mut file).map_err(|e| Error::msg(format!("{e:?}")))?; + let mut file = File::create(&out_path) + .with_context(|| format!("Failed to create '{}'", out_path.display()))?; + file.write_all(object)?; file.flush()?; } rsp_file.flush()?; @@ -152,6 +210,7 @@ fn split(args: SplitArgs) -> Result<()> { fn file_name_from_unit(str: &str, suffix: &str) -> String { let str = str.strip_suffix(ASM_SUFFIX).unwrap_or(str); let str = str.strip_prefix("C:").unwrap_or(str); + let str = str.strip_prefix("D:").unwrap_or(str); let str = str .strip_suffix(".c") .or_else(|| str.strip_suffix(".cp")) @@ -167,12 +226,12 @@ fn file_name_from_unit(str: &str, suffix: &str) -> String { const ASM_SUFFIX: &str = " (asm)"; fn fixup(args: FixupArgs) -> Result<()> { - let in_buf = fs::read(&args.in_file).with_context(|| { - format!("Failed to open input file: '{}'", args.in_file.to_string_lossy()) - })?; + let in_buf = fs::read(&args.in_file) + .with_context(|| format!("Failed to open input file: '{}'", args.in_file.display()))?; let in_file = object::read::File::parse(&*in_buf).context("Failed to parse input ELF")?; let mut out_file = object::write::Object::new(in_file.format(), in_file.architecture(), in_file.endianness()); + out_file.set_mangling(Mangling::None); // Write file symbol first let mut file_symbol_found = false; @@ -188,12 +247,13 @@ fn fixup(args: FixupArgs) -> Result<()> { } // Create a file symbol if not found if !file_symbol_found { - let file_name = args.in_file.file_name().ok_or_else(|| { - Error::msg(format!("'{}' is not a file path", args.in_file.to_string_lossy())) - })?; - let file_name = file_name.to_str().ok_or_else(|| { - Error::msg(format!("'{}' is not valid UTF-8", file_name.to_string_lossy())) - })?; + let file_name = args + .in_file + .file_name() + .ok_or_else(|| anyhow!("'{}' is not a file path", args.in_file.display()))?; + let file_name = file_name + .to_str() + .ok_or_else(|| anyhow!("'{}' is not valid UTF-8", file_name.to_string_lossy()))?; let mut name_bytes = file_name.as_bytes().to_vec(); name_bytes.append(&mut ASM_SUFFIX.as_bytes().to_vec()); out_file.add_symbol(object::write::Symbol { @@ -270,21 +330,21 @@ fn fixup(args: FixupArgs) -> Result<()> { match in_symbol.kind() { SymbolKind::Section => in_symbol .section_index() - .ok_or_else(|| Error::msg("Section symbol without section")) + .ok_or_else(|| anyhow!("Section symbol without section")) .and_then(|section_idx| { section_ids[section_idx.0].ok_or_else(|| { - Error::msg("Relocation against stripped section") + anyhow!("Relocation against stripped section") }) }) .map(|section_idx| out_file.section_symbol(section_idx)), - _ => Err(Error::msg("Missing symbol for relocation")), + _ => Err(anyhow!("Missing symbol for relocation")), } } }, RelocationTarget::Section(section_idx) => section_ids[section_idx.0] - .ok_or_else(|| Error::msg("Relocation against stripped section")) + .ok_or_else(|| anyhow!("Relocation against stripped section")) .map(|section_id| out_file.section_symbol(section_id)), - target => Err(Error::msg(format!("Invalid relocation target '{target:?}'"))), + target => Err(anyhow!("Invalid relocation target '{target:?}'")), }?; // Attempt to replace section symbols with direct symbol references @@ -305,7 +365,11 @@ fn fixup(args: FixupArgs) -> Result<()> { let kind = match reloc.kind() { // This is a hack to avoid replacement with a section symbol // See [`object::write::elf::object::elf_fixup_relocation`] - RelocationKind::Absolute => RelocationKind::Elf(object::elf::R_PPC_ADDR32), + RelocationKind::Absolute => RelocationKind::Elf(if addr & 3 == 0 { + object::elf::R_PPC_ADDR32 + } else { + object::elf::R_PPC_UADDR32 + }), other => other, }; @@ -320,10 +384,11 @@ fn fixup(args: FixupArgs) -> Result<()> { } } - let mut out = BufWriter::new(File::create(&args.out_file).with_context(|| { - format!("Failed to create output file: '{}'", args.out_file.to_string_lossy()) - })?); - out_file.write_stream(&mut out).map_err(|e| Error::msg(format!("{e:?}")))?; + let mut out = + BufWriter::new(File::create(&args.out_file).with_context(|| { + format!("Failed to create output file: '{}'", args.out_file.display()) + })?); + out_file.write_stream(&mut out).map_err(|e| anyhow!("{e:?}"))?; out.flush()?; Ok(()) } @@ -340,7 +405,7 @@ fn to_write_symbol_section( .get(idx.0) .and_then(|&opt| opt) .map(object::write::SymbolSection::Section) - .ok_or_else(|| Error::msg("Missing symbol section")), + .ok_or_else(|| anyhow!("Missing symbol section")), _ => Ok(object::write::SymbolSection::Undefined), } } @@ -349,7 +414,7 @@ fn to_write_symbol_flags(flags: SymbolFlags) -> Result Ok(SymbolFlags::Elf { st_info, st_other }), SymbolFlags::None => Ok(SymbolFlags::None), - _ => Err(Error::msg("Unexpected symbol flags")), + _ => Err(anyhow!("Unexpected symbol flags")), } } @@ -372,6 +437,60 @@ fn to_write_symbol( fn has_section_flags(flags: SectionFlags, flag: u32) -> Result { match flags { SectionFlags::Elf { sh_flags } => Ok(sh_flags & flag as u64 == flag as u64), - _ => Err(Error::msg("Unexpected section flags")), + _ => Err(anyhow!("Unexpected section flags")), } } + +fn signatures(args: SignaturesArgs) -> Result<()> { + // Process response files (starting with '@') + let mut files = Vec::with_capacity(args.files.len()); + for path in args.files { + let path_str = + path.to_str().ok_or_else(|| anyhow!("'{}' is not valid UTF-8", path.display()))?; + match path_str.strip_prefix('@') { + Some(rsp_file) => { + let reader = BufReader::new( + File::open(rsp_file) + .with_context(|| format!("Failed to open file '{rsp_file}'"))?, + ); + for result in reader.lines() { + let line = result?; + if !line.is_empty() { + files.push(PathBuf::from(line)); + } + } + } + None => { + files.push(path); + } + } + } + + let mut signatures: HashMap, FunctionSignature> = HashMap::new(); + for path in files { + log::info!("Processing {}", path.display()); + let (data, signature) = match generate_signature(&path, &args.symbol) { + Ok(Some(signature)) => signature, + Ok(None) => continue, + Err(e) => { + eprintln!("Failed: {:?}", e); + continue; + } + }; + log::info!("Comparing hash {}", signature.hash); + if let Some((_, existing)) = signatures.iter_mut().find(|(a, b)| *a == &data) { + compare_signature(existing, &signature)?; + } else { + signatures.insert(data, signature); + } + } + let mut signatures = signatures.into_iter().map(|(a, b)| b).collect::>(); + log::info!("{} unique signatures", signatures.len()); + signatures.sort_by_key(|s| s.signature.len()); + let out = + BufWriter::new(File::create(&args.out_file).with_context(|| { + format!("Failed to create output file '{}'", args.out_file.display()) + })?); + serde_yaml::to_writer(out, &signatures)?; + Ok(()) +} diff --git a/src/cmd/elf2dol.rs b/src/cmd/elf2dol.rs index 222b336..d457989 100644 --- a/src/cmd/elf2dol.rs +++ b/src/cmd/elf2dol.rs @@ -3,10 +3,10 @@ use std::{ io::{BufWriter, Seek, SeekFrom, Write}, }; -use anyhow::{Context, Error, Result}; +use anyhow::{anyhow, bail, ensure, Context, Result}; use argh::FromArgs; use memmap2::MmapOptions; -use object::{Architecture, Object, ObjectKind, ObjectSection, SectionKind}; +use object::{Architecture, Endianness, Object, ObjectKind, ObjectSection, SectionKind}; #[derive(FromArgs, PartialEq, Eq, Debug)] /// Converts an ELF file to a DOL file. @@ -49,14 +49,12 @@ pub fn run(args: Args) -> Result<()> { let obj_file = object::read::File::parse(&*map)?; match obj_file.architecture() { Architecture::PowerPc => {} - arch => return Err(Error::msg(format!("Unexpected architecture: {arch:?}"))), + arch => bail!("Unexpected architecture: {arch:?}"), }; - if obj_file.is_little_endian() { - return Err(Error::msg("Expected big endian")); - } + ensure!(obj_file.endianness() == Endianness::Big, "Expected big endian"); match obj_file.kind() { ObjectKind::Executable => {} - kind => return Err(Error::msg(format!("Unexpected ELF type: {kind:?}"))), + kind => bail!("Unexpected ELF type: {kind:?}"), } let mut header = DolHeader { entry_point: obj_file.entry() as u32, ..Default::default() }; @@ -75,10 +73,10 @@ pub fn run(args: Args) -> Result<()> { let address = section.address() as u32; let size = align32(section.size() as u32); *header.text_sections.get_mut(header.text_section_count).ok_or_else(|| { - Error::msg(format!( + anyhow!( "Too many text sections (while processing '{}')", section.name().unwrap_or("[error]") - )) + ) })? = DolSection { offset, address, size }; header.text_section_count += 1; write_aligned(&mut out, section.data()?, size)?; @@ -93,10 +91,10 @@ pub fn run(args: Args) -> Result<()> { let address = section.address() as u32; let size = align32(section.size() as u32); *header.data_sections.get_mut(header.data_section_count).ok_or_else(|| { - Error::msg(format!( + anyhow!( "Too many data sections (while processing '{}')", section.name().unwrap_or("[error]") - )) + ) })? = DolSection { offset, address, size }; header.data_section_count += 1; write_aligned(&mut out, section.data()?, size)?; diff --git a/src/cmd/map.rs b/src/cmd/map.rs index f5e19ea..a410885 100644 --- a/src/cmd/map.rs +++ b/src/cmd/map.rs @@ -1,6 +1,6 @@ -use std::{fs::File, io::BufReader, ops::Range}; +use std::{fs::File, io::BufReader}; -use anyhow::{Context, Error, Result}; +use anyhow::{bail, ensure, Context, Result}; use argh::FromArgs; use crate::util::map::{process_map, resolve_link_order, SymbolEntry, SymbolRef}; @@ -103,12 +103,7 @@ fn entries(args: EntriesArgs) -> Result<()> { } } } - None => { - return Err(Error::msg(format!( - "Failed to find entries for TU '{}' in map", - args.unit - ))); - } + None => bail!("Failed to find entries for TU '{}' in map", args.unit), } Ok(()) } @@ -122,9 +117,7 @@ fn symbol(args: SymbolArgs) -> Result<()> { let mut opt_ref: Option<(SymbolRef, SymbolEntry)> = None; for (symbol_ref, entry) in &entries.symbols { if symbol_ref.name == args.symbol { - if opt_ref.is_some() { - return Err(Error::msg(format!("Symbol '{}' found in multiple TUs", args.symbol))); - } + ensure!(opt_ref.is_none(), "Symbol '{}' found in multiple TUs", args.symbol); opt_ref = Some((symbol_ref.clone(), entry.clone())); } } @@ -140,7 +133,7 @@ fn symbol(args: SymbolArgs) -> Result<()> { reference.demangled.as_ref().unwrap_or(&reference.name), reference.kind, reference.visibility, - reference.unit + reference.unit.as_deref().unwrap_or("[generated]") ); } else { println!(">>> {} (NOT FOUND)", x.name); @@ -156,7 +149,7 @@ fn symbol(args: SymbolArgs) -> Result<()> { reference.demangled.as_ref().unwrap_or(&reference.name), reference.kind, reference.visibility, - reference.unit + reference.unit.as_deref().unwrap_or("[generated]") ); } else { println!(">>> {} (NOT FOUND)", x.name); @@ -165,9 +158,7 @@ fn symbol(args: SymbolArgs) -> Result<()> { } println!("\n"); } - None => { - return Err(Error::msg(format!("Failed to find symbol '{}' in map", args.symbol))); - } + None => bail!("Failed to find symbol '{}' in map", args.symbol), } Ok(()) } @@ -201,19 +192,19 @@ fn slices(args: SlicesArgs) -> Result<()> { unit.clone() }; println!("{unit_path}:"); - let mut ranges = Vec::<(String, Range)>::new(); - match entries.unit_section_ranges.get(&unit) { - Some(sections) => { - for (name, range) in sections { - ranges.push((name.clone(), range.clone())); - } - } - None => return Err(Error::msg(format!("Failed to locate sections for unit '{unit}'"))), - } - ranges.sort_by(|(_, a), (_, b)| a.start.cmp(&b.start)); - for (name, range) in ranges { - println!("\t{}: [{:#010x}, {:#010x}]", name, range.start, range.end); - } + // let mut ranges = Vec::<(String, Range)>::new(); + // match entries.unit_section_ranges.get(&unit) { + // Some(sections) => { + // for (name, range) in sections { + // ranges.push((name.clone(), range.clone())); + // } + // } + // None => bail!("Failed to locate sections for unit '{unit}'"), + // } + // ranges.sort_by(|(_, a), (_, b)| a.start.cmp(&b.start)); + // for (name, range) in ranges { + // println!("\t{}: [{:#010x}, {:#010x}]", name, range.start, range.end); + // } } Ok(()) } @@ -223,12 +214,12 @@ fn symbols(args: SymbolsArgs) -> Result<()> { File::open(&args.map_file) .with_context(|| format!("Failed to open file '{}'", args.map_file))?, ); - let entries = process_map(reader)?; - for (address, symbol) in entries.address_to_symbol { - if symbol.name.starts_with('@') { - continue; - } - println!("{:#010x}: {}", address, symbol.name); - } + let _entries = process_map(reader)?; + // for (address, symbol) in entries.address_to_symbol { + // if symbol.name.starts_with('@') { + // continue; + // } + // println!("{:#010x}: {}", address, symbol.name); + // } Ok(()) } diff --git a/src/cmd/metroidbuildinfo.rs b/src/cmd/metroidbuildinfo.rs index 723f948..f10ec72 100644 --- a/src/cmd/metroidbuildinfo.rs +++ b/src/cmd/metroidbuildinfo.rs @@ -1,4 +1,4 @@ -use anyhow::{Context, Error, Result}; +use anyhow::{bail, ensure, Context, Result}; use argh::FromArgs; use memchr::memmem; use memmap2::MmapOptions; @@ -23,11 +23,10 @@ pub fn run(args: Args) -> Result<()> { .with_context(|| format!("Failed to read build info string from '{}'", args.build_info))?; let build_string_trim = build_string.trim_end(); let build_string_bytes = build_string_trim.as_bytes(); - if build_string_bytes.len() > BUILD_STRING_MAX { - return Err(Error::msg(format!( - "Build string '{build_string_trim}' is greater than maximum size of {BUILD_STRING_MAX}" - ))); - } + ensure!( + build_string_bytes.len() <= BUILD_STRING_MAX, + "Build string '{build_string_trim}' is greater than maximum size of {BUILD_STRING_MAX}" + ); let binary_file = std::fs::File::options() .read(true) @@ -38,7 +37,7 @@ pub fn run(args: Args) -> Result<()> { .with_context(|| format!("Failed to mmap binary: '{}'", args.binary))?; let start = match memmem::find(&map, BUILD_STRING_TAG.as_bytes()) { Some(idx) => idx + BUILD_STRING_TAG.as_bytes().len(), - None => return Err(Error::msg("Failed to find build string tag in binary")), + None => bail!("Failed to find build string tag in binary"), }; let end = start + build_string_bytes.len(); map[start..end].copy_from_slice(build_string_bytes); diff --git a/src/cmd/mod.rs b/src/cmd/mod.rs index e3f676e..05809b7 100644 --- a/src/cmd/mod.rs +++ b/src/cmd/mod.rs @@ -1,7 +1,9 @@ pub(crate) mod ar; pub(crate) mod demangle; +pub(crate) mod dol; pub(crate) mod elf; pub(crate) mod elf2dol; pub(crate) mod map; pub(crate) mod metroidbuildinfo; +pub(crate) mod rel; pub(crate) mod shasum; diff --git a/src/cmd/rel.rs b/src/cmd/rel.rs new file mode 100644 index 0000000..6758c37 --- /dev/null +++ b/src/cmd/rel.rs @@ -0,0 +1,312 @@ +use std::{ + collections::{btree_map, BTreeMap}, + fs::File, + io::{BufWriter, Write}, + path::PathBuf, +}; + +use anyhow::{anyhow, bail, ensure, Context, Result}; +use argh::FromArgs; + +use crate::{ + cmd::dol::apply_signatures, + util::{ + dol::process_dol, + elf::write_elf, + obj::{ObjInfo, ObjSection, ObjSymbol}, + rel::process_rel, + }, +}; +use crate::util::cfa::{AnalysisPass, AnalyzerState, FindSaveRestSleds, FindTRKInterruptVectorTable}; +use crate::util::obj::{nested_push, ObjReloc, ObjRelocKind, ObjSectionKind, ObjSymbolKind}; +use crate::util::tracker::Tracker; + +#[derive(FromArgs, PartialEq, Debug)] +/// Commands for processing REL files. +#[argh(subcommand, name = "rel")] +pub struct Args { + #[argh(subcommand)] + command: SubCommand, +} + +#[derive(FromArgs, PartialEq, Debug)] +#[argh(subcommand)] +enum SubCommand { + Info(InfoArgs), + Merge(MergeArgs), +} + +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Views REL file information. +#[argh(subcommand, name = "info")] +pub struct InfoArgs { + #[argh(positional)] + /// REL file + rel_file: PathBuf, +} + +#[derive(FromArgs, PartialEq, Eq, Debug)] +/// Merges a DOL + REL(s) into an ELF. +#[argh(subcommand, name = "merge")] +pub struct MergeArgs { + #[argh(positional)] + /// DOL file + dol_file: PathBuf, + #[argh(positional)] + /// REL file(s) + rel_files: Vec, + #[argh(option, short = 'o')] + /// output ELF + out_file: PathBuf, +} + +pub fn run(args: Args) -> Result<()> { + match args.command { + SubCommand::Info(c_args) => info(c_args), + SubCommand::Merge(c_args) => merge(c_args), + } +} + +fn info(args: InfoArgs) -> Result<()> { + let rel = process_rel(&args.rel_file)?; + println!("Read REL module ID {}", rel.module_id); + // println!("REL: {:#?}", rel); + Ok(()) +} + +#[inline] +const fn align32(x: u32) -> u32 { (x + 31) & !31 } + +fn merge(args: MergeArgs) -> Result<()> { + let mut module_map = BTreeMap::::new(); + log::info!("Loading {}", args.dol_file.display()); + let mut obj = process_dol(&args.dol_file)?; + apply_signatures(&mut obj)?; + + for path in &args.rel_files { + log::info!("Loading {}", path.display()); + let obj = process_rel(path)?; + match module_map.entry(obj.module_id) { + btree_map::Entry::Vacant(e) => e.insert(obj), + btree_map::Entry::Occupied(_) => bail!("Duplicate module ID {}", obj.module_id), + }; + } + let mut section_map: BTreeMap> = BTreeMap::new(); + let mut offset = align32(obj.arena_lo.unwrap() + 0x2000); + for (_, module) in &module_map { + for mod_section in &module.sections { + let section_idx = obj.sections.len(); + ensure!(mod_section.relocations.is_empty(), "Unsupported relocations during merge"); + obj.sections.push(ObjSection { + name: format!("{}:{}", mod_section.name, module.module_id), + kind: mod_section.kind, + address: offset as u64, + size: mod_section.size, + data: mod_section.data.clone(), + align: mod_section.align, + index: section_idx, + elf_index: mod_section.elf_index, + relocations: vec![], + original_address: mod_section.original_address, + file_offset: mod_section.file_offset, + section_known: mod_section.section_known, + }); + nested_try_insert( + &mut section_map, + module.module_id, + mod_section.elf_index as u32, + offset, + )?; + let symbols = module.symbols_for_section(mod_section.index); + for (_, mod_symbol) in symbols { + obj.symbols.push(ObjSymbol { + name: mod_symbol.name.clone(), + demangled_name: mod_symbol.demangled_name.clone(), + address: mod_symbol.address + offset as u64, + section: Some(section_idx), + size: mod_symbol.size, + size_known: mod_symbol.size_known, + flags: mod_symbol.flags, + kind: mod_symbol.kind, + }); + } + offset += align32(mod_section.size as u32); + } + } + + let mut symbol_maps = Vec::new(); + for section in &obj.sections { + symbol_maps.push(obj.build_symbol_map(section.index)?); + } + + // Apply relocations + for (_, module) in &module_map { + for rel_reloc in &module.unresolved_relocations { + let source_addr = + section_map[&module.module_id][&(rel_reloc.section as u32)] + rel_reloc.address; + let target_addr = if rel_reloc.module_id == 0 { + rel_reloc.addend + } else { + let base = section_map[&rel_reloc.module_id][&(rel_reloc.target_section as u32)]; + let addend = rel_reloc.addend; + base + addend + }; + let source_section = obj.section_at(source_addr)?; + let target_section = obj.section_at(target_addr)?; + let target_section_index = target_section.index; + + // Try to find a previous sized symbol that encompasses the target + let sym_map = &mut symbol_maps[target_section_index]; + let target_symbol = { + let mut result = None; + for (&addr, symbol_idxs) in sym_map.range(..=target_addr).rev() { + let symbol_idx = if symbol_idxs.len() == 1 { + symbol_idxs.first().cloned().unwrap() + } else { + let mut symbol_idxs = symbol_idxs.clone(); + symbol_idxs.sort_by_key(|&symbol_idx| { + let symbol = &obj.symbols[symbol_idx]; + let mut rank = match symbol.kind { + ObjSymbolKind::Function | ObjSymbolKind::Object => { + match rel_reloc.kind { + ObjRelocKind::PpcAddr16Hi + | ObjRelocKind::PpcAddr16Ha + | ObjRelocKind::PpcAddr16Lo => 1, + ObjRelocKind::Absolute + | ObjRelocKind::PpcRel24 + | ObjRelocKind::PpcRel14 + | ObjRelocKind::PpcEmbSda21 => 2, + } + } + // Label + ObjSymbolKind::Unknown => match rel_reloc.kind { + ObjRelocKind::PpcAddr16Hi + | ObjRelocKind::PpcAddr16Ha + | ObjRelocKind::PpcAddr16Lo + if !symbol.name.starts_with("..") => + { + 3 + } + _ => 1, + }, + ObjSymbolKind::Section => -1, + }; + if symbol.size > 0 { + rank += 1; + } + -rank + }); + match symbol_idxs.first().cloned() { + Some(v) => v, + None => continue, + } + }; + let symbol = &obj.symbols[symbol_idx]; + if symbol.address == target_addr as u64 { + result = Some(symbol_idx); + break; + } + if symbol.size > 0 { + if symbol.address + symbol.size > target_addr as u64 { + result = Some(symbol_idx); + } + break; + } + } + result + }; + let (symbol_idx, addend) = if let Some(symbol_idx) = target_symbol { + let symbol = &obj.symbols[symbol_idx]; + (symbol_idx, target_addr as i64 - symbol.address as i64) + } else { + // Create a new label + let symbol_idx = obj.symbols.len(); + obj.symbols.push(ObjSymbol { + name: String::new(), + demangled_name: None, + address: target_addr as u64, + section: Some(target_section_index), + size: 0, + size_known: false, + flags: Default::default(), + kind: Default::default(), + }); + nested_push(sym_map, target_addr, symbol_idx); + (symbol_idx, 0) + }; + obj.sections[target_section_index].relocations.push(ObjReloc { + kind: rel_reloc.kind, + address: source_addr as u64, + target_symbol: symbol_idx, + addend, + }); + } + } + + // Apply known functions from extab + let mut state = AnalyzerState::default(); + for (&addr, &size) in &obj.known_functions { + state.function_entries.insert(addr); + state.function_bounds.insert(addr, addr + size); + } + for symbol in &obj.symbols { + if symbol.kind != ObjSymbolKind::Function { + continue; + } + state.function_entries.insert(symbol.address as u32); + if !symbol.size_known { + continue; + } + state.function_bounds.insert(symbol.address as u32, (symbol.address + symbol.size) as u32); + } + // Also check the start of each code section + for section in &obj.sections { + if section.kind == ObjSectionKind::Code { + state.function_entries.insert(section.address as u32); + } + } + + state.detect_functions(&obj)?; + log::info!("Discovered {} functions", state.function_slices.len()); + + FindTRKInterruptVectorTable::execute(&mut state, &obj)?; + FindSaveRestSleds::execute(&mut state, &obj)?; + state.apply(&mut obj)?; + + log::info!("Performing relocation analysis"); + let mut tracker = Tracker::new(&obj); + tracker.process(&obj)?; + + log::info!("Applying relocations"); + tracker.apply(&mut obj, false)?; + + // Write ELF + let mut file = File::create(&args.out_file) + .with_context(|| format!("Failed to create '{}'", args.out_file.display()))?; + let out_object = write_elf(&obj)?; + file.write_all(&out_object)?; + file.flush()?; + Ok(()) +} + +#[inline] +fn nested_try_insert( + map: &mut BTreeMap>, + v1: T1, + v2: T2, + v3: T3, +) -> Result<()> +where + T1: Eq + Ord, + T2: Eq + Ord, +{ + let map = match map.entry(v1) { + btree_map::Entry::Occupied(entry) => entry.into_mut(), + btree_map::Entry::Vacant(entry) => entry.insert(Default::default()), + }; + match map.entry(v2) { + btree_map::Entry::Occupied(_) => bail!("Entry already exists"), + btree_map::Entry::Vacant(entry) => entry.insert(v3), + }; + Ok(()) +} diff --git a/src/cmd/shasum.rs b/src/cmd/shasum.rs index 6cbf733..40f3423 100644 --- a/src/cmd/shasum.rs +++ b/src/cmd/shasum.rs @@ -4,7 +4,7 @@ use std::{ path::Path, }; -use anyhow::{Context, Error, Result}; +use anyhow::{anyhow, bail, Context, Result}; use argh::FromArgs; use filetime::{set_file_mtime, FileTime}; use sha1::{Digest, Sha1}; @@ -42,13 +42,13 @@ fn check(args: Args, file: File) -> Result<()> { for line in reader.lines() { let line = match line { Ok(line) => line, - Err(e) => return Err(Error::msg(format!("File read failed: {e}"))), + Err(e) => bail!("File read failed: {e}"), }; let (hash, file_name) = - line.split_once(' ').ok_or_else(|| Error::msg(format!("Invalid line: {line}")))?; + line.split_once(' ').ok_or_else(|| anyhow!("Invalid line: {line}"))?; let file_name = match file_name.chars().next() { Some(' ') | Some('*') => &file_name[1..], - _ => return Err(Error::msg(format!("Invalid line: {line}"))), + _ => bail!("Invalid line: {line}"), }; let mut hash_bytes = [0u8; 20]; hex::decode_to_slice(hash, &mut hash_bytes) @@ -78,7 +78,7 @@ fn hash(args: Args, file: File) -> Result<()> { let hash = file_sha1(file)?; let mut hash_buf = [0u8; 40]; let hash_str = base16ct::lower::encode_str(&hash, &mut hash_buf) - .map_err(|e| Error::msg(format!("Failed to encode hash: {e}")))?; + .map_err(|e| anyhow!("Failed to encode hash: {e}"))?; println!("{} {}", hash_str, args.file); Ok(()) } diff --git a/src/main.rs b/src/main.rs index 1ec01a2..a00d4bb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,3 @@ -extern crate core; - use argh::FromArgs; mod argh_version; @@ -18,28 +16,32 @@ struct TopLevel { enum SubCommand { Ar(cmd::ar::Args), Demangle(cmd::demangle::Args), + Dol(cmd::dol::Args), Elf(cmd::elf::Args), Elf2Dol(cmd::elf2dol::Args), Map(cmd::map::Args), MetroidBuildInfo(cmd::metroidbuildinfo::Args), + Rel(cmd::rel::Args), Shasum(cmd::shasum::Args), } fn main() { - pretty_env_logger::init(); + env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); let args: TopLevel = argh_version::from_env(); let result = match args.command { SubCommand::Ar(c_args) => cmd::ar::run(c_args), SubCommand::Demangle(c_args) => cmd::demangle::run(c_args), + SubCommand::Dol(c_args) => cmd::dol::run(c_args), SubCommand::Elf(c_args) => cmd::elf::run(c_args), SubCommand::Elf2Dol(c_args) => cmd::elf2dol::run(c_args), SubCommand::Map(c_args) => cmd::map::run(c_args), SubCommand::MetroidBuildInfo(c_args) => cmd::metroidbuildinfo::run(c_args), + SubCommand::Rel(c_args) => cmd::rel::run(c_args), SubCommand::Shasum(c_args) => cmd::shasum::run(c_args), }; if let Err(e) = result { - eprintln!("{e:?}"); + eprintln!("Failed: {e:?}"); std::process::exit(1); } } diff --git a/src/util/asm.rs b/src/util/asm.rs index a080f08..24f83b0 100644 --- a/src/util/asm.rs +++ b/src/util/asm.rs @@ -4,7 +4,7 @@ use std::{ io::Write, }; -use anyhow::{Error, Result}; +use anyhow::{anyhow, bail, ensure, Result}; use ppc750cl::{disasm_iter, Argument, Ins, Opcode}; use crate::util::obj::{ @@ -97,7 +97,11 @@ pub fn write_asm(w: &mut W, obj: &ObjInfo) -> Result<()> { } if let Some(symbol_idx) = target_symbol_idx { relocations.insert(ins.addr, ObjReloc { - kind: ObjRelocKind::PpcRel24, + kind: match ins.op { + Opcode::B => ObjRelocKind::PpcRel24, + Opcode::Bc => ObjRelocKind::PpcRel14, + _ => unreachable!(), + }, address: ins.addr as u64, target_symbol: symbol_idx, addend: 0, @@ -325,9 +329,7 @@ fn write_symbol_entry( ObjSymbolKind::Function => "fn", ObjSymbolKind::Object => "obj", ObjSymbolKind::Unknown => "sym", - ObjSymbolKind::Section => { - return Err(Error::msg(format!("Attempted to write section symbol: {symbol:?}"))) - } + ObjSymbolKind::Section => bail!("Attempted to write section symbol: {symbol:?}"), }; let scope = if symbol.flags.0.contains(ObjSymbolFlags::Weak) { "weak" @@ -447,14 +449,13 @@ fn write_data( let data = §ion.data[(current_address - section.address as u32) as usize ..(until - section.address as u32) as usize]; if symbol_kind == ObjSymbolKind::Function { - if current_address & 3 != 0 || data.len() & 3 != 0 { - return Err(Error::msg(format!( - "Unaligned code write @ {} {:#010X} size {:#X}", - section.name, - current_address, - data.len() - ))); - } + ensure!( + current_address & 3 == 0 && data.len() & 3 == 0, + "Unaligned code write @ {} {:#010X} size {:#X}", + section.name, + current_address, + data.len() + ); write_code_chunk(w, symbols, entries, relocations, section, current_address, data)?; } else { write_data_chunk(w, data)?; @@ -476,11 +477,10 @@ fn find_symbol_kind( SymbolEntryKind::Start => { let new_kind = symbols[entry.index].kind; if !matches!(new_kind, ObjSymbolKind::Unknown | ObjSymbolKind::Section) { - if found && new_kind != kind { - return Err(Error::msg(format!( - "Conflicting symbol kinds found: {kind:?} and {new_kind:?}" - ))); - } + ensure!( + !found || new_kind == kind, + "Conflicting symbol kinds found: {kind:?} and {new_kind:?}" + ); kind = new_kind; found = true; } @@ -546,7 +546,11 @@ fn write_data_reloc( writeln!(w)?; Ok((reloc.address + 4) as u32) } - _ => Err(Error::msg(format!("Unsupported data relocation type {:?}", reloc.kind))), + _ => Err(anyhow!( + "Unsupported data relocation type {:?} @ {:#010X}", + reloc.kind, + reloc.address + )), } } @@ -634,7 +638,13 @@ fn write_section_header( write!(w, ".section {}", section.name)?; write!(w, ", \"a\"")?; } - name => return Err(Error::msg(format!("Unknown section {name}"))), + name => { + log::warn!("Unknown section {name}"); + write!(w, ".section {}", section.name)?; + if section.kind == ObjSectionKind::Bss { + write!(w, ", \"\", @nobits")?; + } + } }; if subsection != 0 { write!(w, ", unique, {subsection}")?; diff --git a/src/util/cfa.rs b/src/util/cfa.rs new file mode 100644 index 0000000..b39f145 --- /dev/null +++ b/src/util/cfa.rs @@ -0,0 +1,511 @@ +use std::{ + collections::{btree_map::Entry, BTreeMap, BTreeSet}, + num::NonZeroU32, + ops::Range, +}; + +use anyhow::{anyhow, bail, ensure, Context, Result}; +use fixedbitset::FixedBitSet; +use flagset::FlagSet; +use ppc750cl::{Argument, Ins, Opcode, GPR}; + +use crate::util::{ + executor::{disassemble, ExecCbData, ExecCbResult, Executor}, + obj::{ + ObjInfo, ObjSection, ObjSectionKind, ObjSymbol, ObjSymbolFlagSet, ObjSymbolFlags, + ObjSymbolKind, + }, + slices::{FunctionSlices, TailCallResult}, + vm::{BranchTarget, GprValue, StepResult, VM}, +}; + +#[derive(Debug, Default)] +pub struct AnalyzerState { + pub sda_bases: Option<(u32, u32)>, + pub function_entries: BTreeSet, + pub function_bounds: BTreeMap, + pub function_slices: BTreeMap, + pub jump_tables: BTreeMap, + pub known_symbols: BTreeMap, + pub non_finalized_functions: BTreeMap, +} + +impl AnalyzerState { + pub fn apply(&self, obj: &mut ObjInfo) -> Result<()> { + for (&start, &end) in &self.function_bounds { + if end == 0 { + continue; + } + if let Some(existing_symbol) = obj + .symbols + .iter_mut() + .find(|sym| sym.address == start as u64 && sym.kind == ObjSymbolKind::Function) + { + let new_size = (end - start) as u64; + if !existing_symbol.size_known || existing_symbol.size == 0 { + existing_symbol.size = new_size; + existing_symbol.size_known = true; + } else if existing_symbol.size != new_size { + log::warn!( + "Conflicting size for {}: was {:#X}, now {:#X}", + existing_symbol.name, + existing_symbol.size, + new_size + ); + } + continue; + } + let section = obj + .sections + .iter() + .find(|section| { + (start as u64) >= section.address + && (end as u64) <= section.address + section.size + }) + .ok_or_else(|| { + anyhow!("Failed to locate section for function {:#010X}-{:#010X}", start, end) + })?; + obj.symbols.push(ObjSymbol { + name: format!("fn_{:08X}", start), + demangled_name: None, + address: start as u64, + section: Some(section.index), + size: (end - start) as u64, + size_known: true, + flags: Default::default(), + kind: ObjSymbolKind::Function, + }); + } + for (&addr, &size) in &self.jump_tables { + let section = obj + .sections + .iter() + .find(|section| { + (addr as u64) >= section.address + && ((addr + size) as u64) <= section.address + section.size + }) + .ok_or_else(|| anyhow!("Failed to locate section for jump table"))?; + if let Some(existing_symbol) = obj + .symbols + .iter_mut() + .find(|sym| sym.address == addr as u64 && sym.kind == ObjSymbolKind::Object) + { + let new_size = size as u64; + if !existing_symbol.size_known || existing_symbol.size == 0 { + existing_symbol.size = new_size; + existing_symbol.size_known = true; + // existing_symbol.flags.0 &= ObjSymbolFlags::Global; + // existing_symbol.flags.0 |= ObjSymbolFlags::Local; + } else if existing_symbol.size != new_size { + log::warn!( + "Conflicting size for {}: was {:#X}, now {:#X}", + existing_symbol.name, + existing_symbol.size, + new_size + ); + } + continue; + } + obj.symbols.push(ObjSymbol { + name: format!("jumptable_{:08X}", addr), + demangled_name: None, + address: addr as u64, + section: Some(section.index), + size: size as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Local.into()), + kind: ObjSymbolKind::Object, + }); + } + for (&_addr, symbol) in &self.known_symbols { + if let Some(existing_symbol) = obj + .symbols + .iter_mut() + .find(|e| symbol.address == e.address && symbol.kind == e.kind) + { + *existing_symbol = symbol.clone(); + continue; + } + obj.symbols.push(symbol.clone()); + } + Ok(()) + } + + pub fn detect_functions(&mut self, obj: &ObjInfo) -> Result<()> { + // Process known functions first + let known_functions = self.function_entries.clone(); + for addr in known_functions { + self.process_function_at(obj, addr)?; + } + // Locate entry function bounds + self.process_function_at(obj, obj.entry as u32)?; + // Locate bounds for referenced functions until none are left + self.process_functions(obj)?; + // Final pass(es) + while self.finalize_functions(obj, true)? { + self.process_functions(obj)?; + } + Ok(()) + } + + fn finalize_functions(&mut self, obj: &ObjInfo, finalize: bool) -> Result { + let mut finalized = Vec::new(); + for (&addr, slices) in &mut self.non_finalized_functions { + // log::info!("Trying to finalize {:#010X}", addr); + let function_start = slices.start(); + let function_end = slices.end(); + let mut current = 0; + while let Some(&block) = slices.possible_blocks.range(current + 4..).next() { + current = block; + match slices.check_tail_call( + obj, + block, + function_start, + function_end, + &self.function_entries, + ) { + TailCallResult::Not => { + log::trace!("Finalized block @ {:#010X}", block); + slices.possible_blocks.remove(&block); + slices.analyze( + obj, + block, + function_start, + Some(function_end), + &self.function_entries, + )?; + } + TailCallResult::Is => { + log::trace!("Finalized tail call @ {:#010X}", block); + slices.possible_blocks.remove(&block); + slices.function_references.insert(block); + } + TailCallResult::Possible => { + if finalize { + log::trace!( + "Still couldn't determine {:#010X}, assuming non-tail-call", + block + ); + slices.possible_blocks.remove(&block); + slices.analyze( + obj, + block, + function_start, + Some(function_end), + &self.function_entries, + )?; + } + } + } + } + if slices.can_finalize() { + log::trace!("Finalizing {:#010X}", addr); + slices.finalize(obj, &self.function_entries)?; + self.function_entries.append(&mut slices.function_references.clone()); + self.jump_tables.append(&mut slices.jump_table_references.clone()); + let end = slices.end(); + self.function_bounds.insert(addr, end); + self.function_slices.insert(addr, slices.clone()); + finalized.push(addr); + } + } + let finalized_new = !finalized.is_empty(); + for addr in finalized { + self.non_finalized_functions.remove(&addr); + } + Ok(finalized_new) + } + + fn first_unbounded_function(&self) -> Option { + let mut entries_iter = self.function_entries.iter().cloned(); + let mut bounds_iter = self.function_bounds.keys().cloned(); + let mut entry = entries_iter.next(); + let mut bound = bounds_iter.next(); + loop { + match (entry, bound) { + (Some(a), Some(b)) => { + if b < a { + bound = bounds_iter.next(); + continue; + } else if a != b { + if self.non_finalized_functions.contains_key(&a) { + entry = entries_iter.next(); + continue; + } else { + break Some(a); + } + } + } + (Some(a), None) => { + if self.non_finalized_functions.contains_key(&a) { + entry = entries_iter.next(); + continue; + } else { + break Some(a); + } + } + _ => break None, + } + entry = entries_iter.next(); + bound = bounds_iter.next(); + } + } + + fn process_functions(&mut self, obj: &ObjInfo) -> Result<()> { + loop { + match self.first_unbounded_function() { + Some(addr) => { + log::trace!("Processing {:#010X}", addr); + self.process_function_at(&obj, addr)?; + } + None => { + if !self.finalize_functions(obj, false)? { + if !self.detect_new_functions(obj)? { + break; + } + } + } + } + } + Ok(()) + } + + pub fn process_function_at(&mut self, obj: &ObjInfo, addr: u32) -> Result { + if addr == 0 || addr == 0xFFFFFFFF { + log::warn!("Tried to detect @ {:#010X}", addr); + self.function_bounds.insert(addr, 0); + return Ok(false); + } + Ok(if let Some(mut slices) = self.process_function(obj, addr)? { + self.function_entries.insert(addr); + self.function_entries.append(&mut slices.function_references.clone()); + self.jump_tables.append(&mut slices.jump_table_references.clone()); + if slices.can_finalize() { + slices.finalize(obj, &self.function_entries)?; + self.function_bounds.insert(addr, slices.end()); + self.function_slices.insert(addr, slices); + } else { + self.non_finalized_functions.insert(addr, slices); + } + true + } else { + log::debug!("Not a function @ {:#010X}", addr); + self.function_bounds.insert(addr, 0); + false + }) + } + + fn process_function(&mut self, obj: &ObjInfo, start: u32) -> Result> { + let mut slices = FunctionSlices::default(); + let function_end = self.function_bounds.get(&start).cloned(); + if start == 0x801FC300 { + log::info!("Processing TRKExceptionHandler"); + } + Ok(match slices.analyze(obj, start, start, function_end, &self.function_entries)? { + true => Some(slices), + false => None, + }) + } + + fn detect_new_functions(&mut self, obj: &ObjInfo) -> Result { + let mut found_new = false; + let mut iter = self.function_bounds.iter().peekable(); + while let (Some((&first_begin, &first_end)), Some(&(&second_begin, &second_end))) = + (iter.next(), iter.peek()) + { + if first_end == 0 || first_end > second_begin { + continue; + } + let addr = match skip_alignment(obj, first_end, second_begin) { + Some(addr) => addr, + None => continue, + }; + if second_begin > addr && self.function_entries.insert(addr) { + log::trace!( + "Trying function @ {:#010X} (from {:#010X}-{:#010X} <-> {:#010X}-{:#010X})", + addr, + first_begin, + first_end, + second_begin, + second_end, + ); + found_new = true; + } + } + Ok(found_new) + } +} + +pub trait AnalysisPass { + fn execute(state: &mut AnalyzerState, obj: &ObjInfo) -> Result<()>; +} + +pub struct FindTRKInterruptVectorTable {} + +pub const TRK_TABLE_HEADER: &str = "Metrowerks Target Resident Kernel for PowerPC"; +pub const TRK_TABLE_SIZE: u32 = 0x1F34; // always? + +// TRK_MINNOW_DOLPHIN.a __exception.s +impl AnalysisPass for FindTRKInterruptVectorTable { + fn execute(state: &mut AnalyzerState, obj: &ObjInfo) -> Result<()> { + for (&start, _) in state.function_bounds.iter().filter(|&(_, &end)| end == 0) { + let (section, data) = match obj.section_data(start, 0) { + Ok((section, data)) => (section, data), + Err(_) => continue, + }; + if data.starts_with(TRK_TABLE_HEADER.as_bytes()) + && data[TRK_TABLE_HEADER.as_bytes().len()] == 0 + { + log::info!("Found gTRKInterruptVectorTable @ {:#010X}", start); + state.known_symbols.insert(start, ObjSymbol { + name: "gTRKInterruptVectorTable".to_string(), + demangled_name: None, + address: start as u64, + section: Some(section.index), + size: 0, + size_known: true, + flags: ObjSymbolFlagSet(FlagSet::from(ObjSymbolFlags::Global)), + kind: ObjSymbolKind::Unknown, + }); + let end = start + TRK_TABLE_SIZE; + state.known_symbols.insert(end, ObjSymbol { + name: "gTRKInterruptVectorTableEnd".to_string(), + demangled_name: None, + address: end as u64, + section: Some(section.index), + size: 0, + size_known: true, + flags: ObjSymbolFlagSet(FlagSet::from(ObjSymbolFlags::Global)), + kind: ObjSymbolKind::Unknown, + }); + + return Ok(()); + } + } + log::info!("gTRKInterruptVectorTable not found"); + Ok(()) + } +} + +pub struct FindSaveRestSleds {} + +const SLEDS: [([u8; 4], &'static str, &'static str); 4] = [ + ([0xd9, 0xcb, 0xff, 0x70], "__save_fpr", "_savefpr_"), + ([0xc9, 0xcb, 0xff, 0x70], "__restore_fpr", "_restfpr_"), + ([0x91, 0xcb, 0xff, 0xb8], "__save_gpr", "_savegpr_"), + ([0x81, 0xcb, 0xff, 0xb8], "__restore_gpr", "_restgpr_"), +]; + +// Runtime.PPCEABI.H.a runtime.c +impl AnalysisPass for FindSaveRestSleds { + fn execute(state: &mut AnalyzerState, obj: &ObjInfo) -> Result<()> { + const SLED_SIZE: usize = 19 * 4; // registers 14-31 + blr + let mut clear_ranges: Vec> = vec![]; + for (&start, _) in state.function_bounds.iter().filter(|&(_, &end)| end != 0) { + let (section, data) = obj.section_data(start, 0)?; + for (needle, func, label) in &SLEDS { + if data.starts_with(needle) { + log::info!("Found {} @ {:#010X}", func, start); + clear_ranges.push(start + 4..start + SLED_SIZE as u32); + state.known_symbols.insert(start, ObjSymbol { + name: func.to_string(), + demangled_name: None, + address: start as u64, + section: Some(section.index), + size: SLED_SIZE as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Function, + }); + for i in 14..=31 { + let addr = start + (i - 14) * 4; + state.known_symbols.insert(addr, ObjSymbol { + name: format!("{}{}", label, i), + demangled_name: None, + address: addr as u64, + section: Some(section.index), + size: 0, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Unknown, + }); + } + } + } + } + for range in clear_ranges { + for addr in range.step_by(4) { + state.function_entries.remove(&addr); + state.function_bounds.remove(&addr); + state.function_slices.remove(&addr); + } + } + Ok(()) + } +} + +fn skip_alignment(obj: &ObjInfo, mut addr: u32, end: u32) -> Option { + let mut data = match obj.section_data(addr, end) { + Ok((_, data)) => data, + Err(_) => return None, + }; + loop { + if data.is_empty() { + break None; + } + if data[0..4] == [0u8; 4] { + addr += 4; + data = &data[4..]; + } else { + break Some(addr); + } + } +} + +/// Execute VM from entry point following branches and function calls +/// until SDA bases are initialized (__init_registers) +pub fn locate_sda_bases(obj: &mut ObjInfo) -> Result { + let mut executor = Executor::new(obj); + executor.push(obj.entry as u32, VM::new(), false); + let result = + executor.run(obj, |ExecCbData { executor, vm, result, section, ins, block_start }| { + match result { + StepResult::Continue | StepResult::LoadStore { .. } => { + return Ok(ExecCbResult::Continue); + } + StepResult::Illegal => bail!("Illegal instruction @ {:#010X}", ins.addr), + StepResult::Jump(target) => match target { + BranchTarget::Address(addr) => { + return Ok(ExecCbResult::Jump(addr)); + } + _ => {} + }, + StepResult::Branch(branches) => { + for branch in branches { + match branch.target { + BranchTarget::Address(addr) => { + executor.push(addr, branch.vm, false); + } + _ => {} + } + } + } + } + + if let (GprValue::Constant(sda2_base), GprValue::Constant(sda_base)) = + (vm.gpr_value(2), vm.gpr_value(13)) + { + return Ok(ExecCbResult::End((sda2_base, sda_base))); + } + + Ok(ExecCbResult::EndBlock) + })?; + match result { + Some((sda2_base, sda_base)) => { + obj.sda2_base = Some(sda2_base); + obj.sda_base = Some(sda_base); + Ok(true) + } + None => Ok(false), + } +} diff --git a/src/util/config.rs b/src/util/config.rs new file mode 100644 index 0000000..72bf87b --- /dev/null +++ b/src/util/config.rs @@ -0,0 +1,179 @@ +use std::{io::Write, num::ParseIntError, ops::BitAndAssign}; + +use anyhow::{anyhow, bail, Result}; +use cwdemangle::{demangle, DemangleOptions}; +use flagset::FlagSet; +use once_cell::sync::Lazy; +use regex::Regex; + +use crate::util::obj::{ + ObjInfo, ObjSectionKind, ObjSymbol, ObjSymbolFlagSet, ObjSymbolFlags, ObjSymbolKind, +}; + +fn parse_hex(s: &str) -> Result { + u32::from_str_radix(s.trim_start_matches("0x"), 16) +} + +pub fn parse_symbol_line(line: &str, obj: &ObjInfo) -> Result> { + static SYMBOL_LINE: Lazy = Lazy::new(|| { + Regex::new( + "^\\s*(?P[^\\s=]+)\\s*=\\s*(?:(?P
[A-Za-z0-9.]+):)?(?P[0-9A-Fa-fXx]+);(?:\\s*//\\s*(?P.*))?$", + ) + .unwrap() + }); + static COMMENT_LINE: Lazy = Lazy::new(|| Regex::new("^\\s*//.*$").unwrap()); + + if let Some(captures) = SYMBOL_LINE.captures(&line) { + let name = captures["name"].to_string(); + let addr = parse_hex(&captures["addr"])?; + let demangled_name = demangle(&name, &DemangleOptions::default()); + let mut symbol = ObjSymbol { + name, + demangled_name, + address: addr as u64, + section: obj.section_at(addr).ok().map(|section| section.index), + size: 0, + size_known: false, + flags: Default::default(), + kind: ObjSymbolKind::Unknown, + }; + let attrs = captures["attrs"].split(' '); + for attr in attrs { + if let Some((name, value)) = attr.split_once(':') { + match name { + "type" => { + symbol.kind = symbol_kind_from_str(value) + .ok_or_else(|| anyhow!("Unknown symbol type '{}'", value))?; + } + "size" => { + symbol.size = parse_hex(&value)? as u64; + symbol.size_known = true; + } + "scope" => { + symbol.flags.0 |= symbol_flags_from_str(value) + .ok_or_else(|| anyhow!("Unknown symbol scope '{}'", value))?; + } + _ => bail!("Unknown attribute '{name}'"), + } + } else { + match attr { + "hidden" => { + symbol.flags.0 |= ObjSymbolFlags::Hidden; + } + _ => bail!("Unknown attribute '{attr}'"), + } + } + } + Ok(Some(symbol)) + } else if COMMENT_LINE.is_match(line) { + Ok(None) + } else { + Err(anyhow!("Failed to parse line '{line}'")) + } +} + +fn is_skip_symbol(symbol: &ObjSymbol) -> bool { + // symbol.name.starts_with("lbl_") + // || symbol.name.starts_with("func_") + // || symbol.name.starts_with("switch_") + // || symbol.name.starts_with("float_") + // || symbol.name.starts_with("double_") + false +} + +pub fn write_symbols(w: &mut W, obj: &ObjInfo) -> Result<()> { + let mut symbols: Vec<&ObjSymbol> = obj.symbols.iter().map(|s| s).collect(); + symbols.sort_by_key(|s| s.address); + for symbol in symbols { + if symbol.kind == ObjSymbolKind::Section + // Ignore absolute symbols for now (usually linker-generated) + || symbol.section.is_none() + || is_skip_symbol(symbol) + { + continue; + } + write_symbol(w, obj, symbol)?; + } + Ok(()) +} + +fn write_symbol(w: &mut W, obj: &ObjInfo, symbol: &ObjSymbol) -> Result<()> { + // if let Some(demangled_name) = &symbol.demangled_name { + // writeln!(w, "// {demangled_name}")?; + // } + write!(w, "{} = ", symbol.name)?; + let section = symbol.section.and_then(|idx| obj.sections.get(idx)); + if let Some(section) = section { + write!(w, "{}:", section.name)?; + } + write!(w, "{:#010X}; //", symbol.address)?; + write!(w, " type:{}", symbol_kind_to_str(symbol.kind))?; + // if let Some(section) = section { + // match section.kind { + // ObjSectionKind::Code => { + // write!(w, " type:function")?; + // } + // ObjSectionKind::Data | ObjSectionKind::ReadOnlyData | ObjSectionKind::Bss => { + // write!(w, " type:object")?; + // } + // } + // } + if symbol.size_known && symbol.size > 0 { + write!(w, " size:{:#X}", symbol.size)?; + } + if let Some(scope) = symbol_flags_to_str(symbol.flags) { + write!(w, " scope:{scope}")?; + } + if symbol.flags.0.contains(ObjSymbolFlags::Hidden) { + write!(w, " hidden")?; + } + writeln!(w)?; + Ok(()) +} + +#[inline] +fn symbol_kind_to_str(kind: ObjSymbolKind) -> &'static str { + match kind { + ObjSymbolKind::Unknown => "label", + ObjSymbolKind::Function => "function", + ObjSymbolKind::Object => "object", + ObjSymbolKind::Section => "section", + } +} + +#[inline] +fn symbol_kind_from_str(s: &str) -> Option { + match s { + "label" => Some(ObjSymbolKind::Unknown), + "function" => Some(ObjSymbolKind::Function), + "object" => Some(ObjSymbolKind::Object), + "section" => Some(ObjSymbolKind::Section), + _ => None, + } +} + +#[inline] +fn symbol_flags_to_str(flags: ObjSymbolFlagSet) -> Option<&'static str> { + if flags.0.contains(ObjSymbolFlags::Common) { + Some("common") + } else if flags.0.contains(ObjSymbolFlags::Weak) { + Some("weak") + } else if flags.0.contains(ObjSymbolFlags::Global) { + Some("global") + } else if flags.0.contains(ObjSymbolFlags::Local) { + Some("local") + } else { + None + } +} + +#[inline] +fn symbol_flags_from_str(s: &str) -> Option { + match s { + "common" => Some(ObjSymbolFlags::Common), + "weak" => Some(ObjSymbolFlags::Weak), + "global" => Some(ObjSymbolFlags::Global), + "local" => Some(ObjSymbolFlags::Local), + _ => None, + } +} diff --git a/src/util/dol.rs b/src/util/dol.rs new file mode 100644 index 0000000..ca17a82 --- /dev/null +++ b/src/util/dol.rs @@ -0,0 +1,554 @@ +use std::{collections::BTreeMap, fs::File, io::BufReader, path::Path}; + +use anyhow::{anyhow, bail, ensure, Result}; +use dol::{Dol, DolSection, DolSectionType}; + +use crate::util::{ + cfa::{locate_sda_bases, AnalyzerState}, + obj::{ + ObjArchitecture, ObjInfo, ObjKind, ObjSection, ObjSectionKind, ObjSymbol, ObjSymbolFlagSet, + ObjSymbolFlags, ObjSymbolKind, + }, +}; + +const MAX_TEXT_SECTIONS: usize = 7; +const MAX_DATA_SECTIONS: usize = 11; +const MAX_ROM_COPY_INFO_SIZE: usize = (MAX_TEXT_SECTIONS + MAX_DATA_SECTIONS + 1) * 3 * 4; // num sections * 3 entries * u32 +const MAX_BSS_INIT_INFO_SIZE: usize = (MAX_DATA_SECTIONS + 1) * 2 * 4; // num sections * 2 entries * u32 +const ETI_INIT_INFO_SIZE: usize = 16; // eti_start, eti_end, code_start, code_size + +fn read_u32(dol: &Dol, addr: u32) -> Result { + Ok(u32::from_be_bytes(dol.virtual_data_at(addr, 4)?.try_into()?)) +} + +pub fn process_dol>(path: P) -> Result { + let name = path + .as_ref() + .file_name() + .and_then(|filename| filename.to_str()) + .unwrap_or_default() + .to_string(); + let dol = Dol::read_from(BufReader::new(File::open(path)?))?; + let mut obj = ObjInfo { + module_id: 0, + kind: ObjKind::Executable, + architecture: ObjArchitecture::PowerPc, + name, + symbols: vec![], + sections: vec![], + entry: dol.header.entry_point as u64, + sda2_base: None, + sda_base: None, + stack_address: None, + stack_end: None, + db_stack_addr: None, + arena_lo: None, + arena_hi: None, + splits: Default::default(), + link_order: vec![], + known_functions: Default::default(), + unresolved_relocations: vec![], + }; + + // Locate _rom_copy_info + let first_rom_section = dol + .header + .sections + .iter() + .find(|section| section.kind != DolSectionType::Bss) + .ok_or_else(|| anyhow!("Failed to locate first rom section"))?; + let init_section = section_by_address(&dol, dol.header.entry_point) + .ok_or_else(|| anyhow!("Failed to locate .init section"))?; + let rom_copy_info_addr = { + let mut addr = init_section.target + init_section.size + - MAX_ROM_COPY_INFO_SIZE as u32 + - MAX_BSS_INIT_INFO_SIZE as u32; + loop { + let value = read_u32(&dol, addr)?; + if value == first_rom_section.target { + log::debug!("Found _rom_copy_info @ {addr:#010X}"); + break Some(addr); + } + addr += 4; + if addr >= init_section.target + init_section.size { + log::warn!("Failed to locate _rom_copy_info"); + break None; + } + } + }; + + // Process _rom_copy_info + let mut rom_sections = BTreeMap::::new(); + let rom_copy_info_end = match rom_copy_info_addr { + Some(mut addr) => loop { + let rom = read_u32(&dol, addr)?; + let copy = read_u32(&dol, addr + 4)?; + ensure!( + rom == copy, + "Unsupported section: ROM address {rom:#010X} != copy address {copy:#010X}", + ); + let size = read_u32(&dol, addr + 8)?; + addr += 12; + if size == 0 { + log::debug!("Found _rom_copy_info end @ {addr:#010X}"); + break Some(addr); + } + if addr >= init_section.target + init_section.size { + log::warn!("Failed to locate _rom_copy_info end"); + break None; + } + rom_sections.insert(rom, size); + }, + None => None, + }; + + // Locate _bss_init_info + let bss_section = dol + .header + .sections + .iter() + .find(|section| section.kind == DolSectionType::Bss) + .ok_or_else(|| anyhow!("Failed to locate BSS section"))?; + let bss_init_info_addr = match rom_copy_info_end { + Some(mut addr) => loop { + let value = read_u32(&dol, addr)?; + if value == bss_section.target { + log::debug!("Found _bss_init_info @ {addr:#010X}"); + break Some(addr); + } + addr += 4; + if addr >= init_section.target + init_section.size { + log::warn!("Failed to locate _bss_init_info"); + break None; + } + }, + None => None, + }; + + // Process _bss_init_info + let mut bss_sections = BTreeMap::::new(); + let bss_init_info_end = match bss_init_info_addr { + Some(mut addr) => loop { + let rom = read_u32(&dol, addr)?; + let size = read_u32(&dol, addr + 4)?; + addr += 8; + if size == 0 { + log::debug!("Found _bss_init_info end @ {addr:#010X}"); + break Some(addr); + } + if addr >= init_section.target + init_section.size { + log::warn!("Failed to locate _bss_init_info end"); + break None; + } + bss_sections.insert(rom, size); + }, + None => None, + }; + + // Locate _eti_init_info + let num_text_sections = + dol.header.sections.iter().filter(|section| section.kind == DolSectionType::Text).count(); + let mut eti_entries: Vec = Vec::new(); + let mut eti_init_info_range: Option<(u32, u32)> = None; + let mut extab_section: Option = None; + let mut extabindex_section: Option = None; + 'outer: for dol_section in + dol.header.sections.iter().filter(|section| section.kind == DolSectionType::Data) + { + // Use section size from _rom_copy_info + let dol_section_size = match rom_sections.get(&dol_section.target) { + Some(&size) => size, + None => dol_section.size, + }; + let dol_section_end = dol_section.target + dol_section_size; + + let eti_init_info_addr = { + let mut addr = dol_section_end - (ETI_INIT_INFO_SIZE * (num_text_sections + 1)) as u32; + loop { + let eti_init_info = read_eti_init_info(&dol, addr)?; + if validate_eti_init_info( + &dol, + &eti_init_info, + dol_section, + dol_section_end, + &rom_sections, + )? { + log::debug!("Found _eti_init_info @ {addr:#010X}"); + break addr; + } + addr += 4; + if addr > dol_section_end - ETI_INIT_INFO_SIZE as u32 { + continue 'outer; + } + } + }; + + let eti_init_info_end = { + let mut addr = eti_init_info_addr; + loop { + let eti_init_info = read_eti_init_info(&dol, addr)?; + addr += 16; + if eti_init_info.is_zero() { + break; + } + if addr > dol_section_end - ETI_INIT_INFO_SIZE as u32 { + bail!( + "Failed to locate _eti_init_info end (start @ {:#010X})", + eti_init_info_addr + ); + } + if !validate_eti_init_info( + &dol, + &eti_init_info, + dol_section, + dol_section_end, + &rom_sections, + )? { + bail!("Invalid _eti_init_info entry: {:#010X?}", eti_init_info); + } + for addr in (eti_init_info.eti_start..eti_init_info.eti_end).step_by(12) { + let eti_entry = read_eti_entry(&dol, addr)?; + let entry_section = + section_by_address(&dol, eti_entry.extab_addr).ok_or_else(|| { + anyhow!( + "Failed to locate section for extab address {:#010X}", + eti_entry.extab_addr + ) + })?; + if let Some(extab_section) = extab_section { + ensure!( + entry_section.index == extab_section, + "Mismatched sections for extabindex entries: {} != {}", + entry_section.index, + extab_section + ); + } else { + extab_section = Some(entry_section.index); + } + eti_entries.push(eti_entry); + } + } + log::debug!("Found _eti_init_info end @ {addr:#010X}"); + addr + }; + + eti_init_info_range = Some((eti_init_info_addr, eti_init_info_end)); + extabindex_section = Some(dol_section.index); + break; + } + if eti_init_info_range.is_none() { + log::debug!("Failed to locate _eti_init_info"); + } + + // Add text and data sections + for dol_section in + dol.header.sections.iter().filter(|section| section.kind != DolSectionType::Bss) + { + let (name, kind, known) = match dol_section.index { + idx if idx == init_section.index => (".init".to_string(), ObjSectionKind::Code, true), + idx if Some(idx) == extab_section => { + ("extab".to_string(), ObjSectionKind::ReadOnlyData, true) + } + idx if Some(idx) == extabindex_section => { + ("extabindex".to_string(), ObjSectionKind::ReadOnlyData, true) + } + _ if num_text_sections == 2 && dol_section.kind == DolSectionType::Text => { + (".text".to_string(), ObjSectionKind::Code, true) + } + idx => match dol_section.kind { + DolSectionType::Text => (format!(".text{idx}"), ObjSectionKind::Code, false), + DolSectionType::Data => (format!(".data{idx}"), ObjSectionKind::Data, false), + DolSectionType::Bss => unreachable!(), + }, + }; + + // Use section size from _rom_copy_info + let size = match rom_sections.get(&dol_section.target) { + Some(&size) => size, + None => { + if !rom_sections.is_empty() { + log::warn!( + "Section {} ({:#010X}) doesn't exist in _rom_copy_info", + dol_section.index, + dol_section.target + ); + } + dol_section.size + } + }; + + obj.sections.push(ObjSection { + name, + kind, + address: dol_section.target as u64, + size: size as u64, + data: dol.virtual_data_at(dol_section.target, size)?.to_vec(), + align: 0, + index: 0, + elf_index: 0, + relocations: vec![], + original_address: 0, + file_offset: dol_section.offset as u64, + section_known: known, + }); + } + + // Add BSS sections from _bss_init_info + for (idx, (&addr, &size)) in bss_sections.iter().enumerate() { + ensure!( + addr >= bss_section.target + && addr < bss_section.target + bss_section.size + && addr + size <= bss_section.target + bss_section.size, + "Invalid BSS range {:#010X}-{:#010X} (DOL BSS: {:#010X}-{:#010X})", + addr, + addr + size, + bss_section.target, + bss_section.target + bss_section.size + ); + + obj.sections.push(ObjSection { + name: format!(".bss{}", idx), + kind: ObjSectionKind::Bss, + address: addr as u64, + size: size as u64, + data: vec![], + align: 0, + index: 0, + elf_index: 0, + relocations: vec![], + original_address: 0, + file_offset: 0, + section_known: false, + }); + } + + // Sort sections by address ascending + obj.sections.sort_by_key(|s| s.address); + + // Apply section indices + let mut init_section_index = None; + for (idx, section) in obj.sections.iter_mut().enumerate() { + match section.name.as_str() { + ".init" => { + init_section_index = Some(idx); + } + "extab" => { + extab_section = Some(idx); + } + "extabindex" => { + extabindex_section = Some(idx); + } + _ => {} + } + section.index = idx; + // Assume the original ELF section index is +1 + // ELF files start with a NULL section + section.elf_index = idx + 1; + } + + // Generate _rom_copy_info symbol + if let (Some(rom_copy_info_addr), Some(rom_copy_info_end)) = + (rom_copy_info_addr, rom_copy_info_end) + { + obj.symbols.push(ObjSymbol { + name: "_rom_copy_info".to_string(), + demangled_name: None, + address: rom_copy_info_addr as u64, + section: init_section_index, + size: (rom_copy_info_end - rom_copy_info_addr) as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Object, + }); + } + + // Generate _bss_init_info symbol + if let (Some(bss_init_info_addr), Some(bss_init_info_end)) = + (bss_init_info_addr, bss_init_info_end) + { + obj.symbols.push(ObjSymbol { + name: "_bss_init_info".to_string(), + demangled_name: None, + address: bss_init_info_addr as u64, + section: init_section_index, + size: (bss_init_info_end - bss_init_info_addr) as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Object, + }); + } + + // Generate _eti_init_info symbol + if let Some((eti_init_info_addr, eti_init_info_end)) = eti_init_info_range { + obj.symbols.push(ObjSymbol { + name: "_eti_init_info".to_string(), + demangled_name: None, + address: eti_init_info_addr as u64, + section: extabindex_section, + size: (eti_init_info_end - eti_init_info_addr) as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Object, + }); + } + + // Generate symbols for extab & extabindex entries + if let (Some(extabindex_section_idx), Some(extab_section_idx)) = + (extabindex_section, extab_section) + { + let extabindex_section = &obj.sections[extabindex_section_idx]; + let extab_section = &obj.sections[extab_section_idx]; + for entry in &eti_entries { + // Add functions from extabindex entries as known function bounds + if let Some(old_value) = obj.known_functions.insert(entry.function, entry.function_size) + { + if old_value != entry.function_size { + log::warn!( + "Conflicting sizes for {:#010X}: {:#X} != {:#X}", + entry.function, + entry.function_size, + old_value + ); + } + } + obj.symbols.push(ObjSymbol { + name: format!("@eti_{:08X}", entry.address), + demangled_name: None, + address: entry.address as u64, + section: Some(extabindex_section.index), + size: 12, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Local | ObjSymbolFlags::Hidden), + kind: ObjSymbolKind::Object, + }); + } + + let mut entry_iter = eti_entries.iter().peekable(); + loop { + let (addr, size) = match (entry_iter.next(), entry_iter.peek()) { + (Some(a), Some(&b)) => (a.extab_addr, b.extab_addr - a.extab_addr), + (Some(a), None) => ( + a.extab_addr, + (extabindex_section.address + extabindex_section.size) as u32 - a.extab_addr, + ), + _ => break, + }; + obj.symbols.push(ObjSymbol { + name: format!("@etb_{:08X}", addr), + demangled_name: None, + address: addr as u64, + section: Some(extab_section.index), + size: size as u64, + size_known: true, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Local | ObjSymbolFlags::Hidden), + kind: ObjSymbolKind::Object, + }); + } + } + + // Locate _SDA2_BASE_ & _SDA_BASE_ + let sda_bases = match locate_sda_bases(&mut obj) { + Ok(true) => { + let sda2_base = obj.sda2_base.unwrap(); + let sda_base = obj.sda_base.unwrap(); + obj.symbols.push(ObjSymbol { + name: "_SDA2_BASE_".to_string(), + demangled_name: None, + address: sda2_base as u64, + section: None, + size: 0, + size_known: false, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Unknown, + }); + obj.symbols.push(ObjSymbol { + name: "_SDA_BASE_".to_string(), + demangled_name: None, + address: sda_base as u64, + section: None, + size: 0, + size_known: false, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Unknown, + }); + } + Ok(false) => { + log::warn!("Unable to locate SDA bases"); + } + Err(e) => { + log::warn!("Failed to locate SDA bases: {:?}", e); + } + }; + + Ok(obj) +} + +#[derive(Debug, Clone)] +struct EtiInitInfo { + eti_start: u32, + eti_end: u32, + code_start: u32, + code_size: u32, +} + +impl EtiInitInfo { + #[inline] + fn is_zero(&self) -> bool { + self.eti_start == 0 && self.eti_end == 0 && self.code_start == 0 && self.code_size == 0 + } +} + +#[derive(Debug, Clone)] +struct EtiEntry { + address: u32, + function: u32, + function_size: u32, + extab_addr: u32, +} + +fn read_eti_init_info(dol: &Dol, addr: u32) -> Result { + let eti_start = read_u32(&dol, addr)?; + let eti_end = read_u32(&dol, addr + 4)?; + let code_start = read_u32(&dol, addr + 8)?; + let code_size = read_u32(&dol, addr + 12)?; + Ok(EtiInitInfo { eti_start, eti_end, code_start, code_size }) +} + +fn read_eti_entry(dol: &Dol, address: u32) -> Result { + let function = read_u32(&dol, address)?; + let function_size = read_u32(&dol, address + 4)?; + let extab_addr = read_u32(&dol, address + 8)?; + Ok(EtiEntry { address, function, function_size, extab_addr }) +} + +fn validate_eti_init_info( + dol: &Dol, + eti_init_info: &EtiInitInfo, + eti_section: &DolSection, + eti_section_end: u32, + rom_sections: &BTreeMap, +) -> Result { + if eti_init_info.eti_start >= eti_section.target + && eti_init_info.eti_start < eti_section_end + && eti_init_info.eti_end >= eti_section.target + && eti_init_info.eti_end < eti_section_end + { + if let Some(code_section) = section_by_address(&dol, eti_init_info.code_start) { + let code_section_size = match rom_sections.get(&code_section.target) { + Some(&size) => size, + None => code_section.size, + }; + if eti_init_info.code_size <= code_section_size { + return Ok(true); + } + } + } + Ok(false) +} + +fn section_by_address(dol: &Dol, addr: u32) -> Option<&DolSection> { + dol.header + .sections + .iter() + .find(|section| addr >= section.target && addr < section.target + section.size) +} diff --git a/src/util/dwarf.rs b/src/util/dwarf.rs new file mode 100644 index 0000000..79e826f --- /dev/null +++ b/src/util/dwarf.rs @@ -0,0 +1,1118 @@ +use std::{ + collections::BTreeMap, + convert::TryFrom, + fmt::{Display, Formatter, Write}, + io::{BufRead, Cursor, Seek, SeekFrom}, + num::NonZeroU32, +}; + +use anyhow::{anyhow, bail, ensure, Context, Result}; +use byteorder::{BigEndian, ReadBytesExt}; +use num_enum::{IntoPrimitive, TryFromPrimitive}; + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u16)] +pub enum TagKind { + Padding = 0x0000, + ArrayType = 0x0001, + ClassType = 0x0002, + EntryPoint = 0x0003, + EnumerationType = 0x0004, + FormalParameter = 0x0005, + GlobalSubroutine = 0x0006, + GlobalVariable = 0x0007, + Label = 0x000a, + LexicalBlock = 0x000b, + LocalVariable = 0x000c, + Member = 0x000d, + PointerType = 0x000f, + ReferenceType = 0x0010, + // aka SourceFile + CompileUnit = 0x0011, + StringType = 0x0012, + StructureType = 0x0013, + Subroutine = 0x0014, + SubroutineType = 0x0015, + Typedef = 0x0016, + UnionType = 0x0017, + UnspecifiedParameters = 0x0018, + Variant = 0x0019, + CommonBlock = 0x001a, + CommonInclusion = 0x001b, + Inheritance = 0x001c, + InlinedSubroutine = 0x001d, + Module = 0x001e, + PtrToMemberType = 0x001f, + SetType = 0x0020, + SubrangeType = 0x0021, + WithStmt = 0x0022, + // User types +} + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u16)] +pub enum FundType { + Char = 0x0001, + SignedChar = 0x0002, + UnsignedChar = 0x0003, + Short = 0x0004, + SignedShort = 0x0005, + UnsignedShort = 0x0006, + Integer = 0x0007, + SignedInteger = 0x0008, + UnsignedInteger = 0x0009, + Long = 0x000a, + SignedLong = 0x000b, + UnsignedLong = 0x000c, + Pointer = 0x000d, + Float = 0x000e, + DblPrecFloat = 0x000f, + ExtPrecFloat = 0x0010, + Complex = 0x0011, + DblPrecComplex = 0x0012, + Void = 0x0014, + Boolean = 0x0015, + ExtPrecComplex = 0x0016, + Label = 0x0017, + // User types + LongLong = 0x8008, + SignedLongLong = 0x8108, + UnsignedLongLong = 0x8208, +} + +impl FundType { + fn size(self) -> Result { + Ok(match self { + FundType::Char | FundType::SignedChar | FundType::UnsignedChar | FundType::Boolean => 1, + FundType::Short | FundType::SignedShort | FundType::UnsignedShort => 2, + FundType::Integer | FundType::SignedInteger | FundType::UnsignedInteger => 4, + FundType::Long + | FundType::SignedLong + | FundType::UnsignedLong + | FundType::Pointer + | FundType::Float => 4, + FundType::DblPrecFloat + | FundType::LongLong + | FundType::SignedLongLong + | FundType::UnsignedLongLong => 8, + FundType::Void => 0, + FundType::ExtPrecFloat + | FundType::Complex + | FundType::DblPrecComplex + | FundType::ExtPrecComplex + | FundType::Label => bail!("Unhandled fundamental type {self:?}"), + }) + } +} + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u8)] +pub enum Modifier { + PointerTo = 0x01, + ReferenceTo = 0x02, + Const = 0x03, + Volatile = 0x04, + // User types +} + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u8)] +pub enum SubscriptFormat { + FundTypeConstConst = 0x0, + FundTypeConstLocation = 0x1, + FundTypeLocationConst = 0x2, + FundTypeLocationLocation = 0x3, + UserTypeConstConst = 0x4, + UserTypeConstLocation = 0x5, + UserTypeLocationConst = 0x6, + UserTypeLocationLocation = 0x7, + ElementType = 0x8, +} + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u8)] +pub enum LocationOp { + Register = 0x01, + BaseRegister = 0x02, + Address = 0x03, + Const = 0x04, + Deref2 = 0x05, + Deref4 = 0x06, + Add = 0x07, + // User types +} + +const FORM_MASK: u16 = 0xF; + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u16)] +enum FormKind { + Addr = 0x1, + Ref = 0x2, + Block2 = 0x3, + Block4 = 0x4, + Data2 = 0x5, + Data4 = 0x6, + Data8 = 0x7, + String = 0x8, +} + +#[derive(Debug, Eq, PartialEq, Copy, Clone, IntoPrimitive, TryFromPrimitive)] +#[repr(u16)] +pub enum AttributeKind { + Sibling = 0x0010 | (FormKind::Ref as u16), + Location = 0x0020 | (FormKind::Block2 as u16), + Name = 0x0030 | (FormKind::String as u16), + FundType = 0x0050 | (FormKind::Data2 as u16), + ModFundType = 0x0060 | (FormKind::Block2 as u16), + UserDefType = 0x0070 | (FormKind::Ref as u16), + ModUDType = 0x0080 | (FormKind::Block2 as u16), + Ordering = 0x0090 | (FormKind::Data2 as u16), + SubscrData = 0x00a0 | (FormKind::Block2 as u16), + ByteSize = 0x00b0 | (FormKind::Data4 as u16), + BitOffset = 0x00c0 | (FormKind::Data2 as u16), + BitSize = 0x00d0 | (FormKind::Data4 as u16), + ElementList = 0x00f0 | (FormKind::Block4 as u16), + StmtList = 0x0100 | (FormKind::Data4 as u16), + LowPc = 0x0110 | (FormKind::Addr as u16), + HighPc = 0x0120 | (FormKind::Addr as u16), + Language = 0x0130 | (FormKind::Data4 as u16), + Member = 0x0140 | (FormKind::Ref as u16), + Discr = 0x0150 | (FormKind::Ref as u16), + DiscrValue = 0x0160 | (FormKind::Block2 as u16), + StringLength = 0x0190 | (FormKind::Block2 as u16), + CommonReference = 0x01a0 | (FormKind::Ref as u16), + CompDir = 0x01b0 | (FormKind::String as u16), + ConstValueString = 0x01c0 | (FormKind::String as u16), + ConstValueData2 = 0x01c0 | (FormKind::Data2 as u16), + ConstValueData4 = 0x01c0 | (FormKind::Data4 as u16), + ConstValueData8 = 0x01c0 | (FormKind::Data8 as u16), + ConstValueBlock2 = 0x01c0 | (FormKind::Block2 as u16), + ConstValueBlock4 = 0x01c0 | (FormKind::Block4 as u16), + ContainingType = 0x01d0 | (FormKind::Ref as u16), + DefaultValueAddr = 0x01e0 | (FormKind::Addr as u16), + DefaultValueData2 = 0x01e0 | (FormKind::Data2 as u16), + DefaultValueData8 = 0x01e0 | (FormKind::Data8 as u16), + DefaultValueString = 0x01e0 | (FormKind::String as u16), + Friends = 0x01f0 | (FormKind::Block2 as u16), + Inline = 0x0200 | (FormKind::String as u16), + IsOptional = 0x0210 | (FormKind::String as u16), + LowerBoundRef = 0x0220 | (FormKind::Ref as u16), + LowerBoundData2 = 0x0220 | (FormKind::Data2 as u16), + LowerBoundData4 = 0x0220 | (FormKind::Data4 as u16), + LowerBoundData8 = 0x0220 | (FormKind::Data8 as u16), + Program = 0x0230 | (FormKind::String as u16), + Private = 0x0240 | (FormKind::String as u16), + Producer = 0x0250 | (FormKind::String as u16), + Protected = 0x0260 | (FormKind::String as u16), + Prototyped = 0x0270 | (FormKind::String as u16), + Public = 0x0280 | (FormKind::String as u16), + PureVirtual = 0x0290 | (FormKind::String as u16), + ReturnAddr = 0x02a0 | (FormKind::Block2 as u16), + Specification = 0x02b0 | (FormKind::Ref as u16), + StartScope = 0x02c0 | (FormKind::Data4 as u16), + StrideSize = 0x02e0 | (FormKind::Data4 as u16), + UpperBoundRef = 0x02f0 | (FormKind::Ref as u16), + UpperBoundData2 = 0x02f0 | (FormKind::Data2 as u16), + UpperBoundData4 = 0x02f0 | (FormKind::Data4 as u16), + UpperBoundData8 = 0x02f0 | (FormKind::Data8 as u16), + Virtual = 0x0300 | (FormKind::String as u16), + LoUser = 0x2000, + HiUser = 0x3ff0, + // User types + Unknown200 = 0x2000 | (FormKind::String as u16), + MwVariableRef = 0x2020 | (FormKind::Ref as u16), + Unknown234 = 0x2340 | (FormKind::Block2 as u16), + Unknown800 = 0x8000 | (FormKind::Data4 as u16), + Unknown801 = 0x8010 | (FormKind::Data4 as u16), + MwPrologueEnd = 0x8040 | (FormKind::Addr as u16), + MwEpilogueStart = 0x8050 | (FormKind::Addr as u16), +} + +#[derive(Debug, Clone)] +pub enum AttributeValue { + Address(u32), + Reference(u32), + Data2(u16), + Data4(u32), + Data8(u64), + Block(Vec), + String(String), +} + +#[derive(Debug, Clone)] +pub struct Attribute { + pub kind: AttributeKind, + pub value: AttributeValue, +} + +#[derive(Debug, Clone)] +pub struct Tag { + pub key: u32, + pub kind: TagKind, + pub attributes: Vec, +} + +pub type TagMap = BTreeMap; +pub type TypedefMap = BTreeMap>; + +impl Tag { + #[inline] + pub fn attribute(&self, kind: AttributeKind) -> Option<&Attribute> { + self.attributes.iter().find(|attr| attr.kind == kind) + } + + #[inline] + pub fn address_attribute(&self, kind: AttributeKind) -> Option { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::Address(addr), .. }) => Some(*addr), + _ => None, + } + } + + #[inline] + pub fn reference_attribute(&self, kind: AttributeKind) -> Option { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::Reference(addr), .. }) => Some(*addr), + _ => None, + } + } + + #[inline] + pub fn string_attribute(&self, kind: AttributeKind) -> Option<&String> { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::String(str), .. }) => Some(str), + _ => None, + } + } + + #[inline] + pub fn block_attribute(&self, kind: AttributeKind) -> Option<&[u8]> { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::Block(vec), .. }) => Some(vec), + _ => None, + } + } + + #[inline] + pub fn data4_attribute(&self, kind: AttributeKind) -> Option { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::Data4(value), .. }) => Some(*value), + _ => None, + } + } + + #[inline] + pub fn data2_attribute(&self, kind: AttributeKind) -> Option { + match self.attribute(kind) { + Some(Attribute { value: AttributeValue::Data2(value), .. }) => Some(*value), + _ => None, + } + } + + #[inline] + pub fn type_attribute(&self) -> Option<&Attribute> { + self.attributes.iter().find(|attr| { + matches!( + attr.kind, + AttributeKind::FundType + | AttributeKind::ModFundType + | AttributeKind::UserDefType + | AttributeKind::ModUDType + ) + }) + } + + pub fn children<'a>(&self, tags: &'a TagMap) -> Vec<&'a Tag> { + let sibling = self.next_sibling(tags); + let mut children = Vec::new(); + let (_, mut child) = match tags.range(self.key + 1..).next() { + Some(child) => child, + None => return children, + }; + if child.kind == TagKind::Padding { + return children; + } + loop { + if let Some(end) = sibling { + if child.key == end.key { + break; + } + } + children.push(child); + match child.next_sibling(tags) { + Some(next) => child = next, + None => break, + } + } + children + } + + pub fn next_sibling<'a>(&self, tags: &'a TagMap) -> Option<&'a Tag> { + if let Some(key) = self.reference_attribute(AttributeKind::Sibling) { + if let Some(next) = tags.get(&key) { + if next.kind != TagKind::Padding { + return Some(next); + } + } + } + None + } +} + +pub fn read_debug_section(reader: &mut R) -> Result { + let len = { + let old_pos = reader.stream_position()?; + let len = reader.seek(SeekFrom::End(0))?; + reader.seek(SeekFrom::Start(old_pos))?; + len + }; + + let mut tags = BTreeMap::new(); + loop { + let position = reader.stream_position()?; + if position >= len { + break; + } + let tag = read_tag(reader)?; + tags.insert(position as u32, tag); + } + Ok(tags) +} + +pub fn read_aranges_section(reader: &mut R) -> Result<()> { + let len = { + let old_pos = reader.stream_position()?; + let len = reader.seek(SeekFrom::End(0))?; + reader.seek(SeekFrom::Start(old_pos))?; + len + }; + + // let mut tags = BTreeMap::new(); + loop { + let position = reader.stream_position()?; + if position >= len { + break; + } + + let size = reader.read_u32::()?; + let version = reader.read_u8()?; + ensure!(version == 1, "Expected version 1, got {version}"); + let _debug_offs = reader.read_u32::()?; + let _debug_size = reader.read_u32::()?; + while reader.stream_position()? < position + size as u64 { + let _address = reader.read_u32::()?; + let _length = reader.read_u32::()?; + } + } + Ok(()) +} + +fn read_tag(reader: &mut R) -> Result { + let position = reader.stream_position()?; + let size = reader.read_u32::()?; + if size < 8 { + if size > 4 { + reader.seek(SeekFrom::Current(size as i64 - 4))?; + } + return Ok(Tag { key: position as u32, kind: TagKind::Padding, attributes: vec![] }); + } + + let tag = + TagKind::try_from(reader.read_u16::()?).context("Unknown DWARF tag type")?; + let mut attributes = Vec::new(); + while reader.stream_position()? < position + size as u64 { + attributes.push(read_attribute(reader)?); + } + Ok(Tag { key: position as u32, kind: tag, attributes }) +} + +// TODO Shift-JIS? +fn read_string(reader: &mut R) -> Result { + let mut str = String::new(); + loop { + let byte = reader.read_u8()?; + if byte == 0 { + break; + } + str.push(byte as char); + } + Ok(str) +} + +fn read_attribute(reader: &mut R) -> Result { + let attr_type = reader.read_u16::()?; + let attr = AttributeKind::try_from(attr_type).context("Unknown DWARF attribute type")?; + let form = FormKind::try_from(attr_type & FORM_MASK).context("Unknown DWARF form type")?; + let value = match form { + FormKind::Addr => AttributeValue::Address(reader.read_u32::()?), + FormKind::Ref => AttributeValue::Reference(reader.read_u32::()?), + FormKind::Block2 => { + let size = reader.read_u16::()?; + let mut data = vec![0u8; size as usize]; + reader.read_exact(&mut data)?; + AttributeValue::Block(data) + } + FormKind::Block4 => { + let size = reader.read_u32::()?; + let mut data = vec![0u8; size as usize]; + reader.read_exact(&mut data)?; + AttributeValue::Block(data) + } + FormKind::Data2 => AttributeValue::Data2(reader.read_u16::()?), + FormKind::Data4 => AttributeValue::Data4(reader.read_u32::()?), + FormKind::Data8 => AttributeValue::Data8(reader.read_u64::()?), + FormKind::String => AttributeValue::String(read_string(reader)?), + }; + Ok(Attribute { kind: attr, value }) +} + +#[derive(Debug, Clone)] +pub struct ArrayDimension { + pub index_type: Type, + pub size: Option, +} + +#[derive(Debug, Clone)] +pub struct ArrayType { + pub element_type: Box, + pub dimensions: Vec, +} + +#[derive(Debug, Clone)] +pub struct BitData { + pub byte_size: u32, + pub bit_size: u32, + pub bit_offset: u16, +} + +#[derive(Debug, Clone)] +pub struct StructureMember { + pub name: String, + pub kind: Type, + pub offset: u32, + pub bit: Option, +} + +#[derive(Debug, Clone)] +pub struct StructureType { + pub name: Option, + pub byte_size: u32, + pub members: Vec, +} + +#[derive(Debug, Clone)] +pub struct EnumerationMember { + pub name: String, + pub value: u32, +} + +#[derive(Debug, Clone)] +pub struct EnumerationType { + pub name: Option, + pub byte_size: u32, + pub members: Vec, +} + +#[derive(Debug, Clone)] +pub struct UnionMember { + pub name: String, + pub kind: Type, +} + +#[derive(Debug, Clone)] +pub struct UnionType { + pub name: Option, + pub byte_size: u32, + pub members: Vec, +} + +#[derive(Debug, Clone)] +pub struct SubroutineParameter { + pub name: Option, + pub kind: Type, +} + +#[derive(Debug, Clone)] +pub struct SubroutineType { + pub return_type: Type, + pub parameters: Vec, + pub var_args: bool, + pub prototyped: bool, +} + +#[derive(Debug, Clone)] +pub enum UserDefinedType { + Array(ArrayType), + Structure(StructureType), + Enumeration(EnumerationType), + Union(UnionType), + Subroutine(SubroutineType), +} + +impl UserDefinedType { + pub fn is_definition(&self) -> bool { + match self { + UserDefinedType::Array(_) | UserDefinedType::Subroutine(_) => false, + UserDefinedType::Structure(t) => t.name.is_some(), + UserDefinedType::Enumeration(t) => t.name.is_some(), + UserDefinedType::Union(t) => t.name.is_some(), + } + } + + pub fn size(&self, tags: &TagMap) -> Result { + Ok(match self { + UserDefinedType::Array(t) => { + let mut size = t.element_type.size(tags)?; + for dim in &t.dimensions { + size *= dim.size.map(|u| u.get()).unwrap_or_default(); + } + size + } + UserDefinedType::Structure(t) => t.byte_size, + UserDefinedType::Enumeration(t) => t.byte_size, + UserDefinedType::Union(t) => t.byte_size, + UserDefinedType::Subroutine(_) => 0, + }) + } +} + +#[derive(Debug, Copy, Clone)] +pub enum TypeKind { + Fundamental(FundType), + UserDefined(u32), +} + +#[derive(Debug, Clone)] +pub struct Type { + pub kind: TypeKind, + pub modifiers: Vec, +} + +impl Type { + pub fn size(&self, tags: &TagMap) -> Result { + if self.modifiers.iter().any(|m| matches!(m, Modifier::PointerTo | Modifier::ReferenceTo)) { + return Ok(4); + } + match self.kind { + TypeKind::Fundamental(ft) => ft.size(), + TypeKind::UserDefined(key) => { + let tag = tags + .get(&key) + .ok_or_else(|| anyhow!("Failed to locate user defined type {}", key))?; + let ud_type = ud_type(&tags, tag)?; + ud_type.size(tags) + } + } + } +} + +pub fn apply_modifiers(mut str: TypeString, modifiers: &[Modifier]) -> Result { + let mut has_pointer = false; + for &modifier in modifiers.iter().rev() { + match modifier { + Modifier::PointerTo => { + if !has_pointer && !str.suffix.is_empty() { + str.prefix.push_str(" (*"); + str.suffix.insert(0, ')'); + } else { + str.prefix.push_str(" *"); + } + has_pointer = true; + } + Modifier::ReferenceTo => { + if !has_pointer && !str.suffix.is_empty() { + str.prefix.push_str(" (&"); + str.suffix.insert(0, ')'); + } else { + str.prefix.push_str(" &"); + } + has_pointer = true; + } + Modifier::Const => { + if has_pointer { + str.prefix.push_str(" const"); + } else { + str.prefix.insert_str(0, "const "); + } + } + Modifier::Volatile => { + if has_pointer { + str.prefix.push_str(" volatile"); + } else { + str.prefix.insert_str(0, "volatile "); + } + } + } + } + Ok(str) +} + +#[derive(Debug)] +pub struct TypeString { + pub prefix: String, + pub suffix: String, +} + +impl Display for TypeString { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!(f, "{}{}", self.prefix, self.suffix) + } +} + +pub fn type_string(tags: &TagMap, typedefs: &TypedefMap, t: &Type) -> Result { + let str = match t.kind { + TypeKind::Fundamental(ft) => { + TypeString { prefix: fund_type_string(ft)?.to_string(), suffix: String::new() } + } + TypeKind::UserDefined(key) => { + if let Some(&td_key) = typedefs.get(&key).and_then(|v| v.first()) { + let tag = + tags.get(&td_key).ok_or_else(|| anyhow!("Failed to locate typedef {}", key))?; + let td_name = tag + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("typedef without name"))?; + TypeString { prefix: td_name.clone(), suffix: String::new() } + } else { + let tag = tags + .get(&key) + .ok_or_else(|| anyhow!("Failed to locate user defined type {}", key))?; + ud_type_string(tags, typedefs, &ud_type(tags, tag)?)? + } + } + }; + apply_modifiers(str, &t.modifiers) +} + +pub fn ud_type_string( + tags: &TagMap, + typedefs: &TypedefMap, + t: &UserDefinedType, +) -> Result { + Ok(match t { + UserDefinedType::Array(t) => { + let mut out = type_string(tags, typedefs, t.element_type.as_ref())?; + for dim in &t.dimensions { + ensure!( + matches!( + dim.index_type.kind, + TypeKind::Fundamental(FundType::Long | FundType::Integer) + ), + "Unsupported array index type '{}'", + type_string(tags, typedefs, &dim.index_type)? + ); + match dim.size { + None => out.suffix.insert_str(0, "[]"), + Some(size) => out.suffix = format!("[{}]{}", size, out.suffix), + }; + } + out + } + UserDefinedType::Structure(t) => { + let struct_str = if let Some(name) = t.name.as_ref() { + format!("struct {}", name) + } else { + struct_def_string(tags, typedefs, t)? + }; + TypeString { prefix: struct_str, suffix: String::new() } + } + UserDefinedType::Enumeration(t) => { + let struct_str = if let Some(name) = t.name.as_ref() { + format!("enum {}", name) + } else { + enum_def_string(t)? + }; + TypeString { prefix: struct_str, suffix: String::new() } + } + UserDefinedType::Union(t) => { + let struct_str = if let Some(name) = t.name.as_ref() { + format!("union {}", name) + } else { + union_def_string(tags, typedefs, t)? + }; + TypeString { prefix: struct_str, suffix: String::new() } + } + UserDefinedType::Subroutine(t) => { + let mut out = type_string(tags, typedefs, &t.return_type)?; + let mut parameters = String::new(); + if t.parameters.is_empty() && t.prototyped { + parameters = "void".to_string() + } else { + for (idx, parameter) in t.parameters.iter().enumerate() { + if idx > 0 { + write!(parameters, ", ")?; + } + let ts = type_string(tags, typedefs, ¶meter.kind)?; + if let Some(name) = ¶meter.name { + write!(parameters, "{} {}{}", ts.prefix, name, ts.suffix)?; + } else { + write!(parameters, "{}{}", ts.prefix, ts.suffix)?; + } + } + } + out.suffix = format!("({}){}", parameters, out.suffix); + out + } + }) +} + +pub fn ud_type_def(tags: &TagMap, typedefs: &TypedefMap, t: &UserDefinedType) -> Result { + match t { + UserDefinedType::Array(_) | UserDefinedType::Subroutine(_) => { + Err(anyhow!("Can't define non-definition type")) + } + UserDefinedType::Structure(t) => Ok(struct_def_string(tags, typedefs, t)?), + UserDefinedType::Enumeration(t) => Ok(enum_def_string(t)?), + UserDefinedType::Union(t) => Ok(union_def_string(tags, typedefs, t)?), + } +} + +pub fn struct_def_string( + tags: &TagMap, + typedefs: &TypedefMap, + t: &StructureType, +) -> Result { + let mut out = match t.name.as_ref() { + Some(name) => format!("struct {} {{\n", name), + None => "struct {\n".to_string(), + }; + for member in &t.members { + let ts = type_string(tags, typedefs, &member.kind)?; + write!(out, "\t{} {}{}", ts.prefix, member.name, ts.suffix)?; + if let Some(bit) = &member.bit { + write!(out, " : {}", bit.bit_size)?; + } + write!(out, ";\n")?; + } + write!(out, "}}")?; + Ok(out) +} + +pub fn enum_def_string(t: &EnumerationType) -> Result { + let mut out = match t.name.as_ref() { + Some(name) => format!("enum {} {{\n", name), + None => "enum {\n".to_string(), + }; + for member in t.members.iter().rev() { + writeln!(out, "\t{} = {},", member.name, member.value)?; + } + write!(out, "}}")?; + Ok(out) +} + +pub fn union_def_string(tags: &TagMap, typedefs: &TypedefMap, t: &UnionType) -> Result { + let mut out = match t.name.as_ref() { + Some(name) => format!("union {} {{\n", name), + None => "union {\n".to_string(), + }; + for member in t.members.iter().rev() { + let ts = type_string(tags, typedefs, &member.kind)?; + writeln!(out, "\t{} {}{};", ts.prefix, member.name, ts.suffix)?; + } + write!(out, "}}")?; + Ok(out) +} + +pub fn fund_type_string(ft: FundType) -> Result<&'static str> { + Ok(match ft { + FundType::Char => "char", + FundType::SignedChar => "signed char", + FundType::UnsignedChar => "unsigned char", + FundType::Short => "short", + FundType::SignedShort => "signed short", + FundType::UnsignedShort => "unsigned short", + FundType::Integer => "int", + FundType::SignedInteger => "signed int", + FundType::UnsignedInteger => "unsigned int", + FundType::Long => "long", + FundType::SignedLong => "signed long", + FundType::UnsignedLong => "unsigned long", + FundType::Pointer => "void *", + FundType::Float => "float", + FundType::DblPrecFloat => "double", + FundType::ExtPrecFloat => "long double", + FundType::Void => "void", + FundType::Boolean => "bool", + FundType::Complex + | FundType::DblPrecComplex + | FundType::ExtPrecComplex + | FundType::Label => bail!("Unhandled fundamental type {ft:?}"), + FundType::LongLong => "long long", + FundType::SignedLongLong => "signed long long", + FundType::UnsignedLongLong => "unsigned long long", + }) +} + +fn process_offset(block: &[u8]) -> Result { + if block.len() == 6 && block[0] == LocationOp::Const as u8 && block[5] == LocationOp::Add as u8 + { + Ok(u32::from_be_bytes(block[1..5].try_into()?)) + } else { + Err(anyhow!("Unhandled location data, expected offset")) + } +} + +pub fn process_address(block: &[u8]) -> Result { + if block.len() == 5 && block[0] == LocationOp::Address as u8 { + Ok(u32::from_be_bytes(block[1..].try_into()?)) + } else { + Err(anyhow!("Unhandled location data, expected address")) + } +} + +pub fn ud_type(tags: &TagMap, tag: &Tag) -> Result { + match tag.kind { + TagKind::ArrayType => { + let mut data = tag + .block_attribute(AttributeKind::SubscrData) + .ok_or_else(|| anyhow!("ArrayType without SubscrData"))?; + + let mut element_type = None; + let mut dimensions = Vec::new(); + while !data.is_empty() { + let format = SubscriptFormat::try_from( + data.first().cloned().ok_or_else(|| anyhow!("Empty SubscrData"))?, + ) + .context("Unknown array subscript format")?; + data = &data[1..]; + match format { + SubscriptFormat::FundTypeConstConst => { + let index_type = + FundType::try_from(u16::from_be_bytes(data[..2].try_into()?)) + .context("Invalid fundamental type ID")?; + let low_bound = u32::from_be_bytes(data[2..6].try_into()?); + ensure!(low_bound == 0, "Invalid array low bound {low_bound}, expected 0"); + let high_bound = u32::from_be_bytes(data[6..10].try_into()?); + data = &data[10..]; + dimensions.push(ArrayDimension { + index_type: Type { + kind: TypeKind::Fundamental(index_type), + modifiers: vec![], + }, + // u32::MAX will wrap to 0, meaning unbounded + size: NonZeroU32::new(high_bound.wrapping_add(1)), + }); + } + SubscriptFormat::ElementType => { + let mut cursor = Cursor::new(data); + let type_attr = read_attribute(&mut cursor)?; + element_type = Some(process_type(&type_attr)?); + data = &data[cursor.position() as usize..]; + } + _ => bail!("Unhandled subscript format type {:?}", format), + } + } + if let Some(element_type) = element_type { + Ok(UserDefinedType::Array(ArrayType { + element_type: Box::from(element_type), + dimensions, + })) + } else { + Err(anyhow!("Array type without element type")) + } + } + TagKind::StructureType => { + let byte_size = tag.data4_attribute(AttributeKind::ByteSize).unwrap_or_default(); + //.ok_or_else(|| { + // anyhow!("StructureType without ByteSize: {:?}", tag) + // })? + let name = tag.string_attribute(AttributeKind::Name).cloned(); + let mut members = Vec::new(); + for child in tag.children(tags) { + ensure!( + child.kind == TagKind::Member, + "Unhandled StructureType child {:?}", + child.kind + ); + + let member_name = child + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("Structure member without name: {:?}", child))?; + let member_type = process_type( + child + .type_attribute() + .ok_or_else(|| anyhow!("Structure member without type: {:?}", child))?, + )?; + if let Some(member_of) = child.reference_attribute(AttributeKind::Member) { + ensure!( + member_of == tag.key, + "Structure member mismatch: {} != {}", + member_of, + tag.key + ); + } + + let location = child + .block_attribute(AttributeKind::Location) + .ok_or_else(|| anyhow!("Structure member without location: {:?}", child))?; + let offset = process_offset(location)?; + + let bit = match ( + child.data4_attribute(AttributeKind::ByteSize), + child.data4_attribute(AttributeKind::BitSize), + child.data2_attribute(AttributeKind::BitOffset), + ) { + (Some(byte_size), Some(bit_size), Some(bit_offset)) => { + Some(BitData { byte_size, bit_size, bit_offset }) + } + (None, None, None) => None, + _ => bail!("Mismatched bit attributes in structure member: {child:?}"), + }; + members.push(StructureMember { + name: member_name.clone(), + kind: member_type, + offset, + bit, + }); + } + Ok(UserDefinedType::Structure(StructureType { name, byte_size, members })) + } + TagKind::EnumerationType => { + let byte_size = tag + .data4_attribute(AttributeKind::ByteSize) + .ok_or_else(|| anyhow!("EnumerationType without ByteSize"))?; + let data = tag + .block_attribute(AttributeKind::ElementList) + .ok_or_else(|| anyhow!("EnumerationType without ElementList"))?; + let name = tag.string_attribute(AttributeKind::Name).cloned(); + let mut members = Vec::new(); + let mut cursor = Cursor::new(data); + while cursor.position() < data.len() as u64 { + let value = cursor.read_u32::()?; + let name = read_string(&mut cursor)?; + members.push(EnumerationMember { name, value }); + } + Ok(UserDefinedType::Enumeration(EnumerationType { name, byte_size, members })) + } + TagKind::UnionType => { + let byte_size = tag + .data4_attribute(AttributeKind::ByteSize) + .ok_or_else(|| anyhow!("UnionType without ByteSize"))?; + let name = tag.string_attribute(AttributeKind::Name).cloned(); + let mut members = Vec::new(); + for child in tag.children(tags) { + ensure!( + child.kind == TagKind::Member, + "Unhandled UnionType child {:?}", + child.kind + ); + + let member_name = child + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("Structure member without name: {:?}", child))?; + let member_type = process_type( + child + .type_attribute() + .ok_or_else(|| anyhow!("Structure member without type: {:?}", child))?, + )?; + if let Some(member_of) = child.reference_attribute(AttributeKind::Member) { + ensure!( + member_of == tag.key, + "Structure member mismatch: {member_of} != {}", + tag.key + ); + } + + let location = child + .block_attribute(AttributeKind::Location) + .ok_or_else(|| anyhow!("Structure member without location: {:?}", child))?; + ensure!(process_offset(location)? == 0, "Union member at non-zero offset"); + + members.push(UnionMember { name: member_name.clone(), kind: member_type }); + } + Ok(UserDefinedType::Union(UnionType { name, byte_size, members })) + } + TagKind::SubroutineType | TagKind::GlobalSubroutine | TagKind::Subroutine => { + let return_type = match tag.type_attribute() { + Some(attr) => process_type(attr)?, + None => Type { kind: TypeKind::Fundamental(FundType::Void), modifiers: vec![] }, + }; + let prototyped = tag.string_attribute(AttributeKind::Prototyped).is_some(); + let mut parameters = Vec::new(); + let mut var_args = false; + for child in tag.children(tags) { + if tag.kind != TagKind::SubroutineType + && child.kind != TagKind::FormalParameter + && child.kind != TagKind::UnspecifiedParameters + { + break; + } + ensure!(!var_args, "{:?} after UnspecifiedParameters", child.kind); + match child.kind { + TagKind::FormalParameter => { + let parameter_name = child.string_attribute(AttributeKind::Name).cloned(); + let parameter_type = + process_type(child.type_attribute().ok_or_else(|| { + anyhow!("FormalParameter without type: {:?}", child) + })?)?; + parameters.push(SubroutineParameter { + name: parameter_name, + kind: parameter_type, + }); + } + TagKind::UnspecifiedParameters => { + var_args = true; + } + _ => bail!("Unhandled SubroutineType child {:?}", child.kind), + } + } + Ok(UserDefinedType::Subroutine(SubroutineType { + return_type, + parameters, + var_args, + prototyped, + })) + } + kind => Err(anyhow!("Unhandled user defined type {kind:?}")), + } +} + +pub fn process_modifiers(block: &[u8]) -> Result> { + let mut out = Vec::with_capacity(block.len()); + for &b in block { + out.push(Modifier::try_from(b)?); + } + Ok(out) +} + +pub fn process_type(attr: &Attribute) -> Result { + match attr.kind { + AttributeKind::FundType => { + if let AttributeValue::Data2(type_id) = attr.value { + let fund_type = FundType::try_from(type_id) + .with_context(|| format!("Invalid fundamental type ID '{}'", type_id))?; + Ok(Type { kind: TypeKind::Fundamental(fund_type), modifiers: vec![] }) + } else { + Err(anyhow!("Invalid value type for FundType")) + } + } + AttributeKind::ModFundType => { + if let AttributeValue::Block(ops) = &attr.value { + let type_id = u16::from_be_bytes(ops[ops.len() - 2..].try_into()?); + let fund_type = FundType::try_from(type_id) + .with_context(|| format!("Invalid fundamental type ID '{}'", type_id))?; + let modifiers = process_modifiers(&ops[..ops.len() - 2])?; + Ok(Type { kind: TypeKind::Fundamental(fund_type), modifiers }) + } else { + Err(anyhow!("Invalid value type for ModFundType")) + } + } + AttributeKind::UserDefType => { + if let AttributeValue::Reference(key) = attr.value { + Ok(Type { kind: TypeKind::UserDefined(key), modifiers: vec![] }) + } else { + Err(anyhow!("Invalid value type for UserDefType")) + } + } + AttributeKind::ModUDType => { + if let AttributeValue::Block(ops) = &attr.value { + let ud_ref = u32::from_be_bytes(ops[ops.len() - 4..].try_into()?); + let modifiers = process_modifiers(&ops[..ops.len() - 4])?; + Ok(Type { kind: TypeKind::UserDefined(ud_ref), modifiers }) + } else { + Err(anyhow!("Invalid value type for ModUDType")) + } + } + _ => Err(anyhow!("Invalid type attribute kind {:?}", attr.kind)), + } +} diff --git a/src/util/elf.rs b/src/util/elf.rs index 33fa6e8..b243ab2 100644 --- a/src/util/elf.rs +++ b/src/util/elf.rs @@ -1,57 +1,83 @@ use std::{ - collections::{hash_map, BTreeMap, HashMap}, + collections::{btree_map::Entry, hash_map, BTreeMap, HashMap}, fs::File, + io::Cursor, path::Path, }; -use anyhow::{Context, Error, Result}; +use anyhow::{anyhow, bail, ensure, Context, Result}; use cwdemangle::demangle; use flagset::Flags; use indexmap::IndexMap; use memmap2::MmapOptions; use object::{ - elf::{ - R_PPC_ADDR16_HA, R_PPC_ADDR16_HI, R_PPC_ADDR16_LO, R_PPC_ADDR32, R_PPC_EMB_SDA21, - R_PPC_REL14, R_PPC_REL24, + elf, + elf::{SHF_ALLOC, SHF_EXECINSTR, SHF_WRITE, SHT_NOBITS, SHT_PROGBITS}, + write::{ + elf::{ProgramHeader, Rel, SectionHeader, SectionIndex, SymbolIndex}, + Mangling, SectionId, StringId, SymbolId, }, - write::{Mangling, SectionId, SymbolId}, Architecture, BinaryFormat, Endianness, Object, ObjectKind, ObjectSection, ObjectSymbol, - Relocation, RelocationEncoding, RelocationKind, RelocationTarget, SectionKind, Symbol, + Relocation, RelocationEncoding, RelocationKind, RelocationTarget, Section, SectionKind, Symbol, SymbolFlags, SymbolKind, SymbolScope, SymbolSection, }; -use crate::util::obj::{ - ObjArchitecture, ObjInfo, ObjKind, ObjReloc, ObjRelocKind, ObjSection, ObjSectionKind, - ObjSymbol, ObjSymbolFlagSet, ObjSymbolFlags, ObjSymbolKind, +use crate::util::{ + dwarf::{ + process_address, process_type, read_debug_section, type_string, ud_type, ud_type_string, + AttributeKind, TagKind, TypeKind, + }, + obj::{ + ObjArchitecture, ObjInfo, ObjKind, ObjReloc, ObjRelocKind, ObjSection, ObjSectionKind, + ObjSymbol, ObjSymbolFlagSet, ObjSymbolFlags, ObjSymbolKind, + }, + sigs::OutSymbol, }; +enum BoundaryState { + /// Looking for a file symbol, any section symbols are queued + LookForFile(Vec<(u64, String)>), + /// Looking for section symbols + LookForSections(String), + /// Done with files and sections + FilesEnded, +} + +const ENABLE_DWARF: bool = false; + pub fn process_elf>(path: P) -> Result { - let elf_file = File::open(&path).with_context(|| { - format!("Failed to open ELF file '{}'", path.as_ref().to_string_lossy()) - })?; - let map = unsafe { MmapOptions::new().map(&elf_file) }.with_context(|| { - format!("Failed to mmap ELF file: '{}'", path.as_ref().to_string_lossy()) - })?; + let elf_file = File::open(&path) + .with_context(|| format!("Failed to open ELF file '{}'", path.as_ref().display()))?; + let map = unsafe { MmapOptions::new().map(&elf_file) } + .with_context(|| format!("Failed to mmap ELF file: '{}'", path.as_ref().display()))?; let obj_file = object::read::File::parse(&*map)?; let architecture = match obj_file.architecture() { Architecture::PowerPc => ObjArchitecture::PowerPc, - arch => return Err(Error::msg(format!("Unexpected architecture: {arch:?}"))), + arch => bail!("Unexpected architecture: {arch:?}"), }; - if obj_file.endianness() != Endianness::Big { - return Err(Error::msg("Expected big endian")); - } + ensure!(obj_file.endianness() == Endianness::Big, "Expected big endian"); let kind = match obj_file.kind() { ObjectKind::Executable => ObjKind::Executable, ObjectKind::Relocatable => ObjKind::Relocatable, - kind => return Err(Error::msg(format!("Unexpected ELF type: {kind:?}"))), + kind => bail!("Unexpected ELF type: {kind:?}"), }; - let mut obj_name = String::new(); + if ENABLE_DWARF { + if let Some(debug_section) = obj_file.section_by_name(".debug") { + if debug_section.size() > 0 { + load_debug_section(&obj_file, debug_section)?; + } + } + } + + let mut obj_name = String::new(); let mut stack_address: Option = None; let mut stack_end: Option = None; let mut db_stack_addr: Option = None; let mut arena_lo: Option = None; let mut arena_hi: Option = None; + let mut sda_base: Option = None; + let mut sda2_base: Option = None; let mut sections: Vec = vec![]; let mut section_indexes: Vec> = vec![]; @@ -75,6 +101,7 @@ pub fn process_elf>(path: P) -> Result { data: section.uncompressed_data()?.to_vec(), align: section.align(), index: sections.len(), + elf_index: section.index().0, relocations: vec![], original_address: 0, // TODO load from abs symbol file_offset: section.file_range().map(|(v, _)| v).unwrap_or_default(), @@ -87,100 +114,144 @@ pub fn process_elf>(path: P) -> Result { let mut current_file: Option = None; let mut section_starts = IndexMap::>::new(); let mut name_to_index = HashMap::::new(); // for resolving duplicate names + let mut boundary_state = BoundaryState::LookForFile(Default::default()); + for symbol in obj_file.symbols() { // Locate linker-generated symbols let symbol_name = symbol.name()?; match symbol_name { - "_stack_addr" => { - stack_address = Some(symbol.address() as u32); - } - "_stack_end" => { - stack_end = Some(symbol.address() as u32); - } - "_db_stack_addr" => { - db_stack_addr = Some(symbol.address() as u32); - } - "__ArenaLo" => { - arena_lo = Some(symbol.address() as u32); - } - "__ArenaHi" => { - arena_hi = Some(symbol.address() as u32); - } + "_stack_addr" => stack_address = Some(symbol.address() as u32), + "_stack_end" => stack_end = Some(symbol.address() as u32), + "_db_stack_addr" => db_stack_addr = Some(symbol.address() as u32), + "__ArenaLo" => arena_lo = Some(symbol.address() as u32), + "__ArenaHi" => arena_hi = Some(symbol.address() as u32), + "_SDA_BASE_" => sda_base = Some(symbol.address() as u32), + "_SDA2_BASE_" => sda2_base = Some(symbol.address() as u32), _ => {} - } + }; + // MWCC has file symbol first, then sections + // GCC has section symbols first, then file match symbol.kind() { - // Detect file boundaries SymbolKind::File => { let mut file_name = symbol_name.to_string(); + // Try to exclude precompiled header symbols + // Make configurable eventually + if file_name == "Precompiled.cpp" + || file_name == "stdafx.cpp" + || file_name.ends_with(".h") + || file_name.starts_with("Pch.") + || file_name.contains("precompiled_") + || file_name.contains("Precompiled") + || file_name.contains(".pch") + || file_name.contains("_PCH.") + { + symbol_indexes.push(None); + continue; + } if kind == ObjKind::Relocatable { obj_name = file_name.clone(); } - match section_starts.entry(file_name.clone()) { + let sections = match section_starts.entry(file_name.clone()) { indexmap::map::Entry::Occupied(_) => { let index = match name_to_index.entry(file_name.clone()) { - hash_map::Entry::Occupied(mut e) => e.into_mut(), + hash_map::Entry::Occupied(e) => e.into_mut(), hash_map::Entry::Vacant(e) => e.insert(0), }; *index += 1; let new_name = format!("{}_{}", file_name, index); - log::info!("Renaming {} to {}", file_name, new_name); - section_starts.insert(new_name.clone(), Default::default()); - file_name = new_name; - } - indexmap::map::Entry::Vacant(e) => { - e.insert(Default::default()); - } - }; - current_file = Some(file_name); - } - // Detect sections within a file - SymbolKind::Section => { - if let Some(file_name) = ¤t_file { - let sections = section_starts - .get_mut(file_name) - .ok_or_else(|| Error::msg("Failed to create entry"))?; - let section_index = symbol - .section_index() - .ok_or_else(|| Error::msg("Section symbol without section"))?; - let section = obj_file.section_by_index(section_index)?; - let section_name = section.name()?.to_string(); - sections.push((symbol.address(), section_name)); - }; - } - // Sometimes, the section symbol address is 0, - // so attempt to detect it from first symbol within section - SymbolKind::Data | SymbolKind::Text => { - if let Some(file_name) = ¤t_file { - let sections = section_starts - .get_mut(file_name) - .ok_or_else(|| Error::msg("Failed to create entry"))?; - let section_index = symbol.section_index().ok_or_else(|| { - Error::msg(format!("Section symbol without section: {symbol:?}")) - })?; - let section = obj_file.section_by_index(section_index)?; - let section_name = section.name()?; - if let Some((addr, _)) = - sections.iter_mut().find(|(_, name)| name == section_name) - { - if *addr == 0 { - *addr = symbol.address(); + // log::info!("Renaming {} to {}", file_name, new_name); + file_name = new_name.clone(); + match section_starts.entry(new_name.clone()) { + indexmap::map::Entry::Occupied(_) => { + bail!("Duplicate filename '{}'", new_name) + } + indexmap::map::Entry::Vacant(e) => e.insert(Default::default()), } - }; + } + indexmap::map::Entry::Vacant(e) => e.insert(Default::default()), }; + current_file = Some(file_name.clone()); + match &mut boundary_state { + BoundaryState::LookForFile(queue) => { + if queue.is_empty() { + boundary_state = BoundaryState::LookForSections(file_name); + } else { + // Clears queue + sections.append(queue); + } + } + BoundaryState::LookForSections(_) => { + boundary_state = BoundaryState::LookForSections(file_name); + } + BoundaryState::FilesEnded => { + log::warn!("File symbol after files ended: '{}'", file_name); + } + } + } + SymbolKind::Section => { + let section_index = symbol + .section_index() + .ok_or_else(|| anyhow!("Section symbol without section"))?; + let section = obj_file.section_by_index(section_index)?; + let section_name = section.name()?.to_string(); + match &mut boundary_state { + BoundaryState::LookForFile(queue) => { + queue.push((symbol.address(), section_name)); + } + BoundaryState::LookForSections(file_name) => { + let sections = section_starts + .get_mut(file_name) + .ok_or_else(|| anyhow!("Failed to create entry"))?; + sections.push((symbol.address(), section_name)); + } + BoundaryState::FilesEnded => { + log::warn!( + "Section symbol after files ended: {} @ {:#010X}", + section_name, + symbol.address() + ); + } + } } _ => match symbol.section() { // Linker generated symbols indicate the end SymbolSection::Absolute => { current_file = None; + boundary_state = BoundaryState::FilesEnded; } - SymbolSection::Section(_) | SymbolSection::Undefined => {} - _ => return Err(Error::msg(format!("Unsupported symbol section type {symbol:?}"))), + SymbolSection::Section(section_index) => match &mut boundary_state { + BoundaryState::LookForFile(_) => {} + BoundaryState::LookForSections(file_name) => { + let sections = section_starts + .get_mut(file_name) + .ok_or_else(|| anyhow!("Failed to create entry"))?; + let section = obj_file.section_by_index(section_index)?; + let section_name = section.name()?; + if let Some((addr, _)) = sections + .iter_mut() + .find(|(addr, name)| *addr == 0 && name == section_name) + { + // If the section symbol had address 0, determine address + // from first symbol within that section. + *addr = symbol.address(); + } else if !sections.iter().any(|(_, name)| name == section_name) { + // Otherwise, if there was no section symbol, assume this + // symbol indicates the section address. + sections.push((symbol.address(), section_name.to_string())); + } + } + BoundaryState::FilesEnded => {} + }, + SymbolSection::Undefined => {} + _ => bail!("Unsupported symbol section type {symbol:?}"), }, } // Generate symbols - if matches!(symbol.kind(), SymbolKind::Null | SymbolKind::File) { + if matches!(symbol.kind(), SymbolKind::Null | SymbolKind::File) + || matches!(symbol.section_index(), Some(idx) if section_indexes[idx.0] == None) + { symbol_indexes.push(None); continue; } @@ -224,12 +295,15 @@ pub fn process_elf>(path: P) -> Result { } Ok(ObjInfo { + module_id: 0, kind, architecture, name: obj_name, symbols, sections, - entry: obj_file.entry() as u32, + entry: obj_file.entry(), + sda2_base, + sda_base, stack_address, stack_end, db_stack_addr, @@ -237,104 +311,310 @@ pub fn process_elf>(path: P) -> Result { arena_hi, splits, link_order, + known_functions: Default::default(), + unresolved_relocations: vec![], }) } -pub fn write_elf(obj: &ObjInfo) -> Result { - let mut out_obj = - object::write::Object::new(BinaryFormat::Elf, Architecture::PowerPc, Endianness::Big); - out_obj.set_mangling(Mangling::None); - if !obj.name.is_empty() { - out_obj.add_file_symbol(obj.name.as_bytes().to_vec()); +pub fn write_elf(obj: &ObjInfo) -> Result> { + let mut out_data = Vec::new(); + let mut writer = object::write::elf::Writer::new(Endianness::Big, false, &mut out_data); + + struct OutSection { + index: SectionIndex, + rela_index: Option, + offset: usize, + rela_offset: usize, + name: StringId, + rela_name: Option, + } + struct OutSymbol { + index: SymbolIndex, + sym: object::write::elf::Sym, } - let mut section_idxs: Vec = Vec::with_capacity(obj.sections.len()); + let mut out_sections: Vec = Vec::with_capacity(obj.sections.len()); for section in &obj.sections { - let section_id = - out_obj.add_section(vec![], section.name.as_bytes().to_vec(), match section.kind { - ObjSectionKind::Code => SectionKind::Text, - ObjSectionKind::Data => SectionKind::Data, - ObjSectionKind::ReadOnlyData => SectionKind::ReadOnlyData, - ObjSectionKind::Bss => SectionKind::UninitializedData, - }); - section_idxs.push(section_id); - let out_section = out_obj.section_mut(section_id); - match section.kind { - ObjSectionKind::Bss => { - out_section.append_bss(section.size, section.align); - } - _ => { - out_section.set_data(section.data.clone(), section.align); - } - } - - // Generate section symbol - out_obj.section_symbol(section_id); - - // Add original addresses - if section.original_address != 0 { - // TODO write to metadata? - } - if section.file_offset != 0 { - // TODO write to metadata? + let name = writer.add_section_name(section.name.as_bytes()); + let index = writer.reserve_section_index(); + out_sections.push(OutSection { + index, + rela_index: None, + offset: 0, + rela_offset: 0, + name, + rela_name: None, + }); + } + let mut rela_names: Vec = vec![Default::default(); obj.sections.len()]; + for ((section, out_section), rela_name) in + obj.sections.iter().zip(&mut out_sections).zip(&mut rela_names) + { + if !section.relocations.is_empty() { + *rela_name = format!(".rela{}", section.name); + out_section.rela_name = Some(writer.add_section_name(rela_name.as_bytes())); + out_section.rela_index = Some(writer.reserve_section_index()); } } + let symtab = writer.reserve_symtab_section_index(); + let shstrtab = writer.reserve_shstrtab_section_index(); + let strtab = writer.reserve_strtab_section_index(); // Add symbols - let mut symbol_idxs: Vec = Vec::with_capacity(obj.symbols.len()); - for symbol in &obj.symbols { - let symbol_id = out_obj.add_symbol(object::write::Symbol { - name: symbol.name.as_bytes().to_vec(), - value: symbol.address, - size: symbol.size, - kind: match symbol.kind { - ObjSymbolKind::Unknown => SymbolKind::Null, - ObjSymbolKind::Function => SymbolKind::Text, - ObjSymbolKind::Object => SymbolKind::Data, - ObjSymbolKind::Section => SymbolKind::Section, + let mut out_symbols: Vec = Vec::with_capacity(obj.symbols.len()); + let mut symbol_offset = 0; + let mut num_local = 0; + if !obj.name.is_empty() { + let name_index = writer.add_string(obj.name.as_bytes()); + let index = writer.reserve_symbol_index(None); + out_symbols.push(OutSymbol { + index, + sym: object::write::elf::Sym { + name: Some(name_index), + section: None, + st_info: { + let st_type = elf::STT_FILE; + let st_bind = elf::STB_GLOBAL; + (st_bind << 4) + st_type + }, + st_other: elf::STV_DEFAULT, + st_shndx: elf::SHN_ABS, + st_value: 0, + st_size: 0, }, - scope: if symbol.flags.0.contains(ObjSymbolFlags::Hidden) { - SymbolScope::Linkage - } else if symbol.flags.0.contains(ObjSymbolFlags::Local) { - SymbolScope::Compilation - } else { - SymbolScope::Dynamic - }, - weak: symbol.flags.0.contains(ObjSymbolFlags::Weak), - section: match symbol.section { - None => object::write::SymbolSection::Undefined, - Some(idx) => object::write::SymbolSection::Section(section_idxs[idx]), - }, - flags: SymbolFlags::None, }); - symbol_idxs.push(symbol_id); + symbol_offset += 1; + } + for symbol in &obj.symbols { + let section_index = symbol.section.and_then(|idx| out_sections.get(idx)).map(|s| s.index); + let index = writer.reserve_symbol_index(section_index); + let name_index = if symbol.name.is_empty() { + None + } else { + Some(writer.add_string(symbol.name.as_bytes())) + }; + let sym = object::write::elf::Sym { + name: name_index, + section: section_index, + st_info: { + let st_type = match symbol.kind { + ObjSymbolKind::Unknown => elf::STT_NOTYPE, + ObjSymbolKind::Function => elf::STT_FUNC, + ObjSymbolKind::Object => { + if symbol.flags.0.contains(ObjSymbolFlags::Common) { + elf::STT_COMMON + } else { + elf::STT_OBJECT + } + } + ObjSymbolKind::Section => elf::STT_SECTION, + }; + let st_bind = if symbol.flags.0.contains(ObjSymbolFlags::Weak) { + elf::STB_WEAK + } else if symbol.flags.0.contains(ObjSymbolFlags::Local) { + elf::STB_LOCAL + } else { + elf::STB_GLOBAL + }; + (st_bind << 4) + st_type + }, + st_other: if symbol.flags.0.contains(ObjSymbolFlags::Hidden) { + elf::STV_HIDDEN + } else { + elf::STV_DEFAULT + }, + st_shndx: if section_index.is_some() { + 0 + } else if symbol.address != 0 { + elf::SHN_ABS + } else { + elf::SHN_UNDEF + }, + st_value: symbol.address, + st_size: symbol.size, + }; + if sym.st_info >> 4 == elf::STB_LOCAL { + num_local = writer.symbol_count(); + } + out_symbols.push(OutSymbol { + index, + sym, + }); } - // Add relocations - for section in &obj.sections { - let section_id = section_idxs[section.index]; - for reloc in §ion.relocations { - let symbol_id = symbol_idxs[reloc.target_symbol]; - out_obj.add_relocation(section_id, object::write::Relocation { - offset: reloc.address, - size: 0, - kind: RelocationKind::Elf(match reloc.kind { - ObjRelocKind::Absolute => R_PPC_ADDR32, - ObjRelocKind::PpcAddr16Hi => R_PPC_ADDR16_HI, - ObjRelocKind::PpcAddr16Ha => R_PPC_ADDR16_HA, - ObjRelocKind::PpcAddr16Lo => R_PPC_ADDR16_LO, - ObjRelocKind::PpcRel24 => R_PPC_REL24, - ObjRelocKind::PpcRel14 => R_PPC_REL14, - ObjRelocKind::PpcEmbSda21 => R_PPC_EMB_SDA21, - }), - encoding: RelocationEncoding::Generic, - symbol: symbol_id, - addend: reloc.addend, - })?; + writer.reserve_file_header(); + + if obj.kind == ObjKind::Executable { + writer.reserve_program_headers(obj.sections.len() as u32); + } + + for (section, out_section) in obj.sections.iter().zip(&mut out_sections) { + match section.kind { + ObjSectionKind::Code | ObjSectionKind::Data | ObjSectionKind::ReadOnlyData => {} + ObjSectionKind::Bss => continue, + } + ensure!(section.data.len() as u64 == section.size, "Mismatched section size"); + out_section.offset = writer.reserve(section.data.len(), 32); + } + + writer.reserve_shstrtab(); + writer.reserve_strtab(); + writer.reserve_symtab(); + + for (section, out_section) in obj.sections.iter().zip(&mut out_sections) { + if section.relocations.is_empty() { + continue; + } + out_section.rela_offset = writer.reserve_relocations(section.relocations.len(), true); + } + + writer.reserve_section_headers(); + + writer.write_file_header(&object::write::elf::FileHeader { + os_abi: elf::ELFOSABI_SYSV, + abi_version: 0, + e_type: match obj.kind { + ObjKind::Executable => elf::ET_EXEC, + ObjKind::Relocatable => elf::ET_REL, + }, + e_machine: elf::EM_PPC, + e_entry: obj.entry, + e_flags: elf::EF_PPC_EMB, + })?; + + if obj.kind == ObjKind::Executable { + writer.write_align_program_headers(); + for (section, out_section) in obj.sections.iter().zip(&out_sections) { + writer.write_program_header(&ProgramHeader { + p_type: elf::PT_LOAD, + p_flags: match section.kind { + ObjSectionKind::Code => elf::PF_R | elf::PF_X, + ObjSectionKind::Data | ObjSectionKind::Bss => elf::PF_R | elf::PF_W, + ObjSectionKind::ReadOnlyData => elf::PF_R, + }, + p_offset: out_section.offset as u64, + p_vaddr: section.address, + p_paddr: 0, + p_filesz: match section.kind { + ObjSectionKind::Bss => 0, + _ => section.size, + }, + p_memsz: section.size, + p_align: 32, + }); } } - Ok(out_obj) + for (section, out_section) in obj.sections.iter().zip(&out_sections) { + if section.kind == ObjSectionKind::Bss { + continue; + } + writer.write_align(32); + debug_assert_eq!(writer.len(), out_section.offset); + writer.write(§ion.data); + } + + writer.write_shstrtab(); + writer.write_strtab(); + + writer.write_null_symbol(); + for out_symbol in &out_symbols { + writer.write_symbol(&out_symbol.sym); + } + + for (section, out_section) in obj.sections.iter().zip(&out_sections) { + if section.relocations.is_empty() { + continue; + } + writer.write_align_relocation(); + debug_assert_eq!(writer.len(), out_section.rela_offset); + for reloc in §ion.relocations { + let mut r_offset = reloc.address; + let r_type = match reloc.kind { + ObjRelocKind::Absolute => { + if r_offset & 3 == 0 { + elf::R_PPC_ADDR32 + } else { + elf::R_PPC_UADDR32 + } + } + ObjRelocKind::PpcAddr16Hi => { + r_offset = (r_offset & !3) + 2; + elf::R_PPC_ADDR16_HI + }, + ObjRelocKind::PpcAddr16Ha => { + r_offset = (r_offset & !3) + 2; + elf::R_PPC_ADDR16_HA + }, + ObjRelocKind::PpcAddr16Lo => { + r_offset = (r_offset & !3) + 2; + elf::R_PPC_ADDR16_LO + }, + ObjRelocKind::PpcRel24 => { + r_offset = (r_offset & !3); + elf::R_PPC_REL24 + }, + ObjRelocKind::PpcRel14 => { + r_offset = (r_offset & !3); + elf::R_PPC_REL14 + }, + ObjRelocKind::PpcEmbSda21 => { + r_offset = (r_offset & !3) + 2; + elf::R_PPC_EMB_SDA21 + }, + }; + writer.write_relocation(true, &Rel { + r_offset, + r_sym: (reloc.target_symbol + symbol_offset + 1) as u32, + r_type, + r_addend: reloc.addend, + }); + } + } + + writer.write_null_section_header(); + for (section, out_section) in obj.sections.iter().zip(&out_sections) { + writer.write_section_header(&SectionHeader { + name: Some(out_section.name), + sh_type: match section.kind { + ObjSectionKind::Code | ObjSectionKind::Data | ObjSectionKind::ReadOnlyData => { + SHT_PROGBITS + } + ObjSectionKind::Bss => SHT_NOBITS, + }, + sh_flags: match section.kind { + ObjSectionKind::Code => SHF_ALLOC | SHF_EXECINSTR, + ObjSectionKind::Data | ObjSectionKind::Bss => SHF_ALLOC | SHF_WRITE, + ObjSectionKind::ReadOnlyData => SHF_ALLOC, + } as u64, + sh_addr: section.address, + sh_offset: out_section.offset as u64, + sh_size: section.size, + sh_link: 0, + sh_info: 0, + sh_addralign: section.align, + sh_entsize: 0, // TODO? + }); + } + for (section, out_section) in obj.sections.iter().zip(&out_sections) { + let Some(rela_name) = out_section.rela_name else { + continue; + }; + writer.write_relocation_section_header( + rela_name, + out_section.index, + symtab, + out_section.rela_offset, + section.relocations.len(), + true, + ); + } + writer.write_symtab_section_header(num_local); + writer.write_shstrtab_section_header(); + writer.write_strtab_section_header(); + + debug_assert_eq!(writer.reserved_len(), writer.len()); + Ok(out_data) } fn to_obj_symbol( @@ -347,18 +627,13 @@ fn to_obj_symbol( None => None, }; let name = match symbol.kind() { - SymbolKind::Section => { - if let Some(section) = §ion { - section.name()? - } else { - return Err(Error::msg("Section symbol without section")); - } - } + SymbolKind::Section => match §ion { + Some(section) => section.name()?, + _ => bail!("Section symbol without section"), + }, _ => symbol.name()?, }; - if name.is_empty() { - return Err(Error::msg("Empty symbol name")); - } + ensure!(!name.is_empty(), "Empty symbol name"); let mut flags = ObjSymbolFlagSet(ObjSymbolFlags::none()); if symbol.is_global() { flags = ObjSymbolFlagSet(flags.0 | ObjSymbolFlags::Global); @@ -389,7 +664,7 @@ fn to_obj_symbol( SymbolKind::Data => ObjSymbolKind::Object, SymbolKind::Unknown => ObjSymbolKind::Unknown, SymbolKind::Section => ObjSymbolKind::Section, - _ => return Err(Error::msg(format!("Unsupported symbol kind: {:?}", symbol.kind()))), + _ => bail!("Unsupported symbol kind: {:?}", symbol.kind()), }, }) } @@ -404,26 +679,24 @@ fn to_obj_reloc( let reloc_kind = match reloc.kind() { RelocationKind::Absolute => ObjRelocKind::Absolute, RelocationKind::Elf(kind) => match kind { - R_PPC_ADDR16_LO => ObjRelocKind::PpcAddr16Lo, - R_PPC_ADDR16_HI => ObjRelocKind::PpcAddr16Hi, - R_PPC_ADDR16_HA => ObjRelocKind::PpcAddr16Ha, - R_PPC_REL24 => ObjRelocKind::PpcRel24, - R_PPC_REL14 => ObjRelocKind::PpcRel14, - R_PPC_EMB_SDA21 => ObjRelocKind::PpcEmbSda21, - _ => return Err(Error::msg(format!("Unhandled PPC relocation type: {kind}"))), + elf::R_PPC_ADDR16_LO => ObjRelocKind::PpcAddr16Lo, + elf::R_PPC_ADDR16_HI => ObjRelocKind::PpcAddr16Hi, + elf::R_PPC_ADDR16_HA => ObjRelocKind::PpcAddr16Ha, + elf::R_PPC_REL24 => ObjRelocKind::PpcRel24, + elf::R_PPC_REL14 => ObjRelocKind::PpcRel14, + elf::R_PPC_EMB_SDA21 => ObjRelocKind::PpcEmbSda21, + _ => bail!("Unhandled PPC relocation type: {kind}"), }, - _ => return Err(Error::msg(format!("Unhandled relocation type: {:?}", reloc.kind()))), + _ => bail!("Unhandled relocation type: {:?}", reloc.kind()), }; let symbol = match reloc.target() { RelocationTarget::Symbol(idx) => { obj_file.symbol_by_index(idx).context("Failed to locate relocation target symbol")? } - _ => { - return Err(Error::msg(format!("Unhandled relocation target: {:?}", reloc.target()))); - } + _ => bail!("Unhandled relocation target: {:?}", reloc.target()), }; let target_symbol = symbol_indexes[symbol.index().0] - .ok_or_else(|| Error::msg(format!("Relocation against stripped symbol: {symbol:?}")))?; + .ok_or_else(|| anyhow!("Relocation against stripped symbol: {symbol:?}"))?; let addend = match symbol.kind() { SymbolKind::Text | SymbolKind::Data | SymbolKind::Unknown => Ok(reloc.addend()), SymbolKind::Section => { @@ -433,23 +706,189 @@ fn to_obj_reloc( ) as i64; match reloc_kind { ObjRelocKind::Absolute => addend, - _ => { - return Err(Error::msg(format!( - "Unsupported implicit relocation type {reloc_kind:?}" - ))) - } + _ => bail!("Unsupported implicit relocation type {reloc_kind:?}"), } } else { reloc.addend() }; - if addend < 0 { - return Err(Error::msg(format!("Negative addend in section reloc: {addend}"))); - } + ensure!(addend >= 0, "Negative addend in section reloc: {addend}"); Ok(addend) } - _ => Err(Error::msg(format!("Unhandled relocation symbol type {:?}", symbol.kind()))), + _ => Err(anyhow!("Unhandled relocation symbol type {:?}", symbol.kind())), }?; let address = address & !3; // TODO hack: round down for instruction let reloc_data = ObjReloc { kind: reloc_kind, address, target_symbol, addend }; Ok(reloc_data) } + +fn load_debug_section(obj_file: &object::File<'_>, debug_section: Section) -> Result<()> { + let mut data = debug_section.uncompressed_data()?.into_owned(); + + // Apply relocations to data + for (addr, reloc) in debug_section.relocations() { + match reloc.kind() { + RelocationKind::Absolute | RelocationKind::Elf(elf::R_PPC_UADDR32) => { + let target = match reloc.target() { + RelocationTarget::Symbol(symbol_idx) => { + let symbol = obj_file.symbol_by_index(symbol_idx)?; + (symbol.address() as i64 + reloc.addend()) as u32 + } + // RelocationTarget::Section(section_idx) => { + // let section = obj_file.section_by_index(section_idx)?; + // (section.address() as i64 + reloc.addend()) as u32 + // } + // RelocationTarget::Absolute => reloc.addend() as u32, + _ => bail!("Invalid .debug relocation target"), + }; + data[addr as usize..addr as usize + 4].copy_from_slice(&target.to_be_bytes()); + } + RelocationKind::Elf(elf::R_PPC_NONE) => {} + _ => bail!("Unhandled .debug relocation type {:?}", reloc.kind()), + } + } + + let mut reader = Cursor::new(&*data); + let tags = read_debug_section(&mut reader)?; + + // let mut w = BufWriter::new(File::create("dwarfdump2.txt")?); + // for (&addr, tag) in &tags { + // writeln!(w, "{}: {:?}", addr, tag)?; + // } + // w.flush()?; + + let mut units = Vec::::new(); + if let Some((_, mut tag)) = tags.first_key_value() { + loop { + match tag.kind { + TagKind::CompileUnit => { + let unit = tag + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("CompileUnit without name {:?}", tag))?; + if units.contains(unit) { + log::warn!("Duplicate unit '{}'", unit); + } else { + units.push(unit.clone()); + } + + let children = tag.children(&tags); + let mut typedefs = BTreeMap::>::new(); + for child in children { + match child.kind { + TagKind::GlobalSubroutine | TagKind::Subroutine => { + let _is_prototyped = + child.string_attribute(AttributeKind::Prototyped).is_some(); + if let (Some(_hi), Some(_lo)) = ( + child.address_attribute(AttributeKind::HighPc), + child.address_attribute(AttributeKind::LowPc), + ) {} + let name = child + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("Subroutine without name"))?; + let udt = ud_type(&tags, child)?; + let ts = ud_type_string(&tags, &typedefs, &udt)?; + // log::info!("{} {}{};", ts.prefix, name, ts.suffix); + } + TagKind::Typedef => { + let name = child + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("Typedef without name"))?; + let attr = child + .type_attribute() + .ok_or_else(|| anyhow!("Typedef without type attribute"))?; + let t = process_type(attr)?; + let ts = type_string(&tags, &typedefs, &t)?; + // log::info!("typedef {} {}{};", ts.prefix, name, ts.suffix); + + // TODO fundamental typedefs? + if let Some(ud_type_ref) = + child.reference_attribute(AttributeKind::UserDefType) + { + match typedefs.entry(ud_type_ref) { + Entry::Vacant(e) => { + e.insert(vec![child.key]); + } + Entry::Occupied(e) => { + e.into_mut().push(child.key); + } + } + } + } + TagKind::GlobalVariable | TagKind::LocalVariable => { + let name = child + .string_attribute(AttributeKind::Name) + .ok_or_else(|| anyhow!("Variable without name"))?; + let address = if let Some(location) = + child.block_attribute(AttributeKind::Location) + { + Some(process_address(location)?) + } else { + None + }; + if let Some(type_attr) = child.type_attribute() { + let var_type = process_type(type_attr)?; + // log::info!("{:?}", var_type); + if let TypeKind::UserDefined(key) = var_type.kind { + let ud_tag = tags + .get(&key) + .ok_or_else(|| anyhow!("Invalid UD type ref"))?; + let ud_type = ud_type(&tags, ud_tag)?; + // log::info!("{:?}", ud_type); + } + let ts = type_string(&tags, &typedefs, &var_type)?; + let st = if child.kind == TagKind::LocalVariable { + "static " + } else { + "" + }; + let address_str = match address { + Some(addr) => format!(" : {:#010X}", addr), + None => String::new(), + }; + let size = var_type.size(&tags)?; + log::info!( + "{}{} {}{}{}; // size: {:#X}", + st, + ts.prefix, + name, + ts.suffix, + address_str, + size, + ); + } + } + TagKind::StructureType + | TagKind::ArrayType + | TagKind::EnumerationType + | TagKind::UnionType + | TagKind::ClassType + | TagKind::SubroutineType => { + let udt = ud_type(&tags, child)?; + if child.string_attribute(AttributeKind::Name).is_some() { + // log::info!("{}", ud_type_def(&tags, &typedefs, &udt)?); + } + } + _ => { + log::warn!("Unhandled CompileUnit child {:?}", child.kind); + } + } + } + // println!("Children: {:?}", children.iter().map(|c| c.kind).collect::>()); + } + _ => { + log::warn!("Expected CompileUnit, got {:?}", tag.kind); + break; + } + } + if let Some(next) = tag.next_sibling(&tags) { + tag = next; + } else { + break; + } + } + } + // log::info!("Link order:"); + // for x in units { + // log::info!("{}", x); + // } + Ok(()) +} diff --git a/src/util/executor.rs b/src/util/executor.rs new file mode 100644 index 0000000..7bd9117 --- /dev/null +++ b/src/util/executor.rs @@ -0,0 +1,221 @@ +use std::{collections::BTreeSet, num::NonZeroU32}; + +use anyhow::{Context, Result}; +use fixedbitset::FixedBitSet; +use ppc750cl::Ins; + +use crate::util::{ + obj::{ObjInfo, ObjSection, ObjSectionKind}, + vm::{StepResult, VM}, +}; + +pub fn disassemble(section: &ObjSection, address: u32) -> Option { + read_u32(§ion.data, address, section.address as u32).map(|code| Ins::new(code, address)) +} + +pub fn read_u32(data: &[u8], address: u32, section_address: u32) -> Option { + let offset = (address - section_address) as usize; + if data.len() < offset + 4 { + return None; + } + Some(u32::from_be_bytes(data[offset..offset + 4].try_into().unwrap())) +} + +/// Space-efficient implementation for tracking visited code addresses +struct VisitedAddresses { + inner: Vec, +} + +impl VisitedAddresses { + pub fn new(obj: &ObjInfo) -> Self { + let mut inner = Vec::with_capacity(obj.sections.len()); + for section in &obj.sections { + if section.kind == ObjSectionKind::Code { + let size = (section.size / 4) as usize; + inner.push(FixedBitSet::with_capacity(size)); + } else { + // Empty + inner.push(FixedBitSet::new()) + } + } + Self { inner } + } + + pub fn contains(&self, section: &ObjSection, address: u32) -> bool { + self.inner[section.index].contains(Self::bit_for(section, address)) + } + + pub fn insert(&mut self, section: &ObjSection, address: u32) { + self.inner[section.index].insert(Self::bit_for(section, address)); + } + + #[inline] + fn bit_for(section: &ObjSection, address: u32) -> usize { + ((address as u64 - section.address) / 4) as usize + } +} + +pub struct VMState { + pub vm: Box, + pub address: u32, +} + +/// Helper for branched VM execution, only visiting addresses once. +pub struct Executor { + vm_stack: Vec, + visited: VisitedAddresses, +} + +pub struct ExecCbData<'a> { + pub executor: &'a mut Executor, + pub vm: &'a mut VM, + pub result: StepResult, + pub section: &'a ObjSection, + pub ins: &'a Ins, + pub block_start: u32, +} + +pub enum ExecCbResult { + Continue, + Jump(u32), + EndBlock, + End(T), +} + +impl Executor { + pub fn new(obj: &ObjInfo) -> Self { + Self { vm_stack: vec![], visited: VisitedAddresses::new(obj) } + } + + pub fn run(&mut self, obj: &ObjInfo, mut cb: Cb) -> Result> + where Cb: FnMut(ExecCbData) -> Result> { + while let Some(mut state) = self.vm_stack.pop() { + let section = match obj.section_at(state.address) { + Ok(section) => section, + Err(e) => { + log::error!("{}", e); + // return Ok(None); + continue; + } + }; + if section.kind != ObjSectionKind::Code { + log::warn!("Attempted to visit non-code address {:#010X}", state.address); + continue; + } + + // Already visited block + if self.visited.contains(section, state.address) { + continue; + } + + let mut block_start = state.address; + loop { + self.visited.insert(section, state.address); + + let ins = match disassemble(section, state.address) { + Some(ins) => ins, + None => return Ok(None), + }; + let result = state.vm.step(&ins); + match cb(ExecCbData { + executor: self, + vm: &mut state.vm, + result, + section, + ins: &ins, + block_start, + })? { + ExecCbResult::Continue => { + state.address += 4; + } + ExecCbResult::Jump(addr) => { + if self.visited.contains(section, addr) { + break; + } + block_start = addr; + state.address = addr; + } + ExecCbResult::EndBlock => break, + ExecCbResult::End(result) => return Ok(Some(result)), + } + } + } + Ok(None) + } + + pub fn push(&mut self, address: u32, vm: Box, sort: bool) { + self.vm_stack.push(VMState { address, vm }); + if sort { + // Sort lowest to highest, so we always go highest address first + self.vm_stack.sort_by_key(|state| state.address); + } + } + + pub fn visited(&self, section: &ObjSection, address: u32) -> bool { + self.visited.contains(section, address) + } +} + +fn is_valid_jump_table_addr(obj: &ObjInfo, addr: u32) -> bool { + matches!(obj.section_at(addr), Ok(section) if section.kind != ObjSectionKind::Bss) +} + +fn get_jump_table_entries( + obj: &ObjInfo, + addr: u32, + size: Option, + from: u32, + function_start: u32, + function_end: u32, +) -> Result<(Vec, u32)> { + let section = obj.section_at(addr).with_context(|| { + format!("Failed to get jump table entries @ {:#010X} size {:?}", addr, size) + })?; + let offset = (addr as u64 - section.address) as usize; + if let Some(size) = size.map(|n| n.get()) { + log::debug!( + "Located jump table @ {:#010X} with entry count {} (from {:#010X})", + addr, + size / 4, + from + ); + let jt_data = §ion.data[offset..offset + size as usize]; + let entries = + jt_data.chunks_exact(4).map(|c| u32::from_be_bytes(c.try_into().unwrap())).collect(); + Ok((entries, size)) + } else { + let mut entries = Vec::new(); + let mut cur_addr = addr; + while let Some(value) = read_u32(§ion.data, cur_addr, section.address as u32) { + if value < function_start || value >= function_end { + break; + } + entries.push(value); + cur_addr += 4; + } + let size = cur_addr - addr; + log::debug!( + "Guessed jump table @ {:#010X} with entry count {} (from {:#010X})", + addr, + size / 4, + from + ); + Ok((entries, size)) + } +} + +pub fn uniq_jump_table_entries( + obj: &ObjInfo, + addr: u32, + size: Option, + from: u32, + function_start: u32, + function_end: u32, +) -> Result<(BTreeSet, u32)> { + if !is_valid_jump_table_addr(obj, addr) { + return Ok((BTreeSet::new(), 0)); + } + let (entries, size) = + get_jump_table_entries(obj, addr, size, from, function_start, function_end)?; + Ok((BTreeSet::from_iter(entries.iter().cloned().filter(|&addr| addr != 0)), size)) +} diff --git a/src/util/map.rs b/src/util/map.rs index 511389b..cd10e3a 100644 --- a/src/util/map.rs +++ b/src/util/map.rs @@ -2,10 +2,9 @@ use std::{ collections::{btree_map, hash_map, BTreeMap, HashMap}, hash::Hash, io::BufRead, - ops::Range, }; -use anyhow::{Context, Error, Result}; +use anyhow::{bail, ensure, Error, Result}; use cwdemangle::{demangle, DemangleOptions}; use lazy_static::lazy_static; use multimap::MultiMap; @@ -33,7 +32,7 @@ pub struct SymbolEntry { pub demangled: Option, pub kind: SymbolKind, pub visibility: SymbolVisibility, - pub unit: String, + pub unit: Option, pub address: u32, pub size: u32, pub section: String, @@ -42,7 +41,7 @@ pub struct SymbolEntry { #[derive(Debug, Clone, Hash, Eq, PartialEq)] pub struct SymbolRef { pub name: String, - pub unit: String, + pub unit: Option, } #[derive(Default)] @@ -61,66 +60,66 @@ fn resolve_section_order( ) -> Result { let mut ordering = SectionOrder::default(); - let mut last_unit = String::new(); - let mut last_section = String::new(); - let mut section_unit_idx = 0usize; - for symbol_ref in address_to_symbol.values() { - if let Some(symbol) = symbol_entries.get_mut(symbol_ref) { - if last_unit != symbol.unit { - if last_section != symbol.section { - ordering.unit_order.push((symbol.section.clone(), vec![])); - section_unit_idx = ordering.unit_order.len() - 1; - last_section = symbol.section.clone(); - } - let unit_order = &mut ordering.unit_order[section_unit_idx]; - if unit_order.1.contains(&symbol.unit) { - // With -common on, .bss is split into two parts. The TU order repeats - // at the end with all globally-deduplicated BSS symbols. Once we detect - // a duplicate inside of .bss, we create a new section and start again. - // TODO the first entry in .comm *could* be a TU without regular .bss - if symbol.section == ".bss" { - log::debug!(".comm section detected, duplicate {}", symbol.unit); - ordering.unit_order.push((".comm".to_string(), vec![symbol.unit.clone()])); - section_unit_idx = ordering.unit_order.len() - 1; - } else { - return Err(Error::msg(format!( - "TU order conflict: {} exists multiple times in {}.", - symbol.unit, symbol.section, - ))); - } - } else { - unit_order.1.push(symbol.unit.clone()); - } - last_unit = symbol.unit.clone(); - } - // For ASM-generated objects, notype,local symbols in .text - // are usually local jump labels, and should be ignored. - if is_code_section(&symbol.section) - && symbol.size == 0 - && symbol.kind == SymbolKind::NoType - && symbol.visibility == SymbolVisibility::Local - { - // Being named something other than lbl_* could indicate - // that it's actually a local function, but let's just - // make the user resolve that if necessary. - if !symbol.name.starts_with("lbl_") { - log::warn!("Skipping local text symbol {}", symbol.name); - } - continue; - } - // Guess the symbol type if necessary. - if symbol.kind == SymbolKind::NoType { - if is_code_section(&symbol.section) { - symbol.kind = SymbolKind::Function; - } else { - symbol.kind = SymbolKind::Object; - } - } - ordering.symbol_order.push(symbol_ref.clone()); - } else { - return Err(Error::msg(format!("Symbol has address but no entry: {symbol_ref:?}"))); - } - } + // let mut last_unit = String::new(); + // let mut last_section = String::new(); + // let mut section_unit_idx = 0usize; + // for symbol_ref in address_to_symbol.values() { + // if let Some(symbol) = symbol_entries.get_mut(symbol_ref) { + // if last_unit != symbol.unit { + // if last_section != symbol.section { + // ordering.unit_order.push((symbol.section.clone(), vec![])); + // section_unit_idx = ordering.unit_order.len() - 1; + // last_section = symbol.section.clone(); + // } + // let unit_order = &mut ordering.unit_order[section_unit_idx]; + // if unit_order.1.contains(&symbol.unit) { + // // With -common on, .bss is split into two parts. The TU order repeats + // // at the end with all globally-deduplicated BSS symbols. Once we detect + // // a duplicate inside of .bss, we create a new section and start again. + // // TODO the first entry in .comm *could* be a TU without regular .bss + // if symbol.section == ".bss" { + // log::debug!(".comm section detected, duplicate {}", symbol.unit); + // ordering.unit_order.push((".comm".to_string(), vec![symbol.unit.clone()])); + // section_unit_idx = ordering.unit_order.len() - 1; + // } else { + // bail!( + // "TU order conflict: {} exists multiple times in {}.", + // symbol.unit, symbol.section, + // ); + // } + // } else { + // unit_order.1.push(symbol.unit.clone()); + // } + // last_unit = symbol.unit.clone(); + // } + // // For ASM-generated objects, notype,local symbols in .text + // // are usually local jump labels, and should be ignored. + // if is_code_section(&symbol.section) + // && symbol.size == 0 + // && symbol.kind == SymbolKind::NoType + // && symbol.visibility == SymbolVisibility::Local + // { + // // Being named something other than lbl_* could indicate + // // that it's actually a local function, but let's just + // // make the user resolve that if necessary. + // if !symbol.name.starts_with("lbl_") { + // log::warn!("Skipping local text symbol {}", symbol.name); + // } + // continue; + // } + // // Guess the symbol type if necessary. + // if symbol.kind == SymbolKind::NoType { + // if is_code_section(&symbol.section) { + // symbol.kind = SymbolKind::Function; + // } else { + // symbol.kind = SymbolKind::Object; + // } + // } + // ordering.symbol_order.push(symbol_ref.clone()); + // } else { + // bail!("Symbol has address but no entry: {symbol_ref:?}"); + // } + // } for iter in ordering.symbol_order.windows(2) { let next_address = symbol_entries.get(&iter[1]).unwrap().address; @@ -145,7 +144,7 @@ pub fn resolve_link_order(section_unit_order: &[(String, Vec)]) -> Resul let mut t_sort = TopologicalSort::::new(); for (section, order) in section_unit_order { let mut order: &[String] = order; - if (section == ".ctors" || section == ".dtors") && order.len() > 1 { + if matches!(section.as_str(), ".ctors" | ".dtors") && order.len() > 1 { // __init_cpp_exceptions.o has symbols that get ordered to the beginning of // .ctors and .dtors, so our topological sort would fail if we added them. // Always skip the first TU of .ctors and .dtors. @@ -159,15 +158,11 @@ pub fn resolve_link_order(section_unit_order: &[(String, Vec)]) -> Resul global_unit_order.push(unit); } // An incomplete topological sort indicates that a cyclic dependency was encountered. - if !t_sort.is_empty() { - return Err(Error::msg("Cyclic dependency encountered!")); - } + ensure!(t_sort.is_empty(), "Cyclic dependency encountered!"); // Sanity check, did we get all TUs in the final order? for (_, order) in section_unit_order { for unit in order { - if !global_unit_order.contains(unit) { - return Err(Error::msg(format!("Failed to find an order for {unit}"))); - } + ensure!(global_unit_order.contains(unit), "Failed to find an order for {unit}"); } } Ok(global_unit_order) @@ -204,8 +199,8 @@ pub struct MapEntries { pub unit_entries: MultiMap, pub entry_references: MultiMap, pub entry_referenced_from: MultiMap, - pub address_to_symbol: BTreeMap, - pub unit_section_ranges: HashMap>>, + // pub address_to_symbol: BTreeMap, + // pub unit_section_ranges: HashMap>>, pub symbol_order: Vec, pub unit_order: Vec<(String, Vec)>, } @@ -219,11 +214,13 @@ struct LinkMapState { #[derive(Default)] struct SectionLayoutState { current_section: String, - section_units: Vec, - unit_override: Option, - relative_offset: u32, - last_unit_start: u32, - last_section_end: u32, + current_unit: Option, + units: Vec<(u32, String)>, + symbols: BTreeMap>, + // unit_override: Option, + // relative_offset: u32, + // last_unit_start: u32, + // last_section_end: u32, has_link_map: bool, } @@ -262,9 +259,7 @@ impl StateMachine { } else if LINKER_SYMBOLS_HEADER.is_match(&line) { self.switch_state(ProcessMapState::LinkerGeneratedSymbols)?; } else { - return Err(Error::msg(format!( - "Unexpected line while processing map: '{line}'" - ))); + bail!("Unexpected line while processing map: '{line}'"); } } ProcessMapState::LinkMap(ref mut state) => { @@ -286,20 +281,18 @@ impl StateMachine { } else if LINKER_SYMBOLS_HEADER.is_match(&line) { self.switch_state(ProcessMapState::LinkerGeneratedSymbols)?; } else { - return Err(Error::msg(format!( - "Unexpected line while processing map: '{line}'" - ))); + bail!("Unexpected line while processing map: '{line}'"); } } ProcessMapState::SectionLayout(ref mut state) => { if let Some(captures) = SECTION_LAYOUT_SYMBOL.captures(&line) { StateMachine::section_layout_entry(captures, state, &mut self.entries)?; } else if let Some(captures) = SECTION_LAYOUT_START.captures(&line) { - let last_section_end = state.last_section_end; + // let last_section_end = state.last_section_end; self.switch_state(ProcessMapState::SectionLayout(SectionLayoutState { current_section: captures["section"].to_string(), has_link_map: self.has_link_map, - last_section_end, + // last_section_end, ..Default::default() }))?; } else if SECTION_LAYOUT_HEADER.is_match(&line) { @@ -309,9 +302,7 @@ impl StateMachine { } else if LINKER_SYMBOLS_HEADER.is_match(&line) { self.switch_state(ProcessMapState::LinkerGeneratedSymbols)?; } else { - return Err(Error::msg(format!( - "Unexpected line while processing map: '{line}'" - ))); + bail!("Unexpected line while processing map: '{line}'"); } } ProcessMapState::MemoryMap => { @@ -351,21 +342,19 @@ impl StateMachine { state: &mut LinkMapState, entries: &mut MapEntries, ) -> Result<()> { - if captures["sym"].starts_with('.') { - state.last_name.clear(); - return Ok(()); - } + // if captures["sym"].starts_with('.') { + // state.last_name.clear(); + // return Ok(()); + // } let is_duplicate = &captures["sym"] == ">>>"; let unit = captures["tu"].trim().to_string(); let name = if is_duplicate { - if state.last_name.is_empty() { - return Err(Error::msg("Last name empty?")); - } + ensure!(!state.last_name.is_empty(), "Last name empty?"); state.last_name.clone() } else { captures["sym"].to_string() }; - let symbol_ref = SymbolRef { name: name.clone(), unit: unit.clone() }; + let symbol_ref = SymbolRef { name: name.clone(), unit: Some(unit.clone()) }; let depth: usize = captures["depth"].parse()?; if depth > state.symbol_stack.len() { state.symbol_stack.push(symbol_ref.clone()); @@ -379,19 +368,13 @@ impl StateMachine { "object" => SymbolKind::Object, "section" => SymbolKind::Section, "notype" => SymbolKind::NoType, - _ => { - return Err(Error::msg(format!("Unknown symbol type: {}", &captures["type"],))); - } + kind => bail!("Unknown symbol type: {kind}"), }; let visibility = match &captures["vis"] { "global" => SymbolVisibility::Global, "local" => SymbolVisibility::Local, "weak" => SymbolVisibility::Weak, - _ => { - return Err(Error::msg( - format!("Unknown symbol visibility: {}", &captures["vis"],), - )); - } + visibility => bail!("Unknown symbol visibility: {visibility}"), }; if !is_duplicate && state.symbol_stack.len() > 1 { let from = &state.symbol_stack[state.symbol_stack.len() - 2]; @@ -420,13 +403,13 @@ impl StateMachine { should_insert = false; } if should_insert { - let demangled = demangle(&name, &DemangleOptions { omit_empty_parameters: true }); + let demangled = demangle(&name, &DemangleOptions::default()); entries.symbols.insert(symbol_ref.clone(), SymbolEntry { name: name.clone(), demangled, kind, visibility, - unit: unit.clone(), + unit: Some(unit.clone()), address: 0, size: 0, section: String::new(), @@ -443,14 +426,14 @@ impl StateMachine { entries: &mut MapEntries, ) -> Result<()> { let name = captures["sym"].to_string(); - let demangled = demangle(&name, &DemangleOptions { omit_empty_parameters: true }); - let symbol_ref = SymbolRef { name: name.clone(), unit: "[generated]".to_string() }; + let demangled = demangle(&name, &DemangleOptions::default()); + let symbol_ref = SymbolRef { name: name.clone(), unit: None }; entries.symbols.insert(symbol_ref, SymbolEntry { name, demangled, kind: SymbolKind::NoType, visibility: SymbolVisibility::Global, - unit: "[generated]".to_string(), + unit: None, address: 0, size: 0, section: String::new(), @@ -460,18 +443,18 @@ impl StateMachine { fn end_section_layout(state: &mut SectionLayoutState, entries: &mut MapEntries) -> Result<()> { // Set last section size - if let Some(last_unit) = state.section_units.last() { - let last_unit = state.unit_override.as_ref().unwrap_or(last_unit); - nested_try_insert( - &mut entries.unit_section_ranges, - last_unit.clone(), - state.current_section.clone(), - state.last_unit_start..state.last_section_end, - ) - .with_context(|| { - format!("TU '{}' already exists in section '{}'", last_unit, state.current_section) - })?; - } + // if let Some(last_unit) = state.section_units.last() { + // let last_unit = state.unit_override.as_ref().unwrap_or(last_unit); + // nested_try_insert( + // &mut entries.unit_section_ranges, + // last_unit.clone(), + // state.current_section.clone(), + // state.last_unit_start..state.last_section_end, + // ) + // .with_context(|| { + // format!("TU '{}' already exists in section '{}'", last_unit, state.current_section) + // })?; + // } Ok(()) } @@ -483,165 +466,58 @@ impl StateMachine { if captures["rom_addr"].trim() == "UNUSED" { return Ok(()); } + let sym_name = captures["sym"].trim(); let mut tu = captures["tu"].trim().to_string(); let mut address = u32::from_str_radix(captures["addr"].trim(), 16)?; let mut size = u32::from_str_radix(captures["size"].trim(), 16)?; - // For RELs, the each section starts at address 0. For our purposes - // we'll create "fake" addresses by simply starting at the end of the - // previous section. - if state.section_units.is_empty() { - if address == 0 { - state.relative_offset = state.last_section_end; - } else { - state.relative_offset = 0; + if state.current_unit.as_ref() != Some(&tu) || sym_name == state.current_section { + state.current_unit = Some(tu.clone()); + state.units.push((address, tu.clone())); + if sym_name == state.current_section { + return Ok(()); } } - address += state.relative_offset; - let original_tu = tu.clone(); - if state.section_units.last() != Some(&tu) || sym_name == state.current_section { - // Set last section size - if let Some(last_unit) = state.section_units.last() { - let last_unit = state.unit_override.as_ref().unwrap_or(last_unit); - nested_try_insert( - &mut entries.unit_section_ranges, - last_unit.clone(), - state.current_section.clone(), - state.last_unit_start..address, - ) - .with_context(|| { - format!( - "TU '{}' already exists in section '{}'", - last_unit, state.current_section - ) - })?; + let symbol_ref = SymbolRef { name: sym_name.to_string(), unit: Some(tu.clone()) }; + let entry = if let Some(existing) = entries.symbols.get(&symbol_ref) { + SymbolEntry { + name: existing.name.clone(), + demangled: existing.demangled.clone(), + kind: existing.kind, + visibility: existing.visibility, + unit: existing.unit.clone(), + address, + size, + section: state.current_section.clone(), } - state.last_unit_start = address; - - // Since the map doesn't contain file paths, it's likely that - // a duplicate TU inside of a section is simply a separate file. - // We can rename it and remap symbols to the new TU name. - // TODO: Find symbols in other sections and rename? - if state.section_units.contains(&tu) { - let new_unit = format!("{}_{}_{:08x}", tu, state.current_section, address); + } else { + let visibility = if state.has_link_map { log::warn!( - "TU order conflict: {} exists multiple times in {}. Renaming to {}.", + "Symbol not in link map: {} ({}). Type and visibility unknown.", + sym_name, tu, - state.current_section, - new_unit, ); - state.unit_override = Some(new_unit); + SymbolVisibility::Local } else { - state.unit_override = None; + SymbolVisibility::Global + }; + SymbolEntry { + name: sym_name.to_string(), + demangled: None, + kind: SymbolKind::NoType, + visibility, + unit: Some(tu.clone()), + address, + size, + section: state.current_section.clone(), } - } - if let Some(unit) = &state.unit_override { - tu = unit.clone(); - } - - // Section symbol (i.e. ".data") indicates section size for a TU - // ...but we can't rely on it because of UNUSED symbols - if sym_name == state.current_section { - // Skip empty sections - if size != 0 { - state.section_units.push(original_tu); - } - return Ok(()); - } - - // Otherwise, for ASM-generated objects, the first section symbol in a TU - // has the full size of the section. - if state.section_units.last() != Some(&original_tu) { - if size == 0 { - return Err(Error::msg(format!("No section size for {sym_name} in {tu}"))); - } - state.section_units.push(original_tu); - - // Clear it, so that we guess the "real" symbol size later. - size = 0; - } - - // Ignore ...data.0 and similar - if sym_name.starts_with("...") { - return Ok(()); - } - - // Increment section end - state.last_section_end = address + size; - - let symbol_ref = SymbolRef { name: sym_name.to_string(), unit: tu.clone() }; - match entries.symbols.entry(symbol_ref.clone()) { - hash_map::Entry::Occupied(entry) => { - // let symbol = if tu != original_tu { - // let old_entry = entry.remove(); - // match entries.symbols.entry(SymbolRef { - // name: sym_name.to_string(), - // unit: tu.clone(), - // }) { - // Entry::Occupied(entry) => entry.into_mut(), - // Entry::Vacant(entry) => entry.insert(old_entry), - // } - // } else { - // entry.into_mut() - // }; - let symbol = entry.into_mut(); - symbol.address = address; - symbol.size = size; - symbol.section = state.current_section.clone(); - // Move symbol to renamed TU if necessary - // symbol.unit = tu.clone(); - match entries.address_to_symbol.entry(address) { - btree_map::Entry::Vacant(entry) => { - entry.insert(symbol_ref); - } - btree_map::Entry::Occupied(entry) => { - log::warn!( - "Symbol overridden @ {:X} from {} to {} in {}", - symbol.address, - entry.get().name, - sym_name, - tu - ); - } - } - } - hash_map::Entry::Vacant(entry) => { - let visibility = if state.has_link_map { - log::warn!( - "Symbol not in link map: {} ({}). Type and visibility unknown.", - sym_name, - tu, - ); - SymbolVisibility::Local - } else { - SymbolVisibility::Global - }; - entry.insert(SymbolEntry { - name: sym_name.to_string(), - demangled: None, - kind: SymbolKind::NoType, - visibility, - unit: tu.clone(), - address, - size, - section: state.current_section.clone(), - }); - match entries.address_to_symbol.entry(address) { - btree_map::Entry::Vacant(entry) => { - entry.insert(symbol_ref); - } - btree_map::Entry::Occupied(entry) => { - log::warn!( - "Symbol overridden @ {:X} from {} to {} in {}", - address, - entry.get().name, - sym_name, - tu - ); - } - } + }; + match state.symbols.entry(address) { + btree_map::Entry::Occupied(e) => e.into_mut().push(entry), + btree_map::Entry::Vacant(e) => { + e.insert(vec![entry]); } } Ok(()) @@ -663,9 +539,9 @@ pub fn process_map(reader: R) -> Result { state.end_state()?; let mut entries = state.entries; - let section_order = resolve_section_order(&entries.address_to_symbol, &mut entries.symbols)?; - entries.symbol_order = section_order.symbol_order; - entries.unit_order = section_order.unit_order; + // let section_order = resolve_section_order(&entries.address_to_symbol, &mut entries.symbols)?; + // entries.symbol_order = section_order.symbol_order; + // entries.unit_order = section_order.unit_order; Ok(entries) } @@ -685,7 +561,7 @@ where hash_map::Entry::Vacant(entry) => entry.insert(Default::default()), }; match map.entry(v2) { - hash_map::Entry::Occupied(_) => return Err(Error::msg("Entry already exists")), + hash_map::Entry::Occupied(_) => bail!("Entry already exists"), hash_map::Entry::Vacant(entry) => entry.insert(v3), }; Ok(()) diff --git a/src/util/mod.rs b/src/util/mod.rs index eca3a2e..89037e3 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -1,5 +1,15 @@ pub(crate) mod asm; +pub(crate) mod cfa; +pub(crate) mod config; +pub(crate) mod dol; +pub(crate) mod dwarf; pub(crate) mod elf; +pub(crate) mod executor; pub(crate) mod map; pub(crate) mod obj; +pub(crate) mod rel; +pub(crate) mod sigs; +pub(crate) mod slices; pub(crate) mod split; +pub(crate) mod tracker; +pub(crate) mod vm; diff --git a/src/util/obj.rs b/src/util/obj.rs index c406052..54f5f80 100644 --- a/src/util/obj.rs +++ b/src/util/obj.rs @@ -1,12 +1,22 @@ use std::{ + cmp::min, collections::{btree_map, BTreeMap}, + fmt, hash::{Hash, Hasher}, }; +use std::marker::PhantomData; -use anyhow::{Error, Result}; +use anyhow::{anyhow, bail, Result}; use flagset::{flags, FlagSet}; +use serde::{de, de::Visitor, Deserialize, Deserializer, Serialize, Serializer}; +use serde_yaml::Value; +use serde_repr::{Serialize_repr, Deserialize_repr}; + +use crate::util::rel::RelReloc; flags! { + #[repr(u8)] + #[derive(Deserialize_repr, Serialize_repr)] pub enum ObjSymbolFlags: u8 { Global, Local, @@ -15,7 +25,7 @@ flags! { Hidden, } } -#[derive(Debug, Copy, Clone, Default, Eq, PartialEq)] +#[derive(Debug, Copy, Clone, Default, Eq, PartialEq, Serialize, Deserialize)] pub struct ObjSymbolFlagSet(pub(crate) FlagSet); #[allow(clippy::derive_hash_xor_eq)] impl Hash for ObjSymbolFlagSet { @@ -37,11 +47,14 @@ pub struct ObjSection { pub data: Vec, pub align: u64, pub index: usize, + /// REL files reference the original ELF section indices + pub elf_index: usize, pub relocations: Vec, pub original_address: u64, pub file_offset: u64, + pub section_known: bool, } -#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Default)] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Default, Serialize, Deserialize)] pub enum ObjSymbolKind { #[default] Unknown, @@ -62,9 +75,9 @@ pub struct ObjSymbol { } #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] pub enum ObjKind { - /// Fully linked file + /// Fully linked object Executable, - /// Relocatable file + /// Relocatable object Relocatable, } #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] @@ -78,9 +91,11 @@ pub struct ObjInfo { pub name: String, pub symbols: Vec, pub sections: Vec, - pub entry: u32, + pub entry: u64, // Linker generated + pub sda2_base: Option, + pub sda_base: Option, pub stack_address: Option, pub stack_end: Option, pub db_stack_addr: Option, @@ -90,8 +105,16 @@ pub struct ObjInfo { // Extracted pub splits: BTreeMap, pub link_order: Vec, + + // From extab + pub known_functions: BTreeMap, + + // REL + /// Module ID (0 for main) + pub module_id: u32, + pub unresolved_relocations: Vec, } -#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)] pub enum ObjRelocKind { Absolute, PpcAddr16Hi, @@ -123,11 +146,30 @@ impl ObjInfo { pub fn build_symbol_map(&self, section_idx: usize) -> Result>> { let mut symbols = BTreeMap::>::new(); for (symbol_idx, symbol) in self.symbols_for_section(section_idx) { - let address = symbol.address as u32; - nested_push(&mut symbols, address, symbol_idx); + nested_push(&mut symbols, symbol.address as u32, symbol_idx); } Ok(symbols) } + + pub fn section_at(&self, addr: u32) -> Result<&ObjSection> { + self.sections + .iter() + .find(|§ion| { + (addr as u64) >= section.address && (addr as u64) < section.address + section.size + }) + .ok_or_else(|| anyhow!("Failed to locate section @ {:#010X}", addr)) + } + + pub fn section_data(&self, start: u32, end: u32) -> Result<(&ObjSection, &[u8])> { + let section = self.section_at(start)?; + let data = if end == 0 { + §ion.data[(start as u64 - section.address) as usize..] + } else { + §ion.data[(start as u64 - section.address) as usize + ..min(section.data.len(), (end as u64 - section.address) as usize)] + }; + Ok((section, data)) + } } impl ObjSection { @@ -139,9 +181,7 @@ impl ObjSection { btree_map::Entry::Vacant(e) => { e.insert(reloc.clone()); } - btree_map::Entry::Occupied(_) => { - return Err(Error::msg(format!("Duplicate relocation @ {address:#010X}"))); - } + btree_map::Entry::Occupied(_) => bail!("Duplicate relocation @ {address:#010X}"), } } Ok(relocations) diff --git a/src/util/rel.rs b/src/util/rel.rs new file mode 100644 index 0000000..cf2f273 --- /dev/null +++ b/src/util/rel.rs @@ -0,0 +1,252 @@ +use std::{ + fs::File, + io::{BufReader, Read, Seek, SeekFrom}, + path::Path, +}; + +use anyhow::{anyhow, bail, ensure, Result}; +use byteorder::{BigEndian, ReadBytesExt}; +use object::elf::{ + R_PPC_ADDR16, R_PPC_ADDR16_HA, R_PPC_ADDR16_HI, R_PPC_ADDR16_LO, R_PPC_ADDR24, R_PPC_ADDR32, + R_PPC_NONE, R_PPC_REL14, R_PPC_REL24, R_PPC_UADDR32, +}; + +use crate::util::obj::{ + ObjArchitecture, ObjInfo, ObjKind, ObjRelocKind, ObjSection, ObjSectionKind, ObjSymbol, + ObjSymbolFlagSet, ObjSymbolFlags, ObjSymbolKind, +}; + +/// Do not relocate anything, but accumulate the offset field for the next relocation offset calculation. +/// These types are used for referring to relocations that are more than 0xffff apart from each other. +pub const R_DOLPHIN_NOP: u32 = 201; +/// Change which section relocations are being applied to. +/// Set the offset into the section to 0. +pub const R_DOLPHIN_SECTION: u32 = 202; +/// Stop parsing the relocation list. +pub const R_DOLPHIN_END: u32 = 203; +/// Unknown. +#[allow(unused)] +pub const R_DOLPHIN_MRKREF: u32 = 204; + +pub fn process_rel>(path: P) -> Result { + let mut reader = BufReader::new(File::open(&path)?); + let module_id = reader.read_u32::()?; + ensure!(reader.read_u32::()? == 0, "Expected 'next' to be 0"); + ensure!(reader.read_u32::()? == 0, "Expected 'prev' to be 0"); + let num_sections = reader.read_u32::()?; + let section_info_offset = reader.read_u32::()?; + let name_offset = reader.read_u32::()?; + let name_size = reader.read_u32::()?; + let version = reader.read_u32::()?; + ensure!(matches!(version, 1..=3), "Unsupported REL version {}", version); + let bss_size = reader.read_u32::()?; + let rel_offset = reader.read_u32::()?; + let imp_offset = reader.read_u32::()?; + let imp_size = reader.read_u32::()?; + let prolog_section = reader.read_u8()?; + let epilog_section = reader.read_u8()?; + let unresolved_section = reader.read_u8()?; + ensure!(reader.read_u8()? == 0, "Expected 'bssSection' to be 0"); + let prolog_offset = reader.read_u32::()?; + let epilog_offset = reader.read_u32::()?; + let unresolved_offset = reader.read_u32::()?; + let (align, bss_align) = if version >= 2 { + let align = reader.read_u32::()?; + let bss_align = reader.read_u32::()?; + (Some(align), Some(bss_align)) + } else { + (None, None) + }; + let fix_size = if version >= 3 { Some(reader.read_u32::()?) } else { None }; + + let mut sections = Vec::with_capacity(num_sections as usize); + reader.seek(SeekFrom::Start(section_info_offset as u64))?; + let mut total_bss_size = 0; + for idx in 0..num_sections { + let offset = reader.read_u32::()?; + let size = reader.read_u32::()?; + if size == 0 { + continue; + } + let exec = (offset & 1) == 1; + let offset = offset & !3; + + let data = if offset == 0 { + vec![] + } else { + let position = reader.stream_position()?; + reader.seek(SeekFrom::Start(offset as u64))?; + let mut data = vec![0u8; size as usize]; + reader.read_exact(&mut data)?; + reader.seek(SeekFrom::Start(position))?; + data + }; + + // println!("Section {} offset {:#X} size {:#X}", idx, offset, size); + + let index = sections.len(); + sections.push(ObjSection { + name: format!(".section{}", idx), + kind: if offset == 0 { + ObjSectionKind::Bss + } else if exec { + ObjSectionKind::Code + } else { + ObjSectionKind::Data + }, + address: 0, + size: size as u64, + data, + align: match offset { + 0 => bss_align, + _ => align, + } + .unwrap_or_default() as u64, + index, + elf_index: idx as usize, + relocations: vec![], + original_address: 0, + file_offset: offset as u64, + section_known: false, + }); + if offset == 0 { + total_bss_size += size; + } + } + ensure!( + total_bss_size == bss_size, + "Mismatched BSS size: {:#X} != {:#X}", + total_bss_size, + bss_size + ); + + let mut symbols = Vec::new(); + let mut add_symbol = |section_idx: u8, offset: u32, name: &str| -> Result<()> { + if section_idx > 0 { + let section = sections + .iter() + .find(|section| section.elf_index == section_idx as usize) + .ok_or_else(|| anyhow!("Failed to locate {name} section {section_idx}"))?; + log::info!("Adding {name} section {section_idx} offset {offset:#X}"); + symbols.push(ObjSymbol { + name: name.to_string(), + demangled_name: None, + address: offset as u64, + section: Some(section.index), + size: 0, + size_known: false, + flags: ObjSymbolFlagSet(ObjSymbolFlags::Global.into()), + kind: ObjSymbolKind::Function, + }); + } + Ok(()) + }; + add_symbol(prolog_section, prolog_offset, "_prolog")?; + add_symbol(epilog_section, epilog_offset, "_epilog")?; + add_symbol(unresolved_section, unresolved_offset, "_unresolved")?; + + let mut unresolved_relocations = Vec::new(); + let mut imp_idx = 0; + let imp_end = (imp_offset + imp_size) as u64; + reader.seek(SeekFrom::Start(imp_offset as u64))?; + while reader.stream_position()? < imp_end { + let reloc_module_id = reader.read_u32::()?; + let reloc_offset = reader.read_u32::()?; + + if imp_idx == 0 { + ensure!( + reloc_offset == rel_offset, + "imp index 0 offset mismatch: {:#X} != {:#X}", + reloc_offset, + rel_offset + ); + } + imp_idx += 1; + + if reloc_module_id == module_id { + if let Some(fix_size) = fix_size { + ensure!(fix_size == reloc_offset, "fix_size mismatch: {:#X} != {:#X}", fix_size, reloc_offset); + } + } + + let position = reader.stream_position()?; + reader.seek(SeekFrom::Start(reloc_offset as u64))?; + let mut address = 0u32; + let mut section = u8::MAX; + loop { + let offset = reader.read_u16::()?; + let type_id = reader.read_u8()? as u32; + let target_section = reader.read_u8()?; + let addend = reader.read_u32::()?; + let kind = match type_id { + R_PPC_NONE => continue, + R_PPC_ADDR32 | R_PPC_UADDR32 => ObjRelocKind::Absolute, + // R_PPC_ADDR24 => ObjRelocKind::PpcAddr24, + // R_PPC_ADDR16 => ObjRelocKind::PpcAddr16, + R_PPC_ADDR16_LO => ObjRelocKind::PpcAddr16Lo, + R_PPC_ADDR16_HI => ObjRelocKind::PpcAddr16Hi, + R_PPC_ADDR16_HA => ObjRelocKind::PpcAddr16Ha, + // R_PPC_ADDR14 => ObjRelocKind::PpcAddr14, + // R_PPC_ADDR14_BRTAKEN => ObjRelocKind::PpcAddr14BrTaken, + // R_PPC_ADDR14_BRNTAKEN => ObjRelocKind::PpcAddr14BrnTaken, + R_PPC_REL24 => ObjRelocKind::PpcRel24, + R_PPC_REL14 => ObjRelocKind::PpcRel14, + // R_PPC_REL14_BRTAKEN => ObjRelocKind::PpcRel14BrTaken, + // R_PPC_REL14_BRNTAKEN => ObjRelocKind::PpcRel14BrnTaken, + R_DOLPHIN_NOP => { + address += offset as u32; + continue; + } + R_DOLPHIN_SECTION => { + address = 0; + section = target_section; + continue; + } + R_DOLPHIN_END => break, + // R_DOLPHIN_MRKREF => ? + reloc_type => bail!("Unhandled REL relocation type {reloc_type}"), + }; + address += offset as u32; + unresolved_relocations.push(RelReloc { + kind, + section, + address, + module_id: reloc_module_id, + target_section, + addend, + }); + } + reader.seek(SeekFrom::Start(position))?; + } + + Ok(ObjInfo { + module_id, + kind: ObjKind::Relocatable, + architecture: ObjArchitecture::PowerPc, + name: "".to_string(), + symbols, + sections, + entry: 0, + sda2_base: None, + sda_base: None, + stack_address: None, + stack_end: None, + db_stack_addr: None, + arena_lo: None, + arena_hi: None, + splits: Default::default(), + link_order: vec![], + known_functions: Default::default(), + unresolved_relocations, + }) +} + +#[derive(Debug, Clone)] +pub struct RelReloc { + pub kind: ObjRelocKind, + pub section: u8, + pub address: u32, + pub module_id: u32, + pub target_section: u8, + pub addend: u32, +} diff --git a/src/util/sigs.rs b/src/util/sigs.rs new file mode 100644 index 0000000..c6041b4 --- /dev/null +++ b/src/util/sigs.rs @@ -0,0 +1,411 @@ +use std::{ + collections::{btree_map, BTreeMap}, + path::Path, +}; + +use anyhow::{anyhow, bail, ensure, Result}; +use base64::{engine::general_purpose::STANDARD, Engine}; +use cwdemangle::{demangle, DemangleOptions}; +use ppc750cl::Ins; +use serde::{forward_to_deserialize_any, Deserialize, Serialize}; +use sha1::{Digest, Sha1}; + +use crate::util::{ + elf::process_elf, + obj::{ + ObjInfo, ObjReloc, ObjRelocKind, ObjSectionKind, ObjSymbol, ObjSymbolFlagSet, + ObjSymbolFlags, ObjSymbolKind, + }, + tracker::{Relocation, Tracker}, +}; + +#[derive(Debug, Clone, Hash, Eq, PartialEq, Serialize, Deserialize)] +pub struct OutSymbol { + pub kind: ObjSymbolKind, + pub name: String, + pub size: u32, + pub flags: ObjSymbolFlagSet, + pub section: Option, +} + +#[derive(Debug, Clone, Hash, Eq, PartialEq, Serialize, Deserialize)] +pub struct OutReloc { + pub offset: u32, + pub kind: ObjRelocKind, + pub symbol: usize, + pub addend: i32, +} + +#[derive(Debug, Clone, Hash, Eq, PartialEq, Serialize, Deserialize)] +pub struct FunctionSignature { + pub symbol: usize, + pub hash: String, + pub signature: String, + pub symbols: Vec, + pub relocations: Vec, +} + +/// Creates a fixed-size array reference from a slice. +#[macro_export] +macro_rules! array_ref { + ($slice:expr, $offset:expr, $size:expr) => {{ + #[inline] + fn to_array(slice: &[T]) -> &[T; $size] { + unsafe { &*(slice.as_ptr() as *const [_; $size]) } + } + to_array(&$slice[$offset..$offset + $size]) + }}; +} + +pub fn check_signature(mut data: &[u8], sig: &FunctionSignature) -> Result { + let sig_data = STANDARD.decode(&sig.signature)?; + // println!( + // "\nChecking signature {} {} (size {})", + // sig.symbols[sig.symbol].name, sig.hash, sig.symbols[sig.symbol].size + // ); + // for chunk in sig_data.chunks_exact(8) { + // let ins = u32::from_be_bytes(*array_ref!(chunk, 0, 4)); + // let i = Ins::new(ins, 0); + // println!("=> {}", i.simplified()); + // } + for chunk in sig_data.chunks_exact(8) { + let ins = u32::from_be_bytes(*array_ref!(chunk, 0, 4)); + let pat = u32::from_be_bytes(*array_ref!(chunk, 4, 4)); + if (u32::from_be_bytes(*array_ref!(data, 0, 4)) & pat) != ins { + return Ok(false); + } + data = &data[4..]; + } + Ok(true) +} + +pub fn check_signatures(obj: &mut ObjInfo, addr: u32, sig_str: &str) -> Result { + let signatures: Vec = serde_yaml::from_str(sig_str)?; + let (_, data) = obj.section_data(addr, 0)?; + let mut name = None; + for signature in &signatures { + if name.is_none() { + name = Some(signature.symbols[signature.symbol].name.clone()); + } + if check_signature(data, signature)? { + log::debug!("Found {} @ {:#010X}", signature.symbols[signature.symbol].name, addr); + apply_signature(obj, addr, signature)?; + return Ok(true); + } + } + if let Some(name) = name { + log::debug!("Didn't find {} @ {:#010X}", name, addr); + } + Ok(false) +} + +pub fn apply_symbol(obj: &mut ObjInfo, target: u32, sig_symbol: &OutSymbol) -> Result { + let target_section_index = obj.section_at(target).ok().map(|section| section.index); + if let Some(target_section_index) = target_section_index { + let target_section = &mut obj.sections[target_section_index]; + if !target_section.section_known { + if let Some(section_name) = &sig_symbol.section { + target_section.name = section_name.clone(); + target_section.kind = match section_name.as_str() { + ".init" | ".text" | ".dbgtext" => ObjSectionKind::Code, + ".ctors" | ".dtors" | ".rodata" | ".sdata2" | "extab" | "extabindex" => { + ObjSectionKind::ReadOnlyData + } + ".bss" | ".sbss" | ".sbss2" => ObjSectionKind::Bss, + ".data" | ".sdata" => ObjSectionKind::Data, + name => bail!("Unknown section {name}"), + }; + target_section.section_known = true; + } + } + } + let target_symbol_idx = if let Some((symbol_idx, existing)) = + obj.symbols.iter_mut().enumerate().find(|(_, symbol)| { + symbol.address == target as u64 + && symbol.kind == sig_symbol.kind + // HACK to avoid replacing different ABS symbols + && (symbol.section.is_some() || symbol.name == sig_symbol.name) + }) { + // TODO apply to existing + log::debug!("Replacing {:?} with {}", existing, sig_symbol.name); + *existing = ObjSymbol { + name: sig_symbol.name.clone(), + demangled_name: demangle(&sig_symbol.name, &DemangleOptions::default()), + address: target as u64, + section: target_section_index, + size: if existing.size_known { existing.size } else { sig_symbol.size as u64 }, + size_known: existing.size_known || sig_symbol.size != 0, + flags: sig_symbol.flags, + kind: sig_symbol.kind, + }; + symbol_idx + } else { + let target_symbol_idx = obj.symbols.len(); + obj.symbols.push(ObjSymbol { + name: sig_symbol.name.clone(), + demangled_name: demangle(&sig_symbol.name, &DemangleOptions::default()), + address: target as u64, + section: target_section_index, + size: sig_symbol.size as u64, + size_known: sig_symbol.size != 0, + flags: sig_symbol.flags, + kind: sig_symbol.kind, + }); + target_symbol_idx + }; + match sig_symbol.name.as_str() { + "_SDA_BASE_" => obj.sda_base = Some(target), + "_SDA2_BASE_" => obj.sda2_base = Some(target), + "_stack_addr" => obj.stack_address = Some(target), + "_stack_end" => obj.stack_end = Some(target), + "_db_stack_addr" => obj.db_stack_addr = Some(target), + "__ArenaLo" => obj.arena_lo = Some(target), + "__ArenaHi" => obj.arena_hi = Some(target), + _ => {} + } + Ok(target_symbol_idx) +} + +pub fn apply_signature(obj: &mut ObjInfo, addr: u32, signature: &FunctionSignature) -> Result<()> { + let section_index = obj.section_at(addr)?.index; + let in_symbol = &signature.symbols[signature.symbol]; + let symbol_idx = apply_symbol(obj, addr, in_symbol)?; + let mut tracker = Tracker::new(obj); + for reloc in &signature.relocations { + tracker.known_relocations.insert(addr + reloc.offset); + } + tracker.process_function(obj, &obj.symbols[symbol_idx])?; + for (&reloc_addr, reloc) in &tracker.relocations { + if reloc_addr < addr || reloc_addr >= addr + in_symbol.size { + continue; + } + let offset = reloc_addr - addr; + let sig_reloc = match signature.relocations.iter().find(|r| r.offset == offset) { + Some(reloc) => reloc, + None => continue, + }; + let target = match (reloc, sig_reloc.kind) { + (&Relocation::Absolute(addr), ObjRelocKind::Absolute) + | (&Relocation::Hi(addr), ObjRelocKind::PpcAddr16Hi) + | (&Relocation::Ha(addr), ObjRelocKind::PpcAddr16Ha) + | (&Relocation::Lo(addr), ObjRelocKind::PpcAddr16Lo) + | (&Relocation::Rel24(addr), ObjRelocKind::PpcRel24) + | (&Relocation::Rel14(addr), ObjRelocKind::PpcRel14) + | (&Relocation::Sda21(addr), ObjRelocKind::PpcEmbSda21) => { + (addr as i64 - sig_reloc.addend as i64) as u32 + } + _ => bail!("Relocation mismatch: {:?} != {:?}", reloc, sig_reloc.kind), + }; + let sig_symbol = &signature.symbols[sig_reloc.symbol]; + let target_symbol_idx = apply_symbol(obj, target, sig_symbol)?; + let obj_reloc = ObjReloc { + kind: sig_reloc.kind, + address: reloc_addr as u64, + target_symbol: target_symbol_idx, + addend: sig_reloc.addend as i64, + }; + // log::info!("Applying relocation {:#010X?}", obj_reloc); + obj.sections[section_index].relocations.push(obj_reloc); + } + for reloc in &signature.relocations { + let addr = addr + reloc.offset; + if !tracker.relocations.contains_key(&addr) { + let sig_symbol = &signature.symbols[reloc.symbol]; + bail!("Missing relocation @ {:#010X}: {:?} -> {:?}", addr, reloc, sig_symbol); + } + } + Ok(()) +} + +pub fn compare_signature(existing: &mut FunctionSignature, new: &FunctionSignature) -> Result<()> { + ensure!( + existing.symbols.len() == new.symbols.len(), + "Mismatched symbol count: {} != {}\n{:?}\n{:?}", + new.symbols.len(), + existing.symbols.len(), + new.symbols, + existing.symbols, + ); + ensure!( + existing.relocations.len() == new.relocations.len(), + "Mismatched relocation count: {} != {}", + new.relocations.len(), + existing.relocations.len() + ); + for (idx, (a, b)) in existing.symbols.iter_mut().zip(&new.symbols).enumerate() { + if a != b { + // If mismatched sections, clear + if a.name == b.name + && a.size == b.size + && a.flags == b.flags + && a.kind == b.kind + && a.section != b.section + { + log::warn!("Clearing section for {} ({:?} != {:?})", a.name, a.section, b.section); + a.section = None; + } else if !a.name.starts_with('@') { + log::error!("Symbol {} mismatch: {:?} != {:?}", idx, a, b); + } + } + } + for (a, b) in existing.relocations.iter().zip(&new.relocations) { + if a != b { + log::error!("Relocation {} mismatch: {:?} != {:?}", a.offset, a, b); + } + } + Ok(()) +} + +pub fn generate_signature( + path: &Path, + symbol_name: &str, +) -> Result, FunctionSignature)>> { + let mut out_symbols: Vec = Vec::new(); + let mut out_relocs: Vec = Vec::new(); + let mut symbol_map: BTreeMap = BTreeMap::new(); + + let mut obj = process_elf(path)?; + if obj.sda2_base.is_none() + || obj.sda_base.is_none() + || obj.stack_address.is_none() + || obj.stack_end.is_none() + || obj.db_stack_addr.is_none() + // || obj.arena_hi.is_none() + // || obj.arena_lo.is_none() + { + log::warn!("Failed to locate all abs symbols {:#010X?} {:#010X?} {:#010X?} {:#010X?} {:#010X?} {:#010X?} {:#010X?}", obj.sda2_base, obj.sda_base, obj.stack_address, obj.stack_end, obj.db_stack_addr, obj.arena_hi, obj.arena_lo); + return Ok(None); + } + let mut tracker = Tracker::new(&obj); + // tracker.ignore_addresses.insert(0x80004000); + for symbol in &obj.symbols { + if symbol.kind != ObjSymbolKind::Function { + continue; + } + if symbol.name != symbol_name && symbol.name != symbol_name.replace("TRK", "TRK_") { + continue; + } + // log::info!("Tracking {}", symbol.name); + tracker.process_function(&obj, symbol)?; + } + tracker.apply(&mut obj, true)?; // true + for symbol in &obj.symbols { + if symbol.kind != ObjSymbolKind::Function { + continue; + } + if symbol.name != symbol_name && symbol.name != symbol_name.replace("TRK", "TRK_") { + continue; + } + let section_idx = symbol.section.unwrap(); + let section = &obj.sections[section_idx]; + let out_symbol_idx = out_symbols.len(); + out_symbols.push(OutSymbol { + kind: symbol.kind, + name: symbol.name.clone(), + size: symbol.size as u32, + flags: symbol.flags, + section: Some(section.name.clone()), + }); + // println!( + // "Building signature for {} ({:#010X}-{:#010X})", + // symbol.name, + // symbol.address, + // symbol.address + symbol.size + // ); + let relocations = section.build_relocation_map()?; + let mut instructions = section.data[(symbol.address - section.address) as usize + ..(symbol.address - section.address + symbol.size) as usize] + .chunks_exact(4) + .map(|c| (u32::from_be_bytes(c.try_into().unwrap()), !0u32)) + .collect::>(); + for (idx, (ins, pat)) in instructions.iter_mut().enumerate() { + let addr = (symbol.address as usize + idx * 4) as u32; + if let Some(reloc) = relocations.get(&addr) { + let symbol_idx = match symbol_map.entry(reloc.target_symbol) { + btree_map::Entry::Vacant(e) => { + let target = &obj.symbols[reloc.target_symbol]; + let symbol_idx = out_symbols.len(); + e.insert(symbol_idx); + out_symbols.push(OutSymbol { + kind: target.kind, + name: target.name.clone(), + size: if target.kind == ObjSymbolKind::Function { + 0 + } else { + target.size as u32 + }, + flags: target.flags, + section: target.section.map(|idx| obj.sections[idx].name.clone()), + }); + symbol_idx + } + btree_map::Entry::Occupied(e) => *e.get(), + }; + match reloc.kind { + ObjRelocKind::Absolute => { + *ins = 0; + *pat = 0; + } + ObjRelocKind::PpcAddr16Hi + | ObjRelocKind::PpcAddr16Ha + | ObjRelocKind::PpcAddr16Lo => { + *ins = *ins & !0xFFFF; + *pat = !0xFFFF; + } + ObjRelocKind::PpcRel24 => { + *ins = *ins & !0x3FFFFFC; + *pat = !0x3FFFFFC; + } + ObjRelocKind::PpcRel14 => { + *ins = *ins & !0xFFFC; + *pat = !0xFFFC; + } + ObjRelocKind::PpcEmbSda21 => { + *ins = *ins & !0x1FFFFF; + *pat = !0x1FFFFF; + } + } + out_relocs.push(OutReloc { + offset: addr - (symbol.address as u32), + kind: reloc.kind, + symbol: symbol_idx, + addend: reloc.addend as i32, + // instruction: format!("{}", Ins::new(*ins, addr).simplified()), + }); + } + // println!("{}", Ins::new(*ins, addr).simplified()); + } + // if out_symbols.is_empty() || out_relocs.is_empty() { + // bail!("Failed to locate any symbols or relocs"); + // } + // println!("Data: {:#010X?}", instructions); + + let mut data = vec![0u8; instructions.len() * 8]; + for (idx, &(ins, pat)) in instructions.iter().enumerate() { + data[idx * 8..idx * 8 + 4].copy_from_slice(&ins.to_be_bytes()); + data[idx * 8 + 4..idx * 8 + 8].copy_from_slice(&pat.to_be_bytes()); + } + // println!( + // "OK: Data (len {}): {:X?} | SYMBOLS: {:?} | RELOCS: {:?}", + // data.len(), + // data, + // out_symbols, + // out_relocs + // ); + let encoded = STANDARD.encode(&data); + let mut hasher = Sha1::new(); + hasher.update(&data); + let hash = hasher.finalize(); + let mut hash_buf = [0u8; 40]; + let hash_str = base16ct::lower::encode_str(&hash, &mut hash_buf) + .map_err(|e| anyhow!("Failed to encode hash: {e}"))?; + return Ok(Some((data, FunctionSignature { + symbol: 0, + hash: hash_str.to_string(), + signature: encoded, + symbols: out_symbols, + relocations: out_relocs, + }))); + } + Ok(None) +} diff --git a/src/util/slices.rs b/src/util/slices.rs new file mode 100644 index 0000000..9e4f70d --- /dev/null +++ b/src/util/slices.rs @@ -0,0 +1,504 @@ +use std::{ + collections::{btree_map, BTreeMap, BTreeSet}, + ops::Range, +}; + +use anyhow::{bail, ensure, Context, Result}; +use ppc750cl::{Ins, Opcode}; + +use crate::util::{ + executor::{disassemble, uniq_jump_table_entries, ExecCbData, ExecCbResult, Executor, VMState}, + obj::{ObjInfo, ObjSection, ObjSectionKind}, + vm::{BranchTarget, StepResult, VM}, +}; + +#[derive(Debug, Default, Clone)] +pub struct FunctionSlices { + pub blocks: BTreeMap, + pub branches: BTreeMap>, + pub function_references: BTreeSet, + pub jump_table_references: BTreeMap, + pub prologue: Option, + pub epilogue: Option, + // Either a block or tail call + pub possible_blocks: BTreeSet, + pub has_conditional_blr: bool, + pub has_rfi: bool, + pub finalized: bool, +} + +pub enum TailCallResult { + Not, + Is, + Possible, +} + +type BlockRange = Range; + +impl FunctionSlices { + pub fn end(&self) -> u32 { self.blocks.last_key_value().map(|(_, &end)| end).unwrap_or(0) } + + pub fn start(&self) -> u32 { + self.blocks.first_key_value().map(|(&start, _)| start).unwrap_or(0) + } + + pub fn add_block_start(&mut self, addr: u32) -> bool { + if addr == 0xFFFFFFFF { + panic!(); + } + // Slice previous block. + if let Some((_, end)) = self.blocks.range_mut(..addr).last() { + let last_end = *end; + if last_end > addr { + *end = addr; + self.blocks.insert(addr, last_end); + return false; + } + } + // Otherwise, insert with no end. + match self.blocks.entry(addr) { + btree_map::Entry::Vacant(e) => { + e.insert(0); + true + } + btree_map::Entry::Occupied(_) => false, + } + } + + fn check_prologue(&mut self, section: &ObjSection, ins: &Ins) -> Result<()> { + let next_ins = match disassemble(section, ins.addr + 4) { + Some(ins) => ins, + None => return Ok(()), + }; + // stwu r1, d(r1) + // mfspr r0, LR + if ((ins.op == Opcode::Stwu && ins.field_rS() == 1 && ins.field_rA() == 1) + && (next_ins.op == Opcode::Mfspr + && next_ins.field_rD() == 0 + && next_ins.field_spr() == 8)) + // mfspr r0, LR + // stw r0, d(r1) + || ((ins.op == Opcode::Mfspr && ins.field_rD() == 0 && ins.field_spr() == 8) + && (next_ins.op == Opcode::Stw + && next_ins.field_rS() == 0 + && next_ins.field_rA() == 1)) + { + match self.prologue { + Some(prologue) if prologue != ins.addr && prologue != ins.addr - 4 => { + bail!("Found duplicate prologue: {:#010X} and {:#010X}", prologue, ins.addr) + } + _ => self.prologue = Some(ins.addr), + } + } + Ok(()) + } + + fn check_epilogue(&mut self, section: &ObjSection, ins: &Ins) -> Result<()> { + let next_ins = match disassemble(section, ins.addr + 4) { + Some(ins) => ins, + None => return Ok(()), + }; + // mtspr SPR, r0 + // addi rD, rA, SIMM + if ((ins.op == Opcode::Mtspr && ins.field_rS() == 0 && ins.field_spr() == 8) + && (next_ins.op == Opcode::Addi + && next_ins.field_rD() == 1 + && next_ins.field_rA() == 1)) + // or r1, rA, rB + // mtspr SPR, r0 + || ((ins.op == Opcode::Or && ins.field_rA() == 1) + && (next_ins.op == Opcode::Mtspr + && next_ins.field_rS() == 0 + && next_ins.field_spr() == 8)) + { + match self.epilogue { + Some(epilogue) if epilogue != ins.addr => { + bail!("Found duplicate epilogue: {:#010X} and {:#010X}", epilogue, ins.addr) + } + _ => self.epilogue = Some(ins.addr), + } + } + Ok(()) + } + + fn instruction_callback( + &mut self, + data: ExecCbData, + obj: &ObjInfo, + function_start: u32, + function_end: Option, + known_functions: &BTreeSet, + ) -> Result> { + let ExecCbData { executor, vm, result, section, ins, block_start } = data; + + // Track discovered prologue(s) and epilogue(s) + self.check_prologue(section, ins) + .with_context(|| format!("While processing {:#010X}", function_start))?; + self.check_epilogue(section, ins) + .with_context(|| format!("While processing {:#010X}", function_start))?; + if !self.has_conditional_blr && is_conditional_blr(&ins) { + self.has_conditional_blr = true; + } + if !self.has_rfi && ins.op == Opcode::Rfi { + self.has_rfi = true; + } + // If control flow hits a block we thought may be a tail call, + // we know it isn't. + if self.possible_blocks.contains(&ins.addr) { + self.possible_blocks.remove(&ins.addr); + } + + match result { + StepResult::Continue | StepResult::LoadStore { .. } => { + let next_address = ins.addr + 4; + // If we already visited the next address, connect the blocks and end + if executor.visited(section, next_address) { + self.blocks.insert(block_start, next_address); + self.branches.insert(ins.addr, vec![next_address]); + Ok(ExecCbResult::EndBlock) + } else { + Ok(ExecCbResult::Continue) + } + } + StepResult::Illegal => { + log::debug!("Illegal instruction @ {:#010X}", ins.addr); + Ok(ExecCbResult::End(false)) + } + StepResult::Jump(target) => match target { + BranchTarget::Unknown => { + // Likely end of function + let next_addr = ins.addr + 4; + self.blocks.insert(block_start, next_addr); + // If this function has a prologue but no epilogue, and this + // instruction is a bctr, we can assume it's an unrecovered + // jump table and continue analysis. + if self.prologue.is_some() && self.epilogue.is_none() { + log::debug!("Assuming unrecovered jump table {:#010X}", next_addr); + self.branches.insert(ins.addr, vec![next_addr]); + if self.add_block_start(next_addr) { + executor.push(next_addr, vm.clone_for_return(), true); + } + } + Ok(ExecCbResult::EndBlock) + } + BranchTarget::Return => { + self.blocks.insert(block_start, ins.addr + 4); + Ok(ExecCbResult::EndBlock) + } + BranchTarget::Address(addr) => { + // End of block + self.blocks.insert(block_start, ins.addr + 4); + self.branches.insert(ins.addr, vec![addr]); + if addr == ins.addr { + // pass + } else if addr >= function_start + && matches!(function_end, Some(known_end) if addr < known_end) + { + // If target is within known function bounds, jump + if self.add_block_start(addr) { + return Ok(ExecCbResult::Jump(addr)); + } + } else if matches!(obj.section_data(ins.addr, ins.addr + 4), Ok((_, data)) if data == [0u8; 4]) + { + // If this branch has 0'd padding after it, assume tail call. + self.function_references.insert(addr); + } else { + self.possible_blocks.insert(addr); + } + Ok(ExecCbResult::EndBlock) + } + BranchTarget::JumpTable { address, size } => { + // End of block + let next_address = ins.addr + 4; + self.blocks.insert(block_start, next_address); + + let (mut entries, size) = uniq_jump_table_entries( + obj, + address, + size, + ins.addr, + function_start, + function_end.unwrap_or_else(|| self.end()), + )?; + if entries.contains(&next_address) + && !entries.iter().any(|addr| known_functions.contains(addr)) + { + self.jump_table_references.insert(address, size); + let mut branches = vec![]; + for addr in entries { + branches.push(addr); + if self.add_block_start(addr) { + executor.push(addr, vm.clone_all(), true); + } + } + self.branches.insert(ins.addr, branches); + } else { + // If the table doesn't contain the next address, + // it could be a function jump table instead + self.possible_blocks.append(&mut entries); + } + Ok(ExecCbResult::EndBlock) + } + }, + StepResult::Branch(mut branches) => { + // End of block + self.blocks.insert(block_start, ins.addr + 4); + + let mut out_branches = vec![]; + for branch in branches { + match branch.target { + BranchTarget::Unknown | BranchTarget::Return => { + continue; + } + BranchTarget::Address(addr) => { + if branch.link || known_functions.contains(&addr) { + self.function_references.insert(addr); + } else { + out_branches.push(addr); + if self.add_block_start(addr) { + executor.push(addr, branch.vm, true); + } + } + } + BranchTarget::JumpTable { .. } => { + bail!("Conditional jump table unsupported @ {:#010X}", ins.addr); + } + } + } + if !out_branches.is_empty() { + self.branches.insert(ins.addr, out_branches); + } + Ok(ExecCbResult::EndBlock) + } + } + } + + pub fn analyze( + &mut self, + obj: &ObjInfo, + start: u32, + function_start: u32, + function_end: Option, + known_functions: &BTreeSet, + ) -> Result { + if !self.add_block_start(start) { + return Ok(true); + } + + let mut executor = Executor::new(obj); + executor.push(start, VM::new_from_obj(obj), false); + let result = executor.run(obj, |data| { + self.instruction_callback(data, obj, function_start, function_end, known_functions) + })?; + if matches!(result, Some(b) if !b) { + return Ok(false); + } + + // Visit unreachable blocks + while let Some((first, _)) = self.first_disconnected_block() { + executor.push(first.end, VM::new_from_obj(obj), true); + let result = executor.run(obj, |data| { + self.instruction_callback(data, obj, function_start, function_end, known_functions) + })?; + if matches!(result, Some(b) if !b) { + return Ok(false); + } + } + + // Visit trailing blocks + if let Some(known_end) = function_end { + while self.end() < known_end { + executor.push(self.end(), VM::new_from_obj(obj), true); + let result = executor.run(obj, |data| { + self.instruction_callback( + data, + obj, + function_start, + function_end, + known_functions, + ) + })?; + if matches!(result, Some(b) if !b) { + return Ok(false); + } + } + } + + // Sanity check + for (&start, &end) in &self.blocks { + ensure!(end != 0, "Failed to finalize block @ {start:#010X}"); + } + + Ok(true) + } + + pub fn can_finalize(&self) -> bool { self.possible_blocks.is_empty() } + + pub fn finalize(&mut self, obj: &ObjInfo, known_functions: &BTreeSet) -> Result<()> { + ensure!(!self.finalized, "Already finalized"); + ensure!(self.can_finalize(), "Can't finalize"); + + match (self.prologue, self.epilogue) { + (Some(p), Some(e)) => { + // log::info!("Prologue/epilogue pair: {:#010X} - {:#010X}", p, e); + } + (Some(p), None) => { + // log::info!("{:#010X?}", self); + // bail!("Unpaired prologue {:#010X}", p); + } + (None, Some(e)) => { + log::info!("{:#010X?}", self); + bail!("Unpaired epilogue {:#010X}", e); + } + (None, None) => {} + } + + let end = self.end(); + if let Ok(section) = obj.section_at(end) { + // FIXME this is real bad + if !self.has_conditional_blr { + if let Some(ins) = disassemble(§ion, end - 4) { + if ins.op == Opcode::B { + if self.function_references.contains(&ins.branch_dest().unwrap()) { + for (_, branches) in &self.branches { + if branches.len() > 1 + && branches.contains(self.blocks.last_key_value().unwrap().0) + { + self.has_conditional_blr = true; + } + } + } + } + } + } + + // MWCC optimization sometimes leaves an unreachable blr + // after generating a conditional blr in the function. + if self.has_conditional_blr { + if matches!(disassemble(§ion, end - 4), Some(ins) if !ins.is_blr()) + && matches!(disassemble(§ion, end), Some(ins) if ins.is_blr()) + && !known_functions.contains(&end) + { + log::trace!("Found trailing blr @ {:#010X}, merging with function", end); + self.blocks.insert(end, end + 4); + } + } + + // Some functions with rfi also include a trailing nop + if self.has_rfi { + if matches!(disassemble(§ion, end), Some(ins) if is_nop(&ins)) + && !known_functions.contains(&end) + { + log::trace!("Found trailing nop @ {:#010X}, merging with function", end); + self.blocks.insert(end, end + 4); + } + } + } + + self.finalized = true; + + Ok(()) + } + + pub fn check_tail_call( + &mut self, + obj: &ObjInfo, + addr: u32, + function_start: u32, + function_end: u32, + known_functions: &BTreeSet, + ) -> TailCallResult { + // log::info!("Determing if {:#010X} is a tail call", addr); + // If jump target is already a known block or within known function bounds, not a tail call. + if self.blocks.contains_key(&addr) || (addr >= function_start && addr < function_end) { + return TailCallResult::Not; + } + // If there's a prologue in the current function, not a tail call. + if self.prologue.is_some() { + return TailCallResult::Not; + } + // If jump target is before the start of the function, known tail call. + if addr < function_start { + return TailCallResult::Is; + } + // If the jump target has 0'd padding before it, known tail call. + if matches!(obj.section_data(addr - 4, addr), Ok((_, data)) if data == [0u8; 4]) { + return TailCallResult::Is; + } + // If we're not sure where the function ends yet, mark as possible tail call. + // let end = self.end(); + if function_end == 0 { + return TailCallResult::Possible; + } + // If jump target is known to be a function, or there's a function in between + // this and the jump target, known tail call. + log::trace!("Checking {:#010X}..={:#010X}", function_start + 4, addr); + if self.function_references.range(function_start + 4..=addr).next().is_some() + || known_functions.range(function_start + 4..=addr).next().is_some() + { + return TailCallResult::Is; + } + // Perform CFA on jump target to determine more + let mut slices = FunctionSlices::default(); + slices.function_references = self.function_references.clone(); + if let Ok(result) = + slices.analyze(obj, addr, function_start, Some(function_end), known_functions) + { + // If analysis failed, assume tail call. + if !result { + log::warn!("Tail call analysis failed for {:#010X}", addr); + return TailCallResult::Is; + } + // If control flow jumps below the entry point, not a tail call. + let start = slices.start(); + if start < addr { + log::trace!("Tail call possibility eliminated: {:#010X} < {:#010X}", start, addr); + return TailCallResult::Not; + } + // If control flow includes another possible tail call, we know both are not tail calls. + let end = slices.end(); + let other_blocks = + self.possible_blocks.range(start + 4..end).cloned().collect::>(); + if !other_blocks.is_empty() { + for other_addr in other_blocks { + log::trace!("Logically eliminating {:#010X}", other_addr); + self.possible_blocks.remove(&other_addr); + // self.add_block_start(oth); + } + log::trace!("While analyzing {:#010X}", addr); + return TailCallResult::Not; + } + // If we discovered a function prologue, known tail call. + if slices.prologue.is_some() { + log::trace!("Prologue discovered; known tail call: {:#010X}", addr); + return TailCallResult::Is; + } + } + TailCallResult::Possible + } + + pub fn first_disconnected_block(&self) -> Option<(BlockRange, BlockRange)> { + let mut iter = self.blocks.iter().peekable(); + loop { + let ((first_begin, first_end), (second_begin, second_end)) = + match (iter.next(), iter.peek()) { + (Some((&b1s, &b1e)), Some(&(&b2s, &b2e))) => ((b1s, b1e), (b2s, b2e)), + _ => break None, + }; + if second_begin > first_end { + break Some((first_begin..first_end, second_begin..second_end)); + } + } + } +} + +#[inline] +fn is_conditional_blr(ins: &Ins) -> bool { + ins.op == Opcode::Bclr && ins.field_BO() & 0b10100 != 0b10100 +} + +#[inline] +fn is_nop(ins: &Ins) -> bool { + // ori r0, r0, 0 + ins.code == 0x60000000 +} diff --git a/src/util/split.rs b/src/util/split.rs index 1a1db0e..b5d96ef 100644 --- a/src/util/split.rs +++ b/src/util/split.rs @@ -1,6 +1,6 @@ use std::{cmp::min, collections::HashMap}; -use anyhow::{Error, Result}; +use anyhow::{anyhow, bail, ensure, Result}; use crate::util::obj::{ ObjArchitecture, ObjInfo, ObjKind, ObjReloc, ObjSection, ObjSectionKind, ObjSymbol, @@ -8,9 +8,7 @@ use crate::util::obj::{ /// Split an executable object into relocatable objects. pub fn split_obj(obj: &ObjInfo) -> Result> { - if obj.kind != ObjKind::Executable { - return Err(Error::msg(format!("Expected executable object, got {:?}", obj.kind))); - } + ensure!(obj.kind == ObjKind::Executable, "Expected executable object"); let mut objects: Vec = vec![]; let mut object_symbols: Vec>> = vec![]; @@ -19,12 +17,15 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { name_to_obj.insert(unit.clone(), objects.len()); object_symbols.push(vec![None; obj.symbols.len()]); objects.push(ObjInfo { + module_id: 0, kind: ObjKind::Relocatable, architecture: ObjArchitecture::PowerPc, name: unit.clone(), symbols: vec![], sections: vec![], entry: 0, + sda2_base: None, + sda_base: None, stack_address: None, stack_end: None, db_stack_addr: None, @@ -32,6 +33,8 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { arena_hi: None, splits: Default::default(), link_order: vec![], + known_functions: Default::default(), + unresolved_relocations: vec![], }); } @@ -58,14 +61,16 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { let (file_addr, unit) = match file_iter.next() { Some((&addr, unit)) => (addr, unit), - None => return Err(Error::msg("No file found")), + None => bail!("No file found"), }; - if file_addr > current_address { - return Err(Error::msg(format!( - "Gap in files: {} @ {:#010X}, {} @ {:#010X}", - section.name, section.address, unit, file_addr - ))); - } + ensure!( + file_addr <= current_address, + "Gap in files: {} @ {:#010X}, {} @ {:#010X}", + section.name, + section.address, + unit, + file_addr + ); let mut file_end = section_end; if let Some(&(&next_addr, _)) = file_iter.peek() { file_end = min(next_addr, section_end); @@ -74,17 +79,11 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { let file = name_to_obj .get(unit) .and_then(|&idx| objects.get_mut(idx)) - .ok_or_else(|| Error::msg(format!("Unit '{unit}' not in link order")))?; + .ok_or_else(|| anyhow!("Unit '{unit}' not in link order"))?; let symbol_idxs = name_to_obj .get(unit) .and_then(|&idx| object_symbols.get_mut(idx)) - .ok_or_else(|| Error::msg(format!("Unit '{unit}' not in link order")))?; - let data = match section.kind { - ObjSectionKind::Bss => vec![], - _ => section.data[(current_address as u64 - section.address) as usize - ..(file_end as u64 - section.address) as usize] - .to_vec(), - }; + .ok_or_else(|| anyhow!("Unit '{unit}' not in link order"))?; // Calculate & verify section alignment let mut align = default_section_align(section); @@ -96,14 +95,20 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { align, current_address ); - align = 4; - } - if current_address & (align as u32 - 1) != 0 { - return Err(Error::msg(format!( - "Invalid alignment for split: {} {} {:#010X}", - unit, section.name, current_address - ))); + while align > 4 { + align /= 2; + if current_address & (align as u32 - 1) == 0 { + break; + } + } } + ensure!( + current_address & (align as u32 - 1) == 0, + "Invalid alignment for split: {} {} {:#010X}", + unit, + section.name, + current_address + ); // Collect relocations; target_symbol will be updated later let out_relocations = relocations @@ -116,21 +121,8 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { }) .collect(); - let out_section_idx = file.sections.len(); - file.sections.push(ObjSection { - name: section.name.clone(), - kind: section.kind, - address: 0, - size: file_end as u64 - current_address as u64, - data, - align, - index: out_section_idx, - relocations: out_relocations, - original_address: current_address as u64, - file_offset: section.file_offset + (current_address as u64 - section.address), - }); - // Add section symbols + let out_section_idx = file.sections.len(); for &symbol_idx in symbols.range(current_address..file_end).flat_map(|(_, vec)| vec) { if symbol_idxs[symbol_idx].is_some() { continue; // should never happen? @@ -149,6 +141,27 @@ pub fn split_obj(obj: &ObjInfo) -> Result> { }); } + let data = match section.kind { + ObjSectionKind::Bss => vec![], + _ => section.data[(current_address as u64 - section.address) as usize + ..(file_end as u64 - section.address) as usize] + .to_vec(), + }; + file.sections.push(ObjSection { + name: section.name.clone(), + kind: section.kind, + address: 0, + size: file_end as u64 - current_address as u64, + data, + align, + index: out_section_idx, + elf_index: out_section_idx + 1, + relocations: out_relocations, + original_address: current_address as u64, + file_offset: section.file_offset + (current_address as u64 - section.address), + section_known: true, + }); + current_address = file_end; } } diff --git a/src/util/tracker.rs b/src/util/tracker.rs new file mode 100644 index 0000000..d24044e --- /dev/null +++ b/src/util/tracker.rs @@ -0,0 +1,733 @@ +use std::{ + collections::{BTreeMap, BTreeSet, VecDeque}, + mem::take, +}; + +use anyhow::{bail, Result}; +use ppc750cl::{disasm_iter, Argument, Ins, Opcode}; + +use crate::util::{ + executor::{uniq_jump_table_entries, ExecCbData, ExecCbResult, Executor}, + obj::{ + nested_push, ObjInfo, ObjReloc, ObjRelocKind, ObjSection, ObjSectionKind, ObjSymbol, + ObjSymbolKind, + }, + slices::FunctionSlices, + vm::{is_store_op, BranchTarget, GprValue, StepResult, VM}, +}; + +#[derive(Debug, Eq, PartialEq)] +pub enum Label { + Local, + Global, + Data, + JumpTable, + VTable, +} + +#[derive(Debug, Copy, Clone)] +pub enum Relocation { + Ha(u32), + Hi(u32), + Lo(u32), + Sda21(u32), + Rel14(u32), + Rel24(u32), + Absolute(u32), +} + +#[derive(Debug)] +pub enum DataKind { + Unknown = -1, + Word, + Half, + Byte, + Float, + Double, + String, + String16, +} + +pub struct Tracker { + processed_functions: BTreeSet, + sda2_base: u32, // r2 + sda_base: u32, // r13 + labels: BTreeMap, + pub relocations: BTreeMap, + data_types: BTreeMap, + stack_address: Option, + stack_end: Option, + db_stack_addr: Option, + arena_lo: Option, + arena_hi: Option, + pub ignore_addresses: BTreeSet, + pub known_relocations: BTreeSet, + + stores_to: BTreeSet, // for determining data vs rodata, sdata(2)/sbss(2) + sda_to: BTreeSet, // for determining data vs sdata + hal_to: BTreeSet, // for determining data vs sdata +} + +impl Tracker { + pub fn new(obj: &ObjInfo) -> Tracker { + Self { + processed_functions: Default::default(), + sda2_base: obj.sda2_base.unwrap(), + sda_base: obj.sda_base.unwrap(), + labels: Default::default(), + relocations: Default::default(), + data_types: Default::default(), + stack_address: obj.stack_address, + stack_end: obj.stack_end.or_else(|| { + // Stack ends after all BSS sections + obj.sections + .iter() + .rfind(|s| s.kind == ObjSectionKind::Bss) + .map(|s| (s.address + s.size) as u32) + }), + db_stack_addr: obj.db_stack_addr, + arena_lo: obj + .arena_lo + .or_else(|| obj.db_stack_addr.map(|db_stack_addr| (db_stack_addr + 0x1F) & !0x1F)), + arena_hi: Some(obj.arena_hi.unwrap_or(0x81700000)), + ignore_addresses: Default::default(), + known_relocations: Default::default(), + stores_to: Default::default(), + sda_to: Default::default(), + hal_to: Default::default(), + } + } + + pub fn process(&mut self, obj: &ObjInfo) -> Result<()> { + log::debug!("Processing code sections"); + self.process_code(obj)?; + for (section_index, section) in obj.sections.iter().enumerate() { + if matches!(section.kind, ObjSectionKind::Data | ObjSectionKind::ReadOnlyData) { + log::debug!("Processing section {}, address {:#X}", section.index, section.address); + self.process_data(obj, section)?; + } + } + Ok(()) + } + + fn update_stack_address(&mut self, addr: u32) { + if let Some(db_stack_addr) = self.db_stack_addr { + if db_stack_addr == addr { + return; + } + } + if let Some(stack_addr) = self.stack_address { + if stack_addr != addr { + log::error!("Stack address overridden from {:#010X} to {:#010X}", stack_addr, addr); + return; + } + } + log::debug!("Located stack address: {:08X}", addr); + self.stack_address = Some(addr); + let db_stack_addr = addr + 0x2000; + self.db_stack_addr = Some(db_stack_addr); + self.arena_lo = Some((db_stack_addr + 0x1F) & !0x1F); + // __ArenaHi is fixed (until it isn't?) + self.arena_hi = Some(0x81700000); + log::debug!("_stack_addr: {:#010X}", addr); + log::debug!("_stack_end: {:#010X}", self.stack_end.unwrap()); + log::debug!("_db_stack_addr: {:#010X}", db_stack_addr); + log::debug!("__ArenaLo: {:#010X}", self.arena_lo.unwrap()); + log::debug!("__ArenaHi: {:#010X}", self.arena_hi.unwrap()); + } + + fn process_code(&mut self, obj: &ObjInfo) -> Result<()> { + let mut symbol_map = BTreeMap::new(); + for section in obj.sections.iter().filter(|s| s.kind == ObjSectionKind::Code) { + symbol_map.append(&mut obj.build_symbol_map(section.index)?); + } + self.process_function_by_address(obj, &symbol_map, obj.entry as u32)?; + 'outer: for (&addr, symbols) in &symbol_map { + if self.processed_functions.contains(&addr) { + continue; + } + self.processed_functions.insert(addr); + for &symbol_idx in symbols { + let symbol = &obj.symbols[symbol_idx]; + if symbol.kind == ObjSymbolKind::Function && symbol.size_known { + self.process_function(obj, symbol)?; + continue 'outer; + } + } + } + // Special handling for gTRKInterruptVectorTable + if let (Some(trk_interrupt_table), Some(trk_interrupt_vector_table_end)) = ( + obj.symbols.iter().find(|sym| sym.name == "gTRKInterruptVectorTable"), + obj.symbols.iter().find(|sym| sym.name == "gTRKInterruptVectorTableEnd"), + ) {} + Ok(()) + } + + fn process_function_by_address( + &mut self, + obj: &ObjInfo, + symbol_map: &BTreeMap>, + addr: u32, + ) -> Result<()> { + if self.processed_functions.contains(&addr) { + return Ok(()); + } + self.processed_functions.insert(addr); + if let Some(symbols) = symbol_map.get(&addr) { + for &symbol_idx in symbols { + let symbol = &obj.symbols[symbol_idx]; + if symbol.kind == ObjSymbolKind::Function && symbol.size_known { + self.process_function(obj, symbol)?; + return Ok(()); + } + } + } + log::warn!("Failed to locate function symbol @ {:#010X}", addr); + Ok(()) + } + + fn instruction_callback( + &mut self, + data: ExecCbData, + obj: &ObjInfo, + function_start: u32, + function_end: u32, + possible_missed_branches: &mut BTreeMap>, + ) -> Result> { + let ExecCbData { executor, vm, result, section, ins, block_start } = data; + let is_function_addr = |addr: u32| addr >= function_start && addr < function_end; + + match result { + StepResult::Continue => { + // if ins.addr == 0x8000ed0c || ins.addr == 0x8000ed08 || ins.addr == 0x8000ca50 { + // println!("ok"); + // } + match ins.op { + Opcode::Addi | Opcode::Addic | Opcode::Addic_ => { + // addi rD, rA, SIMM + let source = ins.field_rA(); + let target = ins.field_rD(); + if let GprValue::Constant(value) = vm.gpr[target].value { + if self.is_valid_address(obj, ins.addr, value) { + if (source == 2 + && vm.gpr[2].value == GprValue::Constant(self.sda2_base)) + || (source == 13 + && vm.gpr[13].value == GprValue::Constant(self.sda_base)) + { + self.relocations.insert(ins.addr, Relocation::Sda21(value)); + self.sda_to.insert(value); + } else if let (Some(hi_addr), Some(lo_addr)) = + (vm.gpr[target].hi_addr, vm.gpr[target].lo_addr) + { + let hi_reloc = self.relocations.get(&hi_addr.get()).cloned(); + if hi_reloc.is_none() { + self.relocations + .insert(hi_addr.get(), Relocation::Ha(value)); + } + let lo_reloc = self.relocations.get(&lo_addr.get()).cloned(); + if lo_reloc.is_none() { + self.relocations + .insert(lo_addr.get(), Relocation::Lo(value)); + } + self.hal_to.insert(value); + } + } + } + } + Opcode::Ori => { + // ori rA, rS, UIMM + let source = ins.field_rS(); + let target = ins.field_rA(); + if let GprValue::Constant(value) = vm.gpr[target].value { + // if target == 1 { + // log::debug!("Stack address written from {:#010X}", ins.addr); + // self.update_stack_address(value); + // } + if self.is_valid_address(obj, ins.addr, value) { + if let (Some(hi_addr), Some(lo_addr)) = + (vm.gpr[target].hi_addr, vm.gpr[target].lo_addr) + { + let hi_reloc = self.relocations.get(&hi_addr.get()).cloned(); + if hi_reloc.is_none() { + self.relocations + .insert(hi_addr.get(), Relocation::Hi(value)); + } + let lo_reloc = self.relocations.get(&lo_addr.get()).cloned(); + if lo_reloc.is_none() { + self.relocations + .insert(lo_addr.get(), Relocation::Lo(value)); + } + self.hal_to.insert(value); + } + } + } + } + _ => {} + } + Ok(ExecCbResult::Continue) + } + StepResult::LoadStore { address, source, source_reg } => { + if self.is_valid_address(obj, ins.addr, address) { + if (source_reg == 2 && source.value == GprValue::Constant(self.sda2_base)) + || (source_reg == 13 && source.value == GprValue::Constant(self.sda_base)) + { + self.relocations.insert(ins.addr, Relocation::Sda21(address)); + self.sda_to.insert(address); + } else { + match (source.hi_addr, source.lo_addr) { + (Some(hi_addr), None) => { + let hi_reloc = self.relocations.get(&hi_addr.get()).cloned(); + if hi_reloc.is_none() { + self.relocations.insert(hi_addr.get(), Relocation::Ha(address)); + } + if hi_reloc.is_none() + || matches!(hi_reloc, Some(Relocation::Ha(v)) if v == address) + { + self.relocations.insert(ins.addr, Relocation::Lo(address)); + } + self.hal_to.insert(address); + } + (Some(hi_addr), Some(lo_addr)) => { + let hi_reloc = self.relocations.get(&hi_addr.get()).cloned(); + if hi_reloc.is_none() { + self.relocations.insert(hi_addr.get(), Relocation::Ha(address)); + } + let lo_reloc = self.relocations.get(&lo_addr.get()).cloned(); + if lo_reloc.is_none() { + self.relocations.insert(lo_addr.get(), Relocation::Lo(address)); + } + self.hal_to.insert(address); + } + _ => {} + } + } + self.data_types.insert(address, data_kind_from_op(ins.op)); + if is_store_op(ins.op) { + self.stores_to.insert(address); + } + } + Ok(ExecCbResult::Continue) + } + StepResult::Illegal => bail!( + "Illegal instruction hit @ {:#010X} (function {:#010X}-{:#010X})", + ins.addr, + function_start, + function_end + ), + StepResult::Jump(target) => match target { + BranchTarget::Unknown | BranchTarget::Return => Ok(ExecCbResult::EndBlock), + BranchTarget::Address(addr) => { + let next_addr = ins.addr + 4; + if next_addr < function_end { + possible_missed_branches.insert(ins.addr + 4, vm.clone_all()); + } + if is_function_addr(addr) { + Ok(ExecCbResult::Jump(addr)) + } else { + self.relocations.insert(ins.addr, Relocation::Rel24(addr)); + Ok(ExecCbResult::EndBlock) + } + } + BranchTarget::JumpTable { address, size } => { + let (entries, _) = uniq_jump_table_entries( + obj, + address, + size, + ins.addr, + function_start, + function_end, + )?; + for target in entries { + if is_function_addr(target) { + executor.push(target, vm.clone_all(), true); + } + } + Ok(ExecCbResult::EndBlock) + } + }, + StepResult::Branch(branches) => { + for branch in branches { + match branch.target { + BranchTarget::Unknown | BranchTarget::Return => {} + BranchTarget::Address(addr) => { + if branch.link || !is_function_addr(addr) { + self.relocations.insert(ins.addr, match ins.op { + Opcode::B => Relocation::Rel24(addr), + _ => Relocation::Rel14(addr), + }); + } else if is_function_addr(addr) { + executor.push(addr, branch.vm, true); + } + } + BranchTarget::JumpTable { .. } => { + bail!("Conditional jump table unsupported @ {:#010X}", ins.addr) + } + } + } + Ok(ExecCbResult::EndBlock) + } + } + } + + pub fn process_function(&mut self, obj: &ObjInfo, symbol: &ObjSymbol) -> Result<()> { + let function_start = symbol.address as u32; + let function_end = (symbol.address + symbol.size) as u32; + + // The compiler can sometimes create impossible-to-reach branches, + // but we still want to track them. + let mut possible_missed_branches = BTreeMap::new(); + + let mut executor = Executor::new(obj); + executor.push( + symbol.address as u32, + VM::new_with_base(self.sda2_base, self.sda_base), + false, + ); + loop { + executor.run(obj, |data| -> Result> { + self.instruction_callback( + data, + obj, + function_start, + function_end, + &mut possible_missed_branches, + ) + })?; + + if possible_missed_branches.is_empty() { + break; + } + let mut added = false; + for (addr, vm) in take(&mut possible_missed_branches) { + let section = match obj.section_at(addr) { + Ok(section) => section, + Err(_) => continue, + }; + if !executor.visited(section, addr) { + executor.push(addr, vm, true); + added = true; + } + } + if !added { + break; + } + } + Ok(()) + } + + fn process_data(&mut self, obj: &ObjInfo, section: &ObjSection) -> Result<()> { + let mut addr = section.address as u32; + for chunk in section.data.chunks_exact(4) { + let value = u32::from_be_bytes(chunk.try_into()?); + if self.is_valid_address(obj, addr, value) { + self.relocations.insert(addr, Relocation::Absolute(value)); + } + addr += 4; + } + Ok(()) + } + + fn is_valid_address(&self, obj: &ObjInfo, from: u32, addr: u32) -> bool { + if self.ignore_addresses.contains(&addr) { + return false; + } + if self.known_relocations.contains(&from) { + return true; + } + if self.stack_address == Some(addr) + || self.stack_end == Some(addr) + || self.db_stack_addr == Some(addr) + || self.arena_lo == Some(addr) + || self.arena_hi == Some(addr) + || self.sda2_base == addr + || self.sda_base == addr + { + return true; + } + if addr > 0x80000000 && addr < 0x80003100 { + return true; + } + for section in &obj.sections { + if addr >= section.address as u32 && addr <= (section.address + section.size) as u32 { + return true; + } + } + false + } + + fn special_symbol(&self, obj: &mut ObjInfo, addr: u32) -> Option { + let mut check_symbol = |opt: Option, name: &str| -> Option { + if let Some(value) = opt { + if addr == value { + return Some(generate_special_symbol(obj, value, name)); + } + } + None + }; + check_symbol(self.stack_address, "_stack_addr") + .or_else(|| check_symbol(self.stack_end, "_stack_end")) + .or_else(|| check_symbol(self.arena_lo, "__ArenaLo")) + .or_else(|| check_symbol(self.arena_hi, "__ArenaHi")) + .or_else(|| check_symbol(self.db_stack_addr, "_db_stack_addr")) + .or_else(|| check_symbol(Some(self.sda2_base), "_SDA2_BASE_")) + .or_else(|| check_symbol(Some(self.sda_base), "_SDA_BASE_")) + } + + pub fn apply(&self, obj: &mut ObjInfo, replace: bool) -> Result<()> { + for section in &mut obj.sections { + if !section.section_known { + if section.kind == ObjSectionKind::Code { + log::info!("Renaming {} to .text", section.name); + section.name = ".text".to_string(); + continue; + } + let start = section.address as u32; + let end = (section.address + section.size) as u32; + if self.sda_to.range(start..end).next().is_some() { + if self.stores_to.range(start..end).next().is_some() { + if section.kind == ObjSectionKind::Bss { + log::info!("Renaming {} to .sbss", section.name); + section.name = ".sbss".to_string(); + } else { + log::info!("Renaming {} to .sdata", section.name); + section.name = ".sdata".to_string(); + } + } else if section.kind == ObjSectionKind::Bss { + log::info!("Renaming {} to .sbss2", section.name); + section.name = ".sbss2".to_string(); + } else { + log::info!("Renaming {} to .sdata2", section.name); + section.name = ".sdata2".to_string(); + section.kind = ObjSectionKind::ReadOnlyData; + } + } else if self.hal_to.range(start..end).next().is_some() { + if section.kind == ObjSectionKind::Bss { + log::info!("Renaming {} to .bss", section.name); + section.name = ".bss".to_string(); + } else if self.stores_to.range(start..end).next().is_some() { + log::info!("Renaming {} to .data", section.name); + section.name = ".data".to_string(); + } else { + log::info!("Renaming {} to .rodata", section.name); + section.name = ".rodata".to_string(); + section.kind = ObjSectionKind::ReadOnlyData; + } + } + } + } + + let mut symbol_maps = Vec::new(); + for section in &obj.sections { + symbol_maps.push(obj.build_symbol_map(section.index)?); + } + + for (addr, reloc) in &self.relocations { + let addr = *addr; + let (reloc_kind, target) = match *reloc { + Relocation::Ha(v) => (ObjRelocKind::PpcAddr16Ha, v), + Relocation::Hi(v) => (ObjRelocKind::PpcAddr16Hi, v), + Relocation::Lo(v) => (ObjRelocKind::PpcAddr16Lo, v), + Relocation::Sda21(v) => (ObjRelocKind::PpcEmbSda21, v), + Relocation::Rel14(v) => (ObjRelocKind::PpcRel14, v), + Relocation::Rel24(v) => (ObjRelocKind::PpcRel24, v), + Relocation::Absolute(v) => (ObjRelocKind::Absolute, v), + }; + let (target_symbol, addend) = if let Some(symbol) = self.special_symbol(obj, target) { + (symbol, 0) + } else { + let target_section = + match obj.sections.iter().find(|s| { + target >= s.address as u32 && target < (s.address + s.size) as u32 + }) { + Some(v) => v, + None => continue, + }; + // Try to find a previous sized symbol that encompasses the target + let sym_map = &mut symbol_maps[target_section.index]; + let target_symbol = { + let mut result = None; + for (&addr, symbol_idxs) in sym_map.range(..=target).rev() { + let symbol_idx = if symbol_idxs.len() == 1 { + symbol_idxs.first().cloned().unwrap() + } else { + let mut symbol_idxs = symbol_idxs.clone(); + symbol_idxs.sort_by_key(|&symbol_idx| { + let symbol = &obj.symbols[symbol_idx]; + let mut rank = match symbol.kind { + ObjSymbolKind::Function | ObjSymbolKind::Object => { + match reloc_kind { + ObjRelocKind::PpcAddr16Hi + | ObjRelocKind::PpcAddr16Ha + | ObjRelocKind::PpcAddr16Lo => 1, + ObjRelocKind::Absolute + | ObjRelocKind::PpcRel24 + | ObjRelocKind::PpcRel14 + | ObjRelocKind::PpcEmbSda21 => 2, + } + } + // Label + ObjSymbolKind::Unknown => match reloc_kind { + ObjRelocKind::PpcAddr16Hi + | ObjRelocKind::PpcAddr16Ha + | ObjRelocKind::PpcAddr16Lo + if !symbol.name.starts_with("..") => + { + 3 + } + _ => 1, + }, + ObjSymbolKind::Section => -1, + }; + if symbol.size > 0 { + rank += 1; + } + -rank + }); + match symbol_idxs.first().cloned() { + Some(v) => v, + None => continue, + } + }; + let symbol = &obj.symbols[symbol_idx]; + if symbol.address == target as u64 { + result = Some(symbol_idx); + break; + } + if symbol.size > 0 { + if symbol.address + symbol.size > target as u64 { + result = Some(symbol_idx); + } + break; + } + } + result + }; + if let Some(symbol_idx) = target_symbol { + let symbol = &obj.symbols[symbol_idx]; + (symbol_idx, target as i64 - symbol.address as i64) + } else { + // Create a new label + let symbol_idx = obj.symbols.len(); + obj.symbols.push(ObjSymbol { + name: format!("lbl_{:08X}", target), + demangled_name: None, + address: target as u64, + section: Some(target_section.index), + size: 0, + size_known: false, + flags: Default::default(), + kind: Default::default(), + }); + nested_push(sym_map, target, symbol_idx); + (symbol_idx, 0) + } + }; + let reloc = ObjReloc { kind: reloc_kind, address: addr as u64, target_symbol, addend }; + let section = match obj + .sections + .iter_mut() + .find(|s| addr >= s.address as u32 && addr < (s.address + s.size) as u32) + { + Some(v) => v, + None => bail!( + "Failed to locate source section for relocation @ {:#010X} {:#010X?}", + addr, + reloc + ), + }; + match section.relocations.iter_mut().find(|r| r.address as u32 == addr) { + Some(v) => { + let iter_symbol = &obj.symbols[v.target_symbol]; + let reloc_symbol = &obj.symbols[reloc.target_symbol]; + if iter_symbol.address as i64 + v.addend + != reloc_symbol.address as i64 + reloc.addend + { + bail!( + "Conflicting relocations (target {:#010X}): {:#010X?} != {:#010X?}", + target, + v, + reloc + ); + } + if replace { + *v = reloc; + } + } + None => section.relocations.push(reloc), + } + } + Ok(()) + } +} + +fn is_branch_with_link(ins: &Ins) -> bool { ins.is_branch() && ins.field_LK() } + +fn data_kind_from_op(op: Opcode) -> DataKind { + match op { + Opcode::Lbz => DataKind::Byte, + Opcode::Lbzu => DataKind::Byte, + Opcode::Lbzux => DataKind::Byte, + Opcode::Lbzx => DataKind::Byte, + Opcode::Lfd => DataKind::Double, + Opcode::Lfdu => DataKind::Double, + Opcode::Lfdux => DataKind::Double, + Opcode::Lfdx => DataKind::Double, + Opcode::Lfs => DataKind::Float, + Opcode::Lfsu => DataKind::Float, + Opcode::Lfsux => DataKind::Float, + Opcode::Lfsx => DataKind::Float, + Opcode::Lha => DataKind::Half, + Opcode::Lhau => DataKind::Half, + Opcode::Lhaux => DataKind::Half, + Opcode::Lhax => DataKind::Half, + Opcode::Lhbrx => DataKind::Half, + Opcode::Lhz => DataKind::Half, + Opcode::Lhzu => DataKind::Half, + Opcode::Lhzux => DataKind::Half, + Opcode::Lhzx => DataKind::Half, + Opcode::Lwz => DataKind::Word, + Opcode::Lwzu => DataKind::Word, + Opcode::Lwzux => DataKind::Word, + Opcode::Lwzx => DataKind::Word, + Opcode::Stb => DataKind::Byte, + Opcode::Stbu => DataKind::Byte, + Opcode::Stbux => DataKind::Byte, + Opcode::Stbx => DataKind::Byte, + Opcode::Stfd => DataKind::Double, + Opcode::Stfdu => DataKind::Double, + Opcode::Stfdux => DataKind::Double, + Opcode::Stfdx => DataKind::Double, + Opcode::Stfiwx => DataKind::Float, + Opcode::Stfs => DataKind::Float, + Opcode::Stfsu => DataKind::Float, + Opcode::Stfsux => DataKind::Float, + Opcode::Stfsx => DataKind::Float, + Opcode::Sth => DataKind::Half, + Opcode::Sthbrx => DataKind::Half, + Opcode::Sthu => DataKind::Half, + Opcode::Sthux => DataKind::Half, + Opcode::Sthx => DataKind::Half, + Opcode::Stw => DataKind::Word, + Opcode::Stwbrx => DataKind::Word, + Opcode::Stwcx_ => DataKind::Word, + Opcode::Stwu => DataKind::Word, + Opcode::Stwux => DataKind::Word, + Opcode::Stwx => DataKind::Word, + _ => DataKind::Unknown, + } +} + +fn generate_special_symbol(obj: &mut ObjInfo, addr: u32, name: &str) -> usize { + if let Some((symbol_idx, _)) = + obj.symbols.iter().enumerate().find(|&(_, symbol)| symbol.name == name) + { + return symbol_idx; + } + let symbol_idx = obj.symbols.len(); + obj.symbols.push(ObjSymbol { + name: name.to_string(), + address: addr as u64, + ..Default::default() + }); + symbol_idx +} diff --git a/src/util/vm.rs b/src/util/vm.rs new file mode 100644 index 0000000..dbf6ba0 --- /dev/null +++ b/src/util/vm.rs @@ -0,0 +1,740 @@ +use std::num::NonZeroU32; + +use ppc750cl::{Argument, Ins, Opcode, GPR}; + +use crate::util::obj::ObjInfo; + +#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)] +pub enum GprValue { + #[default] + /// GPR value is unknown + Unknown, + /// GPR value is a constant + Constant(u32), + /// Comparison result (CR field) + ComparisonResult(u8), + /// GPR value is within a range + Range { min: u32, max: u32, step: u32 }, + /// GPR value is loaded from an address with a max offset (jump table) + LoadIndexed { address: u32, max_offset: Option }, +} + +#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)] +pub struct Gpr { + /// The current calculated value + pub value: GprValue, + /// Address that loads the hi part of this GPR + pub hi_addr: Option, + /// Address that loads the lo part of this GPR + pub lo_addr: Option, +} + +impl Gpr { + fn set_direct(&mut self, value: GprValue) { + self.value = value; + self.hi_addr = None; + self.lo_addr = None; + } + + fn set_hi(&mut self, value: GprValue, addr: u32) { + self.value = value; + self.hi_addr = NonZeroU32::new(addr); + self.lo_addr = None; + } + + fn set_lo(&mut self, value: GprValue, addr: u32, hi_gpr: Gpr) { + self.value = value; + self.hi_addr = hi_gpr.hi_addr; + self.lo_addr = hi_gpr.lo_addr.or_else(|| NonZeroU32::new(addr)); + } +} + +#[derive(Default, Debug, Clone, Eq, PartialEq)] +struct Cr { + /// The left-hand value of this comparison + left: GprValue, + /// The right-hand value of this comparison + right: GprValue, + /// Whether this comparison is signed + signed: bool, +} + +#[derive(Default, Debug, Clone, Eq, PartialEq)] +pub struct VM { + /// General purpose registers + pub gpr: [Gpr; 32], + /// Condition registers + cr: [Cr; 8], + /// Count register + ctr: GprValue, +} + +impl VM { + pub fn gpr_value(&self, reg: u8) -> GprValue { self.gpr[reg as usize].value } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum BranchTarget { + /// Unknown branch target (CTR without known value) + Unknown, + /// Branch to LR + Return, + /// Branch to address + Address(u32), + /// Branch to jump table + JumpTable { address: u32, size: Option }, +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub struct Branch { + /// Branch target + pub target: BranchTarget, + /// Branch with link + pub link: bool, + /// VM state for this branch + pub vm: Box, +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum StepResult { + /// Continue normally + Continue, + /// Load from / store to + LoadStore { address: u32, source: Gpr, source_reg: u8 }, + /// Hit illegal instruction + Illegal, + /// Jump without affecting VM state + Jump(BranchTarget), + /// Branch with split VM states + Branch(Vec), +} + +impl VM { + #[inline] + pub fn new() -> Box { Box::default() } + + #[inline] + pub fn new_from_obj(obj: &ObjInfo) -> Box { + match (obj.sda2_base, obj.sda_base) { + (Some(sda2_base), Some(sda_base)) => Self::new_with_base(sda2_base, sda_base), + _ => Self::new(), + } + } + + #[inline] + pub fn new_with_base(sda2_base: u32, sda_base: u32) -> Box { + let mut vm = Self::new(); + vm.gpr[2].value = GprValue::Constant(sda2_base); + vm.gpr[13].value = GprValue::Constant(sda_base); + vm + } + + /// When calling a function, only preserve SDA bases + #[inline] + pub fn clone_for_link(&self) -> Box { + let mut vm = Self::new(); + vm.gpr[2].value = self.gpr[2].value; + vm.gpr[13].value = self.gpr[13].value; + vm + } + + /// When returning from a function call, only dedicated + /// and nonvolatile registers are preserved + #[inline] + pub fn clone_for_return(&self) -> Box { + let mut vm = Self::new(); + // Dedicated registers + vm.gpr[1].value = self.gpr[1].value; + vm.gpr[2].value = self.gpr[2].value; + vm.gpr[13].value = self.gpr[13].value; + // Non-volatile registers + for i in 14..32 { + vm.gpr[i] = self.gpr[i]; + } + vm + } + + #[inline] + pub fn clone_all(&self) -> Box { Box::new(self.clone()) } + + pub fn step(&mut self, ins: &Ins) -> StepResult { + match ins.op { + Opcode::Illegal => { + return StepResult::Illegal; + } + Opcode::Add => { + // add rD, rA, rB + let left = self.gpr[ins.field_rA()].value; + let right = self.gpr[ins.field_rB()].value; + let value = match (left, right) { + (GprValue::Constant(left), GprValue::Constant(right)) => { + GprValue::Constant(left.wrapping_add(right)) + } + _ => GprValue::Unknown, + }; + self.gpr[ins.field_rD()].set_direct(value); + } + Opcode::Addis => { + // addis rD, rA, SIMM + let left = if ins.field_rA() == 0 { + GprValue::Constant(0) + } else { + self.gpr[ins.field_rA()].value + }; + let value = match left { + GprValue::Constant(value) => { + GprValue::Constant(value.wrapping_add((ins.field_simm() as u32) << 16)) + } + _ => GprValue::Unknown, + }; + if ins.field_rA() == 0 { + // lis rD, SIMM + self.gpr[ins.field_rD()].set_hi(value, ins.addr); + } else { + self.gpr[ins.field_rD()].set_direct(value); + } + } + Opcode::Addi | Opcode::Addic | Opcode::Addic_ => { + // addi rD, rA, SIMM + // addic rD, rA, SIMM + // addic. rD, rA, SIMM + let left = if ins.field_rA() == 0 && ins.op == Opcode::Addi { + GprValue::Constant(0) + } else { + self.gpr[ins.field_rA()].value + }; + let value = match left { + GprValue::Constant(value) => { + GprValue::Constant(value.wrapping_add(ins.field_simm() as u32)) + } + _ => GprValue::Unknown, + }; + if ins.field_rA() == 0 { + // li rD, SIMM + self.gpr[ins.field_rD()].set_direct(value); + } else { + self.gpr[ins.field_rD()].set_lo(value, ins.addr, self.gpr[ins.field_rA()]); + } + } + Opcode::Ori => { + // ori rA, rS, UIMM + let value = match self.gpr[ins.field_rS()].value { + GprValue::Constant(value) => { + GprValue::Constant(value | ins.field_uimm() as u32) + } + _ => GprValue::Unknown, + }; + self.gpr[ins.field_rA()].set_lo(value, ins.addr, self.gpr[ins.field_rS()]); + } + Opcode::Or => { + // or rA, rS, rB + if ins.field_rS() == ins.field_rB() { + // Register copy + self.gpr[ins.field_rA()] = self.gpr[ins.field_rS()]; + } else { + let left = self.gpr[ins.field_rS()].value; + let right = self.gpr[ins.field_rB()].value; + let value = match (left, right) { + (GprValue::Constant(left), GprValue::Constant(right)) => { + GprValue::Constant(left | right) + } + _ => GprValue::Unknown, + }; + self.gpr[ins.field_rA()].set_direct(value); + } + } + // cmp [crfD], [L], rA, rB + // cmpi [crfD], [L], rA, SIMM + // cmpl [crfD], [L], rA, rB + // cmpli [crfD], [L], rA, UIMM + Opcode::Cmp | Opcode::Cmpi | Opcode::Cmpl | Opcode::Cmpli => { + if ins.field_L() == 0 { + let left_reg = ins.field_rA(); + let left = self.gpr[left_reg].value; + let (right, signed) = match ins.op { + Opcode::Cmp => (self.gpr[ins.field_rB()].value, true), + Opcode::Cmpl => (self.gpr[ins.field_rB()].value, false), + Opcode::Cmpi => (GprValue::Constant(ins.field_simm() as u32), true), + Opcode::Cmpli => (GprValue::Constant(ins.field_uimm() as u32), false), + _ => unreachable!(), + }; + let crf = ins.field_crfD(); + self.cr[crf] = Cr { signed, left, right }; + self.gpr[left_reg].value = GprValue::ComparisonResult(crf as u8); + } + } + // rlwinm rA, rS, SH, MB, ME + // rlwnm rA, rS, rB, MB, ME + Opcode::Rlwinm | Opcode::Rlwnm => { + let value = if let Some(shift) = match ins.op { + Opcode::Rlwinm => Some(ins.field_SH() as u32), + Opcode::Rlwnm => match self.gpr[ins.field_rB()].value { + GprValue::Constant(value) => Some(value), + _ => None, + }, + _ => unreachable!(), + } { + let mask = mask_value(ins.field_MB() as u32, ins.field_ME() as u32); + match self.gpr[ins.field_rS()].value { + GprValue::Constant(value) => { + GprValue::Constant(value.rotate_left(shift) & mask) + } + GprValue::Range { min, max, step } => GprValue::Range { + min: min.rotate_left(shift) & mask, + max: max.rotate_left(shift) & mask, + step: step.rotate_left(shift), + }, + _ => GprValue::Range { min: 0, max: mask, step: 1u32.rotate_left(shift) }, + } + } else { + GprValue::Unknown + }; + self.gpr[ins.field_rA()].set_direct(value); + } + // b[l][a] target_addr + // b[c][l][a] BO, BI, target_addr + // b[c]ctr[l] BO, BI + // b[c]lr[l] BO, BI + Opcode::B | Opcode::Bc | Opcode::Bcctr | Opcode::Bclr => { + // HACK for `bla 0x60` in __OSDBJump + if ins.op == Opcode::B && ins.field_LK() && ins.field_AA() { + return StepResult::Jump(BranchTarget::Unknown); + } + + let branch_target = match ins.op { + Opcode::Bcctr => { + match self.ctr { + GprValue::Constant(value) => BranchTarget::Address(value), + GprValue::LoadIndexed { address, max_offset } + // FIXME: avoids treating bctrl indirect calls as jump tables + if !ins.field_LK() => { + BranchTarget::JumpTable { address, size: max_offset.and_then(|n| n.checked_add(4)) } + } + _ => BranchTarget::Unknown, + } + } + Opcode::Bclr => BranchTarget::Return, + _ => BranchTarget::Address(ins.branch_dest().unwrap()), + }; + + // If branching with link, use function call semantics + if ins.field_LK() { + return StepResult::Branch(vec![ + Branch { + target: BranchTarget::Address(ins.addr + 4), + link: false, + vm: self.clone_for_return(), + }, + Branch { target: branch_target, link: true, vm: self.clone_for_link() }, + ]); + } + + // Branch always + if ins.op == Opcode::B || ins.field_BO() & 0b10100 == 0b10100 { + return StepResult::Jump(branch_target); + } + + // Branch conditionally + let mut branches = vec![ + // Branch not taken + Branch { + target: BranchTarget::Address(ins.addr + 4), + link: false, + vm: self.clone_all(), + }, + // Branch taken + Branch { target: branch_target, link: ins.field_LK(), vm: self.clone_all() }, + ]; + + // Use tracked CR to calculate new register values for branches + let crf = ins.field_BI() >> 2; + let crb = (ins.field_BI() & 3) as u8; + let (f_val, t_val) = + split_values_by_crb(crb, self.cr[crf].left, self.cr[crf].right); + if ins.field_BO() & 0b11110 == 0b00100 { + // Branch if false + branches[0].vm.set_comparison_result(t_val, crf); + branches[1].vm.set_comparison_result(f_val, crf); + } else if ins.field_BO() & 0b11110 == 0b01100 { + // Branch if true + branches[0].vm.set_comparison_result(f_val, crf); + branches[1].vm.set_comparison_result(t_val, crf); + } + + return StepResult::Branch(branches); + } + // lwzx rD, rA, rB + Opcode::Lwzx => { + let left = self.gpr[ins.field_rA()].value; + let right = self.gpr[ins.field_rB()].value; + let value = match (left, right) { + (GprValue::Constant(address), GprValue::Range { min: _, max, .. }) + if /*min == 0 &&*/ max < u32::MAX - 4 && max & 3 == 0 => + { + GprValue::LoadIndexed { address, max_offset: NonZeroU32::new(max) } + } + (GprValue::Constant(address), _) => { + GprValue::LoadIndexed { address, max_offset: None } + } + _ => GprValue::Unknown, + }; + self.gpr[ins.field_rD()].set_direct(value); + } + // mtspr SPR, rS + Opcode::Mtspr => { + if ins.field_spr() == 9 { + // CTR + self.ctr = self.gpr[ins.field_rS()].value; + } + } + // mfspr rD, SPR + Opcode::Mfspr => { + let value = if ins.field_spr() == 9 { + // CTR + self.ctr + } else { + GprValue::Unknown + }; + self.gpr[ins.field_rD()].set_direct(value); + } + // rfi + Opcode::Rfi => { + return StepResult::Jump(BranchTarget::Unknown); + } + op if is_load_store_op(op) => { + let source = ins.field_rA(); + let mut result = StepResult::Continue; + if let GprValue::Constant(base) = self.gpr[source].value { + let address = base.wrapping_add(ins.field_simm() as u32); + if is_update_op(op) { + self.gpr[source].set_lo( + GprValue::Constant(address), + ins.addr, + self.gpr[source], + ); + } + result = StepResult::LoadStore { + address, + source: self.gpr[source], + source_reg: source as u8, + }; + } else if is_update_op(op) { + self.gpr[source].set_direct(GprValue::Unknown); + } + if is_load_op(op) { + self.gpr[ins.field_rD()].set_direct(GprValue::Unknown); + } + return result; + } + _ => { + for field in ins.defs() { + match field.argument() { + Some(Argument::GPR(GPR(reg))) => { + self.gpr[reg as usize].set_direct(GprValue::Unknown); + } + _ => {} + } + } + } + } + StepResult::Continue + } + + #[inline] + fn set_comparison_result(&mut self, value: GprValue, crf: usize) { + for gpr in &mut self.gpr { + if gpr.value == GprValue::ComparisonResult(crf as u8) { + gpr.value = value; + } + } + } +} + +/// Given a condition register bit, calculate new register +/// values for each branch. (false / true) +fn split_values_by_crb(crb: u8, left: GprValue, right: GprValue) -> (GprValue, GprValue) { + match crb { + // lt + 0 => match (left, right) { + (GprValue::Range { min, max, step }, GprValue::Constant(value)) => ( + // left >= right + GprValue::Range { + min: std::cmp::max(min, value), + max: std::cmp::max(max, value), + step, + }, + // left < right + GprValue::Range { + min: std::cmp::min(min, value.wrapping_sub(1)), + max: std::cmp::min(max, value.wrapping_sub(1)), + step, + }, + ), + (_, GprValue::Constant(value)) => ( + // left >= right + GprValue::Range { min: value, max: u32::MAX, step: 1 }, + // left < right + GprValue::Range { min: 0, max: value.wrapping_sub(1), step: 1 }, + ), + _ => (left, left), + }, + // gt + 1 => match (left, right) { + (GprValue::Range { min, max, step }, GprValue::Constant(value)) => ( + // left <= right + GprValue::Range { + min: std::cmp::min(min, value), + max: std::cmp::min(max, value), + step, + }, + // left > right + GprValue::Range { + min: std::cmp::max(min, value.wrapping_add(1)), + max: std::cmp::max(max, value.wrapping_add(1)), + step, + }, + ), + (_, GprValue::Constant(value)) => ( + // left <= right + GprValue::Range { min: 0, max: value, step: 1 }, + // left > right + GprValue::Range { min: value.wrapping_add(1), max: u32::MAX, step: 1 }, + ), + _ => (left, left), + }, + // eq + 2 => match (left, right) { + (GprValue::Constant(l), GprValue::Constant(r)) => ( + // left != right + if l == r { GprValue::Unknown } else { left }, + // left == right + GprValue::Constant(r), + ), + (_, GprValue::Constant(value)) => ( + // left != right + left, + // left == right + GprValue::Constant(value), + ), + _ => (left, left), + }, + // so + 3 => (left, left), + _ => unreachable!(), + } +} + +#[inline] +fn mask_value(begin: u32, end: u32) -> u32 { + let mut mask = 0u32; + for bit in begin..=end { + mask |= 1 << (31 - bit); + } + mask +} + +#[inline] +pub fn is_load_op(op: Opcode) -> bool { + matches!( + op, + Opcode::Lbz + | Opcode::Lbzu + | Opcode::Lha + | Opcode::Lhau + | Opcode::Lhz + | Opcode::Lhzu + | Opcode::Lmw + | Opcode::Lwz + | Opcode::Lwzu + ) +} + +#[inline] +pub fn is_loadf_op(op: Opcode) -> bool { + matches!(op, Opcode::Lfd | Opcode::Lfdu | Opcode::Lfs | Opcode::Lfsu) +} + +#[inline] +pub fn is_store_op(op: Opcode) -> bool { + matches!( + op, + Opcode::Stb + | Opcode::Stbu + | Opcode::Sth + | Opcode::Sthu + | Opcode::Stmw + | Opcode::Stw + | Opcode::Stwu + ) +} + +#[inline] +pub fn is_storef_op(op: Opcode) -> bool { + matches!(op, Opcode::Stfd | Opcode::Stfdu | Opcode::Stfs | Opcode::Stfsu) +} + +#[inline] +pub fn is_load_store_op(op: Opcode) -> bool { + is_load_op(op) || is_loadf_op(op) || is_store_op(op) || is_storef_op(op) +} + +#[inline] +pub fn is_update_op(op: Opcode) -> bool { + matches!( + op, + Opcode::Lbzu + | Opcode::Lbzux + | Opcode::Lfdu + | Opcode::Lfdux + | Opcode::Lfsu + | Opcode::Lfsux + | Opcode::Lhau + | Opcode::Lhaux + | Opcode::Lhzu + | Opcode::Lhzux + | Opcode::Lwzu + | Opcode::Lwzux + | Opcode::Stbu + | Opcode::Stbux + | Opcode::Stfdu + | Opcode::Stfdux + | Opcode::Stfsu + | Opcode::Stfsux + | Opcode::Sthu + | Opcode::Sthux + | Opcode::Stwu + | Opcode::Stwux + ) +} + +// #[inline] +// fn is_indexed_load_op(op: Opcode) -> bool { +// matches!( +// op, +// Opcode::Lbzux +// | Opcode::Lbzx +// | Opcode::Lhax +// | Opcode::Lhaux +// | Opcode::Lhzx +// | Opcode::Lhzux +// | Opcode::Lwzx +// | Opcode::Lwzux +// ) +// } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_load_indexed_1() { + let mut vm = VM::new(); + assert_eq!(vm.step(&Ins::new(0x3cc08052, 0x803dfe28)), StepResult::Continue); // lis r6, -0x7fae + assert_eq!(vm.step(&Ins::new(0x38c60e18, 0x803dfe30)), StepResult::Continue); // addi r6, r6, 0xe18 + assert_eq!(vm.gpr[6].value, GprValue::Constant(0x80520e18)); + assert_eq!(vm.step(&Ins::new(0x550066fa, 0x803dfe34)), StepResult::Continue); // rlwinm r0, r8, 12, 27, 29 + assert_eq!(vm.gpr[0].value, GprValue::Range { min: 0, max: 28, step: 1 << 12 }); + assert_eq!(vm.step(&Ins::new(0x7d86002e, 0x803dfe3c)), StepResult::Continue); // lwzx r12, r6, r0 + assert_eq!(vm.gpr[12].value, GprValue::LoadIndexed { + address: 0x80520e18, + max_offset: NonZeroU32::new(28) + }); + assert_eq!(vm.step(&Ins::new(0x7d8903a6, 0x803dfe4c)), StepResult::Continue); // mtspr CTR, r12 + assert_eq!(vm.ctr, GprValue::LoadIndexed { + address: 0x80520e18, + max_offset: NonZeroU32::new(28) + }); + assert_eq!( + vm.step(&Ins::new(0x4e800420, 0x803dfe50)), // bctr + StepResult::Jump(BranchTarget::JumpTable { + address: 0x80520e18, + size: NonZeroU32::new(32) + }) + ); + } + + #[test] + fn test_load_indexed_2() { + let mut vm = VM::new(); + assert_eq!(vm.step(&Ins::new(0x3c808057, 0x80465320)), StepResult::Continue); // lis r4, -0x7fa9 + assert_eq!(vm.step(&Ins::new(0x54600e7a, 0x80465324)), StepResult::Continue); // rlwinm r0, r3, 1, 25, 29 + assert_eq!(vm.gpr[0].value, GprValue::Range { min: 0, max: 124, step: 2 }); + assert_eq!(vm.step(&Ins::new(0x38840f70, 0x80465328)), StepResult::Continue); // addi r4, r4, 0xf70 + assert_eq!(vm.gpr[4].value, GprValue::Constant(0x80570f70)); + assert_eq!(vm.step(&Ins::new(0x7d84002e, 0x80465330)), StepResult::Continue); // lwzx r12, r4, r0 + assert_eq!(vm.gpr[12].value, GprValue::LoadIndexed { + address: 0x80570f70, + max_offset: NonZeroU32::new(124) + }); + assert_eq!(vm.step(&Ins::new(0x7d8903a6, 0x80465340)), StepResult::Continue); // mtspr CTR, r12 + assert_eq!(vm.ctr, GprValue::LoadIndexed { + address: 0x80570f70, + max_offset: NonZeroU32::new(124) + }); + assert_eq!( + vm.step(&Ins::new(0x4e800420, 0x80465344)), // bctr + StepResult::Jump(BranchTarget::JumpTable { + address: 0x80570f70, + size: NonZeroU32::new(128) + }) + ); + } + + #[test] + fn test_load_indexed_3() { + let mut vm = VM::new(); + assert_eq!(vm.step(&Ins::new(0x28000127, 0x800ed458)), StepResult::Continue); // cmplwi r0, 0x127 + assert_eq!(vm.cr, Cr { + signed: false, + left: GprValue::Unknown, + right: GprValue::Constant(295), + }); + + // When branch isn't taken, we know r0 is <= 295 + let mut false_vm = vm.clone(); + false_vm.gpr[0] = + Gpr { value: GprValue::Range { min: 0, max: 295, step: 1 }, ..Default::default() }; + // When branch is taken, we know r0 is > 295 + let mut true_vm = vm.clone(); + true_vm.gpr[0] = Gpr { + value: GprValue::Range { min: 296, max: u32::MAX, step: 1 }, + ..Default::default() + }; + assert_eq!( + vm.step(&Ins::new(0x418160bc, 0x800ed45c)), // bgt 0x60bc + StepResult::Branch(vec![ + Branch { + target: BranchTarget::Address(0x800ed460), + link: false, + vm: false_vm.clone() + }, + Branch { target: BranchTarget::Address(0x800f3518), link: false, vm: true_vm } + ]) + ); + + // Take the false branch + let mut vm = false_vm; + assert_eq!(vm.step(&Ins::new(0x3c608053, 0x800ed460)), StepResult::Continue); // lis r3, -0x7fad + assert_eq!(vm.step(&Ins::new(0x5400103a, 0x800ed464)), StepResult::Continue); // rlwinm r0, r0, 0x2, 0x0, 0x1d + assert_eq!(vm.gpr[0].value, GprValue::Range { min: 0, max: 1180, step: 4 }); + assert_eq!(vm.step(&Ins::new(0x3863ef6c, 0x800ed468)), StepResult::Continue); // subi r3, r3, 0x1094 + assert_eq!(vm.gpr[3].value, GprValue::Constant(0x8052ef6c)); + assert_eq!(vm.step(&Ins::new(0x7c63002e, 0x800ed46c)), StepResult::Continue); // lwzx r3, r3, r0 + assert_eq!(vm.gpr[3].value, GprValue::LoadIndexed { + address: 0x8052ef6c, + max_offset: NonZeroU32::new(1180) + }); + assert_eq!(vm.step(&Ins::new(0x7c6903a6, 0x800ed470)), StepResult::Continue); // mtspr CTR, r3 + assert_eq!(vm.ctr, GprValue::LoadIndexed { + address: 0x8052ef6c, + max_offset: NonZeroU32::new(1180) + }); + assert_eq!( + vm.step(&Ins::new(0x4e800420, 0x800ed474)), // bctr + StepResult::Jump(BranchTarget::JumpTable { + address: 0x8052ef6c, + size: NonZeroU32::new(1184) + }) + ); + } +}