New pages
Jump to navigation
Jump to search
24 July 2026
- 15:1415:14, 24 July 2026 Input Manager (hist | edit) [6,310 bytes] Spletz (talk | contribs) (Created page with "The Input Manager (IM) handles the Energy Saver functionality of the Wii U, including Screen Burn-In Reduction and Auto Power-Down (APD). The Input Manager is responsible for monitoring all user input devices and discerning the lack of user activity. If no activity is detected for the specified timeout, the Input Manager triggers video screen burn-in reduction (auto-dimming) or a shutdown request. Its IOSU device node for the RM is '''/dev/im'''. Its PPC shim is in cor...")
20 July 2026
- 08:2808:28, 20 July 2026 IOS-TEST (hist | edit) [449 bytes] Spletz (talk | contribs) (Created page with "IOS-TEST is a module in IOSU dedicated to debugging and development. == Devices == */dev/testproc1 - Test process */dev/testproc2 - Test process */dev/iopsh - IOP shell */dev/cbl - Cafe OS block log */debug/prof - Profiler (development mode only) */test/ppcprotviol - PPC protocol violation (test mode only) */test/sp - System profiler (test mode only) */test/test_rm - Resource manager test (test mode only) == IOSThreadProfileComma...")
- 05:1605:16, 20 July 2026 Cafe OS/Kernel (hist | edit) [19,411 bytes] Spletz (talk | contribs) (Created page with "The kernel runs in supervisor mode on the PowerPC, and performs the basic tasks of a microkernel. It is responsible for process isolation, memory management, and interrupt dispatching, as well as communication with IOSU. Cafe OS applications run as user mode processes, with separate address spaces and W^X memory protection. == Syscalls == Cafe OS syscalls are issued by doing the following: li r0, 0x0100 # load syscall value->r0 sc # syscall instruction...")
19 July 2026
- 05:0305:03, 19 July 2026 PCFS (hist | edit) [647 bytes] Spletz (talk | contribs) (Created page with "PCFS ([https://en.wikipedia.org/wiki/Personal_computer PC] Filesystem) refers to the Wii U's ability to derive its internal filesystem from a host computer rather than the console NAND. It is intended for development purposes and ease of file transferring and filesystem access for the developer. As such, it is only available on development hardware and fully available when the console is in DEV mode (otherwise a PCFS device will not be initialised). If the console is not...")
- 04:4304:43, 19 July 2026 ATFS (hist | edit) [190 bytes] Spletz (talk | contribs) (Created page with "ATFS (formerly DVDFS in SDK versions prior to 2.03) refers to the file system format for Cafe optical discs. It provides section-level encryption and support for up to 25GB of disc capacity.")
18 July 2026
- 11:4311:43, 18 July 2026 IOS/Kernel (hist | edit) [11,303 bytes] Spletz (talk | contribs) (Created page with "= Kernel = After being parsed by it's own ELF loader, the IOSU's kernel is launched from the Wii U's SRAM (0xFFFF0000). IOSU's kernel follows a standard ARM microkernel architecture: // IOSU kernel entry-point // ARM vector table (firmware 5.5.1) start() // 0xFFFF0000 { // Reset handler pc <- sub_FFFF0060 // Undefined handler pc <- loc_812DD6C // SWI handler pc <- sub_812DD20 // Prefetch handler pc <- sub_812E74C // Abort handl...")
- 11:4211:42, 18 July 2026 IOS/Loader (hist | edit) [1,012 bytes] Spletz (talk | contribs) (Created page with "= Loader = Each time the IOSU starts, the ELF loader is the first portion of code that runs in order to make preparations for the actual IOSU binary. During the console's initial boot, boot1 is responsible for fetching the "fw.img" file from NAND, verifying, decrypting and launching it (cold boot). However, IOS-MCP also has to do this when handling a system restart (warm boot) for which it follows a similar path but, ultimately, uses the LaunchOS system...")
- 11:3511:35, 18 July 2026 IOS/Resource utilisation (hist | edit) [1,371 bytes] Spletz (talk | contribs) (Created page with "== IOSResourceAggregateUtilization == {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x4 || ActiveResources |- | 0x4 || 0x4 || ActiveResourcesWaterline |- | 0x8 || 0x4 || MaxResources |- | 0xC || 0x4 || TotalActiveTxns |- | 0x10 || 0x4 || TotalActiveTxnsWaterline |- | 0x14 || 0x4 || TotalTxnAllocFailures |- | 0x18 || 0x4 || MaxTotalActiveTxns |} == IOSResourcePerProcessUtilization == {| class="wikitable" border="1" |- ! Offset || Size ||...")
- 11:3211:32, 18 July 2026 IOS/IOSHeap (hist | edit) [0 bytes] Spletz (talk | contribs) (Created page with "== IOSHeap == The IOSU is able to create and handle up to 0x30 heaps. Each heap has a corresponding descriptor structure stored in the kernel's BSS section (0x08150008 in firmware 5.5.1). {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x4 || Base |- | 0x4 || 0x4 || Owner |- | 0x8 || 0x4 || Size |- | 0xC || 0x4 || FreeList |- | 0x10 || 0x4 || AllocErrors |- | 0x14 || 0x4 || FreeErrors |- | 0x18 || 0x4 || ReAllocErrors |- | 0x...")
- 11:3011:30, 18 July 2026 IOS/Resource request (hist | edit) [5,135 bytes] Spletz (talk | contribs) (Created page with "== IOSMessage == This is a s32. == IOSMessageQueueId == This is an u32. == IOSMessageQueue == {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x4 || EmptyQueue |- | 0x4 || 0x4 || FullQueue |- | 0x8 || 0x4 || Count |- | 0xC || 0x4 || Rptr |- | 0x10 || 0x4 || Size |- | 0x14 || 0x4 || Buffer |- | 0x18 || 0x4 || Id |- | 0x1C || 0x1 || Owner |- | 0x1D || 0x1 || HasEvent |- | 0x1E || 0x2 || |} ==...")
- 11:2711:27, 18 July 2026 IOS/IOSThread (hist | edit) [0 bytes] Spletz (talk | contribs) (Created page with "== IOSThread == The IOSU is able to create and handle up to 0xB4 threads. Each thread has a corresponding internal structure stored in kernel SRAM (0xFFFF4D78 in firmware 5.5.1). {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x40 || Context |- | 0x40 || 0x4 || Pc |- | 0x44 || 0x4 || Next |- | 0x48 || 0x4 || InitPriority |- | 0x4C || 0x4 || Priority |- | 0x50 || 0x4 || State |- | 0x54 || 0x4 || Pi...")
- 11:2711:27, 18 July 2026 IOS/IOSTime (hist | edit) [0 bytes] Spletz (talk | contribs) (Created page with "== IOSTimeStruct == {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x4 || Microsecond |- | 0x4 || 0x4 || Second |} == IOSTimeCalendar == {| class="wikitable" border="1" |- ! Offset || Size || Description |- | 0x0 || 0x4 || Year |- | 0x4 || 0x4 || Month |- | 0x8 || 0x4 || Day |- | 0xC || 0x4 || Hour |- | 0x10 || 0x4 || Minute |- | 0x14 || 0x4 || Second |- | 0x18 || 0x4 || Microsecond |}")
15 July 2026
- 11:5811:58, 15 July 2026 IOS/Syscalls (hist | edit) [20,845 bytes] Spletz (talk | contribs) (Created page with "== Syscalls (via undefined instructions) == Similarly to the Wii's IOS, the IOSU uses a syscall table that is stored towards the end of the kernel area inside the main ARM binary (fw.img). The second vector is the invalid instruction handler, which is used to implement syscalls: fw:FFFF0000 LDR PC, =_reset fw:FFFF0004 LDR PC, =starbuck_syscall_handler The Starbuck syscall handler: starbuck_syscall_handler STMFA SP,...")
13 July 2026
- 09:5909:59, 13 July 2026 /dev/bsp/CORTADO (hist | edit) [4,496 bytes] Spletz (talk | contribs) (Created page with "'''/bsp/CORTADO''' is the BSP entity that handles methods related to the [https://wiki.raregamingdump.ca/index.php/Cortado Cortado] platform. It is only available on board types <code>BSP_HARDWARE_VERSION_HOLLYWOOD_CORTADO</code> and <code>BSP_HARDWARE_VERSION_HOLLYWOOD_CORTADO_ESPRESSO</code>. Not much is really known about Cortado, its BSP entity or NESCAFE. == Attributes == === FPGAType === '''Options''': <code>BSP_AO_QUERY_DATA_INDIRECT</code> '''Permissions''': <...")
12 July 2026
- 10:0210:02, 12 July 2026 Nio prof.rpl (hist | edit) [1,644 bytes] Spletz (talk | contribs) (Created page with "nio_prof.rpl is the shim/wrapper library for PPC communication with the /debug/prof IOSU device node on the IOP, i.e the ''Wii U's IO profiler API''. == Functions == {| class="wikitable" ! Name !! Prototype !! Description |- | IO_ProfilerLibInit || <code>IO_PROF_RVAL IO_ProfilerLibInit(void)</code> || Initializes the IO profiler library. |- | IO_ProfilerLibFinish || <code>IO_PROF_RVAL IO_ProfilerLibFinish(void)</code> || Cleanup and close the IO profiler li...")
- 09:5109:51, 12 July 2026 /debug/prof (hist | edit) [1,779 bytes] Spletz (talk | contribs) (Created page with "''/debug/prof'' is the IOSU device node for the Wii U's IO profiler API. It provides statistics about the percentage of IO bandwidth consumed by each of the determined IO channels. To measure an operation, a profiling checkpoint should be started just before it begins and end the checkpoint when it finishes. The profiler reports the I/O activity that occurred during that interval. The application can then either stop profiling or start another checkpoint to measure the n...")
14 June 2026
- 06:0306:03, 14 June 2026 Cafe SDK 1.7 (hist | edit) [174 bytes] Spletz (talk | contribs) (TODO)