1
0
Fork 0

added jp linker port

This commit is contained in:
BitPatty 2017-02-23 18:12:52 +01:00
parent 6c778bb096
commit 25d4bc0627
3 changed files with 227 additions and 0 deletions

13
ports/jp/build.bat Normal file
View file

@ -0,0 +1,13 @@
C:\devkitPro\devkitPPC\bin\powerpc-eabi-gcc.exe %1 -S -o %~n1.s -O1 -std=c99
C:\devkitPro\devkitPPC\bin\powerpc-eabi-gcc.exe %1 -c -o %~n1.o -O1 -std=c99
if ERRORLEVEL 1 pause
if ERRORLEVEL 1 exit
C:\devkitPro\devkitPPC\bin\powerpc-eabi-ld.exe -Os -T linker -T smsFuncs -o obj_%~n1.o %~n1.o -Map %~n1.map
if ERRORLEVEL 1 pause
if ERRORLEVEL 1 exit
C:\devkitPro\devkitPPC\bin\powerpc-eabi-objdump.exe obj_%~n1.o --full-content
if ERRORLEVEL 1 pause
if ERRORLEVEL 1 exit
C:\devkitPro\devkitPPC\bin\powerpc-eabi-objcopy.exe obj_%~n1.o %~n1.bin -O binary -R .eh_frame -R .comment -R .sdata -R .gnu.attributes -g -S
bin2gecko.exe %~n1.bin -m %~n1.map -c OnUpdate:0x800f9b64:3 -c OnSetup:0x800ece3c:0 -c OnDraw2D:0x80206734:0 -c OnWaterHitsGround:0x8015ebf8:0 -c OnObjectTouchMario:0x801886d8:3 -c OnAllNPCsUpdate:0x80251d50:0 -c OnSmallEnemyHitMario:0x8027f64c:3 -r OnEMarioControl:0x80253ac0 -r IsMario:0x8012cfe0
pause

121
ports/jp/linker Normal file
View file

@ -0,0 +1,121 @@
__destroy_global_chain = 0x800826e0;
__register_global_object = 0x80082728;
__destroy_new_array = 0x80082740;
__destroy_arr = 0x800827bc;
__construct_array = 0x80082834;
__dt__26__partial_array_destructorFv = 0x80082934;
__construct_new_array = 0x800829ec;
__ptmf_test = 0x80082af4;
__ptmf_scall = 0x80082b24;
__unregister_fragment = 0x80082b4c;
__register_fragment = 0x80082b80;
__dt__26__partial_array_destructorFv = 0x80082934;
__cvt_fp2unsigned = 0x80082bbc;
exit = 0x80083298;
rand = 0x80085ac4;
srand = 0x80085abc;
long2str = 0x800853c0;
longlong2str = 0x800853c0;
round_decimal = 0x80084fac;
float2str = 0x80084974;
toupper = 0x8008385c;
tolower = 0x80083884;
__num2dec = 0x800833a4;
__flush_buffer = 0x80083758;
__prep_buffer = 0x80083824;
__kill_critical_regions = 0x80083858;
__div2u = 0x80082c18;
__div2i = 0x80082d04;
__mod2u = 0x80082e3c;
__mod2i = 0x80082f20;
__shl2i = 0x8008302c;
__shr2u = 0x80083050;
__shr2i = 0x80083074;
__cvt_sll_flt = 0x8008309c;
__cvt_dbl_usll = 0x80083150;
GetR2__Fv = 0x8008321c;
__fini_cpp_exceptions = 0x80083224;
__init_cpp_exceptions = 0x80083258;
fwrite = 0x800838ac;
wcstombs = 0x80083b88;
memcmp = 0x80083bc4;
memchr = 0x80083c08;
memmove = 0x80083c34;
__copy_longs_rev_unaligned = 0x80083d10;
__copy_longs_unaligned = 0x80083dc0;
__copy_longs_rev_aligned = 0x80083e84;
__copy_longs_aligned = 0x80083f30;
__stdio_atexit = 0x80083fec;
sprintf = 0x80083ff0;
snprintf = 0x800840c4;
vsnprintf = 0x80084194;
vprintf = 0x80084204;
__StringWrite = 0x80084280;
__FileWrite = 0x800842ec;
__pformatter = 0x80084344;
parse_format = 0x800855e4;
__StringRead = 0x80085ae8;
strstr = 0x80085b78;
strrchr = 0x80085be4;
strchr = 0x80085c2c;
strcmp = 0x80085c5c;
strcat = 0x80085d80;
strncpy = 0x80085dac;
strcpy = 0x80085df0;
strlen = 0x80085ea4;
strtol = 0x80085ec4;
strtoul = 0x80085fb4;
__strtoul = 0x80086060;
__close_console = 0x800863a8;
__write_console = 0x800863b0;
__read_console = 0x80086448;
fwide = 0x80086528;
fabs__Fd = 0x800865a8;
__ieee754_atan2 = 0x800865b0;
atan = 0x80086848;
frexp = 0x80086a88;
atan2 = 0x80086b24;
fabsf__Ff = 0x80086b44;
atanf = 0x80086b4c;
atan__Ff = 0x80086d40;
_inv_sqrtf = 0x80086d60;
acosf = 0x80086dd0;
atan2f = 0x80086e14;
tanf = 0x80086eec;
cos__Ff = 0x80086f30;
sin__Ff = 0x80086f50;
cosf = 0x80086f70;
sinf = 0x80087104;
__sinit_trigf_c = 0x800872a8;
powf = 0x800872d8;
expf = 0x80087a18;
memset = 0x80003100;
__fill_mem = 0x80003130;
memcpy = 0x800031f4;
__nw__FUl = 0x8000c8b0;
__nw__FUli = 0x8000c8f8;
__nwa__FUl = 0x8000c9b0;
__nwa__FUli = 0x8000c9f8;
__dl__FPv = 0x8000cab0;
__dla__FPv = 0x8000cb14;
SECTIONS
{
. = 0x817fa000;
.text :
{
*(.text)
}
.rodata :
{
*(.rodata*)
}
.data :
{
*(.data)
}
. += 0x08;
.sdata :
{
*(.sdata)
}
}

