Difference between revisions of "ARM9 SWI Functions"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
! Name | ! Name | ||
! Args | ! Args | ||
− | ! | + | ! Changes |
|- | |- | ||
| 0x00 | | 0x00 | ||
− | | | + | | N/A (hangs) |
| none | | none | ||
− | | | + | | '''formerly SoftReset''' |
|- | |- | ||
| 0x01 | | 0x01 | ||
− | | | + | | swiDecompressLZSSwithCallbackWrite8bitUnits |
| ?? | | ?? | ||
− | | ''' | + | | '''formerly jump to 0''' |
|- | |- | ||
| 0x02 | | 0x02 | ||
− | | | + | | swiDecompressLZSSwithCallbackWrite16bitUnits |
| ?? | | ?? | ||
− | | | + | | '''formerly jump to 0''' |
|- | |- | ||
| 0x03 | | 0x03 | ||
− | | | + | | swiWaitByLoop |
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x04 | | 0x04 | ||
| swiIntrWait | | swiIntrWait | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x05 | | 0x05 | ||
− | | | + | | swiVBlankIntrWait |
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x06 | | 0x06 | ||
− | | | + | | swiHalt |
| ?? | | ?? | ||
− | | | + | | same as DS |
+ | |- | ||
+ | | 0x07-0x08 | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | same as DS / formerly jump to 0 | ||
|- | |- | ||
| 0x09 | | 0x09 | ||
| swiDivide | | swiDivide | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
+ | |- | ||
+ | | 0x0A | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | same as DS / formerly jump to 0 | ||
|- | |- | ||
| 0x0B | | 0x0B | ||
| swiCopy | | swiCopy | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x0C | | 0x0C | ||
| swiFastCopy | | swiFastCopy | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x0D | | 0x0D | ||
| swiSqrt | | swiSqrt | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x0E | | 0x0E | ||
| swiCRC16 | | swiCRC16 | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
+ | |- | ||
+ | | 0x0F | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | '''formerly IsDebugger''' | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| swiUnpackBits | | swiUnpackBits | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x11 | | 0x11 | ||
| swiDecompressLZSSWram | | swiDecompressLZSSWram | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x12 | | 0x12 | ||
− | | | + | | N/A (ignored) |
| ?? | | ?? | ||
− | | | + | | '''(formerly swiDecompressLZSSVram)''' |
|- | |- | ||
| 0x13 | | 0x13 | ||
− | | | + | | swiDecompressHuffmanWithCallback |
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x14 | | 0x14 | ||
| swiDecompressRLEWram | | swiDecompressRLEWram | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x15 | | 0x15 | ||
| swiDecompressRLEVram | | swiDecompressRLEVram | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x16 | | 0x16 | ||
| swiDecodeDelta8 | | swiDecodeDelta8 | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
+ | |- | ||
+ | | 0x17 | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | same as DS / formerly jump to 0 | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| swiDecodeDelta16 | | swiDecodeDelta16 | ||
| ?? | | ?? | ||
− | | | + | | same as DS |
+ | |- | ||
+ | | 0x19 | ||
+ | | swiDecompressLZSSwithCallbackWrite16bitUnits | ||
+ | | ?? | ||
+ | | same as SWI 0x02 / formerly jump to 0 | ||
+ | |- | ||
+ | | 0x1A-0x1E | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | same as DS / formerly jump to 0 | ||
|- | |- | ||
| 0x1F | | 0x1F | ||
− | | | + | | swiCustomPost |
| ?? | | ?? | ||
− | | | + | | same as DS |
|- | |- | ||
| 0x20 | | 0x20 | ||
− | | | + | | swiInit_crypto_heap |
| ?? | | ?? | ||
| '''new''' | | '''new''' | ||
|- | |- | ||
| 0x21 | | 0x21 | ||
− | | | + | | swiRSA_decrypt |
| ?? | | ?? | ||
| '''new''' | | '''new''' | ||
|- | |- | ||
| 0x22 | | 0x22 | ||
− | | | + | | swiRSA_decrypt_signature |
| ?? | | ?? | ||
| '''new''' | | '''new''' | ||
|- | |- | ||
| 0x23 | | 0x23 | ||
− | | | + | | swiRSA_decrypt_der |
| ?? | | ?? | ||
| '''new''' | | '''new''' | ||
Line 164: | Line 194: | ||
| 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''' | ||
+ | |- | ||
+ | | 0x2A | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | formerly jump to garbage | ||
+ | |- | ||
+ | | 0x2B | ||
+ | | N/A (ignored) | ||
+ | | ?? | ||
+ | | formerly jump to garbage | ||
+ | |- | ||
+ | | 0x2C-0x3F | ||
+ | | N/A (hangs) | ||
+ | | ?? | ||
+ | | formerly jump to garbage | ||
+ | |- | ||
+ | | 0x40-0xFF | ||
+ | | Mirrors of 0x00-0x3F | ||
+ | | ?? | ||
+ | | formerly jump to garbage | ||
|} | |} | ||
Revision as of 22:10, 17 July 2013
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.
ID | Name | Args | Changes |
---|---|---|---|
0x00 | N/A (hangs) | none | formerly SoftReset |
0x01 | swiDecompressLZSSwithCallbackWrite8bitUnits | ?? | formerly jump to 0 |
0x02 | swiDecompressLZSSwithCallbackWrite16bitUnits | ?? | formerly jump to 0 |
0x03 | swiWaitByLoop | ?? | same as DS |
0x04 | swiIntrWait | ?? | same as DS |
0x05 | swiVBlankIntrWait | ?? | same as DS |
0x06 | swiHalt | ?? | same as DS |
0x07-0x08 | N/A (hangs) | ?? | same as DS / formerly jump to 0 |
0x09 | swiDivide | ?? | same as DS |
0x0A | N/A (hangs) | ?? | same as DS / formerly jump to 0 |
0x0B | swiCopy | ?? | same as DS |
0x0C | swiFastCopy | ?? | same as DS |
0x0D | swiSqrt | ?? | same as DS |
0x0E | swiCRC16 | ?? | same as DS |
0x0F | N/A (hangs) | ?? | formerly IsDebugger |
0x10 | swiUnpackBits | ?? | same as DS |
0x11 | swiDecompressLZSSWram | ?? | same as DS |
0x12 | N/A (ignored) | ?? | (formerly swiDecompressLZSSVram) |
0x13 | swiDecompressHuffmanWithCallback | ?? | same as DS |
0x14 | swiDecompressRLEWram | ?? | same as DS |
0x15 | swiDecompressRLEVram | ?? | same as DS |
0x16 | swiDecodeDelta8 | ?? | same as DS |
0x17 | N/A (hangs) | ?? | same as DS / formerly jump to 0 |
0x18 | swiDecodeDelta16 | ?? | same as DS |
0x19 | swiDecompressLZSSwithCallbackWrite16bitUnits | ?? | same as SWI 0x02 / formerly jump to 0 |
0x1A-0x1E | N/A (hangs) | ?? | same as DS / formerly jump to 0 |
0x1F | swiCustomPost | ?? | same as DS |
0x20 | swiInit_crypto_heap | ?? | new |
0x21 | swiRSA_decrypt | ?? | new |
0x22 | swiRSA_decrypt_signature | ?? | new |
0x23 | swiRSA_decrypt_der | ?? | new |
0x24 | swiSHA1_Init | ?? | new |
0x25 | swiSHA1_Update | ?? | new |
0x26 | swiSHA1_Final | ?? | new |
0x27 | swiSHA1 | ?? | new |
0x28 | swiSHA1_Compare | ?? | new |
0x29 | SHA1_Random | looks like it's trying to generate a random number using SHA1 | new |
0x2A | N/A (hangs) | ?? | formerly jump to garbage |
0x2B | N/A (ignored) | ?? | formerly jump to garbage |
0x2C-0x3F | N/A (hangs) | ?? | formerly jump to garbage |
0x40-0xFF | Mirrors of 0x00-0x3F | ?? | formerly jump to garbage |