usbloadergx/libcios/source/syscalls.s
dimok321 0e7d37b18b *Fixed crash with loading .iso files
*Fixed freeze in theme menu when its empty
*Optimized the game list loading on fat/ntfs/ext. This should speed up the loading process.
*Added cache of game titles. This will speed up the startup after the cache file is written (in other words on second start of this rev). A TitlesCache.bin will be created in the same path as the wiitdb.xml for this. This should especial speed up the startup of fat/ntfs/ext partitions by a lot if no sub folders with the game titles are used, like GAMEID.wbfs only. That must have been painfully slow before on a lot of games. Should be at about the same speed as with sub folders now. I would still recommend to use sub folders.
*Removed wiilight (disc slot) blinking when switching USB port on Hermes cIOSes (thanks rodries)
*Added the ehcmodule sources from rodries to the branches
*Updated language files
2011-02-11 17:41:52 +00:00

259 lines
3.6 KiB
ArmAsm

/* syscalls.s (c) 2009, Hermes
info from http://wiibrew.org/wiki/IOS/Syscalls
*/
.macro syscall vec_sys
.long 0xE6000010 +(\vec_sys<<5)
bx lr
.endm
.align 4
.arm
.code 32
.global os_thread_create
os_thread_create:
syscall 0x0
.code 32
.global os_thread_joint
os_thread_joint:
syscall 0x1
.code 32
.global os_thread_cancel
os_thread_cancel:
syscall 0x2
.code 32
.global os_get_thread_id
os_get_thread_id:
syscall 0x3
.code 32
.global os_get_parent_thread_id
os_get_parent_thread_id:
syscall 0x4
.code 32
.global os_thread_continue
os_thread_continue:
syscall 0x5
.code 32
.global os_thread_stop
os_thread_stop:
syscall 0x6
.code 32
.global os_thread_yield
os_thread_yiel:
syscall 0x7
.code 32
.global os_thread_get_priority
os_thread_get_priority :
syscall 0x8
.code 32
.global os_thread_set_priority
os_thread_set_priority:
syscall 0x9
.code 32
.global os_message_queue_create
os_message_queue_create:
syscall 0xa
.code 32
.global os_message_queue_destroy
os_message_queue_destroy:
syscall 0xb
.code 32
.global os_message_queue_send
os_message_queue_send:
syscall 0xc
.code 32
.global os_message_queue_send_now
os_message_queue_send_now:
syscall 0xd
.code 32
.global os_message_queue_receive
os_message_queue_receive:
syscall 0xe
.code 32
.global os_register_event_handler
os_register_event_handler:
syscall 0xf
.code 32
.global os_unregister_event_handler
os_unregister_event_handler:
syscall 0x10
.code 32
.global os_create_timer
os_create_timer:
syscall 0x11
.code 32
.global os_restart_timer
os_restart_timer:
syscall 0x12
.code 32
.global os_stop_timer
os_stop_timer:
syscall 0x13
.code 32
.global os_destroy_timer
os_destroy_timer:
syscall 0x14
.code 32
.global os_timer_now
os_timer_now:
syscall 0x15
.code 32
.global os_heap_create
os_heap_create:
syscall 0x16
.code 32
.global os_heap_destroy
os_heap_destroy:
syscall 0x17
.code 32
.global os_heap_alloc
os_heap_alloc:
syscall 0x18
.code 32
.global os_heap_alloc_aligned
os_heap_alloc_aligned:
syscall 0x19
.code 32
.global os_heap_free
os_heap_free:
syscall 0x1a
.code 32
.global os_device_register
os_device_register:
syscall 0x1b
.code 32
.global os_open
os_open:
syscall 0x1c
.code 32
.global os_close
os_close:
syscall 0x1d
.code 32
.global os_read
os_read:
syscall 0x1e
.code 32
.global os_write
os_write:
syscall 0x1f
.code 32
.global os_seek
os_seek:
syscall 0x20
.code 32
.global os_ioctl
os_ioctl:
syscall 0x21
.code 32
.global os_ioctlv
os_ioctlv:
syscall 0x22
.code 32
.global os_open_async
os_open_async:
syscall 0x23
.code 32
.global os_close_async
os_close_async:
syscall 0x24
.code 32
.global os_read_async
os_read_async:
syscall 0x25
.code 32
.global os_write_async
os_write_async:
syscall 0x26
.code 32
.global os_seek_async
os_seek_async:
syscall 0x27
.code 32
.global os_ioctl_async
os_ioctl_async:
syscall 0x28
.code 32
.global os_ioctlv_async
os_ioctlv_async:
syscall 0x29
.code 32
.global os_message_queue_ack
os_message_queue_ack:
syscall 0x2a
.code 32
.global os_software_IRQ
os_software_IRQ:
syscall 0x34
.code 32
.global os_sync_before_read
os_sync_before_read:
syscall 0x3f
.code 32
.global os_sync_after_write
os_sync_after_write:
syscall 0x40
.code 32
.global os_syscall_50
os_syscall_50:
syscall 0x50
.code 32
.global os_puts
os_puts:
adds r1,r0,#0
movs R0,#4
svc 0xAB
bx lr