mirror of https://github.com/zeldaret/tmc.git
50 lines
780 B
ArmAsm
50 lines
780 B
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
.syntax unified
|
|
.text
|
|
|
|
arm_func_start __start
|
|
__start:
|
|
b start_vector
|
|
|
|
header:
|
|
.include "asm/rom_header.inc"
|
|
|
|
start_vector:
|
|
mov r0, #0x12
|
|
msr cpsr_fc, r0
|
|
ldr sp, sp_irq
|
|
mov r0, #0x1f
|
|
msr cpsr_fc, r0
|
|
ldr sp, sp_usr
|
|
ldr r1, INTR_VECTOR_BUF
|
|
ldr r0, intr_main
|
|
str r0, [r1]
|
|
.ifdef EU
|
|
ldr r1, unk_function
|
|
mov lr, pc
|
|
bx r1
|
|
.else
|
|
.ifdef DEMO_JP
|
|
ldr r1, unk_function
|
|
mov lr, pc
|
|
bx r1
|
|
.endif
|
|
.endif
|
|
ldr r1, =AgbMain
|
|
mov lr, pc
|
|
bx r1
|
|
_080000F0:
|
|
b start_vector
|
|
sp_irq: .4byte irq_stack_begin
|
|
sp_usr: .4byte usr_stack_begin
|
|
INTR_VECTOR_BUF: .4byte 0x03007FFC
|
|
intr_main: .4byte ram_IntrMain
|
|
.ifdef EU
|
|
unk_function: .4byte fill_rq_stack
|
|
.else
|
|
.ifdef DEMO_JP
|
|
unk_function: .4byte fill_rq_stack
|
|
.endif
|
|
.endif
|