Changes

Jump to navigation Jump to search
551 bytes added ,  12:22, 18 July 2013
IntrWait bugged?
Line 1: Line 1:  
== ARM9 BIOS SWI Function ==
 
== ARM9 BIOS SWI Function ==
   −
These are the functions provided by the ARM9 BIOS. IDs not mentioned here, calls swiSoftReset. I haven't checked any old ones if they've been modified/replaced.
+
These are the functions provided by the ARM9 BIOS.
    
{| class="wikitable"
 
{| class="wikitable"
Line 33: Line 33:  
| swiIntrWait
 
| swiIntrWait
 
| ??
 
| ??
| same as DS
+
| same as DS (but bugged? see note)
 
|-
 
|-
 
| 0x05
 
| 0x05
 
| swiVBlankIntrWait
 
| swiVBlankIntrWait
 
| ??
 
| ??
| same as DS
+
| same as DS (but bugged? see note)
 
|-
 
|-
 
| 0x06
 
| 0x06
Line 101: Line 101:  
|-
 
|-
 
| 0x13
 
| 0x13
| swiDecompressHuffmanWithCallback
+
| swiDecompressHuffmanWithCallbackWrite32bitUnits
 
| ??
 
| ??
 
| same as DS
 
| same as DS
Line 111: Line 111:  
|-
 
|-
 
| 0x15
 
| 0x15
| swiDecompressRLEVram
+
| swiDecompressRLEwithCallbackWrite16bitUnits
 
| ??
 
| ??
 
| same as DS
 
| same as DS
Line 191: Line 191:  
|-
 
|-
 
| 0x29
 
| 0x29
| SHA1_Random
+
| swiSHA1_Random
 
| looks like it's trying to generate a random number using SHA1
 
| looks like it's trying to generate a random number using SHA1
 
| '''new'''
 
| '''new'''
Line 215: Line 215:  
| formerly jump to garbage
 
| formerly jump to garbage
 
|}
 
|}
 +
 +
The two ignored function do return without doing anything (they are rejected before calling the SWI function table). The other unused functions do hang in an endless loop.
 +
 +
'''Note:''' swiHalt does correctly use CP15 to halt the ARM9 processor. But, swiVBlankIntrWait and swiIntrWait do use port 0x4000301 (which would be correct on ARM7, unknown if the same mechanism is actually supported on ARM9, if it isn't supported then the functions would more or less behave as desired - wait for IRQ flags to get set - but without actually switching the CPU into low-power mode).
    
== See Also ==
 
== See Also ==
    
* [[ARM7 BIOS]]
 
* [[ARM7 BIOS]]
108

edits

Navigation menu