CfgUSBLoader/cios/odip_plugin/source/crt0.s
2015-01-17 10:11:08 +00:00

108 lines
2.9 KiB
ArmAsm

/*
Custom IOS module for Wii.
Copyright (C) 2008 neimod.
Copyright (C) 2010 Spaceman Spiff.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
.section ".init"
.global _start
.align 4
.code 32
/*******************************************************************************
*
* crt0.s - IOS module startup code
*
*******************************************************************************
*
*
* v1.0 - 26 July 2008 - initial release by neimod
* v1.1 - 5 September 2008 - prepared for public release
*
*/
.EQU dip_plugin_id, 0x12340001
.EQU ios36_dvd_read_controlling_data, 0x2022DDAC
.EQU ios36_handle_di_cmd_reentry, 0x20201010
.EQU ios36_shared_alloc_aligned, 0x20200b9c
.EQU ios36_shared_free, 0x20200b70
.EQU ios36_memcpy, 0x20205dc0
.EQU ios36_fatal_di_error, 0x20200048
.EQU ios36_doReadHashEncryptedState, 0x20202b4c
.EQU ios36_printf, 0x20203934
.EQU ios38_dvd_read_controlling_data, 0x2022cdac
.EQU ios38_handle_di_cmd_reentry, 0x20200d38
.EQU ios38_shared_alloc_aligned, 0x202008c4
.EQU ios38_shared_free, 0x20200898
.EQU ios38_memcpy, 0x20205b80
.EQU ios38_fatal_di_error, 0x20200048
.EQU ios38_doReadHashEncryptedState, 0x20202874
.EQU ios38_printf, 0x2020365c
.global addr_dvd_read_controlling_data
.global addr_di_cmd_reentry
.global addr_ios_shared_alloc_aligned
.global addr_ios_shared_free
.global addr_ios_memcpy
.global addr_ios_fatal_di_error
.global addr_ios_doReadHashEncryptedState
.global addr_ios_printf
/* Begin DIP-Plugin compatible Table */
.long DI_EmulateCmd
.long dip_plugin_id
addr_dvd_read_controlling_data:
.long ios36_dvd_read_controlling_data
addr_di_cmd_reentry:
.long ios36_handle_di_cmd_reentry + 1
addr_ios_shared_alloc_aligned:
.long ios36_shared_alloc_aligned + 1
addr_ios_shared_free:
.long ios36_shared_free + 1
addr_ios_memcpy:
.long ios36_memcpy + 1
addr_ios_fatal_di_error:
.long ios36_fatal_di_error + 1
addr_ios_doReadHashEncryptedState:
.long ios36_doReadHashEncryptedState + 1
addr_ios_printf:
.long ios36_printf + 1
.long 0 @ reserved @
.long 0 @ reserved @
.long 0 @ reserved @
.long 0 @ reserved @
.long filename_data
.long bca_bytes
.long in_ES_ioctlv
.global mem_bss
mem_bss:
.long _ini_bss
.global mem_bss_len
mem_bss_len:
.long _len_bss
.align 4
_start:
.end