1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<HTML> 3<HEAD> 4<META http-equiv="Content-Type" content="text/html; charset=utf-8"> 5<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 6<META http-equiv="Content-Style-Type" content="text/css"> 7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 8<BASE target="main"> 9<TITLE>List of Operating System (OS) Functions</TITLE> 10</HEAD> 11<BODY> 12<H1><A name="Operating System API">List of Operating System (OS) Functions</A></H1> 13 14<H2><A name="Address Conversion">Address Conversion</A></H2> 15<TABLE class="api_list" border="1" > 16 <TBODY> 17 <TR> 18<TH nowrap><A href="Address/OSPhysicalToCached.html">OSPhysicalToCached</A></TH> 19<TD>Converts a physical address into a cached address.</TD> 20 </TR> 21 <TR> 22<TH nowrap><A href="Address/OSPhysicalToUncached.html">OSPhysicalToUncached</A></TH> 23<TD>Converts a physical address into an address outside the cache.</TD> 24 </TR> 25 <TR> 26<TH nowrap><A href="Address/OSCachedToPhysical.html">OSCachedToPhysical</A></TH> 27<TD>Converts a cached address into a physical address.</TD> 28 </TR> 29 <TR> 30<TH nowrap><A href="Address/OSUncachedToPhysical.html">OSUncachedToPhysical</A></TH> 31<TD>Converts an address outside the cache into a physical address.</TD> 32 </TR> 33 <TR> 34<TH nowrap><A href="Address/OSCachedToUncached.html">OSCachedToUncached</A></TH> 35<TD>Converts a cached address into an address outside the cache.</TD> 36 </TR> 37 <TR> 38<TH nowrap><A href="Address/OSUncachedToCached.html">OSUncachedToCached</A></TH> 39<TD>Converts an address outside the cache into a cached address.</TD> 40 </TR> 41 <TR> 42<TH nowrap><A href="Address/OSRoundUp32B.html">OSRoundUp32B</A></TH> 43<TD>Retrieves the closest 32-byte upper boundary.</TD> 44 </TR> 45 <TR> 46<TH nowrap><A href="Address/OSRoundDown32B.html">OSRoundDown32B</A></TH> 47<TD>Retrieves the closest 32-byte lower boundary.</TD> 48 </TR> 49 </TBODY> 50</TABLE> 51 52<H2><A name="Alarm">Alarms</A></H2> 53<TABLE class="api_list" border="1" > 54 <TBODY> 55 <TR> 56<TH nowrap><A href="Alarm/OSCancelAlarm.html">OSCancelAlarm</A></TH> 57<TD>Cancels the specified alarm.</TD> 58 </TR> 59 <TR> 60<TH nowrap><A href="Alarm/OSCancelAlarms.html">OSCancelAlarms</A></TH> 61<TD>Cancels alarm groups that have the same tag.</TD> 62 </TR> 63 <TR> 64<TH nowrap><A href="Alarm/OSCreateAlarm.html">OSCreateAlarm</A></TH> 65<TD>Initializes the structure for the specified alarm.</TD> 66 </TR> 67 <TR> 68<TH nowrap><A href="Alarm/OSSetAlarm.html">OSSetAlarm</A></TH> 69<TD>Sets an alarm.</TD> 70 </TR> 71 <TR> 72<TH nowrap><A href="Alarm/OSSetAlarmTag.html">OSSetAlarmTag</A></TH> 73<TD>Sets a tag to an alarm.</TD> 74 </TR> 75 <TR> 76<TH nowrap><A href="Alarm/OSSetPeriodicAlarm.html">OSSetPeriodicAlarm</A></TH> 77<TD>Sets a periodic alarm.</TD> 78 </TR> 79 <TR> 80<TH nowrap><A href="Alarm/OSSetAlarmUserData.html">OSSetAlarmUserData</A></TH> 81<TD>Sets user data in an alarm.</TD> 82 </TR> 83 <TR> 84<TH nowrap><A href="Alarm/OSGetAlarmUserData.html">OSGetAlarmUserData</A></TH> 85<TD>Gets user data from an alarm.</TD> 86 </TR> 87 </TBODY> 88</TABLE> 89 90<H2><A name="Arena">Arena</A></H2> 91<TABLE class="api_list" border="1" > 92 <TBODY> 93 <TR> 94<TH nowrap><A href="Arena/OSAllocFromMEM1ArenaHi.html">OSAllocFromMEM1ArenaHi</A></TH> 95<TD>Allocates <SPAN class="argument">size</SPAN> bytes from the upper boundary of the arena in internal main memory (MEM1 area).</TD> 96 </TR> 97 <TR> 98<TH nowrap><A href="Arena/OSAllocFromMEM1ArenaLo.html">OSAllocFromMEM1ArenaLo</A></TH> 99<TD>Allocates <SPAN class="argument">size</SPAN> bytes from the lower boundary of the arena in internal main memory (MEM1 area).</TD> 100 </TR> 101 <TR> 102<TH nowrap><A href="Arena/OSAllocFromMEM2ArenaHi.html">OSAllocFromMEM2ArenaHi</A></TH> 103<TD>Allocates <SPAN class="argument">size</SPAN> bytes from the upper boundary of the arena in external main memory (MEM2 area).</TD> 104 </TR> 105 <TR> 106<TH nowrap><A href="Arena/OSAllocFromMEM2ArenaLo.html">OSAllocFromMEM2ArenaLo</A></TH> 107<TD>Allocates <SPAN class="argument">size</SPAN> bytes from the lower boundary of the arena in external main memory (MEM2 area).</TD> 108 </TR> 109 <TR> 110<TH nowrap><A href="Arena/OSGetMEM1ArenaHi.html">OSGetMEM1ArenaHi</A></TH> 111<TD>Gets the upper boundary of the arena in internal main memory (MEM1 area).</TD> 112 </TR> 113 <TR> 114<TH nowrap><A href="Arena/OSGetMEM1ArenaLo.html">OSGetMEM1ArenaLo</A></TH> 115<TD>Gets the lower boundary of the arena in internal main memory (MEM1 area).</TD> 116 </TR> 117 <TR> 118<TH nowrap><A href="Arena/OSGetMEM2ArenaHi.html">OSGetMEM2ArenaHi</A></TH> 119<TD>Gets the upper boundary of the arena in external main memory (MEM2 area).</TD> 120 </TR> 121 <TR> 122<TH nowrap><A href="Arena/OSGetMEM2ArenaLo.html">OSGetMEM2ArenaLo</A></TH> 123<TD>Gets the lower boundary of the arena in external main memory (MEM2 area).</TD> 124 </TR> 125 <TR> 126<TH nowrap><A href="Arena/OSSetMEM1ArenaHi.html">OSSetMEM1ArenaHi</A></TH> 127<TD>Sets the upper boundary of the arena in internal main memory (MEM1 area).</TD> 128 </TR> 129 <TR> 130<TH nowrap><A href="Arena/OSSetMEM1ArenaLo.html">OSSetMEM1ArenaLo</A></TH> 131<TD>Sets the lower boundary of the arena in internal main memory (MEM1 area).</TD> 132 </TR> 133 <TR> 134<TH nowrap><A href="Arena/OSSetMEM2ArenaHi.html">OSSetMEM2ArenaHi</A></TH> 135<TD>Sets the upper boundary of the arena in external main memory (MEM2 area).</TD> 136 </TR> 137 <TR> 138<TH nowrap><A href="Arena/OSSetMEM2ArenaLo.html">OSSetMEM2ArenaLo</A></TH> 139<TD>Sets the lower boundary of the arena in external main memory (MEM2 area).</TD> 140 </TR> 141 </TBODY> 142</TABLE> 143 144<H2><A name="Cache">Cache (Data Cache)</A></H2> 145<H3>Data Cache</H3> 146<TABLE class="api_list" border="1" > 147 <TBODY> 148 <TR> 149<TH nowrap><A href="Cache/DCFlushRange.html">DCFlushRange</A></TH> 150<TD>Flushes the specified region of the data cache.</TD> 151 </TR> 152 <TR> 153<TH nowrap><A href="Cache/DCFlushRangeNoSync.html">DCFlushRangeNoSync</A></TH> 154<TD>Invalidates a specified data cache range.</TD> 155 </TR> 156 <TR> 157<TH nowrap><A href="Cache/DCFreeze.html">DCFreeze</A></TH> 158<TD>Current contents of the L1 data cache are locked and will not be invalidated.</TD> 159 </TR> 160 <TR> 161<TH nowrap><A href="Cache/DCInvalidateRange.html">DCInvalidateRange</A></TH> 162<TD>Invalidates the specified region of the data cache.</TD> 163 </TR> 164 <TR> 165<TH nowrap><A href="Cache/DCStoreRange.html">DCStoreRange</A></TH> 166<TD>Reflects (writes back) the data in the specified region of the data cache to real memory.</TD> 167 </TR> 168 <TR> 169<TH nowrap><A href="Cache/DCStoreRangeNoSync.html">DCStoreRangeNoSync</A></TH> 170<TD>Securely updates specified memory range with modified data in the cache.</TD> 171 </TR> 172 <TR> 173<TH nowrap><A href="Cache/DCTouchRange.html">DCTouchRange</A></TH> 174<TD>Loads specified range of memory into the cache.</TD> 175 </TR> 176 <TR> 177<TH nowrap><A href="Cache/DCUnfreeze.html">DCUnfreeze</A></TH> 178<TD>Cancels the effect of the <code>DCFreeze</code> function.</TD> 179 </TR> 180 <TR> 181<TH nowrap><A href="Cache/DCZeroRange.html">DCZeroRange</A></TH> 182<TD>Loads the range of memory into the cache and sets all cache blocks to zero.</TD> 183 </TR> 184 </TBODY> 185</TABLE> 186 187<H3>Instruction Cache</H3> 188<TABLE class="api_list" border="1" > 189 <TBODY> 190 <TR> 191<TH nowrap><A href="Cache/ICFreeze.html">ICFreeze</A></TH> 192<TD>Current contents of the L1 instruction cache are locked and will not be invalidated.</TD> 193 </TR> 194 <TR> 195<TH nowrap><A href="Cache/ICInvalidateRange.html">ICInvalidateRange</A></TH> 196<TD>Invalidates the specified region of the instruction cache.</TD> 197 </TR> 198 <TR> 199<TH nowrap><A href="Cache/ICUnfreeze.html">ICUnfreeze</A></TH> 200<TD>Cancels the effect of the <code>ICFreeze</code> function.</TD> 201 </TR> 202 </TBODY> 203</TABLE> 204 205<H3>Locked Cache</H3> 206<TABLE class="api_list" border="1" > 207 <TBODY> 208 <TR> 209<TH nowrap><A href="Cache/LCDisable.html">LCDisable</A></TH> 210<TD>Disables the locked cache and returns the cache to the normal 32-KB and 8-way set associative state.</TD> 211 </TR> 212 <TR> 213<TH nowrap><A href="Cache/LCEnable.html">LCEnable</A></TH> 214<TD>Enables the locked cache.</TD> 215 </TR> 216 <TR> 217<TH nowrap><A href="Cache/LCIsEnable.html">LCIsEnable</A></TH> 218<TD>Gets whether the locked cache feature is enabled or disabled.</TD> 219 </TR> 220 <TR> 221<TH nowrap><A href="Cache/LCGetBase.html">LCGetBase</A></TH> 222<TD>Returns a base pointer to the locked cache region. </TD> 223 </TR> 224 <TR> 225<TH nowrap><A href="Cache/LCFlushQueue.html">LCFlushQueue</A></TH> 226<TD>Flushes the DMA queue and issues SYNC until all DMA transfers are committed.</TD> 227 </TR> 228 <TR> 229<TH nowrap><A href="Cache/LCLoadBlocks.html">LCLoadBlocks</A></TH> 230<TD>Places DMA transactions in the queue.</TD> 231 </TR> 232 <TR> 233<TH nowrap><A href="Cache/LCLoadData.html">LCLoadData</A></TH> 234<TD>Places DMA transactions in the queue.</TD> 235 </TR> 236 <TR> 237<TH nowrap><A href="Cache/LCQueueLength.html">LCQueueLength</A></TH> 238<TD>Returns the number of transactions remaining in the DMA queue. </TD> 239 </TR> 240 <TR> 241<TH nowrap><A href="Cache/LCQueueWait.html">LCQueueWait</A></TH> 242<TD>Polls the DMA queue length until it is less than or equal to the specified length.</TD> 243 </TR> 244 <TR> 245<TH nowrap><A href="Cache/LCStoreBlocks.html">LCStoreBlocks</A></TH> 246<TD>Places DMA transactions in the queue.</TD> 247 </TR> 248 <TR> 249<TH nowrap><A href="Cache/LCStoreData.html">LCStoreData</A></TH> 250<TD>Places DMA transactions in the queue.</TD> 251 </TR> 252 </TBODY> 253</TABLE> 254 255<H2><A name="Error">Error</A></H2> 256<TABLE class="api_list" border="1" > 257 <TBODY> 258 <TR> 259<TH nowrap><A href="Error/ASSERT.html">ASSERT</A></TH> 260<TD>Displays messages for debugging.</TD> 261 </TR> 262 <TR> 263<TH nowrap><A href="Error/ASSERTMSG.html">ASSERTMSG</A></TH> 264<TD>Displays messages for debugging (specified as a character string).</TD> 265 </TR> 266 <TR> 267<TH nowrap><A href="Error/OSFatal.html">OSFatal</A></TH> 268<TD>Stops program execution and displays the specified text message on the TV screen.</TD> 269 </TR> 270 <TR> 271<TH nowrap><A href="Error/OSHalt.html">OSHalt</A></TH> 272<TD>Displays the specified character string and stops the OS.</TD> 273 </TR> 274 <TR> 275<TH nowrap><A href="Error/OSReport.html">OSReport</A></TH> 276<TD>A formatted message is displayed in the log window of the debugger.</TD> 277 </TR> 278 <TR> 279<TH nowrap><A href="Error/OSSetErrorHandler.html">OSSetErrorHandler</A></TH> 280<TD>Implements an error handler for the specified error type.</TD> 281 </TR> 282 </TBODY> 283</TABLE> 284 285<H2><A name="OSLog">Saving Debug Output</A></H2> 286<TABLE class="api_list" border="1" > 287 <TBODY> 288 <TR> 289<TH nowrap><A href="OSLog/OSReportDestination.html">OSReportDestination</A></TH> 290<TD>Changes the output destination for the <CODE>OSReport</CODE> log.</TD> 291 </TR> 292 <TR> 293<TH nowrap><A href="OSLog/OSReportFlush.html">OSReportFlush</A></TH> 294<TD>Writes log reports temporarily saved in memory to NAND memory.</TD> 295 </TR> 296 </TBODY> 297</TABLE> 298 299<H2><A name="Exec">Execution</A></H2> 300<TABLE class="api_list" border="1" > 301 <TBODY> 302 <TR> 303<TH nowrap><A href="Reset/OSExec.html">OSExecl</A></TH> 304<TD>Executes new DOL files (argument specified as a list).</TD> 305 </TR> 306 <TR> 307<TH nowrap><A href="Reset/OSExec.html">OSExecv</A></TH> 308<TD>Executes new DOL files (argument specified as an array).</TD> 309 </TR> 310 </TBODY> 311</TABLE> 312 313<H2><A name="FastCast">Fast Cast</A></H2> 314<TABLE class="api_list" border="1" > 315 <TBODY> 316 <TR> 317<TH nowrap><A href="FastCast/OSf32tos16.html">OSf32tos16</A></TH> 318<TD>Fast-converts single-precision floating point values to signed 16-bit integers.</TD> 319 </TR> 320 <TR> 321<TH nowrap><A href="FastCast/OSf32tos8.html">OSf32tos8</A></TH> 322<TD>Fast-converts single-precision floating point values to signed 8-bit integers.</TD> 323 </TR> 324 <TR> 325<TH nowrap><A href="FastCast/OSf32tou16.html">OSf32tou16</A></TH> 326<TD>Fast-converts single-precision floating point values to unsigned 16-bit integers.</TD> 327 </TR> 328 <TR> 329<TH nowrap><A href="FastCast/OSf32tou8.html">OSf32tou8</A></TH> 330<TD>Fast-converts single-precision floating point values to unsigned 8-bit integers.</TD> 331 </TR> 332 <TR> 333<TH nowrap><A href="FastCast/OSInitFastCast.html">OSInitFastCast</A></TH> 334<TD>Sets up the floating point number/integer fast-cast feature. </TD> 335 </TR> 336 <TR> 337<TH nowrap><A href="FastCast/OSs16tof32.html">OSs16tof32</A></TH> 338<TD>Fast-converts signed 16-bit integers to 32-bit floating point values.</TD> 339 </TR> 340 <TR> 341<TH nowrap><A href="FastCast/OSs8tof32.html">OSs8tof32</A></TH> 342<TD>Fast-converts signed 8-bit integers to 32-bit floating point values.</TD> 343 </TR> 344 <TR> 345<TH nowrap><A href="FastCast/OSu16tof32.html">OSu16tof32</A></TH> 346<TD>Fast-converts unsigned 16-bit integers to 32-bit floating point values.</TD> 347 </TR> 348 <TR> 349<TH nowrap><A href="FastCast/OSu8tof32.html">OSu8tof32</A></TH> 350<TD>Fast-converts unsigned 8-bit integers to 32-bit floating point values.</TD> 351 </TR> 352 <TR> 353<TH nowrap><A href="FastCast/OSSetGQR.html">OSSetGQR[n]</A></TH> 354<TD>Sets value to a quantization register GQR in the Broadway CPU.</TD> 355 </TR> 356 </TBODY> 357</TABLE> 358 359<H2><A name="Font">Font</A></H2> 360<TABLE class="api_list" border="1" > 361 <TBODY> 362<!-- <TR> <TD><B><A href="Font/intro.html">イントロダクション</A></B></TD> <TD>内蔵 ROM フォントの概要。</TD> </TR> --> 363 <TR> 364<TH nowrap><A href="Font/OSGetFontEncode.html">OSGetFontEncode</A></TH> 365<TD>Checks the encoding method of a character font.</TD> 366 </TR> 367 <TR> 368<TH nowrap><A href="Font/OSGetFontTexel.html">OSGetFontTexel</A></TH> 369<TD>Retrieves the font texel image of the first text character from the specified string.</TD> 370 </TR> 371 <TR> 372<TH nowrap><A href="Font/OSGetFontTexture.html">OSGetFontTexture</A></TH> 373<TD>Gets a pointer to the font texture image of the first text character in the specified string.</TD> 374 </TR> 375 <TR> 376<TH nowrap><A href="Font/OSGetFontWidth.html">OSGetFontWidth</A></TH> 377<TD>Gets the texel width of the first text character in the specified string.</TD> 378 </TR> 379 <TR> 380<TH nowrap><A href="Font/OSInitFont.html">OSInitFont</A></TH> 381<TD>Loads and expands ROM font data.</TD> 382 </TR> 383 <TR> 384<TH nowrap><A href="Font/OSLoadFont.html">OSLoadFont</A></TH> 385<TD>Loads a ROM font.</TD> 386 </TR> 387 </TBODY> 388</TABLE> 389 390<H2><A name="Idle">Idle Function</A></H2> 391<TABLE class="api_list" border="1" > 392 <TBODY> 393 <TR> 394<TH nowrap><A href="Thread/OSGetIdleFunction.html">OSGetIdleFunction</A></TH> 395<TD>Gets the current background execution context.</TD> 396 </TR> 397 <TR> 398<TH nowrap><A href="Thread/OSSetIdleFunction.html">OSSetIdleFunction</A></TH> 399<TD>Generates a background execution context.</TD> 400 </TR> 401 </TBODY> 402</TABLE> 403 404<H2><A name="Initialization">Initialization</A></H2> 405<TABLE class="api_list" border="1" > 406 <TBODY> 407 <TR> 408<TH nowrap><A href="Init/OSGetConsoleSimulatedMem1Size.html">OSGetConsoleSimulatedMem1Size</A></TH> 409<TD>Gets the size of internal main memory (MEM1) that simulates a console.</TD> 410 </TR> 411 <TR> 412<TH nowrap><A href="Init/OSGetConsoleSimulatedMem2Size.html">OSGetConsoleSimulatedMem2Size</A></TH> 413<TD>Gets the size of external memory (MEM2) that simulates a console.</TD> 414 </TR> 415 <TR> 416<TH nowrap><A href="Init/OSGetConsoleType.html">OSGetConsoleType</A></TH> 417<TD>Checks the console type.</TD> 418 </TR> 419 <TR> 420<TH nowrap><A href="Init/OSGetAppGamename.html">OSGetAppGamename</A></TH> 421<TD>Gets the game name.</TD> 422 </TR> 423 <TR> 424<TH nowrap><A href="Init/OSGetAppType.html">OSGetAppType</A></TH> 425<TD>Gets the game type.</TD> 426 </TR> 427 <TR> 428<TH nowrap><A href="Init/OSGetPhysicalMem1Size.html">OSGetPhysicalMem1Size</A></TH> 429<TD>This function is retained for compatibility with older versions. Gets the internal main memory size of the Hollywood that is mounted in development machines.</TD> 430 </TR> 431 <TR> 432<TH nowrap><A href="Init/OSGetPhysicalMem2Size.html">OSGetPhysicalMem2Size</A></TH> 433<TD>Gets the size of the external main memory (GDDR3) that is mounted in development machines.</TD> 434 </TR> 435 <TR> 436<TH nowrap><A href="Init/OSInit.html">OSInit</A></TH> 437<TD>Initializes the OS. </TD> 438 </TR> 439 </TBODY> 440</TABLE> 441 442<H2><A name="Interrupt">Interrupts</A></H2> 443<TABLE class="api_list" border="1" > 444 <TBODY> 445 <TR> 446<TH nowrap><A href="Interrupt/OSDisableInterrupts.html">OSDisableInterrupts</A></TH> 447<TD>Disables external interrupts.</TD> 448 </TR> 449 <TR> 450<TH nowrap><A href="Interrupt/OSEnableInterrupts.html">OSEnableInterrupts</A></TH> 451<TD>Enables external interrupts.</TD> 452 </TR> 453 <TR> 454<TH nowrap><A href="Interrupt/OSRestoreInterrupts.html">OSRestoreInterrupts</A></TH> 455<TD>Restores the interrupt state to a previous state.</TD> 456 </TR> 457 <TR> 458<TH nowrap><A href="Interrupt/OSIsEnableInterrupts.html">OSIsEnableInterrupts</A></TH> 459<TD>Gets the interrupt enabled state.</TD> 460 </TR> 461 </TBODY> 462</TABLE> 463 464<H2><A name="Memory Allocation">Memory Allocation</A> (MEM Library is recommended)</H2> 465<TABLE class="api_list" border="1" > 466 <TBODY> 467 <TR> 468<TH nowrap><A href="Alloc/OSAddToHeap.html">OSAddToHeap</A></TH> 469<TD>Adds an arbitrary block of memory to the heap.</TD> 470 </TR> 471 <TR> 472<TH nowrap><A href="Alloc/OSAlloc.html">OSAlloc</A></TH> 473<TD>Allocates memory from the current heap.</TD> 474 </TR> 475 <TR> 476<TH nowrap><A href="Alloc/OSAllocFixed.html">OSAllocFixed</A></TH> 477<TD>Allocates the explicitly specified region of memory.</TD> 478 </TR> 479 <TR> 480<TH nowrap><A href="Alloc/OSAllocFromHeap.html">OSAllocFromHeap</A></TH> 481<TD>Allocates memory from the specified heap region.</TD> 482 </TR> 483 <TR> 484<TH nowrap><A href="Alloc/OSCheckHeap.html">OSCheckHeap</A></TH> 485<TD>Checks that the heap region is normal for debugging.</TD> 486 </TR> 487 <TR> 488<TH nowrap><A href="Alloc/OSCreateHeap.html">OSCreateHeap</A></TH> 489<TD>Creates a heap.</TD> 490 </TR> 491 <TR> 492<TH nowrap><A href="Alloc/OSDestroyHeap.html">OSDestroyHeap</A></TH> 493<TD>Destroys a heap.</TD> 494 </TR> 495 <TR> 496<TH nowrap><A href="Alloc/OSDumpHeap.html">OSDumpHeap</A></TH> 497<TD>Dumps statistical information and elements for the heap region.</TD> 498 </TR> 499 <TR> 500<TH nowrap><A href="Alloc/OSFree.html">OSFree</A></TH> 501<TD>Frees memory referenced by a pointer to the current heap.</TD> 502 </TR> 503 <TR> 504<TH nowrap><A href="Alloc/OSFreeToHeap.html">OSFreeToHeap</A></TH> 505<TD>Returns freed memory to the specified heap.</TD> 506 </TR> 507 <TR> 508<TH nowrap><A href="Alloc/OSInitAlloc.html">OSInitAlloc</A></TH> 509<TD>Initializes memory allocation services and the arena in which all heaps will reside. </TD> 510 </TR> 511 <TR> 512<TH nowrap><A href="Alloc/OSSetCurrentHeap.html">OSSetCurrentHeap</A></TH> 513<TD>Sets the current heap.</TD> 514 </TR> 515 </TBODY> 516</TABLE> 517 518<H2><A name="Memory Protection">Memory Protection</A></H2> 519<TABLE class="api_list" border="1" > 520 <TBODY> 521 <TR> 522<TH nowrap><A href="Mem_Protection/OSProtectRange.html">OSProtectRange</A></TH> 523<TD>Sets main memory access protection for the specified region.</TD> 524 </TR> 525 <TR> 526<TH nowrap><A href="Mem_Protection/OSDisableCodeExecOnMEM1Hi8MB.html">OSDisableCodeExecOnMEM1Hi8MB</A></TH> 527<TD>Disables code execution in the 8MB region of MEM1's second half.</TD> 528 </TR> 529 <TR> 530<TH nowrap><A href="Mem_Protection/OSDisableCodeExecOnMEM1Hi16MB.html">OSDisableCodeExecOnMEM1Hi16MB</A></TH> 531<TD>Disables code execution in the 16MB region of MEM1's second half.</TD> 532 </TR> 533 <TR> 534<TH nowrap><A href="Mem_Protection/OSEnableCodeExecOnMEM2Lo8MB.html">OSEnableCodeExecOnMEM2Lo8MB</A></TH> 535<TD>Enables code execution in the leading 8MB region of MEM2.</TD> 536 </TR> 537 <TR> 538<TH nowrap><A href="Mem_Protection/OSEnableCodeExecOnMEM2Lo16MB.html">OSEnableCodeExecOnMEM2Lo16MB</A></TH> 539<TD>Enables code execution in the leading 16MB region of MEM2.</TD> 540 </TR> 541 </TBODY> 542</TABLE> 543 544<H2><A name="Reset">Reset</A></H2> 545<TABLE class="api_list" border="1" > 546 <TBODY> 547<!-- <TR> <TH nowrap><A href="Reset/intro.html"><B>イントロダクション</B></A></TH> <TD>リセット関数・シャットダウン関数の概要です。</TD> </TR> --> 548 <TR> 549<TH nowrap><A href="Reset/OSIsRestart.html">OSIsRestart</A></TH> 550<TD>Checks whether boot up was from a restart.</TD> 551 </TR> 552 <TR> 553<TH nowrap><A href="Reset/OSGetResetCode.html">OSGetResetCode</A></TH> 554<TD>Returns the reset code.</TD> 555 </TR> 556 <TR> 557<TH nowrap><A href="Reset/OSGetSaveRegion.html">OSGetSaveRegion</A></TH> 558<TD>Gets the region specified by <CODE>OSSetSaveRegion</CODE>.</TD> 559 </TR> 560 <TR> 561<TH nowrap><A href="Reset/OSGetSavedRegion.html">OSGetSavedRegion</A></TH> 562<TD>Gets the region specified by <CODE>OSSetSaveRegion</CODE>.</TD> 563 </TR> 564 <TR> 565<TH nowrap><A href="Reset/OSSetSaveRegion.html">OSSetSaveRegion</A></TH> 566<TD>Sets a region that must not be cleared by <CODE>OSInit</CODE> after restart.</TD> 567 </TR> 568 <TR> 569<TH nowrap><A href="Reset/OSRebootSystem.html">OSRebootSystem</A></TH> 570<TD>Restarts (hot resets) the system.</TD> 571 </TR> 572 <TR> 573<TH nowrap><A href="Reset/OSRestart.html">OSRestart</A></TH> 574<TD>Restarts the application.</TD> 575 </TR> 576 <TR> 577<TH nowrap><A href="Reset/OSShutdownSystem.html">OSShutdownSystem</A></TH> 578<TD>Terminates execution of the applications and turns off the system power (shutdown).</TD> 579 </TR> 580 </TBODY> 581</TABLE> 582 583<H2><A name="Reset Button">RESET Button</A></H2> 584<TABLE class="api_list" border="1" > 585 <TBODY> 586 <TR> 587<TH nowrap><A href="Resetbutton/OSGetResetButtonState.html">OSGetResetButtonState</A></TH> 588<TD>Checks the current state of the RESET Button.</TD> 589 </TR> 590 <TR> 591<TH nowrap><A href="Resetbutton/OSSetResetCallback.html">OSSetResetCallback</A></TH> 592<TD>Registers a one-time reset callback.</TD> 593 </TR> 594 <TR> 595<TH nowrap><A href="Resetbutton/OSSetPowerCallback.html">OSSetPowerCallback</A></TH> 596<TD>Registers a one-time power button callback.</TD> 597 </TR> 598 </TBODY> 599</TABLE> 600 601<H2><A name="Relocatable">Relocatable Module System</A> (You can also use the RSO library)</H2> 602<TABLE class="api_list" border="1" > 603 <TBODY> 604<!-- <TR> <TH nowrap><A href="Rel/intro.html"><B>イントロダクション</B></A></TH> <TD>再配置可能モジュールシステムの概要です。</TD> </TR> --> 605 <TR> 606<TH nowrap><A href="Rel/OSLink.html">OSLink</A></TH> 607<TD>Links the specified module.</TD> 608 </TR> 609 <TR> 610<TH nowrap><A href="Rel/OSLink.html">OSLinkFixed</A></TH> 611<TD>Links the specified module and releases some memory that the relocatable module occupies.</TD> 612 </TR> 613 <TR> 614<TH nowrap><A href="Rel/OSUnlink.html">OSUnlink</A></TH> 615<TD>Unlinks the specified module.</TD> 616 </TR> 617 <TR> 618<TH nowrap><A href="Rel/OSSearchModule.html">OSSearchModule</A></TH> 619<TD>Searches for the module which includes the specified address.</TD> 620 </TR> 621 <TR> 622<TH nowrap><A href="Rel/OSSetStringTable.html">OSSetStringTable</A></TH> 623<TD>Specifies the module string table location.</TD> 624 </TR> 625 </TBODY> 626</TABLE> 627 628<H2><A name="Stack">Stack</A></H2> 629<TABLE class="api_list" border="1" > 630 <TBODY> 631 <TR> 632<TH nowrap><A href="Stack/OSClearStack.html">OSClearStack</A></TH> 633<TD>Sets specified value on the stack of the thread being called.</TD> 634 </TR> 635 <TR> 636<TH nowrap><A href="Stack/OSGetStackPointer.html">OSGetStackPointer</A></TH> 637<TD>Gets the current stack pointer address (r1).</TD> 638 </TR> 639 <TR> 640<TH nowrap><A href="Stack/OSSwitchFiber.html">OSSwitchFiber</A></TH> 641<TD>Executes a function that uses the new stack.</TD> 642 </TR> 643 <TR> 644<TH nowrap><A href="Stack/OSSwitchFiberEx.html">OSSwitchFiberEx</A></TH> 645<TD>Executes a function that uses the new stack. The function can pass an argument.</TD> 646 </TR> 647 <TR> 648<TH nowrap><A href="Stack/OSSwitchStack.html">OSSwitchStack</A></TH> 649<TD>Switches the current stack pointer.</TD> 650 </TR> 651 </TBODY> 652</TABLE> 653 654<H2><A name="Stopwatch">Stopwatch</A></H2> 655<TABLE class="api_list" border="1" > 656 <TBODY> 657 <TR> 658<TH nowrap><A href="Stopwatch/OSInitStopwatch.html">OSInitStopwatch</A></TH> 659<TD>Initializes designated stopwatch structure.</TD> 660 </TR> 661 <TR> 662<TH nowrap><A href="Stopwatch/OSStartStopwatch.html">OSStartStopwatch</A></TH> 663<TD>Records the current time (starts the stopwatch).</TD> 664 </TR> 665 <TR> 666<TH nowrap><A href="Stopwatch/OSStopStopwatch.html">OSStopStopwatch</A></TH> 667<TD>Records the current time (stops the stopwatch). Updates the cumulative time from <CODE>OSStartStopwatch</CODE>.</TD> 668 </TR> 669 <TR> 670<TH nowrap><A href="Stopwatch/OSCheckStopwatch.html">OSCheckStopwatch</A></TH> 671<TD>Checks whether the stopwatch function is running.</TD> 672 </TR> 673 <TR> 674<TH nowrap><A href="Stopwatch/OSResetStopwatch.html">OSResetStopwatch</A></TH> 675<TD>Initializes designated stopwatch structure.</TD> 676 </TR> 677 <TR> 678<TH nowrap><A href="Stopwatch/OSDumpStopwatch.html">OSDumpStopwatch</A></TH> 679<TD>Writes to the debug channel some information sets (interval, total time, and so on) measured by the stopwatch.</TD> 680 </TR> 681 </TBODY> 682</TABLE> 683 684<H2><A name="Synchronization">Synchronization</A></H2> 685<TABLE class="api_list" border="1" > 686 <TBODY> 687 <TR> 688<TH nowrap><A href="Synchronization/PPCSync.html">PPCSync</A></TH> 689<TD>Executes a standard PowerPC sync instruction.</TD> 690 </TR> 691 </TBODY> 692</TABLE> 693 694<H2><A name="Time">Time</A></H2> 695<TABLE class="api_list" border="1" > 696 <TBODY> 697 <TR> 698<TH nowrap><A href="Time/OSDiffTick.html">OSDiffTick</A></TH> 699<TD>Returns the difference between two tick values.</TD> 700 </TR> 701 <TR> 702<TH nowrap><A href="Time/OSGetTime.html">OSGetTime</A></TH> 703<TD>Gets the value of the time base register (64-bit width) in units of <CODE>OS_TIMER_CLOCK</CODE> Hz.</TD> 704 </TR> 705 <TR> 706<TH nowrap><A href="Time/OSGetTick.html">OSGetTick</A></TH> 707<TD>Gets a tick (gets the 32 low order bits of Broadway's time base register).</TD> 708 </TR> 709 <TR> 710<TH nowrap><A href="Time/OSTicksToCycles.html">OSTicksToCycles</A></TH> 711<TD>Converts time from ticks to CPU core cycle units (<CODE>OS_CORE_CLOCK</CODE> Hz).</TD> 712 </TR> 713 <TR> 714<TH nowrap><A href="Time/OSTicksToSeconds.html">OSTicksToSeconds</A></TH> 715<TD>Converts value from ticks to seconds.</TD> 716 </TR> 717 <TR> 718<TH nowrap><A href="Time/OSTicksToMilliseconds.html">OSTicksToMilliseconds</A></TH> 719<TD>Converts value from ticks to milliseconds.</TD> 720 </TR> 721 <TR> 722<TH nowrap><A href="Time/OSTicksToMicroseconds.html">OSTicksToMicroseconds</A></TH> 723<TD>Converts value from ticks to microseconds.</TD> 724 </TR> 725 <TR> 726<TH nowrap><A href="Time/OSTicksToNanoseconds.html">OSTicksToNanoseconds</A></TH> 727<TD>Converts value from ticks to nanoseconds.</TD> 728 </TR> 729 <TR> 730<TH nowrap><A href="Time/OSSecondsToTicks.html">OSSecondsToTicks</A></TH> 731<TD>Converts value from seconds to ticks.</TD> 732 </TR> 733 <TR> 734<TH nowrap><A href="Time/OSMillisecondsToTicks.html">OSMillisecondsToTicks</A></TH> 735<TD>Converts value from milliseconds to ticks.</TD> 736 </TR> 737 <TR> 738<TH nowrap><A href="Time/OSMicrosecondsToTicks.html">OSMicrosecondsToTicks</A></TH> 739<TD>Converts value from microseconds to ticks.</TD> 740 </TR> 741 <TR> 742<TH nowrap><A href="Time/OSNanosecondsToTicks.html">OSNanosecondsToTicks</A></TH> 743<TD>Converts value from nanoseconds to ticks.</TD> 744 </TR> 745 <TR> 746<TH nowrap><A href="Time/OSCalendarTimeToTicks.html">OSCalendarTimeToTicks</A></TH> 747<TD>Converts value from calendar time to ticks (<code>OS_TIMER_CLOCK</code> Hz).</TD> 748 </TR> 749 <TR> 750<TH nowrap><A href="Time/OSTicksToCalendarTime.html">OSTicksToCalendarTime</A></TH> 751<TD>( Converts value from ticks (<code>OS_TIMER_CLOCK</code> Hz) to calendar time.</TD> 752 </TR> 753 </TBODY> 754</TABLE> 755 756<H2><A name="Thread">Thread</A></H2> 757<TABLE class="api_list" border="1" > 758 <TBODY> 759<!-- <TR> <TD><B><A href="Thread/intro.html">状態遷移</A></B></TD> <TD>Revolution OS におけるスレッドの状態遷移を説明します。</TD> </TR> --> 760 <TR> 761<TH nowrap><A href="Thread/OSCancelThread.html">OSCancelThread</A></TH> 762<TD>Stops the specified thread. </TD> 763 </TR> 764 <TR> 765<TH nowrap><A href="Thread/OSCheckActiveThreads.html">OSCheckActiveThreads</A></TH> 766<TD>Executes as many checks for normalcy as possible by tracing an active thread queue.</TD> 767 </TR> 768 <TR> 769<TH nowrap><A href="Thread/OSCreateThread.html">OSCreateThread</A></TH> 770<TD>Creates a new thread.</TD> 771 </TR> 772 <TR> 773<TH nowrap><A href="Thread/OSDetachThread.html">OSDetachThread</A></TH> 774<TD>Sets the detached attribute for the specified thread. </TD> 775 </TR> 776 <TR> 777<TH nowrap><A href="Thread/OSDisableScheduler.html">OSDisableScheduler</A></TH> 778<TD>Stops thread rescheduling temporarily.</TD> 779 </TR> 780 <TR> 781<TH nowrap><A href="Thread/OSEnableScheduler.html">OSEnableScheduler</A></TH> 782<TD>Restarts thread rescheduling.</TD> 783 </TR> 784 <TR> 785<TH nowrap><A href="Thread/OSExitThread.html">OSExitThread</A></TH> 786<TD>Ends the current (called) thread and switches to the next executable thread.</TD> 787 </TR> 788 <TR> 789<TH nowrap><A href="Thread/OSGetCurrentThread.html">OSGetCurrentThread</A></TH> 790<TD>Gets the pointer to the current thread.</TD> 791 </TR> 792 <TR> 793<TH nowrap><A href="Thread/OSGetThreadPriority.html">OSGetThreadPriority</A></TH> 794<TD>Returns the priority order that will become the scheduling base for the specified thread.</TD> 795 </TR> 796 <TR> 797<TH nowrap><A href="Thread/OSSetThreadSpecific.html">OSGetThreadSpecific</A></TH> 798<TD>Gets data specific to the thread that called this function.</TD> 799 </TR> 800 <TR> 801<TH nowrap><A href="Thread/OSInitThreadQueue.html">OSInitThreadQueue</A></TH> 802<TD>Initializes the thread queue that other thread functions use.</TD> 803 </TR> 804 <TR> 805<TH nowrap><A href="Thread/OSIsThreadSuspended.html">OSIsThreadSuspended</A></TH> 806<TD>Checks whether the specified thread is suspended.</TD> 807 </TR> 808 <TR> 809<TH nowrap><A href="Thread/OSIsThreadTerminated.html">OSIsThreadTerminated</A></TH> 810<TD>Checks whether the specified thread is stopped.</TD> 811 </TR> 812 <TR> 813<TH nowrap><A href="Thread/OSJoinThread.html">OSJoinThread</A></TH> 814<TD>Waits for the specified thread to terminate and reproduces information for that thread.</TD> 815 </TR> 816 <TR> 817<TH nowrap><A href="Thread/OSResumeThread.html">OSResumeThread</A></TH> 818<TD>Resumes the specified thread.</TD> 819 </TR> 820 <TR> 821<TH nowrap><A href="Thread/OSSetThreadPriority.html">OSSetThreadPriority</A></TH> 822<TD>Sets the priority level used as the scheduling base.</TD> 823 </TR> 824 <TR> 825<TH nowrap><A href="Thread/OSSetThreadSpecific.html">OSSetThreadSpecific</A></TH> 826<TD>Gets data specific to the thread that called this function.</TD> 827 </TR> 828 <TR> 829<TH nowrap><A href="Thread/OSSetSwitchThreadCallback.html">OSSetSwitchThreadCallback</A></TH> 830<TD>Registers a specified callback function.</TD> 831 </TR> 832 <TR> 833<TH nowrap><A href="Thread/OSSleepThread.html">OSSleepThread</A></TH> 834<TD>Suspends the current thread and inserts it into the specified thread queue.</TD> 835 </TR> 836 <TR> 837<TH nowrap><A href="Thread/OSSuspendThread.html">OSSuspendThread</A></TH> 838<TD>Suspends the specified thread.</TD> 839 </TR> 840 <TR> 841<TH nowrap><A href="Thread/OSWakeupThread.html">OSWakeupThread</A></TH> 842<TD>Wakes up all the threads in the specified thread queue. </TD> 843 </TR> 844 <TR> 845<TH nowrap><A href="Thread/OSYieldThread.html">OSYieldThread</A></TH> 846<TD>Performs thread rescheduling.</TD> 847 </TR> 848 <TR> 849<TH nowrap><A href="Thread/OSSleepMicroseconds.html">OSSleepMicroseconds</A></TH> 850<TD>Temporarily stops the current thread and sets executable status after the specified number of microseconds have elapsed.</TD> 851 </TR> 852 <TR> 853<TH nowrap><A href="Thread/OSSleepMilliseconds.html">OSSleepMilliseconds</A></TH> 854<TD>Temporarily stops the current thread and sets executable status after the specified number of milliseconds have elapsed.</TD> 855 </TR> 856 <TR> 857<TH nowrap><A href="Thread/OSSleepNanoseconds.html">OSSleepNanoseconds</A></TH> 858<TD>Temporarily stops the current thread and sets executable status after the specified number of nanoseconds have elapsed.</TD> 859 </TR> 860 <TR> 861<TH nowrap><A href="Thread/OSSleepSeconds.html">OSSleepSeconds</A></TH> 862<TD>Temporarily stops the current thread and sets executable status after the specified number of seconds have elapsed.</TD> 863 </TR> 864 <TR> 865<TH nowrap><A href="Thread/OSSleepTicks.html">OSSleepTicks</A></TH> 866<TD>Temporarily stops the current thread and sets executable status after the specified number of ticks have elapsed.</TD> 867 </TR> 868 </TBODY> 869</TABLE> 870 871<H2><A name="ThreadSynchronization">Thread Synchronization</A></H2> 872<H3>Mutexes and Condition Variables</H3> 873<TABLE class="api_list" border="1" > 874 <TBODY> 875 <TR> 876<TH nowrap><A href="Thread_Synchronization/OSInitCond.html">OSInitCond</A></TH> 877<TD>Initializes condition variables. </TD> 878 </TR> 879 <TR> 880<TH nowrap><A href="Thread_Synchronization/OSInitMutex.html">OSInitMutex</A></TH> 881<TD>Initializes mutexes.</TD> 882 </TR> 883 <TR> 884<TH nowrap><A href="Thread_Synchronization/OSLockMutex.html">OSLockMutex</A></TH> 885<TD>Attempts to lock the mutex that <CODE>mutex</CODE> specifies.</TD> 886 </TR> 887 <TR> 888<TH nowrap><A href="Thread_Synchronization/OSSignalCond.html">OSSignalCond</A></TH> 889<TD>Unblocks all the threads waiting on the specified condition variable. </TD> 890 </TR> 891 <TR> 892<TH nowrap><A href="Thread_Synchronization/OSTryLockMutex.html">OSTryLockMutex</A></TH> 893<TD>The calling thread tries to lock the mutex.</TD> 894 </TR> 895 <TR> 896<TH nowrap><A href="Thread_Synchronization/OSUnlockMutex.html">OSUnlockMutex</A></TH> 897<TD>The calling thread unlocks the mutex.</TD> 898 </TR> 899 <TR> 900<TH nowrap><A href="Thread_Synchronization/OSWaitCond.html">OSWaitCond</A></TH> 901<TD>Blocks the calling thread on the condition variable and releases the mutex.</TD> 902 </TR> 903 </TBODY> 904</TABLE> 905 906<H3>Message Queues</H3> 907<TABLE class="api_list" border="1" > 908 <TBODY> 909 <TR> 910<TH nowrap><A href="Thread_Synchronization/OSInitMessageQueue.html">OSInitMessageQueue</A></TH> 911<TD>Initializes the message queue structure.</TD> 912 </TR> 913 <TR> 914<TH nowrap><A href="Thread_Synchronization/OSJamMessage.html">OSJamMessage</A></TH> 915<TD>Inserts a message at the start of the specified message queue.</TD> 916 </TR> 917 <TR> 918<TH nowrap><A href="Thread_Synchronization/OSReceiveMessage.html">OSReceiveMessage</A></TH> 919<TD>Extracts a message from the message queue.</TD> 920 </TR> 921 <TR> 922<TH nowrap><A href="Thread_Synchronization/OSSendMessage.html">OSSendMessage</A></TH> 923<TD>Inserts a message at the end of the specified message queue.</TD> 924 </TR> 925 </TBODY> 926</TABLE> 927 928<H3>Semaphores</H3> 929<TABLE class="api_list" border="1" > 930 <TBODY> 931 <TR> 932<TH nowrap><A href="Thread_Synchronization/OSGetSemaphoreCount.html">OSGetSemaphoreCount</A></TH> 933<TD>Returns the current semaphore count.</TD> 934 </TR> 935 <TR> 936<TH nowrap><A href="Thread_Synchronization/OSInitSemaphore.html">OSInitSemaphore</A></TH> 937<TD>Initializes semaphores.</TD> 938 </TR> 939 <TR> 940<TH nowrap><A href="Thread_Synchronization/OSSignalSemaphore.html">OSSignalSemaphore</A></TH> 941<TD>Increments the specified semaphore count.</TD> 942 </TR> 943 <TR> 944<TH nowrap><A href="Thread_Synchronization/OSTryWaitSemaphore.html">OSTryWaitSemaphore</A></TH> 945<TD>If the semaphore count is greater than zero, the count is decremented.</TD> 946 </TR> 947 <TR> 948<TH nowrap><A href="Thread_Synchronization/OSWaitSemaphore.html">OSWaitSemaphore</A></TH> 949<TD>Decrements the specified semaphore count.</TD> 950 </TR> 951 </TBODY> 952</TABLE> 953 954<H2><A name="Hash">Hash</A></H3> 955<TABLE class="api_list" border="1" > 956 <TBODY> 957 <TR> 958<TH nowrap><A href="Hash/OSCalcCRC.html"><CODE>OSCalcCRC16</CODE></A></TH> 959<TD>Returns a 16-bit CRC value.</TD> 960 </TR> 961 <TR> 962<TH nowrap><A href="Hash/OSCalcCRC.html"><CODE>OSCalcCRC32</CODE></A></TH> 963<TD>Returns a 32-bit CRC value.</TD> 964 </TR> 965 966 </TBODY> 967</TABLE> 968 969<H2><A name="WiiMenu">Transitions to the Wii Menu or NAND Applications</A></H2> 970<TABLE class="api_list" border="1" > 971 <TBODY> 972 <TR> 973<TH nowrap><A href="WiiMenu/OSReturnToMenu.html">OSReturnToMenu</A></TH> 974<TD>Terminates execution of the applications and restores execution to the system menu.</TD> 975 </TR> 976 <TR> 977<TH nowrap><A href="WiiMenu/OSReturnToDataManager.html">OSReturnToDataManager</A></TH> 978<TD>Ends running applications and moves execution to the Data Management screen of System Menu.</TD> 979 </TR> 980 <TR> 981<TH nowrap><A href="WiiMenu/OSReturnToSetting.html">OSReturnToSetting</A></TH> 982<TD>Ends running applications and moves execution to the System Settings screen of System Menu.</TD> 983 </TR> 984 <TR> 985<TH nowrap><A href="Reset/OSLaunchManualViewer.html">OSLaunchManualViewer</A></TH> 986<TD>Ends running applications and transfers execution to the Manual viewer. <font color="red"><B>It cannot be used with disc applications.</B></font></TD> 987 </TR> 988 </TBODY> 989</TABLE> 990 991<br><br><br> 992 993<hr><p>CONFIDENTIAL</p></body> 994</HTML>