93
ports/jp/smsFuncs Normal file
View file

@ -0,0 +1,93 @@
MarDirector_SetupObjects = 0x8010c3ac;
PlaySound = 0x80181ef8;
StartStageEntranceDemoSeq = 0x80110000;
GenerateEffectElectric = 0x8014243c;
MakeObjAppear = 0x8018efa8;
SendMsgToMario = 0x80152bb4;
EmitSweat = 0x80143c80;
Mario_StartVoice = 0x8016480c;
Fludd_Emit = 0x80148658;
SetMarioStatus = 0x80133424;
IsMarioJumping = 0x802739b4;
Mario_SetAnim = 0x80126948;
ThrowMario = 0x80289ec4;
GetMarioMapPosition = 0x80289ec4;
IncGoldCoinFlag = 0x800e7bcc;
GetMarioStatusFromHitActor = 0x8015298c;
GetMarioStatus = 0x80152c34;
GetMarioHP = 0x801529b8;
GetMarioYoshi = 0x80152d4c;
GetFLUDD = 0x80152c04;
GetMarioHitActor = 0x80152d20;
GetShineStage = 0x800fc534;
SearchF = 0x80044960;
ChangeStage = 0x800ed8a0;
DrawWaterBackground = 0x8020a6fc;
Talk2D_OpenWindow = 0x802119cc;
Vector_Magnitude = 0x800c57d0;
Vector_Normalize = 0x800c57f8;
Vector_Subtract = 0x800c2088;
Vector_Add = 0x80094e8c;
Vector_Scale = 0x80094ed4;
CalcKeyCode = 0x8004468c;
JUTRect_Set = 0x8001321c;
J2DScreen_Draw = 0x80018e64;
J2DPane_MakeMatrix = 0x80014c38;
J2DPane_SetBasePosition = 0x80014e98;
J2DPane_Draw = 0x80014710;
J2DTextBox_Delete = 0x80019ad0;
J2DTextBox_GetStringPtr = 0x80019d1c;
J2DTextBox_SetString = 0x80019d24;
J2DTextBox_DrawSelf = 0x80019e94;
J2DTextBox_Drawii = 0x80019be4;
J2DTextBox_Draw = 0x80019be4;
J2DTextBox_Create = 0x80019904;
J2DPrint_Delete = 0x80016e2c;
J2DPrint_Print = 0x800171a8;
J2DPrint_Initiate = 0x80016e78;
J2DPrint_GetWidth = 0x80017350;
J2DPrint_Create = 0x80016d38;
J2DGrafContext_Setup2D = 0x80035228;
J2DOrthoGraph_Create = 0x80036b38;
GXInvalidateTexAll = 0x800aad20;
GXSetScissor = 0x800ada58;
StampPollution = 0x801efa1c;
CleanPollution = 0x801ef94c;
Drama_PrepareUpdate = 0x80046f6c;
StartTrembleEffect = 0x800c2370;
SetMarioVelocity = 0x80134b24;
Mario_SetGamePad = 0x80155a0c;
MarioGamePad_Read = 0x800fba58;
MarioGamePad_Update = 0x800fbae4;
MarioGamePad_Reset = 0x800fc380;
EMario_Create = 0x8024d7e0;
Mario_CheckController = 0x801308e8;
Mario_CheckCollision = 0x80160480;
Mario_ReceiveMessage = 0x80161f84;
Mario_PlayerControl = 0x8012d30c;
Mario_DamageExec = 0x8012194c;
Mario_IncHP = 0x80122ab8;
Mario_DecHP = 0x801229b8;
EnemyMario_CheckController = 0x80253ac0;
Camera_AddMultiPlayer = 0x80360538;
Camera_RemoveMultiPlayer = 0x803604a0;
Camera_CreateMultiPlayer = 0x80360594;
Mario_DrawHP = 0x80253778;
IsPolluted = 0x801f2e78;
Mario_WearGlasses = 0x801272e8;
IsDemoMode = 0x8017343c;
InsertTimer = 0x800e1ee0;
StartTimer = 0x800e1d74;
AppearReadyGo = 0x800dd710;
LaunchEventClearDemo = 0x800e2fb0;
StopTimer = 0x800e1b4c;
StartAppearTimer = 0x8020c428;
OSGetTime = 0x80093df8;
OSGetSystemTime = 0x80093e18;
OSTicksToCalendarTime = 0x80094018;
OSInitStopwatch = 0x80092900;
OSStartStopwatch = 0x8009292c;
OSCheckStopwatch = 0x80092a34;
OSStopStopwatch = 0x80092968;
OSResetStopwatch = 0x80092aa4;
OSGetTick = 0x80093e10;