Line 336:
Line 336:
== Syscalls (via ARM syscall instruction) ==
== Syscalls (via ARM syscall instruction) ==
−
These types of syscalls are created with the ARM syscall instruction. The exception handler is empty and just do nothing and returns. It seems that these syscalls are only for debugging when Nintendo changes something at the IOS. The syscall is called as follows:
+
These types of syscalls are created with the ARM syscall instruction. The exception handler is empty and just do nothing and returns. These syscalls are [http://www.keil.com/support/man/docs/armcc/armcc_babdjeec.htm RealView semihosting operations] that allow communication with a debugger. Currently only the following syscalls are still used in distributed IOS versions:
<source lang="c">
<source lang="c">
Line 350:
Line 350:
! ID # !! Internal name !! Description !! Return value
! ID # !! Internal name !! Description !! Return value
|-
|-
−
| 4 || puts(const char *string) || Prints debug message. || unknown.
+
| 4 || write(const char *string) || Prints a null-terminated debug message. || unknown.
|}
|}