ARM9 SWI Functions: Difference between revisions

From DSiBrew
Jump to navigation Jump to search
Nocash (talk | contribs)
No edit summary
Nocash (talk | contribs)
No edit summary
Line 8: Line 8:
! Name  
! Name  
! Args
! Args
! New?
! Changes
|-
|-
| 0x00
| 0x00
| swiSoftReset
| N/A (hangs)
| none
| none
| old
| '''formerly SoftReset'''
|-
|-
| 0x01
| 0x01
| swiUnknown
| swiDecompressLZSSwithCallbackWrite8bitUnits
| ??
| ??
| '''new''' ??
| '''formerly jump to 0'''
|-
|-
| 0x02
| 0x02
| swiDecompressLZSSVram
| swiDecompressLZSSwithCallbackWrite16bitUnits
| ??
| ??
| old
| '''formerly jump to 0'''
|-
|-
| 0x03
| 0x03
| swiDelay
| swiWaitByLoop
| ??
| ??
| old
| same as DS
|-
|-
| 0x04
| 0x04
| swiIntrWait
| swiIntrWait
| ??
| ??
| old
| same as DS
|-
|-
| 0x05
| 0x05
| swiWaitForVBlank
| swiVBlankIntrWait
| ??
| ??
| old
| same as DS
|-
|-
| 0x06
| 0x06
| swiWaitForIRQ
| swiHalt
| ??
| ??
| old
| same as DS
|-
| 0x07-0x08
| N/A (hangs)
| ??
| same as DS / formerly jump to 0
|-
|-
| 0x09  
| 0x09  
| swiDivide
| swiDivide
| ??
| ??
| old
| same as DS
|-
| 0x0A
| N/A (hangs)
| ??
| same as DS / formerly jump to 0
|-
|-
| 0x0B
| 0x0B
| swiCopy
| swiCopy
| ??  
| ??  
| old
| same as DS
|-
|-
| 0x0C
| 0x0C
| swiFastCopy
| swiFastCopy
| ??  
| ??  
| old
| same as DS
|-
|-
| 0x0D
| 0x0D
| swiSqrt
| swiSqrt
| ??  
| ??  
| old
| same as DS
|-
|-
| 0x0E
| 0x0E
| swiCRC16
| swiCRC16
| ??  
| ??  
| old
| same as DS
|-
| 0x0F
| N/A (hangs)
| ??
| '''formerly IsDebugger'''
|-
|-
| 0x10
| 0x10
| swiUnpackBits
| swiUnpackBits
| ??
| ??
| old
| same as DS
|-
|-
| 0x11
| 0x11
| swiDecompressLZSSWram
| swiDecompressLZSSWram
| ??
| ??
| old
| same as DS
|-
|-
| 0x12
| 0x12
| swiDecompressLZSSVram
| N/A (ignored)
| ??
| ??
| old
| '''(formerly swiDecompressLZSSVram)'''
|-
|-
| 0x13
| 0x13
| swiDecompressHuffman
| swiDecompressHuffmanWithCallback
| ??
| ??
| old
| same as DS
|-
|-
| 0x14
| 0x14
| swiDecompressRLEWram
| swiDecompressRLEWram
| ??
| ??
| old
| same as DS
|-
|-
| 0x15
| 0x15
| swiDecompressRLEVram
| swiDecompressRLEVram
| ??
| ??
| old
| same as DS
|-
|-
| 0x16
| 0x16
| swiDecodeDelta8
| swiDecodeDelta8
| ??
| ??
| old
| same as DS
|-
| 0x17
| N/A (hangs)
| ??
| same as DS / formerly jump to 0
|-
|-
| 0x18
| 0x18
| swiDecodeDelta16
| swiDecodeDelta16
| ??
| ??
| old
| 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
| swiSetHaltCR
| swiCustomPost
| ??
| ??
| old
| same as DS
|-
|-
| 0x20
| 0x20
| init_crypto_heap
| swiInit_crypto_heap
| ??
| ??
| '''new'''
| '''new'''
|-
|-
| 0x21
| 0x21
| rsa_decrypt
| swiRSA_decrypt
| ??
| ??
| '''new'''
| '''new'''
|-
|-
| 0x22
| 0x22
| rsa_decrypt_signature
| swiRSA_decrypt_signature
| ??
| ??
| '''new'''
| '''new'''
|-
|-
| 0x23
| 0x23
| rsa_decrypt_der
| 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 23: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

See Also