You've already forked ultrasm64-2
mirror of
https://github.com/HackerN64/ultrasm64-2.git
synced 2026-01-21 10:38:08 -08:00
Add libdragon ipl3 as makefile option
This commit is contained in:
25
asm/entry.s
25
asm/entry.s
@@ -7,28 +7,7 @@
|
||||
.section .text, "ax"
|
||||
|
||||
glabel entry_point
|
||||
#ifdef VERSION_CN
|
||||
// Get main segment bss address and size
|
||||
lui $t0, %lo(_mainSegmentNoloadStartHi)
|
||||
ori $t0, %lo(_mainSegmentNoloadStartLo)
|
||||
lui $t1, %lo(_mainSegmentNoloadSizeHi)
|
||||
ori $t1, %lo(_mainSegmentNoloadSizeLo)
|
||||
.clear_bytes:
|
||||
// Clear bss section until they are zeroed out
|
||||
sw $zero, ($t0) // Clear 4 bytes
|
||||
sw $zero, 4($t0) // Clear the next 4 bytes
|
||||
addi $t0, $t0, 8 // Increment the address of bytes to clear
|
||||
addi $t1, $t1, -8 // Subtract 8 bytes from the amount remaining
|
||||
bnez $t1, .clear_bytes // Continue clearing until clear_bytes is 0
|
||||
nop
|
||||
// Get init function and idle thread stack
|
||||
lui $sp, %lo(gIdleThreadStackHi)
|
||||
ori $sp, %lo(gIdleThreadStackLo)
|
||||
lui $t2, %lo(main_funcHi)
|
||||
ori $t2, %lo(main_funcLo)
|
||||
jr $t2 // Jump to the init function
|
||||
nop
|
||||
#else
|
||||
#ifndef LIBDRAGON_IPL3
|
||||
// Get main segment bss address and size
|
||||
lui $t0, %hi(_mainSegmentNoloadStart)
|
||||
lui $t1, %lo(_mainSegmentNoloadSizeHi)
|
||||
@@ -41,13 +20,13 @@ glabel entry_point
|
||||
sw $zero, 4($t0) // Clear the next 4 bytes
|
||||
bnez $t1, .clear_bytes // Continue clearing until clear_bytes is 0
|
||||
addi $t0, $t0, 8 // Increment the address of bytes to clear
|
||||
#endif
|
||||
// Get init function and idle thread stack
|
||||
lui $t2, %hi(main_func)
|
||||
lui $sp, %hi(gIdleThreadStack)
|
||||
addiu $t2, %lo(main_func)
|
||||
jr $t2 // Jump to the init function
|
||||
addiu $sp, %lo(gIdleThreadStack)
|
||||
#endif
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
Reference in New Issue
Block a user