sm64.ld (55387B)
1 OUTPUT_ARCH (mips) 2 3 /* include/segments.h defines SEG_POOL_START, SEG_POOL_END, SEG_BUFFERS, 4 * SEG_GODDARD, SEG_ENGINE, SEG_FRAMEBUFFERS */ 5 #include "segments.h" 6 #include "config.h" 7 8 #ifndef USE_EXT_RAM 9 #define ADDR_OR_ALIGN(addr) (addr) 10 #else 11 #define ADDR_OR_ALIGN(addr) ALIGN(0x1000) 12 #endif 13 14 #define BEGIN_SEG(name, addr) \ 15 _##name##SegmentStart = ADDR(.name); \ 16 _##name##SegmentRomStart = __romPos; \ 17 .name (addr) : AT(__romPos) 18 19 #define END_SEG(name) \ 20 _##name##SegmentEnd = ADDR(.name) + SIZEOF(.name); \ 21 _##name##SegmentRomEnd = __romPos + SIZEOF(.name); \ 22 __romPos += SIZEOF(.name); 23 24 #define BEGIN_NOLOAD(name) \ 25 _##name##SegmentNoloadStart = ADDR(.name.noload); \ 26 .name.noload (NOLOAD) : 27 28 #define END_NOLOAD(name) \ 29 _##name##SegmentNoloadEnd = ADDR(.name.noload) + SIZEOF(.name.noload); 30 31 #define MIO0_SEG(name, segAddr) \ 32 BEGIN_SEG(name##_mio0, segAddr) \ 33 { \ 34 BUILD_DIR/bin/name.mio0.o(.data); \ 35 . = ALIGN(0x10); \ 36 } \ 37 END_SEG(name##_mio0) 38 39 #define MIO0_EU_SEG(name, segAddr) \ 40 BEGIN_SEG(name##_mio0, segAddr) \ 41 { \ 42 BUILD_DIR/bin/eu/name.mio0.o(.data); \ 43 . = ALIGN(0x10); \ 44 } \ 45 END_SEG(name##_mio0) 46 47 #define STANDARD_LEVEL(name) \ 48 BEGIN_SEG(name##_segment_7, 0x07000000) \ 49 { \ 50 BUILD_DIR/levels/name/leveldata.mio0.o(.data); \ 51 . = ALIGN(0x10); \ 52 } \ 53 END_SEG(name##_segment_7) \ 54 BEGIN_SEG(name, 0x0E000000) \ 55 { \ 56 BUILD_DIR/levels/name/script.o(.data); \ 57 BUILD_DIR/levels/name/geo.o(.data); \ 58 } \ 59 END_SEG(name) 60 61 #define STANDARD_OBJECTS(name, segAddr, geoAddr) \ 62 BEGIN_SEG(name##_mio0, segAddr) \ 63 { \ 64 BUILD_DIR/actors/name.mio0.o(.data); \ 65 . = ALIGN(0x10); \ 66 } \ 67 END_SEG(name##_mio0) \ 68 BEGIN_SEG(name##_geo, geoAddr) \ 69 { \ 70 BUILD_DIR/actors/name##_geo.o(.data); \ 71 } \ 72 END_SEG(name##_geo) 73 74 #define CREATE_LO_HI_PAIR(name, value) \ 75 name##Hi = (value) >> 16; \ 76 name##Lo = (value) & 0xffff; 77 78 SECTIONS 79 { 80 __romPos = 0; 81 82 BEGIN_SEG(boot, 0x04000000) 83 { 84 BUILD_DIR/asm/rom_header.o(.text); 85 BUILD_DIR/asm/boot.o(.text); 86 BUILD_DIR/asm/ipl3_font.o(.text); 87 } 88 END_SEG(boot) 89 90 . = 0x80000400; 91 BEGIN_NOLOAD(zbuffer) { 92 BUILD_DIR/src/buffers/zbuffer.o(.bss*); 93 } 94 95 #ifdef VERSION_CN 96 gZBufferEnd = .; 97 #endif 98 99 . = SEG_BUFFERS; 100 BEGIN_NOLOAD(buffers) 101 { 102 BUILD_DIR/src/buffers/buffers.o(.bss*); 103 #if defined(VERSION_SH) || defined(VERSION_CN) 104 BUILD_DIR/src/audio/port_sh.o(.bss*); 105 #else 106 BUILD_DIR/src/audio/globals_start.o(.bss*); 107 BUILD_DIR/src/audio/synthesis.o(.bss*); 108 BUILD_DIR/src/audio/heap.o(.bss*); 109 BUILD_DIR/src/audio/load.o(.bss*); 110 BUILD_DIR/src/audio/data.o(.bss*); 111 #endif 112 113 #ifdef VERSION_EU 114 . = ALIGN(0x200); 115 #else 116 . = ALIGN(0x1000); 117 #endif 118 #if defined(VERSION_SH) || defined(VERSION_CN) 119 . += 0xB000; 120 #endif 121 BUILD_DIR/src/buffers/gfx_output_buffer.o(.bss*); 122 } 123 END_NOLOAD(buffers) 124 125 /* lib/src/__osDevMgrMain.c and lib/src/osCreateViManager.c contain infinite 126 * loops compiled without -g, which cause the return statements and the .o 127 * files themselves to be aligned to 32-byte boundaries. But the linker 128 * Nintendo used did not respect .o file alignment, and aligned the files 129 * only to 16 bytes, in some cases misaligning them. We force the same to 130 * happen using the SUBALIGN directive. This is harmless; the alignment is 131 * just an optimization. */ 132 BEGIN_SEG(main, ) 133 #ifndef VERSION_CN 134 SUBALIGN(16) 135 #endif 136 { 137 BUILD_DIR/asm/entry.o(.text); 138 BUILD_DIR/src/game/crash_screen.o(.text); 139 BUILD_DIR/src/game/main.o(.text); 140 BUILD_DIR/src/game/game_init.o(.text); 141 #ifdef VERSION_CN 142 . += 0x10; 143 #endif 144 BUILD_DIR/src/game/sound_init.o(.text); 145 #if ENABLE_RUMBLE 146 BUILD_DIR/src/game/rumble_init.o(.text); 147 #endif 148 BUILD_DIR/src/game/level_update.o(.text); 149 BUILD_DIR/src/game/interaction.o(.text); 150 BUILD_DIR/src/game/mario.o(.text); 151 BUILD_DIR/src/game/mario_step.o(.text); 152 BUILD_DIR/src/game/mario_actions_cutscene.o(.text); 153 BUILD_DIR/src/game/mario_actions_automatic.o(.text); 154 BUILD_DIR/src/game/mario_actions_stationary.o(.text); 155 BUILD_DIR/src/game/mario_actions_moving.o(.text); 156 BUILD_DIR/src/game/mario_actions_airborne.o(.text); 157 BUILD_DIR/src/game/mario_actions_submerged.o(.text); 158 BUILD_DIR/src/game/mario_actions_object.o(.text); 159 BUILD_DIR/src/game/level_geo.o(.text); 160 BUILD_DIR/src/game/mario_misc.o(.text); 161 BUILD_DIR/src/game/memory.o(.text); 162 BUILD_DIR/src/game/save_file.o(.text); 163 BUILD_DIR/src/game/area.o(.text); 164 BUILD_DIR/src/game/rendering_graph_node.o(.text); 165 BUILD_DIR/src/game/profiler.o(.text); 166 BUILD_DIR/asm/decompress.o(.text); 167 BUILD_DIR/src/game/camera.o(.text); 168 BUILD_DIR/src/game/debug_course.o(.text); 169 BUILD_DIR/src/game/object_list_processor.o(.text); 170 #ifndef VERSION_EU 171 BUILD_DIR/src/game/object_helpers.o(.text); 172 #endif 173 BUILD_DIR/src/game/behavior_actions.o(.text); 174 BUILD_DIR/src/game/platform_displacement.o(.text); 175 #ifndef VERSION_EU 176 BUILD_DIR/src/game/object_collision.o(.text); 177 BUILD_DIR/src/game/spawn_object.o(.text); 178 #endif 179 BUILD_DIR/src/game/spawn_sound.o(.text); 180 BUILD_DIR/src/game/debug.o(.text); 181 BUILD_DIR/src/game/screen_transition.o(.text); 182 BUILD_DIR/src/game/shadow.o(.text); 183 BUILD_DIR/src/game/skybox.o(.text); 184 BUILD_DIR/src/game/moving_texture.o(.text); 185 BUILD_DIR/src/game/geo_misc.o(.text); 186 BUILD_DIR/src/game/paintings.o(.text); 187 BUILD_DIR/src/game/print.o(.text); 188 BUILD_DIR/src/game/ingame_menu.o(.text); 189 BUILD_DIR/src/game/envfx_snow.o(.text); 190 BUILD_DIR/src/game/envfx_bubbles.o(.text); 191 BUILD_DIR/src/game/macro_special_objects.o(.text); 192 BUILD_DIR/src/game/hud.o(.text); 193 BUILD_DIR/src/game/obj_behaviors.o(.text); 194 BUILD_DIR/src/game/obj_behaviors_2.o(.text); 195 #if defined(VERSION_SH) || defined(VERSION_CN) 196 BUILD_DIR/src/audio/synthesis_sh.o(.text); 197 #else 198 BUILD_DIR/src/audio/synthesis.o(.text); 199 #endif 200 BUILD_DIR/src/audio/heap.o(.text); 201 BUILD_DIR/src/audio/load.o(.text); 202 #if defined(VERSION_SH) || defined(VERSION_CN) 203 BUILD_DIR/src/audio/load_sh.o(.text); 204 BUILD_DIR/src/audio/port_sh.o(.text); 205 #endif 206 BUILD_DIR/src/audio/playback.o(.text); 207 BUILD_DIR/src/audio/effects.o(.text); 208 BUILD_DIR/src/audio/seqplayer.o(.text); 209 #if defined(VERSION_SH) || defined(VERSION_CN) 210 BUILD_DIR/libultra.a:osDriveRomInit.o(.text); 211 #endif 212 BUILD_DIR/src/audio/external.o(.text); 213 BUILD_DIR/src/audio/port_eu.o(.text); 214 215 #if defined(VERSION_EU) || defined(VERSION_SH) || defined(VERSION_CN) 216 #ifdef VERSION_CN 217 BUILD_DIR/libultra.a:osInitializeIQueWrapper.o(.text); 218 BUILD_DIR/libultra.a:osAiGetLength.o(.text); 219 BUILD_DIR/libultra.a:osAiSetFrequency.o(.text); 220 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.text); 221 BUILD_DIR/libultra.a:osInvalDCache.o(.text); 222 BUILD_DIR/libultra.a:osInvalICache.o(.text); 223 BUILD_DIR/libultra.a:osWritebackDCacheAll.o(.text); 224 BUILD_DIR/libultra.a:osContStartReadData.o(.text); 225 BUILD_DIR/libultra.a:osContInit.o(.text); 226 BUILD_DIR/libultra.a:osVirtualToPhysical.o(.text); 227 BUILD_DIR/libultra.a:sqrtf.o(.text); 228 BUILD_DIR/libultra.a:cosf.o(.text); 229 BUILD_DIR/libultra.a:guOrthoF.o(.text); 230 BUILD_DIR/libultra.a:guPerspectiveF.o(.text); 231 BUILD_DIR/libultra.a:sinf.o(.text); 232 BUILD_DIR/libultra.a:bcopy.o(.text); 233 BUILD_DIR/libultra.a:bzero.o(.text); 234 BUILD_DIR/libultra.a:llmuldiv.o(.text); 235 BUILD_DIR/libultra.a:llconv.o(.text); 236 #endif 237 BUILD_DIR/libultra.a:string.o(.text); 238 BUILD_DIR/libultra.a:_Printf.o(.text); 239 #ifdef VERSION_CN 240 BUILD_DIR/libultra.a:sprintf.o(.text); 241 BUILD_DIR/libultra.a:osSyncPrintf.o(.text); 242 BUILD_DIR/libultra.a:osCreateMesgQueue.o(.text); 243 BUILD_DIR/libultra.a:osRecvMesg.o(.text); 244 BUILD_DIR/libultra.a:osSendMesg.o(.text); 245 BUILD_DIR/libultra.a:osSetEventMesg.o(.text); 246 BUILD_DIR/libultra.a:osGetCount.o(.text); 247 BUILD_DIR/libultra.a:osSpTaskLoadGo.o(.text); 248 BUILD_DIR/libultra.a:osSpTaskYield.o(.text); 249 BUILD_DIR/libultra.a:osSpTaskYielded.o(.text); 250 BUILD_DIR/libultra.a:__osSiRawStartDma.o(.text); 251 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.text); 252 BUILD_DIR/libultra.a:osCreateThread.o(.text); 253 BUILD_DIR/libultra.a:osSetThreadPri.o(.text); 254 BUILD_DIR/libultra.a:osStartThread.o(.text); 255 BUILD_DIR/libultra.a:__osDequeueThread.o(.text); 256 BUILD_DIR/libultra.a:__osGetCurrFaultedThread.o(.text); 257 BUILD_DIR/libultra.a:osGetTime.o(.text); 258 BUILD_DIR/libultra.a:osSetTime.o(.text); 259 BUILD_DIR/libultra.a:osSetTimer.o(.text); 260 BUILD_DIR/libultra.a:osTimer.o(.text); 261 BUILD_DIR/libultra.a:osMapTLB.o(.text); 262 BUILD_DIR/libultra.a:__osProbeTLB.o(.text); 263 BUILD_DIR/libultra.a:osUnmapTLBAll.o(.text); 264 BUILD_DIR/libultra.a:osCreateViManager.o(.text); 265 BUILD_DIR/libultra.a:osViSetEvent.o(.text); 266 BUILD_DIR/libultra.a:osViSetMode.o(.text); 267 BUILD_DIR/libultra.a:osViSetSpecialFeatures.o(.text); 268 BUILD_DIR/libultra.a:osViSwapBuffer.o(.text); 269 BUILD_DIR/libultra.a:__osViSwapContext.o(.text); 270 BUILD_DIR/libultra.a:osViBlack.o(.text); 271 BUILD_DIR/libultra.a:guMtxIdentF.o(.text); 272 BUILD_DIR/libultra.a:guMtxF2L.o(.text); 273 BUILD_DIR/libultra.a:guScale.o(.text); 274 BUILD_DIR/libultra.a:guTranslate.o(.text); 275 BUILD_DIR/libultra.a:guRotateF.o(.text); 276 BUILD_DIR/libultra.a:osEepromProbe.o(.text); 277 BUILD_DIR/libultra.a:osEepromLongWrite.o(.text); 278 BUILD_DIR/libultra.a:osEepromLongRead.o(.text); 279 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.text); 280 BUILD_DIR/libultra.a:__osDisableInt.o(.text); 281 BUILD_DIR/libultra.a:__osRestoreInt.o(.text); 282 BUILD_DIR/libultra.a:osSetIntMask.o(.text); 283 BUILD_DIR/libultra.a:osCreatePiManager.o(.text); 284 BUILD_DIR/libultra.a:osEPiRawStartDma.o(.text); 285 BUILD_DIR/libultra.a:epidma.o(.text); 286 BUILD_DIR/libultra.a:osCartRomInit.o(.text); 287 BUILD_DIR/libultra.a:__osDevMgrMain.o(.text); 288 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.text); 289 BUILD_DIR/libultra.a:osPiStartDma.o(.text); 290 BUILD_DIR/libultra.a:iQueKernelCalls.o(.text); 291 BUILD_DIR/libultra.a:motor.o(.text); 292 BUILD_DIR/libultra.a:parameters.o(.text); 293 BUILD_DIR/libultra.a:osInitialize.o(.text); 294 BUILD_DIR/libultra.a:__osAiDeviceBusy.o(.text); 295 BUILD_DIR/libultra.a:osWritebackDCache.o(.text); 296 BUILD_DIR/libultra.a:_Litob.o(.text); 297 BUILD_DIR/libultra.a:_Ldtob.o(.text); 298 BUILD_DIR/libultra.a:osJamMesg.o(.text); 299 BUILD_DIR/libultra.a:__osGetCause.o(.text); 300 BUILD_DIR/libultra.a:__osGetSR.o(.text); 301 BUILD_DIR/libultra.a:__osSetFpcCsr.o(.text); 302 BUILD_DIR/libultra.a:__osSetSR.o(.text); 303 BUILD_DIR/libultra.a:__osSetWatchLo.o(.text); 304 BUILD_DIR/libultra.a:__osSetCompare.o(.text); 305 BUILD_DIR/libultra.a:__osSpDeviceBusy.o(.text); 306 BUILD_DIR/libultra.a:__osSpGetStatus.o(.text); 307 BUILD_DIR/libultra.a:__osSpSetStatus.o(.text); 308 BUILD_DIR/libultra.a:__osSpSetPc.o(.text); 309 BUILD_DIR/libultra.a:__osSpRawStartDma.o(.text); 310 BUILD_DIR/libultra.a:__osSiRawReadIo.o(.text); 311 BUILD_DIR/libultra.a:__osSiRawWriteIo.o(.text); 312 BUILD_DIR/libultra.a:osDestroyThread.o(.text); 313 BUILD_DIR/libultra.a:osGetThreadPri.o(.text); 314 BUILD_DIR/libultra.a:osYieldThread.o(.text); 315 BUILD_DIR/libultra.a:osMapTLBRdb.o(.text); 316 BUILD_DIR/libultra.a:__osViInit.o(.text); 317 BUILD_DIR/libultra.a:__osViGetCurrentContext.o(.text); 318 BUILD_DIR/libultra.a:guNormalize.o(.text); 319 BUILD_DIR/libultra.a:osEepromRead.o(.text); 320 BUILD_DIR/libultra.a:osEepromWrite.o(.text); 321 BUILD_DIR/libultra.a:__osSetGlobalIntMask.o(.text); 322 BUILD_DIR/libultra.a:__osResetGlobalIntMask.o(.text); 323 BUILD_DIR/libultra.a:osPiRawStartDma.o(.text); 324 BUILD_DIR/libultra.a:osPiGetCmdQueue.o(.text); 325 BUILD_DIR/libultra.a:osEPiRawReadIo.o(.text); 326 BUILD_DIR/libultra.a:osEPiRawWriteIo.o(.text); 327 BUILD_DIR/libultra.a:ldiv.o(.text); 328 BUILD_DIR/libultra.a:__osSiDeviceBusy.o(.text); 329 #endif 330 #ifndef VERSION_CN 331 BUILD_DIR/libultra.a:llmuldiv.o(.text); 332 BUILD_DIR/libultra.a:osInitialize.o(.text); 333 BUILD_DIR/libultra.a:osSetTime.o(.text); 334 BUILD_DIR/libultra.a:osGetTime.o(.text); 335 BUILD_DIR/libultra.a:osWritebackDCacheAll.o(.text); 336 BUILD_DIR/libultra.a:osViBlack.o(.text); 337 BUILD_DIR/libultra.a:osViSwapBuffer.o(.text); 338 BUILD_DIR/libultra.a:__osGetCurrFaultedThread.o(.text); 339 BUILD_DIR/libultra.a:osSetEventMesg.o(.text); 340 BUILD_DIR/libultra.a:osRecvMesg.o(.text); 341 BUILD_DIR/libultra.a:parameters.o(.text); 342 BUILD_DIR/libultra.a:osCreateMesgQueue.o(.text); 343 BUILD_DIR/libultra.a:osCreateThread.o(.text); 344 BUILD_DIR/libultra.a:osStartThread.o(.text); 345 BUILD_DIR/libultra.a:osMapTLB.o(.text); 346 BUILD_DIR/libultra.a:osUnmapTLBAll.o(.text); 347 BUILD_DIR/libultra.a:sprintf.o(.text); 348 BUILD_DIR/libultra.a:osViSetEvent.o(.text); 349 BUILD_DIR/libultra.a:osSpTaskLoadGo.o(.text); 350 BUILD_DIR/libultra.a:osSpTaskYield.o(.text); 351 BUILD_DIR/libultra.a:osSendMesg.o(.text); 352 BUILD_DIR/libultra.a:osSpTaskYielded.o(.text); 353 BUILD_DIR/libultra.a:osCreateViManager.o(.text); 354 BUILD_DIR/libultra.a:osViSetMode.o(.text); 355 BUILD_DIR/libultra.a:osViSetSpecialFeatures.o(.text); 356 BUILD_DIR/libultra.a:osCreatePiManager.o(.text); 357 BUILD_DIR/libultra.a:osSetThreadPri.o(.text); 358 BUILD_DIR/libultra.a:sqrtf.o(.text); 359 BUILD_DIR/libultra.a:osContStartReadData.o(.text); 360 BUILD_DIR/libultra.a:osContInit.o(.text); 361 BUILD_DIR/libultra.a:osEepromProbe.o(.text); 362 #if ENABLE_RUMBLE 363 BUILD_DIR/libultra.a:motor.o(.text); 364 #endif 365 BUILD_DIR/libultra.a:osInvalDCache.o(.text); 366 BUILD_DIR/libultra.a:osPiStartDma.o(.text); 367 BUILD_DIR/libultra.a:bzero.o(.text); 368 BUILD_DIR/libultra.a:osInvalICache.o(.text); 369 BUILD_DIR/libultra.a:osEepromLongRead.o(.text); 370 BUILD_DIR/libultra.a:osEepromLongWrite.o(.text); 371 BUILD_DIR/libultra.a:bcopy.o(.text); 372 BUILD_DIR/libultra.a:guOrthoF.o(.text); 373 BUILD_DIR/libultra.a:guPerspectiveF.o(.text); 374 BUILD_DIR/libultra.a:llconv.o(.text); 375 BUILD_DIR/libultra.a:cosf.o(.text); 376 BUILD_DIR/libultra.a:sinf.o(.text); 377 BUILD_DIR/libultra.a:guTranslateF.o(.text); 378 BUILD_DIR/libultra.a:guRotateF.o(.text); 379 BUILD_DIR/libultra.a:guScaleF.o(.text); 380 BUILD_DIR/libultra.a:osAiSetFrequency.o(.text); 381 #endif 382 #ifdef VERSION_SH 383 BUILD_DIR/libultra.a:osCartRomInit.o(.text); 384 BUILD_DIR/libultra.a:epidma.o(.text); 385 #endif 386 #ifdef VERSION_EU 387 BUILD_DIR/libultra.a:alBnkfNew.o(.text); 388 #endif 389 #ifndef VERSION_CN 390 BUILD_DIR/libultra.a:osAiGetLength.o(.text); 391 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.text); 392 #endif 393 #ifdef VERSION_SH 394 BUILD_DIR/libultra.a:osGetCount.o(.text); 395 BUILD_DIR/libultra.a:__osDisableInt.o(.text); 396 BUILD_DIR/libultra.a:__osRestoreInt.o(.text); 397 #endif 398 #ifndef VERSION_CN 399 BUILD_DIR/libultra.a:_Litob.o(.text); 400 BUILD_DIR/libultra.a:_Ldtob.o(.text); 401 BUILD_DIR/libultra.a:__osSetSR.o(.text); 402 BUILD_DIR/libultra.a:__osGetSR.o(.text); 403 BUILD_DIR/libultra.a:__osSetFpcCsr.o(.text); 404 BUILD_DIR/libultra.a:__osSiRawReadIo.o(.text); 405 BUILD_DIR/libultra.a:__osSiRawWriteIo.o(.text); 406 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.text); 407 BUILD_DIR/libultra.a:osWritebackDCache.o(.text); 408 BUILD_DIR/libultra.a:osMapTLBRdb.o(.text); 409 #endif 410 BUILD_DIR/libultra.a:osPiRawReadIo.o(.text); 411 BUILD_DIR/libultra.a:__osSetHWintrRoutine.o(.text); 412 #ifdef VERSION_EU 413 BUILD_DIR/libultra.a:leointerrupt.o(.text); 414 #endif 415 #ifndef VERSION_CN 416 BUILD_DIR/libultra.a:osTimer.o(.text); 417 #endif 418 #ifdef VERSION_EU 419 BUILD_DIR/libultra.a:__osDisableInt.o(.text); 420 BUILD_DIR/libultra.a:__osRestoreInt.o(.text); 421 BUILD_DIR/libultra.a:osGetCount.o(.text); 422 #endif 423 #ifndef VERSION_CN 424 BUILD_DIR/libultra.a:__osViInit.o(.text); 425 BUILD_DIR/libultra.a:__osDequeueThread.o(.text); 426 BUILD_DIR/libultra.a:osVirtualToPhysical.o(.text); 427 BUILD_DIR/libultra.a:__osSpSetStatus.o(.text); 428 BUILD_DIR/libultra.a:__osSpSetPc.o(.text); 429 BUILD_DIR/libultra.a:__osSpRawStartDma.o(.text); 430 BUILD_DIR/libultra.a:__osSpDeviceBusy.o(.text); 431 BUILD_DIR/libultra.a:__osSpGetStatus.o(.text); 432 BUILD_DIR/libultra.a:osGetThreadPri.o(.text); 433 BUILD_DIR/libultra.a:__osViGetCurrentContext.o(.text); 434 BUILD_DIR/libultra.a:__osViSwapContext.o(.text); 435 #ifdef VERSION_SH 436 BUILD_DIR/libultra.a:osLeoDiskInit.o(.text); 437 #endif 438 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.text); 439 BUILD_DIR/libultra.a:osPiRawStartDma.o(.text); 440 BUILD_DIR/libultra.a:osEPiRawStartDma.o(.text); 441 BUILD_DIR/libultra.a:__osDevMgrMain.o(.text); 442 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.text); 443 BUILD_DIR/libultra.a:__osSiRawStartDma.o(.text); 444 BUILD_DIR/libultra.a:osSetTimer.o(.text); 445 BUILD_DIR/libultra.a:osEepromWrite.o(.text); 446 #endif 447 #if ENABLE_RUMBLE 448 BUILD_DIR/libultra.a:osPfsIsPlug.o(.text); 449 BUILD_DIR/libultra.a:crc.o(.text); 450 BUILD_DIR/libultra.a:contramwrite.o(.text); 451 BUILD_DIR/libultra.a:contramread.o(.text); 452 #endif 453 #ifndef VERSION_CN 454 BUILD_DIR/libultra.a:osJamMesg.o(.text); 455 BUILD_DIR/libultra.a:osPiGetCmdQueue.o(.text); 456 BUILD_DIR/libultra.a:osEepromRead.o(.text); 457 BUILD_DIR/libultra.a:guMtxF2L.o(.text); 458 BUILD_DIR/libultra.a:guNormalize.o(.text); 459 BUILD_DIR/libultra.a:__osAiDeviceBusy.o(.text); 460 BUILD_DIR/libultra.a:ldiv.o(.text); 461 BUILD_DIR/libultra.a:__osSiDeviceBusy.o(.text); 462 #endif 463 #ifdef VERSION_SH 464 BUILD_DIR/libultra.a:leointerrupt.o(.text); 465 #endif 466 BUILD_DIR/libultra.a:osSetIntMask.o(.text); 467 #ifndef VERSION_CN 468 BUILD_DIR/libultra.a:osDestroyThread.o(.text); 469 #endif 470 #ifdef VERSION_EU 471 BUILD_DIR/libultra.a:osLeoDiskInit.o(.text); 472 #endif 473 #ifndef VERSION_CN 474 BUILD_DIR/libultra.a:__osSetCompare.o(.text); 475 BUILD_DIR/libultra.a:__osProbeTLB.o(.text); 476 BUILD_DIR/libultra.a:__osResetGlobalIntMask.o(.text); 477 BUILD_DIR/libultra.a:osEPiRawWriteIo.o(.text); 478 #endif 479 #ifdef VERSION_SH 480 BUILD_DIR/libultra.a:osEPiRawReadIo.o(.text); 481 BUILD_DIR/libultra.a:__osSetGlobalIntMask.o(.text); 482 #endif 483 #ifndef VERSION_CN 484 BUILD_DIR/libultra.a:osYieldThread.o(.text); 485 #endif 486 #if ENABLE_RUMBLE 487 BUILD_DIR/libultra.a:pfsgetstatus.o(.text); 488 #endif 489 #ifdef VERSION_CN 490 BUILD_DIR/libgcc.a:_divdi3.o(.text); 491 BUILD_DIR/libgcc.a:_moddi3.o(.text); 492 BUILD_DIR/libgcc.a:_udivdi3.o(.text); 493 BUILD_DIR/libgcc.a:_umoddi3.o(.text); 494 BUILD_DIR/libgcc.a:_cmpdi2.o(.text); 495 BUILD_DIR/libgcc.a:_floatdidf.o(.text); 496 BUILD_DIR/libgcc.a:_floatdisf.o(.text); 497 BUILD_DIR/libgcc.a:_fixunsdfdi.o(.text); 498 BUILD_DIR/libgcc.a:_fixdfdi.o(.text); 499 BUILD_DIR/libgcc.a:_fixunssfdi.o(.text); 500 BUILD_DIR/libgcc.a:_fixsfdi.o(.text); 501 #endif 502 BUILD_DIR/lib/rsp.o(.text); 503 #else 504 BUILD_DIR/src/game*.o(.text); 505 BUILD_DIR/src/audio*.o(.text); 506 BUILD_DIR/libultra.a:parameters.o(.text); 507 BUILD_DIR/libultra.a:osSetTime.o(.text); 508 BUILD_DIR/libultra.a:osMapTLB.o(.text); 509 BUILD_DIR/libultra.a:osUnmapTLBAll.o(.text); 510 BUILD_DIR/libultra.a:sprintf.o(.text); 511 BUILD_DIR/libultra.a:osCreateMesgQueue.o(.text); 512 BUILD_DIR/libultra.a:osSetEventMesg.o(.text); 513 BUILD_DIR/libultra.a:osViSetEvent.o(.text); 514 BUILD_DIR/libultra.a:osCreateThread.o(.text); 515 BUILD_DIR/libultra.a:osRecvMesg.o(.text); 516 BUILD_DIR/libultra.a:osSpTaskLoadGo.o(.text); 517 BUILD_DIR/libultra.a:osSpTaskYield.o(.text); 518 BUILD_DIR/libultra.a:osSendMesg.o(.text); 519 BUILD_DIR/libultra.a:osSpTaskYielded.o(.text); 520 BUILD_DIR/libultra.a:osStartThread.o(.text); 521 BUILD_DIR/libultra.a:osWritebackDCacheAll.o(.text); 522 BUILD_DIR/libultra.a:osCreateViManager.o(.text); 523 BUILD_DIR/libultra.a:osViSetMode.o(.text); 524 BUILD_DIR/libultra.a:osViBlack.o(.text); 525 BUILD_DIR/libultra.a:osViSetSpecialFeatures.o(.text); 526 BUILD_DIR/libultra.a:osCreatePiManager.o(.text); 527 BUILD_DIR/libultra.a:osSetThreadPri.o(.text); 528 BUILD_DIR/libultra.a:osInitialize.o(.text); 529 BUILD_DIR/libultra.a:osViSwapBuffer.o(.text); 530 BUILD_DIR/libultra.a:sqrtf.o(.text); 531 BUILD_DIR/libultra.a:osContStartReadData.o(.text); 532 BUILD_DIR/libultra.a:osContInit.o(.text); 533 BUILD_DIR/libultra.a:osEepromProbe.o(.text); 534 #if ENABLE_RUMBLE 535 BUILD_DIR/libultra.a:motor.o(.text); 536 #endif 537 BUILD_DIR/libultra.a:llmuldiv.o(.text); 538 BUILD_DIR/libultra.a:llmuldiv_gcc.o(.text); 539 BUILD_DIR/libultra.a:osInvalDCache.o(.text); 540 BUILD_DIR/libultra.a:osPiStartDma.o(.text); 541 BUILD_DIR/libultra.a:bzero.o(.text); 542 BUILD_DIR/libultra.a:osInvalICache.o(.text); 543 BUILD_DIR/libultra.a:osEepromLongRead.o(.text); 544 BUILD_DIR/libultra.a:osEepromLongWrite.o(.text); 545 BUILD_DIR/libultra.a:bcopy.o(.text); 546 BUILD_DIR/libultra.a:guOrthoF.o(.text); 547 BUILD_DIR/libultra.a:guPerspectiveF.o(.text); 548 BUILD_DIR/libultra.a:osGetTime.o(.text); 549 BUILD_DIR/libultra.a:llconv.o(.text); 550 BUILD_DIR/libultra.a:cosf.o(.text); 551 BUILD_DIR/libultra.a:sinf.o(.text); 552 BUILD_DIR/libultra.a:guTranslateF.o(.text); 553 BUILD_DIR/libultra.a:guRotateF.o(.text); 554 BUILD_DIR/libultra.a:guScaleF.o(.text); 555 BUILD_DIR/libultra.a:osAiSetFrequency.o(.text); 556 BUILD_DIR/libultra.a:alBnkfNew.o(.text); 557 BUILD_DIR/libultra.a:osWritebackDCache.o(.text); 558 BUILD_DIR/libultra.a:osAiGetLength.o(.text); 559 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.text); 560 BUILD_DIR/libultra.a:osTimer.o(.text); 561 BUILD_DIR/libultra.a:_Printf.o(.text); 562 BUILD_DIR/libultra.a:string.o(.text); 563 BUILD_DIR/libultra.a:__osDequeueThread.o(.text); 564 BUILD_DIR/libultra.a:__osDisableInt.o(.text); 565 BUILD_DIR/libultra.a:__osRestoreInt.o(.text); 566 BUILD_DIR/libultra.a:__osViInit.o(.text); 567 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.text); 568 BUILD_DIR/libultra.a:osVirtualToPhysical.o(.text); 569 BUILD_DIR/libultra.a:__osSpSetStatus.o(.text); 570 BUILD_DIR/libultra.a:__osSpSetPc.o(.text); 571 BUILD_DIR/libultra.a:__osSpRawStartDma.o(.text); 572 BUILD_DIR/libultra.a:__osSpDeviceBusy.o(.text); 573 BUILD_DIR/libultra.a:__osSpGetStatus.o(.text); 574 BUILD_DIR/libultra.a:osGetThreadPri.o(.text); 575 BUILD_DIR/libultra.a:__osViGetCurrentContext.o(.text); 576 BUILD_DIR/libultra.a:__osViSwapContext.o(.text); 577 BUILD_DIR/libultra.a:osGetCount.o(.text); 578 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.text); 579 BUILD_DIR/libultra.a:osPiRawStartDma.o(.text); 580 BUILD_DIR/libultra.a:__osDevMgrMain.o(.text); 581 BUILD_DIR/libultra.a:__osSetSR.o(.text); 582 BUILD_DIR/libultra.a:__osGetSR.o(.text); 583 BUILD_DIR/libultra.a:__osSetFpcCsr.o(.text); 584 BUILD_DIR/libultra.a:__osSiRawReadIo.o(.text); 585 BUILD_DIR/libultra.a:__osSiRawWriteIo.o(.text); 586 BUILD_DIR/libultra.a:osMapTLBRdb.o(.text); 587 BUILD_DIR/libultra.a:osPiRawReadIo.o(.text); 588 #ifdef VERSION_JP 589 . += 0x40; 590 #endif 591 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.text); 592 BUILD_DIR/libultra.a:__osSiRawStartDma.o(.text); 593 BUILD_DIR/libultra.a:osSetTimer.o(.text); 594 BUILD_DIR/libultra.a:osEepromWrite.o(.text); 595 #if ENABLE_RUMBLE 596 BUILD_DIR/libultra.a:osPfsIsPlug.o(.text); 597 BUILD_DIR/libultra.a:crc.o(.text); 598 BUILD_DIR/libultra.a:contramwrite.o(.text); 599 BUILD_DIR/libultra.a:contramread.o(.text); 600 #endif 601 BUILD_DIR/libultra.a:osJamMesg.o(.text); 602 BUILD_DIR/libultra.a:osPiGetCmdQueue.o(.text); 603 BUILD_DIR/libultra.a:osEepromRead.o(.text); 604 BUILD_DIR/libultra.a:guMtxF2L.o(.text); 605 BUILD_DIR/libultra.a:guMtxIdentF.o(.text); 606 BUILD_DIR/libultra.a:guNormalize.o(.text); 607 BUILD_DIR/libultra.a:__osAiDeviceBusy.o(.text); 608 BUILD_DIR/libultra.a:__osSetCompare.o(.text); 609 BUILD_DIR/libultra.a:_Litob.o(.text); 610 BUILD_DIR/libultra.a:_Ldtob.o(.text); 611 BUILD_DIR/libultra.a:kdebugserver.o(.text); 612 BUILD_DIR/libultra.a:__osSyncPutChars.o(.text); 613 BUILD_DIR/libultra.a:osSetIntMask.o(.text); 614 BUILD_DIR/libultra.a:osDestroyThread.o(.text); 615 BUILD_DIR/libultra.a:__osProbeTLB.o(.text); 616 BUILD_DIR/libultra.a:__osSiDeviceBusy.o(.text); 617 BUILD_DIR/libultra.a:ldiv.o(.text); 618 BUILD_DIR/libultra.a:__osGetCause.o(.text); 619 BUILD_DIR/libultra.a:__osAtomicDec.o(.text); 620 BUILD_DIR/libultra.a:guLookAtRef.o(.text); /* Fast3DEX2 only */ 621 #if ENABLE_RUMBLE 622 BUILD_DIR/libultra.a:pfsgetstatus.o(.text); 623 #endif 624 BUILD_DIR/lib/rsp.o(.text); 625 #endif 626 627 /* data */ 628 BUILD_DIR/src/game/crash_screen.o(.data*); 629 BUILD_DIR/src/game/main.o(.data*); 630 BUILD_DIR/src/game/game_init.o(.data*); 631 BUILD_DIR/src/game/sound_init.o(.data*); 632 #if ENABLE_RUMBLE 633 BUILD_DIR/src/game/rumble_init.o(.data*); 634 #endif 635 BUILD_DIR/src/game/level_update.o(.data*); 636 BUILD_DIR/src/game/interaction.o(.data*); 637 BUILD_DIR/src/game/mario.o(.data*); 638 BUILD_DIR/src/game/mario_step.o(.data*); 639 BUILD_DIR/src/game/mario_actions_cutscene.o(.data*); 640 BUILD_DIR/src/game/mario_actions_moving.o(.data*); 641 BUILD_DIR/src/game/mario_actions_submerged.o(.data*); 642 BUILD_DIR/src/game/mario_actions_object.o(.data*); 643 BUILD_DIR/src/game/mario_misc.o(.data*); 644 BUILD_DIR/src/game/memory.o(.data*); 645 BUILD_DIR/src/game/save_file.o(.data*); 646 BUILD_DIR/src/game/area.o(.data*); 647 BUILD_DIR/src/game/rendering_graph_node.o(.data*); 648 BUILD_DIR/src/game/profiler.o(.data*); 649 BUILD_DIR/src/game/camera.o(.data*); 650 BUILD_DIR/src/game/object_list_processor.o(.data*); 651 #ifndef VERSION_EU 652 BUILD_DIR/src/game/object_helpers.o(.data*); 653 #endif 654 BUILD_DIR/src/game/behavior_actions.o(.data*); 655 BUILD_DIR/src/game/platform_displacement.o(.data*); 656 BUILD_DIR/src/game/spawn_sound.o(.data*); 657 BUILD_DIR/src/game/debug.o(.data*); 658 BUILD_DIR/src/game/screen_transition.o(.data*); 659 BUILD_DIR/src/game/shadow.o(.data*); 660 BUILD_DIR/src/game/skybox.o(.data*); 661 BUILD_DIR/src/game/moving_texture.o(.data*); 662 BUILD_DIR/src/game/geo_misc.o(.data*); 663 BUILD_DIR/src/game/paintings.o(.data*); 664 BUILD_DIR/src/game/print.o(.data*); 665 BUILD_DIR/src/game/ingame_menu.o(.data*); 666 BUILD_DIR/src/game/envfx_snow.o(.data*); 667 BUILD_DIR/src/game/envfx_bubbles.o(.data*); 668 BUILD_DIR/src/game/macro_special_objects.o(.data*); 669 BUILD_DIR/src/game/hud.o(.data*); 670 BUILD_DIR/src/game/obj_behaviors.o(.data*); 671 BUILD_DIR/src/game/obj_behaviors_2.o(.data*); 672 #ifndef VERSION_EU 673 /* wildcard doesn't match on EU due to files being moved to engine/ */ 674 BUILD_DIR/src/game*.o(.data*); 675 #endif 676 #if defined(VERSION_SH) || defined(VERSION_CN) 677 BUILD_DIR/src/audio/synthesis_sh.o(.data*); 678 #else 679 BUILD_DIR/src/audio/synthesis.o(.data*); 680 #endif 681 BUILD_DIR/src/audio/heap.o(.data*); 682 BUILD_DIR/src/audio/load.o(.data*); 683 BUILD_DIR/src/audio/playback.o(.data*); 684 BUILD_DIR/src/audio/effects.o(.data*); 685 BUILD_DIR/src/audio/seqplayer.o(.data*); 686 #if defined(VERSION_SH) || defined(VERSION_CN) 687 BUILD_DIR/src/audio/data.o(.data*); 688 BUILD_DIR/src/audio/shindou_debug_prints.o(.data*); 689 BUILD_DIR/src/audio/port_sh.o(.data*); 690 BUILD_DIR/src/audio/external.o(.data*); 691 BUILD_DIR/src/audio/audio_session_presets_sh.o(.data*); 692 #else 693 BUILD_DIR/src/audio/external.o(.data*); 694 BUILD_DIR/src/audio/port_eu.o(.data*); 695 BUILD_DIR/src/audio/data.o(.data*); 696 #endif 697 698 #ifdef VERSION_CN 699 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.data*); 700 BUILD_DIR/libultra.a:osContInit.o(.data*); 701 BUILD_DIR/libultra.a:_Printf.o(.data*); 702 BUILD_DIR/libultra.a:osSetEventMesg.o(.data*); 703 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.data*); 704 BUILD_DIR/libultra.a:__osDequeueThread.o(.data*); 705 BUILD_DIR/libultra.a:osTimer.o(.data*); 706 BUILD_DIR/libultra.a:osCreateViManager.o(.data*); 707 BUILD_DIR/libultra.a:osViTable.o(.data*); 708 BUILD_DIR/libultra.a:guRotateF.o(.data*); 709 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.data*); 710 BUILD_DIR/libultra.a:osCreatePiManager.o(.data*); 711 BUILD_DIR/libultra.a:osCartRomInit.o(.data*); 712 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.data*); 713 BUILD_DIR/libultra.a:osInitialize.o(.data*); 714 BUILD_DIR/libultra.a:_Litob.o(.data*); 715 BUILD_DIR/libultra.a:__osViInit.o(.data*); 716 BUILD_DIR/libultra.a:osViData.o(.data*); 717 #endif 718 719 #if defined(VERSION_EU) || defined(VERSION_SH) || defined(VERSION_CN) 720 BUILD_DIR/libultra.a:_Printf.o(.data*); 721 BUILD_DIR/libultra.a:osInitialize.o(.data*); 722 BUILD_DIR/libultra.a:osCreateViManager.o(.data*); 723 BUILD_DIR/libultra.a:osViTable.o(.data*); 724 BUILD_DIR/libultra.a:osCreatePiManager.o(.data*); 725 BUILD_DIR/libultra.a:osContInit.o(.data*); 726 #if ENABLE_RUMBLE 727 BUILD_DIR/libultra.a:motor.o(.data*); 728 #endif 729 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.data*); 730 BUILD_DIR/libultra.a:_Litob.o(.data*); 731 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.data*); 732 BUILD_DIR/libultra.a:osTimer.o(.data*); 733 BUILD_DIR/libultra.a:__osViInit.o(.data*); 734 BUILD_DIR/libultra.a:__osDequeueThread.o(.data*); 735 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.data*); 736 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.data*); 737 BUILD_DIR/libultra.a:osViData.o(.data*); 738 #else 739 BUILD_DIR/libultra.a:osViTable.o(.data*); 740 BUILD_DIR/libultra.a:osCreateViManager.o(.data*); 741 BUILD_DIR/libultra.a:osCreatePiManager.o(.data*); 742 BUILD_DIR/libultra.a:osInitialize.o(.data*); 743 BUILD_DIR/libultra.a:osContInit.o(.data*); 744 #if ENABLE_RUMBLE 745 BUILD_DIR/libultra.a:motor.o(.data*); 746 #endif 747 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.data*); 748 BUILD_DIR/libultra.a:osTimer.o(.data*); 749 BUILD_DIR/libultra.a:_Printf.o(.data*); 750 BUILD_DIR/libultra.a:__osDequeueThread.o(.data*); 751 BUILD_DIR/libultra.a:__osViInit.o(.data*); 752 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.data*); 753 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.data*); 754 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.data*); 755 BUILD_DIR/libultra.a:_Litob.o(.data*); 756 BUILD_DIR/libultra.a:_Ldtob.o(.data*); 757 BUILD_DIR/libultra.a:osViData.o(.data*); 758 BUILD_DIR/libultra.a:kdebugserver.o(.data*); 759 BUILD_DIR/libultra.a:__osSyncPutChars.o(.data*); 760 BUILD_DIR/libultra.a:guRotateF.o(.data*); 761 BUILD_DIR/libultra.a:*.o(.data*); 762 #endif 763 764 /* rodata */ 765 BUILD_DIR/src/game/crash_screen.o(.rodata*); 766 BUILD_DIR/src/game/main.o(.rodata*); 767 BUILD_DIR/src/game/game_init.o(.rodata*); 768 BUILD_DIR/src/game/sound_init.o(.rodata*); 769 BUILD_DIR/src/game/rumble_init.o(.rodata*); 770 BUILD_DIR/src/game/level_update.o(.rodata*); 771 BUILD_DIR/src/game/interaction.o(.rodata*); 772 BUILD_DIR/src/game/mario.o(.rodata*); 773 BUILD_DIR/src/game/mario_step.o(.rodata*); 774 BUILD_DIR/src/game/mario_actions_cutscene.o(.rodata*); 775 BUILD_DIR/src/game/mario_actions_automatic.o(.rodata*); 776 BUILD_DIR/src/game/mario_actions_stationary.o(.rodata*); 777 BUILD_DIR/src/game/mario_actions_moving.o(.rodata*); 778 BUILD_DIR/src/game/mario_actions_airborne.o(.rodata*); 779 BUILD_DIR/src/game/mario_actions_submerged.o(.rodata*); 780 BUILD_DIR/src/game/mario_actions_object.o(.rodata*); 781 BUILD_DIR/src/game/mario_misc.o(.rodata*); 782 BUILD_DIR/src/game/memory.o(.rodata*); 783 BUILD_DIR/src/game/area.o(.rodata*); 784 BUILD_DIR/src/game/rendering_graph_node.o(.rodata*); 785 BUILD_DIR/src/game/camera.o(.rodata*); 786 BUILD_DIR/src/game/object_list_processor.o(.rodata*); 787 #ifndef VERSION_EU 788 BUILD_DIR/src/game/object_helpers.o(.rodata*); 789 #endif 790 BUILD_DIR/src/game/behavior_actions.o(.rodata*); 791 #ifndef VERSION_EU 792 BUILD_DIR/src/game/object_collision.o(.rodata*); 793 BUILD_DIR/src/game/spawn_object.o(.rodata*); 794 #endif 795 BUILD_DIR/libultra.a:__osDisableInt.o(.text); 796 BUILD_DIR/libultra.a:__osRestoreInt.o(.text); 797 BUILD_DIR/src/game/spawn_sound.o(.rodata*); 798 BUILD_DIR/src/game/debug.o(.rodata*); 799 BUILD_DIR/src/game/screen_transition.o(.rodata*); 800 BUILD_DIR/src/game/shadow.o(.rodata*); 801 BUILD_DIR/src/game/skybox.o(.rodata*); 802 BUILD_DIR/src/game/moving_texture.o(.rodata*); 803 BUILD_DIR/src/game/geo_misc.o(.rodata*); 804 BUILD_DIR/src/game/paintings.o(.rodata*); 805 BUILD_DIR/src/game/print.o(.rodata*); 806 BUILD_DIR/src/game/ingame_menu.o(.rodata*); 807 BUILD_DIR/src/game/envfx_snow.o(.rodata*); 808 BUILD_DIR/src/game/envfx_bubbles.o(.rodata*); 809 BUILD_DIR/src/game/macro_special_objects.o(.rodata*); 810 BUILD_DIR/src/game/hud.o(.rodata*); 811 BUILD_DIR/src/game/obj_behaviors.o(.rodata*); 812 BUILD_DIR/src/game/obj_behaviors_2.o(.rodata*); 813 #if defined(VERSION_JP) || defined(VERSION_US) 814 BUILD_DIR/src/game*.o(.rodata*); 815 #endif 816 #if defined(VERSION_SH) || defined(VERSION_CN) 817 BUILD_DIR/src/audio/synthesis_sh.o(.rodata*); 818 BUILD_DIR/src/audio/heap.o(.rodata*); 819 BUILD_DIR/src/audio/load_sh.o(.rodata*); 820 BUILD_DIR/src/audio/port_sh.o(.rodata*); 821 #else 822 BUILD_DIR/src/audio/synthesis.o(.rodata*); 823 BUILD_DIR/src/audio/heap.o(.rodata*); 824 BUILD_DIR/src/audio/load.o(.rodata*); 825 #endif 826 BUILD_DIR/src/audio/playback.o(.rodata*); 827 BUILD_DIR/src/audio/effects.o(.rodata*); 828 BUILD_DIR/src/audio/seqplayer.o(.rodata*); 829 BUILD_DIR/src/audio/external.o(.rodata*); 830 BUILD_DIR/src/audio/port_eu.o(.rodata*); 831 BUILD_DIR/src/audio*.o(.rodata*); 832 833 #if defined(VERSION_EU) || defined(VERSION_SH) 834 BUILD_DIR/libultra.a:_Printf.o(.rodata*); 835 #endif 836 837 #ifndef VERSION_CN 838 BUILD_DIR/libultra.a:guPerspectiveF.o(.rodata*); 839 #endif 840 BUILD_DIR/libultra.a:llconv.o(.rodata*); 841 BUILD_DIR/libultra.a:cosf.o(.rodata*); 842 #ifdef VERSION_CN 843 BUILD_DIR/libultra.a:guPerspectiveF.o(.rodata*); 844 #endif 845 BUILD_DIR/libultra.a:sinf.o(.rodata*); 846 BUILD_DIR/libultra.a:guRotateF.o(.rodata*); 847 848 #if defined(VERSION_EU) || defined(VERSION_SH) 849 BUILD_DIR/libultra.a:_Litob.o(.rodata*); 850 BUILD_DIR/libultra.a:_Ldtob.o(.rodata*); 851 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.rodata*); 852 BUILD_DIR/libultra.a:__osDevMgrMain.o(.rodata*); 853 BUILD_DIR/libultra.a:NaN.o(.rodata*); 854 #else 855 BUILD_DIR/libultra.a:_Printf.o(.rodata*); 856 BUILD_DIR/libultra.a:__osExceptionPreamble.o(.rodata*); 857 #ifdef VERSION_CN 858 BUILD_DIR/libultra.a:osSetIntMask.o(.rodata*); 859 BUILD_DIR/libultra.a:__osDevMgrMain.o(.rodata*); 860 #endif 861 BUILD_DIR/libultra.a:NaN.o(.rodata*); 862 BUILD_DIR/libultra.a:_Litob.o(.rodata*); 863 BUILD_DIR/libultra.a:_Ldtob.o(.rodata*); 864 #endif 865 866 BUILD_DIR/libultra.a:osSetIntMask.o(.rodata*); 867 BUILD_DIR/libultra.a:guLookAtRef.o(.rodata*); /* Fast3DEX2 only */ 868 869 #ifdef VERSION_CN 870 BUILD_DIR/libgcc.a:_divdi3.o(.rodata*); 871 BUILD_DIR/libgcc.a:_moddi3.o(.rodata*); 872 BUILD_DIR/libgcc.a:_udivdi3.o(.rodata*); 873 BUILD_DIR/libgcc.a:_umoddi3.o(.rodata*); 874 BUILD_DIR/libgcc.a:_cmpdi2.o(.rodata*); 875 BUILD_DIR/libgcc.a:_floatdidf.o(.rodata*); 876 BUILD_DIR/libgcc.a:_floatdisf.o(.rodata*); 877 BUILD_DIR/libgcc.a:_fixunsdfdi.o(.rodata*); 878 BUILD_DIR/libgcc.a:_fixdfdi.o(.rodata*); 879 BUILD_DIR/libgcc.a:_fixunssfdi.o(.rodata*); 880 BUILD_DIR/libgcc.a:_fixsfdi.o(.rodata*); 881 #endif 882 #ifndef VERSION_EU 883 BUILD_DIR/libultra.a:*.o(.rodata*); 884 #endif 885 /* audio blobs, should really be moved into a separate file */ 886 #if defined(VERSION_SH) || defined(VERSION_CN) 887 BUILD_DIR/src/audio/load_sh.o(.data*); 888 #endif 889 BUILD_DIR/lib/rsp.o(.rodata*); 890 } 891 END_SEG(main) 892 893 BEGIN_NOLOAD(main) 894 { 895 BUILD_DIR/src/game/cn_common_syms_1.o(.bss*); 896 BUILD_DIR/src/game/crash_screen.o(.bss*); 897 BUILD_DIR/src/game/main.o(.bss*); 898 BUILD_DIR/src/game/game_init.o(.bss*); 899 BUILD_DIR/src/game/sound_init.o(.bss*); 900 #if ENABLE_RUMBLE 901 BUILD_DIR/src/game/rumble_init.o(.bss*); 902 #endif 903 BUILD_DIR/src/game/level_update.o(.bss*); 904 BUILD_DIR/src/game/interaction.o(.bss*); 905 BUILD_DIR/src/game/mario.o(.bss*); 906 BUILD_DIR/src/game/mario_actions_cutscene.o(.bss*); 907 BUILD_DIR/src/game/mario_actions_moving.o(.bss*); 908 BUILD_DIR/src/game/mario_actions_submerged.o(.bss*); 909 BUILD_DIR/src/game/mario_misc.o(.bss*); 910 BUILD_DIR/src/game/memory.o(.bss*); 911 BUILD_DIR/src/game/save_file.o(.bss*); 912 BUILD_DIR/src/game/area.o(.bss*); 913 BUILD_DIR/src/game/rendering_graph_node.o(.bss*); 914 BUILD_DIR/src/game/profiler.o(.bss*); 915 BUILD_DIR/src/game/camera.o(.bss*); 916 BUILD_DIR/src/game/object_list_processor.o(.bss*); 917 #ifndef VERSION_EU 918 BUILD_DIR/src/game/object_helpers.o(.bss*); 919 #endif 920 BUILD_DIR/src/game/behavior_actions.o(.bss*); 921 BUILD_DIR/src/game/debug.o(.bss*); 922 BUILD_DIR/src/game/shadow.o(.bss*); 923 BUILD_DIR/src/game/skybox.o(.bss*); 924 BUILD_DIR/src/game/moving_texture.o(.bss*); 925 BUILD_DIR/src/game/geo_misc.o(.bss*); 926 BUILD_DIR/src/game/paintings.o(.bss*); 927 BUILD_DIR/src/game/print.o(.bss*); 928 BUILD_DIR/src/game/ingame_menu.o(.bss*); 929 BUILD_DIR/src/game/envfx_snow.o(.bss*); 930 BUILD_DIR/src/game/envfx_bubbles.o(.bss*); 931 BUILD_DIR/src/game/macro_special_objects.o(.bss*); 932 BUILD_DIR/src/game/hud.o(.bss*); 933 BUILD_DIR/src/game/obj_behaviors.o(.bss*); 934 BUILD_DIR/src/game/obj_behaviors_2.o(.bss*); 935 #if !defined(VERSION_EU) && !defined(VERSION_CN) 936 BUILD_DIR/src/game*.o(.bss*); 937 #endif 938 BUILD_DIR/src/audio/external.o(.bss*); 939 #ifdef VERSION_EU 940 BUILD_DIR/src/audio/port_eu.o(.bss*); 941 #endif 942 #if defined(VERSION_SH) || defined(VERSION_CN) 943 BUILD_DIR/src/audio/globals_start.o(.bss*); 944 BUILD_DIR/src/audio/synthesis_sh.o(.bss*); 945 BUILD_DIR/src/audio/heap.o(.bss*); 946 BUILD_DIR/src/audio/load_sh.o(.bss*); 947 BUILD_DIR/src/audio/data.o(.bss*); 948 #endif 949 950 #if defined(VERSION_EU) || defined(VERSION_SH) || defined(VERSION_CN) 951 BUILD_DIR/libultra.a:osInitialize.o(.bss*); 952 BUILD_DIR/libultra.a:osSetEventMesg.o(.bss*); 953 BUILD_DIR/libultra.a:osSpTaskLoadGo.o(.bss*); 954 #ifdef VERSION_CN 955 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.bss*); 956 #endif 957 BUILD_DIR/libultra.a:osCreateViManager.o(.bss*); 958 BUILD_DIR/libultra.a:osCreatePiManager.o(.bss*); 959 BUILD_DIR/libultra.a:osContStartReadData.o(.bss*); 960 BUILD_DIR/libultra.a:osContInit.o(.bss*); 961 #if ENABLE_RUMBLE 962 BUILD_DIR/libultra.a:motor.o(.bss*); 963 #endif 964 BUILD_DIR/libultra.a:guRotateF.o(.bss*); 965 #ifdef VERSION_SH 966 BUILD_DIR/libultra.a:osCartRomInit.o(.bss*); 967 #endif 968 #ifdef VERSION_EU 969 BUILD_DIR/libultra.a:leointerrupt.o(.bss*); 970 #endif 971 BUILD_DIR/libultra.a:osTimer.o(.bss*); 972 #ifdef VERSION_SH 973 BUILD_DIR/libultra.a:osLeoDiskInit.o(.bss*); 974 #endif 975 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.bss*); 976 #ifndef VERSION_CN 977 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.bss*); 978 #endif 979 #if ENABLE_RUMBLE 980 BUILD_DIR/libultra.a:osPfsIsPlug.o(.bss*); 981 #endif 982 BUILD_DIR/libultra.a:osEepromWrite.o(.bss*); 983 BUILD_DIR/libultra.a:kdebugserver.o(.bss*); 984 #ifdef VERSION_SH 985 BUILD_DIR/libultra.a:leointerrupt.o(.bss*); 986 #endif 987 #ifdef VERSION_EU 988 BUILD_DIR/libultra.a:osLeoDiskInit.o(.bss*); 989 #endif 990 BUILD_DIR/libultra.a:_Printf.o(.bss*); 991 BUILD_DIR/libultra.a:osAiSetNextBuffer.o(.bss*); 992 BUILD_DIR/libultra.a:__osSetHWintrRoutine.o(.bss*); 993 #else 994 BUILD_DIR/libultra.a:osSetEventMesg.o(.bss*); 995 BUILD_DIR/libultra.a:osSpTaskLoadGo.o(.bss*); 996 BUILD_DIR/libultra.a:osCreateViManager.o(.bss*); 997 BUILD_DIR/libultra.a:osCreatePiManager.o(.bss*); 998 BUILD_DIR/libultra.a:osInitialize.o(.bss*); 999 BUILD_DIR/libultra.a:osContStartReadData.o(.bss*); 1000 BUILD_DIR/libultra.a:osContInit.o(.bss*); 1001 #if ENABLE_RUMBLE 1002 BUILD_DIR/libultra.a:motor.o(.bss*); 1003 #endif 1004 BUILD_DIR/libultra.a:guRotateF.o(.bss*); 1005 BUILD_DIR/libultra.a:osTimer.o(.bss*); 1006 BUILD_DIR/libultra.a:_Printf.o(.bss*); 1007 BUILD_DIR/libultra.a:__osPiCreateAccessQueue.o(.bss*); 1008 BUILD_DIR/libultra.a:__osSiCreateAccessQueue.o(.bss*); 1009 #if ENABLE_RUMBLE 1010 BUILD_DIR/libultra.a:osPfsIsPlug.o(.bss*); 1011 #endif 1012 BUILD_DIR/libultra.a:osEepromWrite.o(.bss*); 1013 BUILD_DIR/libultra.a:kdebugserver_stack.o(.bss*); 1014 BUILD_DIR/libultra.a:kdebugserver.o(.bss*); 1015 #endif 1016 1017 BUILD_DIR/libultra.a:*.o(.bss*); 1018 1019 BUILD_DIR/src/game/cn_common_syms_2.o(.bss*); 1020 1021 . = ALIGN(0x8); 1022 } 1023 END_NOLOAD(main) 1024 1025 #ifdef VERSION_CN 1026 // Hack for CN to make asm/entry.s match, since we aren't using 1027 // the original assembler and so can't get lui/ori from la pseudo 1028 CREATE_LO_HI_PAIR(_mainSegmentNoloadStart, ADDR (.main.noload)) 1029 CREATE_LO_HI_PAIR(gIdleThreadStack, gIdleThreadStack) 1030 CREATE_LO_HI_PAIR(main_func, main_func) 1031 #endif 1032 1033 CREATE_LO_HI_PAIR(_mainSegmentNoloadSize, SIZEOF (.main.noload)) 1034 1035 BEGIN_SEG(engine, ADDR_OR_ALIGN(SEG_ENGINE)) 1036 { 1037 BUILD_DIR/src/engine/math_util.o(.text); 1038 BUILD_DIR/src/engine/graph_node.o(.text); 1039 BUILD_DIR/src/engine/graph_node_manager.o(.text); 1040 BUILD_DIR/src/engine/geo_layout.o(.text); 1041 BUILD_DIR/src/engine/level_script.o(.text); 1042 BUILD_DIR/src/engine/surface_collision.o(.text); 1043 BUILD_DIR/src/engine/surface_load.o(.text); 1044 BUILD_DIR/src/engine/behavior_script.o(.text); 1045 #ifdef VERSION_EU 1046 BUILD_DIR/src/game/object_collision.o(.text); 1047 BUILD_DIR/src/game/spawn_object.o(.text); 1048 BUILD_DIR/src/game/object_helpers.o(.text); 1049 #endif 1050 BUILD_DIR/src/engine*.o(.text); 1051 /* data */ 1052 BUILD_DIR/src/engine/graph_node.o(.data*); 1053 BUILD_DIR/src/engine/graph_node_manager.o(.data*); 1054 BUILD_DIR/src/engine/math_util.o(.data*); 1055 BUILD_DIR/src/engine/geo_layout.o(.data*); 1056 BUILD_DIR/src/engine/level_script.o(.data*); 1057 BUILD_DIR/src/engine/behavior_script.o(.data*); 1058 #ifdef VERSION_EU 1059 BUILD_DIR/src/game/object_collision.o(.data*); 1060 BUILD_DIR/src/game/spawn_object.o(.data*); 1061 BUILD_DIR/src/game/object_helpers.o(.data*); 1062 #endif 1063 BUILD_DIR/src/engine*.o(.data*); 1064 /* rodata */ 1065 BUILD_DIR/src/engine/math_util.o(.rodata*); 1066 BUILD_DIR/src/engine/level_script.o(.rodata*); 1067 BUILD_DIR/src/engine/surface_collision.o(.rodata*); 1068 BUILD_DIR/src/engine/surface_load.o(.rodata*); 1069 #ifdef VERSION_EU 1070 BUILD_DIR/src/game/object_collision.o(.rodata*); 1071 BUILD_DIR/src/game/spawn_object.o(.rodata*); 1072 BUILD_DIR/src/game/object_helpers.o(.rodata*); 1073 #endif 1074 #ifdef VERSION_CN 1075 BUILD_DIR/src/engine/stub.o(.rodata*); 1076 #endif 1077 BUILD_DIR/src/engine*.o(.rodata*); 1078 } 1079 END_SEG(engine) 1080 BEGIN_NOLOAD(engine) 1081 { 1082 BUILD_DIR/src/engine/math_util.o(.bss*); 1083 BUILD_DIR/src/engine/geo_layout.o(.bss*); 1084 BUILD_DIR/src/engine/level_script.o(.bss*); 1085 BUILD_DIR/src/engine/surface_collision.o(.bss*); 1086 BUILD_DIR/src/engine/surface_load.o(.bss*); 1087 BUILD_DIR/src/engine/behavior_script.o(.bss*); 1088 #ifdef VERSION_EU 1089 BUILD_DIR/src/game/object_collision.o(.bss*); 1090 BUILD_DIR/src/game/spawn_object.o(.bss*); 1091 BUILD_DIR/src/game/object_helpers.o(.bss*); 1092 #endif 1093 BUILD_DIR/src/engine*.o(.bss*); 1094 } 1095 END_NOLOAD(engine) 1096 1097 . = ADDR_OR_ALIGN(SEG_FRAMEBUFFERS); 1098 BEGIN_NOLOAD(framebuffers) 1099 { 1100 BUILD_DIR/src/buffers/framebuffers.o(.bss*); 1101 } 1102 END_NOLOAD(framebuffers) 1103 1104 BEGIN_SEG(entry, 0x10000000) 1105 { 1106 BUILD_DIR/levels/entry.o(.data); 1107 } 1108 END_SEG(entry) 1109 1110 /* load MIO0 and level data */ 1111 MIO0_SEG(segment2, 0x02000000) 1112 #ifdef VERSION_EU 1113 MIO0_EU_SEG(translation_en, 0x19000000) 1114 MIO0_EU_SEG(translation_fr, 0x19000000) 1115 MIO0_EU_SEG(translation_de, 0x19000000) 1116 #endif 1117 1118 /* mario actor group */ 1119 STANDARD_OBJECTS(group0, 0x04000000, 0x17000000) 1120 1121 /* load the other actor groups */ 1122 STANDARD_OBJECTS(group1, 0x05000000, 0x0C000000) 1123 STANDARD_OBJECTS(group2, 0x05000000, 0x0C000000) 1124 STANDARD_OBJECTS(group3, 0x05000000, 0x0C000000) 1125 STANDARD_OBJECTS(group4, 0x05000000, 0x0C000000) 1126 STANDARD_OBJECTS(group5, 0x05000000, 0x0C000000) 1127 STANDARD_OBJECTS(group6, 0x05000000, 0x0C000000) 1128 STANDARD_OBJECTS(group7, 0x05000000, 0x0C000000) 1129 STANDARD_OBJECTS(group8, 0x05000000, 0x0C000000) 1130 STANDARD_OBJECTS(group9, 0x05000000, 0x0C000000) 1131 STANDARD_OBJECTS(group10, 0x05000000, 0x0C000000) 1132 STANDARD_OBJECTS(group11, 0x05000000, 0x0C000000) 1133 STANDARD_OBJECTS(group12, 0x06000000, 0x0D000000) 1134 STANDARD_OBJECTS(group13, 0x06000000, 0x0D000000) 1135 STANDARD_OBJECTS(group14, 0x06000000, 0x0D000000) 1136 STANDARD_OBJECTS(group15, 0x06000000, 0x0D000000) 1137 STANDARD_OBJECTS(group16, 0x06000000, 0x0D000000) 1138 STANDARD_OBJECTS(group17, 0x06000000, 0x0D000000) 1139 1140 /* load the common actor groups */ 1141 STANDARD_OBJECTS(common0, 0x08000000, 0x0F000000) 1142 STANDARD_OBJECTS(common1, 0x03000000, 0x16000000) 1143 1144 /* use segmented addressing for behaviors */ 1145 BEGIN_SEG(behavior, 0x13000000) 1146 { 1147 BUILD_DIR/data/behavior_data.o(.data); 1148 } 1149 END_SEG(behavior) 1150 1151 /* 0x8016F000 21D7D0-255EC0 [386F0] */ 1152 BEGIN_SEG(goddard, SEG_GODDARD) 1153 { 1154 BUILD_DIR/src/menu/title_screen.o(.text); 1155 BUILD_DIR/src/menu/intro_geo.o(.text); 1156 BUILD_DIR/src/menu/file_select.o(.text); 1157 BUILD_DIR/src/menu/star_select.o(.text); 1158 BUILD_DIR/src/menu*.o(.text); 1159 BUILD_DIR/libgoddard.a:gd_main.o(.text); 1160 BUILD_DIR/libgoddard.a:gd_memory.o(.text); 1161 BUILD_DIR/libgoddard.a:sfx.o(.text); 1162 BUILD_DIR/libgoddard.a:draw_objects.o(.text); 1163 BUILD_DIR/libgoddard.a:objects.o(.text); 1164 BUILD_DIR/libgoddard.a:skin_movement.o(.text); 1165 BUILD_DIR/libgoddard.a:particles.o(.text); 1166 BUILD_DIR/libgoddard.a:dynlist_proc.o(.text); 1167 BUILD_DIR/libgoddard.a:old_menu.o(.text); 1168 BUILD_DIR/libgoddard.a:debug_utils.o(.text); 1169 BUILD_DIR/libgoddard.a:joints.o(.text); 1170 BUILD_DIR/libgoddard.a:skin.o(.text); 1171 BUILD_DIR/libgoddard.a:gd_math.o(.text); 1172 BUILD_DIR/libgoddard.a:shape_helper.o(.text); 1173 BUILD_DIR/libgoddard.a:renderer.o(.text); 1174 BUILD_DIR/libgoddard.a:*.o(.text); 1175 /* data, rodata, per file */ 1176 BUILD_DIR/src/menu/title_screen.o(.data*); 1177 BUILD_DIR/src/menu/title_screen.o(.rodata*); 1178 BUILD_DIR/src/menu/intro_geo.o(.data*); 1179 BUILD_DIR/src/menu/file_select.o(.data*); 1180 BUILD_DIR/src/menu/file_select.o(.rodata*); 1181 BUILD_DIR/src/menu/star_select.o(.data*); 1182 BUILD_DIR/src/menu/star_select.o(.rodata*); 1183 BUILD_DIR/src/menu*.o(.data*); 1184 BUILD_DIR/src/menu*.o(.rodata*); 1185 /* goddard subsystem data */ 1186 BUILD_DIR/libgoddard.a:gd_main.o(.data*); 1187 BUILD_DIR/libgoddard.a:draw_objects.o(.data*); 1188 BUILD_DIR/libgoddard.a:objects.o(.data*); 1189 BUILD_DIR/libgoddard.a:particles.o(.data*); 1190 BUILD_DIR/libgoddard.a:dynlist_proc.o(.data*); 1191 BUILD_DIR/libgoddard.a:debug_utils.o(.data*); 1192 BUILD_DIR/libgoddard.a:joints.o(.data*); 1193 BUILD_DIR/libgoddard.a:shape_helper.o(.data*); 1194 BUILD_DIR/libgoddard.a:renderer.o(.data*); 1195 /* goddard subsystem rodata */ 1196 BUILD_DIR/libgoddard.a:gd_main.o(.rodata*); 1197 BUILD_DIR/libgoddard.a:gd_memory.o(.rodata*); 1198 BUILD_DIR/libgoddard.a:draw_objects.o(.rodata*); 1199 BUILD_DIR/libgoddard.a:objects.o(.rodata*); 1200 BUILD_DIR/libgoddard.a:skin_movement.o(.rodata*); 1201 BUILD_DIR/libgoddard.a:particles.o(.rodata*); 1202 BUILD_DIR/libgoddard.a:dynlist_proc.o(.rodata*); 1203 BUILD_DIR/libgoddard.a:old_menu.o(.rodata*); 1204 BUILD_DIR/libgoddard.a:debug_utils.o(.rodata*); 1205 BUILD_DIR/libgoddard.a:joints.o(.rodata*); 1206 BUILD_DIR/libgoddard.a:skin.o(.rodata*); 1207 BUILD_DIR/libgoddard.a:gd_math.o(.rodata*); 1208 BUILD_DIR/libgoddard.a:shape_helper.o(.rodata*); 1209 BUILD_DIR/libgoddard.a:renderer.o(.rodata*); 1210 } 1211 END_SEG(goddard) 1212 BEGIN_NOLOAD(goddard) 1213 { 1214 BUILD_DIR/src/menu/intro_geo.o(.bss*); 1215 BUILD_DIR/src/menu/file_select.o(.bss*); 1216 BUILD_DIR/src/menu/star_select.o(.bss*); 1217 BUILD_DIR/src/menu*.o(.bss*); 1218 BUILD_DIR/libgoddard.a:gd_main.o(.bss*); 1219 BUILD_DIR/libgoddard.a:gd_memory.o(.bss*); 1220 BUILD_DIR/libgoddard.a:sfx.o(.bss*); 1221 BUILD_DIR/libgoddard.a:draw_objects.o(.bss*); 1222 BUILD_DIR/libgoddard.a:objects.o(.bss*); 1223 BUILD_DIR/libgoddard.a:skin_movement.o(.bss*); 1224 BUILD_DIR/libgoddard.a:particles.o(.bss*); 1225 BUILD_DIR/libgoddard.a:dynlist_proc.o(.bss*); 1226 BUILD_DIR/libgoddard.a:old_menu.o(.bss*); 1227 BUILD_DIR/libgoddard.a:debug_utils.o(.bss*); 1228 BUILD_DIR/libgoddard.a:joints.o(.bss*); 1229 BUILD_DIR/libgoddard.a:skin.o(.bss*); 1230 BUILD_DIR/libgoddard.a:shape_helper.o(.bss*); 1231 BUILD_DIR/libgoddard.a:renderer.o(.bss*); 1232 BUILD_DIR/libgoddard.a:*.o(.bss*); 1233 } 1234 END_NOLOAD(goddard) 1235 1236 /* 0x268020 0x268020-0 [0] */ 1237 BEGIN_SEG(intro, 0x14000000) 1238 { 1239 BUILD_DIR/levels/intro/script.o(.data); 1240 BUILD_DIR/levels/intro/geo.o(.data); 1241 } 1242 END_SEG(intro) 1243 BEGIN_SEG(intro_segment_7, 0x07000000) 1244 { 1245 BUILD_DIR/levels/intro/leveldata.mio0.o(.data); 1246 . = ALIGN(0x10); 1247 } 1248 END_SEG(intro_segment_7) 1249 1250 MIO0_SEG(debug_level_select, 0x07000000) 1251 MIO0_SEG(title_screen_bg, 0x0A000000) 1252 1253 /* 271B20-2A42A0 [32780] */ 1254 BEGIN_SEG(gd_dynlists, 0x04000000) 1255 { 1256 BUILD_DIR/libgoddard.a:dynlist_test_cube.o(.data); 1257 BUILD_DIR/libgoddard.a:dynlist_unused.o(.data); 1258 BUILD_DIR/libgoddard.a:dynlist_mario_face.o(.data); 1259 BUILD_DIR/libgoddard.a:dynlists_mario_eyes.o(.data); 1260 BUILD_DIR/libgoddard.a:dynlists_mario_eyebrows_mustache.o(.data); 1261 BUILD_DIR/libgoddard.a:dynlist_mario_master.o(.data); 1262 BUILD_DIR/libgoddard.a:anim_mario_mustache_right.o(.data); 1263 BUILD_DIR/libgoddard.a:anim_mario_mustache_left.o(.data); 1264 BUILD_DIR/libgoddard.a:anim_mario_lips_1.o(.data); 1265 BUILD_DIR/libgoddard.a:anim_mario_lips_2.o(.data); 1266 BUILD_DIR/libgoddard.a:anim_mario_eyebrows_1.o(.data); 1267 BUILD_DIR/libgoddard.a:anim_group_1.o(.data); 1268 BUILD_DIR/libgoddard.a:anim_group_2.o(.data); 1269 BUILD_DIR/libgoddard.a:dynlist_test_cube.o(.rodata*); 1270 BUILD_DIR/libgoddard.a:dynlist_unused.o(.rodata*); 1271 BUILD_DIR/libgoddard.a:*.o(.data); 1272 BUILD_DIR/libgoddard.a:*.o(.rodata); 1273 } 1274 END_SEG(gd_dynlists) 1275 1276 gMainLevels = __romPos; 1277 1278 BEGIN_SEG(menu, 0x14000000) 1279 { 1280 BUILD_DIR/levels/menu/script.o(.data); 1281 BUILD_DIR/levels/menu/geo.o(.data); 1282 } 1283 END_SEG(menu) 1284 BEGIN_SEG(menu_segment_7, 0x07000000) 1285 { 1286 BUILD_DIR/levels/menu/leveldata.mio0.o(.data); 1287 . = ALIGN(0x10); 1288 } 1289 END_SEG(menu_segment_7) 1290 1291 BEGIN_SEG(scripts, 0x15000000) 1292 { 1293 BUILD_DIR/levels/scripts.o(.data); 1294 } 1295 END_SEG(scripts) 1296 1297 MIO0_SEG(water_skybox, 0x0A000000) 1298 MIO0_SEG(ccm_skybox, 0x0A000000) 1299 MIO0_SEG(clouds_skybox, 0x0A000000) 1300 MIO0_SEG(bitfs_skybox, 0x0A000000) 1301 MIO0_SEG(wdw_skybox, 0x0A000000) 1302 MIO0_SEG(cloud_floor_skybox, 0x0A000000) 1303 MIO0_SEG(ssl_skybox, 0x0A000000) 1304 MIO0_SEG(bbh_skybox, 0x0A000000) 1305 MIO0_SEG(bidw_skybox, 0x0A000000) 1306 MIO0_SEG(bits_skybox, 0x0A000000) 1307 1308 // Texture bins 1309 MIO0_SEG(fire, 0x09000000) 1310 MIO0_SEG(spooky, 0x09000000) 1311 MIO0_SEG(generic, 0x09000000) 1312 MIO0_SEG(water, 0x09000000) 1313 MIO0_SEG(sky, 0x09000000) 1314 MIO0_SEG(snow, 0x09000000) 1315 MIO0_SEG(cave, 0x09000000) 1316 MIO0_SEG(machine, 0x09000000) 1317 MIO0_SEG(mountain, 0x09000000) 1318 MIO0_SEG(grass, 0x09000000) 1319 MIO0_SEG(outside, 0x09000000) 1320 MIO0_SEG(inside, 0x09000000) 1321 MIO0_SEG(effect, 0x0B000000) 1322 1323 #define STUB_LEVEL(_0, _1, _2, _3, _4, _5, _6, _7, _8) 1324 #define DEFINE_LEVEL(_0, _1, _2, folder, _4, _5, _6, _7, _8, _9, _10) STANDARD_LEVEL(folder) 1325 1326 #include "levels/level_defines.h" 1327 1328 #undef STUB_LEVEL 1329 #undef DEFINE_LEVEL 1330 1331 /* 4E9FA0-? [?] */ 1332 BEGIN_SEG(assets, __romPos) 1333 { 1334 BUILD_DIR/assets/mario_anim_data.o(.data); 1335 BUILD_DIR/assets/mario_anim_data.o(.rodata); 1336 BUILD_DIR/assets/demo_data.o(.data); 1337 BUILD_DIR/sound/sound_data.o(.data); 1338 } 1339 END_SEG(assets) 1340 1341 /* Discard everything not specifically mentioned above. */ 1342 /DISCARD/ : 1343 { 1344 *(*); 1345 } 1346 1347 ASSERT((_goddardSegmentNoloadEnd <= SEG_POOL_END), "Error: menu segment extended past pool end") 1348 ASSERT((_mainSegmentNoloadEnd <= _engineSegmentStart), "Error: main segment extended into engine.") 1349 ASSERT((_engineSegmentNoloadEnd <= _framebuffersSegmentNoloadStart), "Error: engine segment extended into framebuffers.") 1350 ASSERT((_framebuffersSegmentNoloadEnd <= RDRAM_END), "Error: framebuffers segment extended past RDRAM end") 1351 }