mirror of
https://github.com/nitraiolo/CfgUSBLoader.git
synced 2024-12-02 16:14:15 +01:00
108 lines
2.9 KiB
ArmAsm
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
|