ARM9 SWI Functions
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 |