diff --git a/tools/mio0 b/tools/mio0 new file mode 100755 index 00000000..2c508cf9 Binary files /dev/null and b/tools/mio0 differ diff --git a/yamls/libultra2.0G.txt b/yamls/libultra2.0G.txt new file mode 100644 index 00000000..9f233bb2 --- /dev/null +++ b/yamls/libultra2.0G.txt @@ -0,0 +1,454 @@ +sonic@Ale-PC:~/flib$ cargo run ~/sf64/baserom.us.z64 ~/libultracollection/extracted2.0G/ tee + flib.txt +warning: unused variable: `rom_words` + --> src/main.rs:161:5 + | +161 | rom_words: &[u32], + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rom_words` + | + = note: `#[warn(unused_variables)]` on by default + +warning: unused variable: `object_paths` + --> src/main.rs:162:5 + | +162 | object_paths: Vec, + | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_paths` + +warning: unused variable: `ambiguous` + --> src/main.rs:163:5 + | +163 | ambiguous: (String, Vec), + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ambiguous` + +warning: unused variable: `symbols` + --> src/main.rs:164:5 + | +164 | symbols: &[Symbol], + | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbols` + +warning: function `disambiguate` is never used + --> src/main.rs:160:4 + | +160 | fn disambiguate( + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: static `AMBIGUOUS_FILES` is never used + --> src/libultra.rs:54:12 + | +54 | pub static AMBIGUOUS_FILES: &[&[&str]] = &[ + | ^^^^^^^^^^^^^^^ + +warning: constant `PIGETTYPE_TEXT` is never used + --> src/libultra.rs:87:11 + | +87 | pub const PIGETTYPE_TEXT: &[u32] = &[0x3C028000u32, 0x03E00008u32, 0x8C420304u32]; + | ^^^^^^^^^^^^^^ + +warning: constant `HANDWRITTEN_GU_FILES` is never used + --> src/libultra.rs:155:11 + | +155 | pub const HANDWRITTEN_GU_FILES: &'static [&str] = &[ + | ^^^^^^^^^^^^^^^^^^^^ + +warning: constant `FILES` is never used + --> src/libultra.rs:168:11 + | +168 | pub const FILES: &'static [&str] = &[ + | ^^^^^ + +warning: function `print_symbol_addrs` is never used + --> src/splat.rs:41:8 + | +41 | pub fn print_symbol_addrs(symbols: &[Symbol]) { + | ^^^^^^^^^^^^^^^^^^ + +warning: `flib` (bin "flib") generated 10 warnings (run `cargo fix --bin "flib"` to apply 4 suggestions) + Finished dev [unoptimized + debuginfo] target(s) in 0.00s + Running `target/debug/flib /home/sonic/sf64/baserom.us.z64 /home/sonic/libultracollection/extracted2.0G/ tee flib.txt` +getactivequeue is ambiguous, skipping symbols +getcurrfaultthread is ambiguous, skipping symbols +initrdb: no .text section found, skipping +kdebugserver: no .text section found, skipping +libm_vals: no .text section found, skipping +parameters has .text section composed of only zeros, skipping +parse_abi: no .text section found, skipping +piacs is ambiguous, skipping symbols +pigettype is ambiguous, skipping symbols +rdbsend: no .text section found, skipping +siacs is ambiguous, skipping symbols +sirawread is ambiguous, skipping symbols +sirawwrite is ambiguous, skipping symbols +sprawread is ambiguous, skipping symbols +sprawwrite is ambiguous, skipping symbols +vigetcurrcontext is ambiguous, skipping symbols +vigetnextcontext is ambiguous, skipping symbols +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: "__osViDevMgr", address: 2148302272, size: 5, filename: "vimgr", defined: true, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: "__osViDevMgr", address: 2148302272, size: 5, filename: "vimgr", defined: true, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +vimodempalhaf1: no .text section found, skipping +vimodempalhan1: no .text section found, skipping +vimodempalhpf1: no .text section found, skipping +vimodempalhpf2: no .text section found, skipping +vimodempalhpn1: no .text section found, skipping +vimodempalhpn2: no .text section found, skipping +vimodempallaf1: no .text section found, skipping +vimodempallaf2: no .text section found, skipping +vimodempallan1: no .text section found, skipping +vimodempallan2: no .text section found, skipping +vimodempallpf1: no .text section found, skipping +vimodempallpf2: no .text section found, skipping +vimodempallpn1: no .text section found, skipping +vimodempallpn2: no .text section found, skipping +vimodentschaf1: no .text section found, skipping +vimodentschan1: no .text section found, skipping +vimodentschpf1: no .text section found, skipping +vimodentschpf2: no .text section found, skipping +vimodentschpn1: no .text section found, skipping +vimodentschpn2: no .text section found, skipping +vimodentsclaf1: no .text section found, skipping +vimodentsclaf2: no .text section found, skipping +vimodentsclan1: no .text section found, skipping +vimodentsclan2: no .text section found, skipping +vimodentsclpf1: no .text section found, skipping +vimodentsclpf2: no .text section found, skipping +vimodentsclpn1: no .text section found, skipping +vimodentsclpn2: no .text section found, skipping +vimodepalhaf1: no .text section found, skipping +vimodepalhan1: no .text section found, skipping +vimodepalhpf1: no .text section found, skipping +vimodepalhpf2: no .text section found, skipping +vimodepalhpn1: no .text section found, skipping +vimodepalhpn2: no .text section found, skipping +vimodepallaf1: no .text section found, skipping +vimodepallaf2: no .text section found, skipping +vimodepallan1: no .text section found, skipping +vimodepallan2: no .text section found, skipping +vimodepallpf1: no .text section found, skipping +vimodepallpf2: no .text section found, skipping +vimodepallpn1: no .text section found, skipping +vimodepallpn2: no .text section found, skipping +vitbl: no .text section found, skipping +Files found: + - [0x1000, asm] + - [0x20BC0, c, controller] + - [0x20F80, c, contreaddata] + - [0x211E0, c, recvmesg] + - [0x21320, c, sendmesg] + - [0x21470, c, contquery] + - [0x21520, asm] + - [0x21B40, c, perspective] + - [0x21DD0, c, lookat] + - [0x22100, c, ortho] + - [0x222C0, hasm, invalicache] + - [0x22340, hasm, invaldcache] + - [0x223F0, c, pidma] + - [0x22500, c, viblack] + - [0x22570, hasm, writebackdcacheall] + - [0x225A0, c, viswapbuf] + - [0x225F0, c, virepeatline] + - [0x22660, asm] + - [0x226C0, c, visetmode] + - [0x22730, c, visetspecial] + - [0x228F0, c, createmesgqueue] + - [0x22920, c, seteventmesg] + - [0x22990, c, visetevent] + - [0x22A00, c, sptaskyielded] + - [0x22A80, c, sptaskyield] + - [0x22AA0, asm] + - [0x22D90, c, dpsetstat] + - [0x22DA0, c, createthread] + - [0x22EF0, c, startthread] + - [0x23040, c, vimgr] + - [0x233A0, asm] + - [0x23680, c, setthreadpri] + - [0x23760, asm] + - [0x23C00, c, gettime] + - [0x23C90, c, sinf] + - [0x23E50, c, cosf] + - [0x23FC0, hasm, sqrtf] + - [0x23FD0, c, settimer] + - [0x240B0, c, conteepread] + - [0x243B0, c, conteepwrite] + - [0x24890, c, ll] + - [0x24B50, c, conteepprobe] + - [0x24BC0, c, string] + - [0x24C60, asm] + - [0x25920, c, settime] + - [0x25950, asm] + - [0x25960, c, aisetfreq] + - [0x25AC0, asm] + - [0x25BB0, c, epidma] + - [0x25C90, c, aigetlen] + - [0x25CA0, c, aisetnextbuf] + - [0x25D50, hasm, getcount] + - [0x25D60, c, sirawdma] + - [0x25E10, asm] + - [0x25ED0, hasm, interrupt] + - [0x25F10, c, thread] + - [0x25F50, asm] + - [0x26CD0, c, pfsisplug] + - [0x27040, c, crc] + - [0x271C0, asm] + - [0x278D0, c, mtxutil] + - [0x27B40, c, jammesg] + - [0x27C90, c, pigetcmdq] + - [0x27CC0, asm] + - [0x27E00, c, spgetstat] + - [0x27E10, c, spsetstat] + - [0x27E20, hasm, bcopy] + - [0x28130, c, virtualtophysical] + - [0x281B0, hasm, writebackdcache] + - [0x28230, c, spsetpc] + - [0x28270, c, sprawdma] + - [0x28300, c, sp] + - [0x28330, asm] + - [0x28800, c, getthreadpri] + - [0x28820, asm] + - [0x28830, c, viswapcontext] + - [0x28B90, asm] + - [0x28D50, c, pirawdma] + - [0x28E30, asm] + - [0x297B0, hasm, setsr] + - [0x297C0, hasm, getsr] + - [0x297D0, hasm, setfpccsr] + - [0x297E0, asm] + - [0x29880, hasm, maptlbrdb] + - [0x298E0, c, pirawread] + - [0x29940, hasm, bzero] + - [0x299E0, c, xlitob] + - [0x29C80, c, xldtob] + - [0x2A740, c, ai] + - [0x2A770, c, si] + - [0x2A7A0, asm] + - [0x2B690, hasm, setintmask] + - [0x2B730, c, destroythread] + - [0x2B830, asm] + - [0x2B940, hasm, probetlb] + - [0x2BA00, hasm, setcompare] + - [0x2BA10, c, resetglobalintmask] + - [0x2BA70, c, epirawwrite] + - [0x2BAC0, c, epirawread] + - [0x2BB10, c, setglobalintmask] + - [0x2BB60, c, yieldthread] + - [0x2BBB0, c, ldiv] + - [0x2BD40, hasm, getcause] + - [0x2BD50, asm] + - [0x2EE80, c, stopthread] + +Ambiguous files: +getactivequeue: [ 0x25950, 0x28820 ] +getcurrfaultthread: [ 0x25950, 0x28820 ] +pigettype: [ 0x25950, 0x28820 ] +vigetcurrcontext: [ 0x25950, 0x28820 ] +vigetnextcontext: [ 0x25950, 0x28820 ] +piacs: [ 0x25E10, 0x28C90 ] +siacs: [ 0x25E10, 0x28C90 ] +sirawread: [ 0x297E0, 0x2EE30 ] +sprawread: [ 0x297E0, 0x2EE30 ] +sirawwrite: [ 0x29830, 0x2EDE0 ] +sprawwrite: [ 0x29830, 0x2EDE0 ] + +Files not found: +aigetstat, align, atomic, auxbus, bcmp, bnkf, cartrominit, cents2ratio, clearattribute, color, conteeplongread, conteeplongwrite, contpfs, contramread, contramwrite, contreset, contsetch, copy, coss, cseq, cspdelete, cspgetchlvol, cspgetfxmix, cspgetpan, cspgetpriority, cspgetprogram, cspgetseq, cspgetstate, cspgettempo, cspgetvol, csplayer, cspplay, cspsendmidi, cspsetbank, cspsetchlvol, cspsetfxmix, cspsetpan, cspsetpriority, cspsetprogram, cspsetseq, cspsettempo, cspsetvol, cspstop, devmgr, dp, dpctr, dpgetstat, dpsetnextbuf, drvrNew, env, epigettype, epirawdma, epiread, epiwrite, event, exceptasm, filter, free, frustum, getbufcount, getcompare, getconfig, getfpccsr, getintmask, getnextfaultthread, getsize, getthreadid, gettlbasid, gettlbhi, gettlblo0, gettlblo1, gettlbpagemask, gt, guLoadTile_bug, heapalloc, heapcheck, heapinit, hide, initialize, leodiskinit, leointerrupt, llbit, llcvt, load, loadtextureblockmipmap, lookathil, lookatref, lookatstereo, mainbus, malloc, maptlb, mtxcatf, mtxcatl, normalize, pfsallocatefile, pfschecker, pfsdeletefile, pfsfilestate, pfsfreeblocks, pfsgetlabel, pfsinit, pfsnumfiles, pfsreadwritefile, pfsreformat, pfsresizefile, pfssearchfile, pfssetlabel, physicaltovirtual, pi, pigetstat, pimgr, pirawwrite, piread, piwrite, position, poslight, poslighthil, random, region, resample, reverb, rotate, rotateRPY, save, scale, sched, seq, seqpdelete, seqpgetchlvol, seqpgetfxmix, seqpgetpan, seqpgetpriority, seqpgetprogram, seqpgetseq, seqpgetstate, seqpgettempo, seqpgetvol, seqplayer, seqploop, seqpplay, seqpsendmidi, seqpsetbank, seqpsetchlvol, seqpsetfxmix, seqpsetpan, seqpsetpriority, seqpsetprogram, seqpsetseq, seqpsettempo, seqpsetvol, seqpstop, setattribute, setcause, setconfig, setcount, sethwinterrupt, settlbasid, show, sigetstat, sins, sl, sndpallocate, sndpdeallocate, sndpdelete, sndpgetsound, sndpgetstate, sndplayer, sndpplay, sndpplayat, sndpsetfxmix, sndpsetpan, sndpsetpitch, sndpsetpriority, sndpsetsound, sndpsetvol, sndpstop, sprintf, sprite, spscale, sptask, stoptimer, synaddplayer, synallocfx, synallocvoice, syncprintf, syncputchars, syndelete, synfreefx, synfreevoice, syngetfxref, syngetpriority, synremoveplayer, synsetfxmix, synsetfxparam, synsetpan, synsetpitch, synsetpriority, synsetvol, synstartvoice, synstartvoiceparam, synstopvoice, synthesizer, timerintr, translate, unmaptlb, unmaptlball, usprite, vi, vifade, vigetcurrframebuf, vigetfield, vigetline, vigetmode, vigetnextframebuf, vigetstat, visetxscale, visetyscale, xprintf + +Symbols: +osRomBase, 0x80000308, 0x4 (pirawdma, false) +osContInit, 0x8001FFC0, 0x1F8 (controller, true) +__osContGetInitData, 0x800201B8, 0xD0 (controller, true) +__osPackRequestData, 0x80020288, 0xF4 (controller, true) +osContStartReadData, 0x80020380, 0xC4 (contreaddata, true) +osContGetReadData, 0x80020444, 0xA8 (contreaddata, true) +.text, 0x80020491, 0x260 (contreaddata, false) +osRecvMesg, 0x800205E0, 0x138 (recvmesg, true) +osSendMesg, 0x80020720, 0x14C (sendmesg, true) +osContStartQuery, 0x80020870, 0x84 (contquery, true) +osContGetQuery, 0x800208F4, 0x28 (contquery, true) +guPerspectiveF, 0x80020F40, 0x230 (perspective, true) +guPerspective, 0x80021170, 0x58 (perspective, true) +guLookAtF, 0x800211D0, 0x2B8 (lookat, true) +guLookAt, 0x80021488, 0x78 (lookat, true) +guOrthoF, 0x80021500, 0x154 (ortho, true) +guOrtho, 0x80021654, 0x68 (ortho, true) +osInvalICache, 0x800216C0, 0x74 (invalicache, true) +osInvalDCache, 0x80021740, 0xAC (invaldcache, true) +osPiStartDma, 0x800217F0, 0x10C (pidma, true) +osViBlack, 0x80021900, 0x70 (viblack, true) +osWritebackDCacheAll, 0x80021970, 0x28 (writebackdcacheall, true) +osViSwapBuffer, 0x800219A0, 0x50 (viswapbuf, true) +osViRepeatLine, 0x800219F0, 0x70 (virepeatline, true) +osViSetMode, 0x80021AC0, 0x68 (visetmode, true) +osViSetSpecialFeatures, 0x80021B30, 0x1B8 (visetspecial, true) +osCreateMesgQueue, 0x80021CF0, 0x2C (createmesgqueue, true) +osSetEventMesg, 0x80021D20, 0x68 (seteventmesg, true) +osViSetEvent, 0x80021D90, 0x6C (visetevent, true) +osSpTaskYielded, 0x80021E00, 0x80 (sptaskyielded, true) +osSpTaskYield, 0x80021E80, 0x20 (sptaskyield, true) +osDpSetStatus, 0x80022190, 0xC (dpsetstat, true) +osCreateThread, 0x800221A0, 0x144 (createthread, true) +osStartThread, 0x800222F0, 0x150 (startthread, true) +osCreateViManager, 0x80022440, 0x188 (vimgr, true) +osSetThreadPri, 0x80022A80, 0xE0 (setthreadpri, true) +osGetTime, 0x80023000, 0x84 (gettime, true) +__sinf, 0x80023090, 0x1C0 (sinf, true) +sinf, 0x80023090, 0x0 (perspective, false) +__cosf, 0x80023250, 0x168 (cosf, true) +cosf, 0x80023250, 0x0 (perspective, false) +sqrtf, 0x800233C0, 0x8 (sqrtf, true) +osSetTimer, 0x800233D0, 0xD4 (settimer, true) +osEepromRead, 0x800234B0, 0x1F0 (conteepread, true) +.text, 0x80023624, 0x300 (conteepread, false) +osEepromWrite, 0x800237B0, 0x1B0 (conteepwrite, true) +.text, 0x800238F4, 0x4E0 (conteepwrite, false) +__osEepStatus, 0x80023A6C, 0x224 (conteepwrite, true) +__ull_rshift, 0x80023C90, 0x2C (ll, true) +__ull_rem, 0x80023CBC, 0x3C (ll, true) +__ull_div, 0x80023CF8, 0x3C (ll, true) +__ll_lshift, 0x80023D34, 0x2C (ll, true) +__ll_rem, 0x80023D60, 0x3C (ll, true) +__ll_div, 0x80023D9C, 0x5C (ll, true) +__ll_mul, 0x80023DF8, 0x30 (ll, true) +__ull_divremi, 0x80023E28, 0x60 (ll, true) +__ll_mod, 0x80023E88, 0x9C (ll, true) +__ll_rshift, 0x80023F24, 0x2C (ll, true) +osEepromProbe, 0x80023F50, 0x6C (conteepprobe, true) +memcpy, 0x80023FC0, 0x2C (string, true) +strlen, 0x80023FEC, 0x28 (string, true) +strchr, 0x80024014, 0x40 (string, true) +osSetTime, 0x80024D20, 0x24 (settime, true) +osAiSetFrequency, 0x80024D60, 0x160 (aisetfreq, true) +osEPiStartDma, 0x80024FB0, 0xD4 (epidma, true) +osAiGetLength, 0x80025090, 0xC (aigetlen, true) +osAiSetNextBuffer, 0x800250A0, 0xA8 (aisetnextbuf, true) +osGetCount, 0x80025150, 0xC (getcount, true) +__osSiRawStartDma, 0x80025160, 0xAC (sirawdma, true) +__osSiCreateAccessQueue, 0x80025210, 0x0 (controller, false) +__osSiGetAccess, 0x80025260, 0x0 (conteepprobe, false) +__osSiRelAccess, 0x800252A4, 0x0 (conteepprobe, false) +__osDisableInt, 0x800252D0, 0x20 (interrupt, true) +__osRestoreInt, 0x800252F0, 0x1C (interrupt, true) +__osDequeueThread, 0x80025310, 0x40 (thread, true) +__osEnqueueAndYield, 0x80025DF0, 0x0 (jammesg, false) +__osEnqueueThread, 0x80025EF0, 0x0 (setthreadpri, false) +__osPopThread, 0x80025F38, 0x0 (jammesg, false) +__osDispatchThread, 0x80025F48, 0x0 (destroythread, false) +__osCleanupThread, 0x800260C4, 0x0 (createthread, false) +osPfsIsPlug, 0x800260D0, 0x1A0 (pfsisplug, true) +__osPfsRequestData, 0x80026270, 0xFC (pfsisplug, true) +__osPfsGetInitData, 0x8002636C, 0xD0 (pfsisplug, true) +__osContAddressCrc, 0x80026440, 0xB0 (crc, true) +__osContDataCrc, 0x800264F0, 0xD0 (crc, true) +guMtxF2L, 0x80026CD0, 0x100 (mtxutil, true) +guMtxIdentF, 0x80026DD0, 0x88 (mtxutil, true) +guMtxIdent, 0x80026E58, 0x30 (mtxutil, true) +guMtxL2F, 0x80026E88, 0xB4 (mtxutil, true) +osJamMesg, 0x80026F40, 0x150 (jammesg, true) +osPiGetCmdQueue, 0x80027090, 0x28 (pigetcmdq, true) +__osViInit, 0x800270C0, 0x0 (vimgr, false) +__osSpGetStatus, 0x80027200, 0xC (spgetstat, true) +__osSpSetStatus, 0x80027210, 0xC (spsetstat, true) +bcopy, 0x80027220, 0x0 (bcopy, true) +osVirtualToPhysical, 0x80027530, 0x7C (virtualtophysical, true) +osWritebackDCache, 0x800275B0, 0x74 (writebackdcache, true) +__osSpSetPc, 0x80027630, 0x34 (spsetpc, true) +__osSpRawStartDma, 0x80027670, 0x8C (sprawdma, true) +__osSpDeviceBusy, 0x80027700, 0x2C (sp, true) +__osTimerServicesInit, 0x80027730, 0x0 (vimgr, false) +__osTimerInterrupt, 0x800277BC, 0x0 (vimgr, false) +__osSetTimerIntr, 0x80027A00, 0x0 (settimer, false) +__osInsertTimer, 0x80027A74, 0x0 (settimer, false) +osGetThreadPri, 0x80027C00, 0x18 (getthreadpri, true) +__osViGetCurrentContext, 0x80027C20, 0x0 (vimgr, false) +__osViSwapContext, 0x80027C30, 0x35C (viswapcontext, true) +osPiRawStartDma, 0x80028150, 0xE0 (pirawdma, true) +__osSetSR, 0x80028BB0, 0x10 (setsr, true) +__osGetSR, 0x80028BC0, 0xC (getsr, true) +__osSetFpcCsr, 0x80028BD0, 0x10 (setfpccsr, true) +osMapTLBRdb, 0x80028C80, 0x58 (maptlbrdb, true) +osPiRawReadIo, 0x80028CE0, 0x54 (pirawread, true) +bzero, 0x80028D40, 0x0 (bzero, true) +_Litob, 0x80028DE0, 0x298 (xlitob, true) +.text, 0x80029080, 0xAC0 (xldtob, false) +_Ldtob, 0x800295F0, 0x54C (xldtob, true) +__osAiDeviceBusy, 0x80029B40, 0x30 (ai, true) +__osSiDeviceBusy, 0x80029B70, 0x2C (si, true) +osSetIntMask, 0x8002AA90, 0xA0 (setintmask, true) +osDestroyThread, 0x8002AB30, 0xF8 (destroythread, true) +__osProbeTLB, 0x8002AD40, 0xB8 (probetlb, true) +__osSetCompare, 0x8002AE00, 0xC (setcompare, true) +__osResetGlobalIntMask, 0x8002AE10, 0x58 (resetglobalintmask, true) +osEPiRawWriteIo, 0x8002AE70, 0x4C (epirawwrite, true) +osEPiRawReadIo, 0x8002AEC0, 0x50 (epirawread, true) +__osSetGlobalIntMask, 0x8002AF10, 0x4C (setglobalintmask, true) +osYieldThread, 0x8002AF60, 0x4C (yieldthread, true) +lldiv, 0x8002AFB0, 0x100 (ldiv, true) +ldiv, 0x8002B0B0, 0x84 (ldiv, true) +__osGetCause, 0x8002B140, 0xC (getcause, true) +osStopThread, 0x8002E280, 0xC0 (stopthread, true) +__osContinitialized, 0x800C7CC0, 0x4 (controller, true) +__osViDevMgr, 0x800C7DC0, 0x5 (vimgr, true) +__osPiDevMgr, 0x800C7DE0, 0x1C (epidma, false) +osClockRate, 0x800C7E10, 0x8 (controller, false) +osViClock, 0x800C7E18, 0x4 (aisetfreq, false) +__OSGlobalIntMask, 0x800C7E20, 0x4 (resetglobalintmask, false) +.data, 0x800C7E80, 0x10 (aisetnextbuf, false) +__osThreadTail, 0x800C7EA0, 0x8 (createmesgqueue, false) +__osRunQueue, 0x800C7EA8, 0x4 (setthreadpri, false) +__osActiveQueue, 0x800C7EAC, 0x4 (createthread, false) +__osRunningThread, 0x800C7EB0, 0x4 (destroythread, false) +__osViCurr, 0x800C7F40, 0x4 (viswapcontext, false) +__osViNext, 0x800C7F44, 0x4 (viblack, false) +__osTimerList, 0x800C7F50, 0x4 (settimer, false) +.data, 0x800C7F80, 0x30 (xlitob, false) +.rodata, 0x800E9330, 0x10 (perspective, false) +.rodata, 0x800E9340, 0x50 (sinf, false) +.rodata, 0x800E9390, 0x50 (cosf, false) +__libm_qnan_f, 0x800E9570, 0x4 (cosf, false) +.rodata, 0x800E9580, 0x60 (xldtob, false) +__osRcpImTable, 0x800E95E0, 0x80 (setintmask, true) +__osContPifRam, 0x80156620, 0x40 (contquery, false) +__osContLastCmd, 0x80156660, 0x1 (conteepread, false) +__osMaxControllers, 0x80156661, 0x1 (contreaddata, false) +__osEepromTimerQ, 0x80156688, 0x18 (controller, true) +__osEepromTimerMsg, 0x801566A0, 0x4 (controller, true) +__osEventStateTab, 0x801568F0, 0x78 (seteventmesg, true) +.bss, 0x801569F0, 0x1220 (vimgr, false) +__osEepPifRam, 0x801793E0, 0x40 (conteepread, true) +__osPfsPifRam, 0x801794C0, 0x40 (pfsisplug, true) +__osCurrentTime, 0x80179520, 0x8 (gettime, false) +__osBaseCounter, 0x80179528, 0x4 (gettime, false) +__osViIntrCount, 0x8017952C, 0x4 (vimgr, false) \ No newline at end of file diff --git a/yamls/libultra2.0I.txt b/yamls/libultra2.0I.txt new file mode 100644 index 00000000..ae29dc52 --- /dev/null +++ b/yamls/libultra2.0I.txt @@ -0,0 +1,444 @@ +sonic@Ale-PC:~/flib$ cargo run ~/sf64/baserom.us.z64 ~/libultracollection/extracted/ tee flib.txt +warning: unused variable: `rom_words` + --> src/main.rs:161:5 + | +161 | rom_words: &[u32], + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rom_words` + | + = note: `#[warn(unused_variables)]` on by default + +warning: unused variable: `object_paths` + --> src/main.rs:162:5 + | +162 | object_paths: Vec, + | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_paths` + +warning: unused variable: `ambiguous` + --> src/main.rs:163:5 + | +163 | ambiguous: (String, Vec), + | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ambiguous` + +warning: unused variable: `symbols` + --> src/main.rs:164:5 + | +164 | symbols: &[Symbol], + | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbols` + +warning: function `disambiguate` is never used + --> src/main.rs:160:4 + | +160 | fn disambiguate( + | ^^^^^^^^^^^^ + | + = note: `#[warn(dead_code)]` on by default + +warning: static `AMBIGUOUS_FILES` is never used + --> src/libultra.rs:54:12 + | +54 | pub static AMBIGUOUS_FILES: &[&[&str]] = &[ + | ^^^^^^^^^^^^^^^ + +warning: constant `PIGETTYPE_TEXT` is never used + --> src/libultra.rs:87:11 + | +87 | pub const PIGETTYPE_TEXT: &[u32] = &[0x3C028000u32, 0x03E00008u32, 0x8C420304u32]; + | ^^^^^^^^^^^^^^ + +warning: constant `HANDWRITTEN_GU_FILES` is never used + --> src/libultra.rs:155:11 + | +155 | pub const HANDWRITTEN_GU_FILES: &'static [&str] = &[ + | ^^^^^^^^^^^^^^^^^^^^ + +warning: constant `FILES` is never used + --> src/libultra.rs:168:11 + | +168 | pub const FILES: &'static [&str] = &[ + | ^^^^^ + +warning: function `print_symbol_addrs` is never used + --> src/splat.rs:41:8 + | +41 | pub fn print_symbol_addrs(symbols: &[Symbol]) { + | ^^^^^^^^^^^^^^^^^^ + +warning: `flib` (bin "flib") generated 10 warnings (run `cargo fix --bin "flib"` to apply 4 suggestions) + Finished dev [unoptimized + debuginfo] target(s) in 0.00s + Running `target/debug/flib /home/sonic/sf64/baserom.us.z64 /home/sonic/libultracollection/extracted/ tee flib.txt` +getactivequeue is ambiguous, skipping symbols +getcurrfaultthread is ambiguous, skipping symbols +initrdb: no .text section found, skipping +kdebugserver: no .text section found, skipping +libm_vals: no .text section found, skipping +parameters has .text section composed of only zeros, skipping +parse_abi: no .text section found, skipping +piacs is ambiguous, skipping symbols +pigettype is ambiguous, skipping symbols +rdbsend: no .text section found, skipping +siacs is ambiguous, skipping symbols +sirawread is ambiguous, skipping symbols +sirawwrite is ambiguous, skipping symbols +sprawread is ambiguous, skipping symbols +sprawwrite is ambiguous, skipping symbols +vigetcurrcontext is ambiguous, skipping symbols +vigetnextcontext is ambiguous, skipping symbols +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +".bss" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: ".bss", address: 2148887024, size: 4640, filename: "vimgr", defined: false, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: "__osViDevMgr", address: 2148302272, size: 5, filename: "vimgr", defined: true, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +Last symbol seems complete already +Symbol { name: "__osViDevMgr", address: 2148302272, size: 5, filename: "vimgr", defined: true, complete: true } +"__osViDevMgr" +Relocation { kind: Elf(6), encoding: Generic, size: 0, target: Symbol(SymbolIndex(4)), addend: 0, implicit_addend: true } +vimodempalhaf1: no .text section found, skipping +vimodempalhan1: no .text section found, skipping +vimodempalhpf1: no .text section found, skipping +vimodempalhpf2: no .text section found, skipping +vimodempalhpn1: no .text section found, skipping +vimodempalhpn2: no .text section found, skipping +vimodempallaf1: no .text section found, skipping +vimodempallaf2: no .text section found, skipping +vimodempallan1: no .text section found, skipping +vimodempallan2: no .text section found, skipping +vimodempallpf1: no .text section found, skipping +vimodempallpf2: no .text section found, skipping +vimodempallpn1: no .text section found, skipping +vimodempallpn2: no .text section found, skipping +vimodentschaf1: no .text section found, skipping +vimodentschan1: no .text section found, skipping +vimodentschpf1: no .text section found, skipping +vimodentschpf2: no .text section found, skipping +vimodentschpn1: no .text section found, skipping +vimodentschpn2: no .text section found, skipping +vimodentsclaf1: no .text section found, skipping +vimodentsclaf2: no .text section found, skipping +vimodentsclan1: no .text section found, skipping +vimodentsclan2: no .text section found, skipping +vimodentsclpf1: no .text section found, skipping +vimodentsclpf2: no .text section found, skipping +vimodentsclpn1: no .text section found, skipping +vimodentsclpn2: no .text section found, skipping +vimodepalhaf1: no .text section found, skipping +vimodepalhan1: no .text section found, skipping +vimodepalhpf1: no .text section found, skipping +vimodepalhpf2: no .text section found, skipping +vimodepalhpn1: no .text section found, skipping +vimodepalhpn2: no .text section found, skipping +vimodepallaf1: no .text section found, skipping +vimodepallaf2: no .text section found, skipping +vimodepallan1: no .text section found, skipping +vimodepallan2: no .text section found, skipping +vimodepallpf1: no .text section found, skipping +vimodepallpf2: no .text section found, skipping +vimodepallpn1: no .text section found, skipping +vimodepallpn2: no .text section found, skipping +vitbl: no .text section found, skipping +Files found: + - [0x1000, asm] + - [0x211E0, c, recvmesg] + - [0x21320, c, sendmesg] + - [0x21470, c, contquery] + - [0x21520, asm] + - [0x21B40, c, perspective] + - [0x21DD0, c, lookat] + - [0x22100, c, ortho] + - [0x222C0, hasm, invalicache] + - [0x22340, hasm, invaldcache] + - [0x223F0, c, pidma] + - [0x22500, c, viblack] + - [0x22570, hasm, writebackdcacheall] + - [0x225A0, c, viswapbuf] + - [0x225F0, c, virepeatline] + - [0x22660, asm] + - [0x226C0, c, visetmode] + - [0x22730, c, visetspecial] + - [0x228F0, c, createmesgqueue] + - [0x22920, c, seteventmesg] + - [0x22990, c, visetevent] + - [0x22A00, c, sptaskyielded] + - [0x22A80, c, sptaskyield] + - [0x22AA0, c, sptask] + - [0x22D90, c, dpsetstat] + - [0x22DA0, c, createthread] + - [0x22EF0, c, startthread] + - [0x23040, c, vimgr] + - [0x233A0, asm] + - [0x23680, c, setthreadpri] + - [0x23760, asm] + - [0x23C00, c, gettime] + - [0x23C90, c, sinf] + - [0x23E50, c, cosf] + - [0x23FC0, hasm, sqrtf] + - [0x23FD0, c, settimer] + - [0x240B0, asm] + - [0x24890, c, ll] + - [0x24B50, asm] + - [0x24BC0, c, string] + - [0x24C60, c, xprintf] + - [0x25920, c, settime] + - [0x25950, asm] + - [0x25960, c, aisetfreq] + - [0x25AC0, asm] + - [0x25BB0, c, epidma] + - [0x25C90, c, aigetlen] + - [0x25CA0, asm] + - [0x25D50, hasm, getcount] + - [0x25D60, c, sirawdma] + - [0x25E10, asm] + - [0x25ED0, hasm, interrupt] + - [0x25F10, c, thread] + - [0x25F50, asm] + - [0x27040, c, crc] + - [0x271C0, asm] + - [0x27B40, c, jammesg] + - [0x27C90, c, pigetcmdq] + - [0x27CC0, c, vi] + - [0x27E00, c, spgetstat] + - [0x27E10, c, spsetstat] + - [0x27E20, hasm, bcopy] + - [0x28130, c, virtualtophysical] + - [0x281B0, hasm, writebackdcache] + - [0x28230, c, spsetpc] + - [0x28270, c, sprawdma] + - [0x28300, c, sp] + - [0x28330, asm] + - [0x28800, c, getthreadpri] + - [0x28820, asm] + - [0x28830, c, viswapcontext] + - [0x28B90, asm] + - [0x28D50, c, pirawdma] + - [0x28E30, c, epirawdma] + - [0x29060, c, devmgr] + - [0x294F0, asm] + - [0x297B0, hasm, setsr] + - [0x297C0, hasm, getsr] + - [0x297D0, hasm, setfpccsr] + - [0x297E0, asm] + - [0x29880, hasm, maptlbrdb] + - [0x298E0, c, pirawread] + - [0x29940, hasm, bzero] + - [0x299E0, c, xlitob] + - [0x29C80, c, xldtob] + - [0x2A740, c, ai] + - [0x2A770, c, si] + - [0x2A7A0, asm] + - [0x2AE10, c, leointerrupt] + - [0x2B690, hasm, setintmask] + - [0x2B730, asm] + - [0x2B940, hasm, probetlb] + - [0x2BA00, hasm, setcompare] + - [0x2BA10, c, resetglobalintmask] + - [0x2BA70, asm] + - [0x2BB10, c, setglobalintmask] + - [0x2BB60, c, yieldthread] + - [0x2BBB0, c, ldiv] + - [0x2BD40, hasm, getcause] + - [0x2BD50, asm] + - [0x2EE80, c, stopthread] + +Ambiguous files: +getactivequeue: [ 0x25950, 0x28820 ] +getcurrfaultthread: [ 0x25950, 0x28820 ] +pigettype: [ 0x25950, 0x28820 ] +vigetcurrcontext: [ 0x25950, 0x28820 ] +vigetnextcontext: [ 0x25950, 0x28820 ] +piacs: [ 0x25E10, 0x28C90 ] +siacs: [ 0x25E10, 0x28C90 ] +sirawread: [ 0x297E0, 0x2EE30 ] +sprawread: [ 0x297E0, 0x2EE30 ] +sirawwrite: [ 0x29830, 0x2EDE0 ] +sprawwrite: [ 0x29830, 0x2EDE0 ] + +Files not found: +aigetstat, aisetnextbuf, align, atomic, auxbus, bcmp, bnkf, cartrominit, cents2ratio, clearattribute, color, conteeplongread, conteeplongwrite, conteepprobe, conteepread, conteepwrite, contpfs, contramread, contramwrite, contreaddata, contreset, controller, contsetch, copy, coss, cseq, cspdelete, cspgetchlvol, cspgetfxmix, cspgetpan, cspgetpriority, cspgetprogram, cspgetseq, cspgetstate, cspgettempo, cspgetvol, csplayer, cspplay, cspsendmidi, cspsetbank, cspsetchlvol, cspsetfxmix, cspsetpan, cspsetpriority, cspsetprogram, cspsetseq, cspsettempo, cspsetvol, cspstop, destroythread, dp, dpctr, dpgetstat, dpsetnextbuf, driverominit, drvrNew, env, epigettype, epilinkhandle, epirawread, epirawwrite, epiread, epiwrite, event, exceptasm, filter, free, frustum, getbufcount, getcompare, getconfig, getfpccsr, getintmask, getmemsize, getnextfaultthread, getsize, getthreadid, gettlbasid, gettlbhi, gettlblo0, gettlblo1, gettlbpagemask, gt, guLoadTile_bug, heapalloc, heapcheck, heapinit, hide, initialize, leodiskinit, llbit, llcvt, load, loadtextureblockmipmap, lookathil, lookatref, lookatstereo, mainbus, malloc, maptlb, motor, mtxcatf, mtxcatl, mtxutil, normalize, pfsallocatefile, pfschecker, pfsdeletefile, pfsfilestate, pfsfreeblocks, pfsgetlabel, pfsgetstatus, pfsinit, pfsinitpak, pfsisplug, pfsnumfiles, pfsreadwritefile, pfsreformat, pfsrepairid, pfssearchfile, pfssetlabel, physicaltovirtual, pi, pigetstat, pimgr, pirawwrite, piread, piwrite, position, poslight, poslighthil, random, region, resample, reverb, rotate, rotateRPY, save, scale, sched, seq, seqpdelete, seqpgetchlvol, seqpgetfxmix, seqpgetpan, seqpgetpriority, seqpgetprogram, seqpgetseq, seqpgetstate, seqpgettempo, seqpgetvol, seqplayer, seqploop, seqpplay, seqpsendmidi, seqpsetbank, seqpsetchlvol, seqpsetfxmix, seqpsetpan, seqpsetpriority, seqpsetprogram, seqpsetseq, seqpsettempo, seqpsetvol, seqpstop, setattribute, setcause, setconfig, setcount, sethwinterrupt, settlbasid, show, sigetstat, sins, sl, sndpallocate, sndpdeallocate, sndpdelete, sndpgetsound, sndpgetstate, sndplayer, sndpplay, sndpplayat, sndpsetfxmix, sndpsetpan, sndpsetpitch, sndpsetpriority, sndpsetsound, sndpsetvol, sndpstop, sprintf, sprite, spscale, stoptimer, synaddplayer, synallocfx, synallocvoice, syncprintf, syncputchars, syndelete, synfreefx, synfreevoice, syngetfxref, syngetpriority, synremoveplayer, synsetfxmix, synsetfxparam, synsetpan, synsetpitch, synsetpriority, synsetvol, synstartvoice, synstartvoiceparam, synstopvoice, synthesizer, timerintr, translate, unmaptlb, unmaptlball, us2dex, us2dex_emu, usprite, vifade, vigetcurrframebuf, vigetfield, vigetline, vigetmode, vigetnextframebuf, vigetstat, visetxscale, visetyscale + +Symbols: +osTvType, 0x80000300, 0x4 (vi, false) +osRomBase, 0x80000308, 0x4 (pirawdma, false) +__osContGetInitData, 0x800201B8, 0x0 (contquery, false) +__osPackRequestData, 0x80020288, 0x0 (contquery, false) +osRecvMesg, 0x800205E0, 0x138 (recvmesg, true) +osSendMesg, 0x80020720, 0x14C (sendmesg, true) +osContStartQuery, 0x80020870, 0x84 (contquery, true) +osContGetQuery, 0x800208F4, 0x28 (contquery, true) +guPerspectiveF, 0x80020F40, 0x230 (perspective, true) +guPerspective, 0x80021170, 0x58 (perspective, true) +guLookAtF, 0x800211D0, 0x2B8 (lookat, true) +guLookAt, 0x80021488, 0x78 (lookat, true) +guOrthoF, 0x80021500, 0x154 (ortho, true) +guOrtho, 0x80021654, 0x68 (ortho, true) +osInvalICache, 0x800216C0, 0x74 (invalicache, true) +osInvalDCache, 0x80021740, 0xAC (invaldcache, true) +osPiStartDma, 0x800217F0, 0x10C (pidma, true) +osViBlack, 0x80021900, 0x70 (viblack, true) +osWritebackDCacheAll, 0x80021970, 0x28 (writebackdcacheall, true) +osViSwapBuffer, 0x800219A0, 0x50 (viswapbuf, true) +osViRepeatLine, 0x800219F0, 0x70 (virepeatline, true) +osViSetMode, 0x80021AC0, 0x68 (visetmode, true) +osViSetSpecialFeatures, 0x80021B30, 0x1B8 (visetspecial, true) +osCreateMesgQueue, 0x80021CF0, 0x2C (createmesgqueue, true) +osSetEventMesg, 0x80021D20, 0x68 (seteventmesg, true) +osViSetEvent, 0x80021D90, 0x6C (visetevent, true) +osSpTaskYielded, 0x80021E00, 0x80 (sptaskyielded, true) +osSpTaskYield, 0x80021E80, 0x20 (sptaskyield, true) +.text, 0x80021EA0, 0x2F0 (sptask, false) +osSpTaskLoad, 0x80021FBC, 0x190 (sptask, true) +osSpTaskStartGo, 0x8002214C, 0x40 (sptask, true) +osDpSetStatus, 0x80022190, 0xC (dpsetstat, true) +osCreateThread, 0x800221A0, 0x144 (createthread, true) +osStartThread, 0x800222F0, 0x150 (startthread, true) +osCreateViManager, 0x80022440, 0x188 (vimgr, true) +osSetThreadPri, 0x80022A80, 0xE0 (setthreadpri, true) +osGetTime, 0x80023000, 0x84 (gettime, true) +__sinf, 0x80023090, 0x1C0 (sinf, true) +sinf, 0x80023090, 0x0 (perspective, false) +__cosf, 0x80023250, 0x168 (cosf, true) +cosf, 0x80023250, 0x0 (perspective, false) +sqrtf, 0x800233C0, 0x8 (sqrtf, true) +osSetTimer, 0x800233D0, 0xD4 (settimer, true) +__ull_rshift, 0x80023C90, 0x2C (ll, true) +__ull_rem, 0x80023CBC, 0x3C (ll, true) +__ull_div, 0x80023CF8, 0x3C (ll, true) +__ll_lshift, 0x80023D34, 0x2C (ll, true) +__ll_rem, 0x80023D60, 0x3C (ll, true) +__ll_div, 0x80023D9C, 0x5C (ll, true) +__ll_mul, 0x80023DF8, 0x30 (ll, true) +__ull_divremi, 0x80023E28, 0x60 (ll, true) +__ll_mod, 0x80023E88, 0x9C (ll, true) +__ll_rshift, 0x80023F24, 0x2C (ll, true) +memcpy, 0x80023FC0, 0x2C (string, true) +strlen, 0x80023FEC, 0x28 (string, true) +strchr, 0x80024014, 0x40 (string, true) +.text, 0x80024060, 0xCC0 (xprintf, false) +_Printf, 0x800246D0, 0x648 (xprintf, true) +osSetTime, 0x80024D20, 0x24 (settime, true) +osAiSetFrequency, 0x80024D60, 0x160 (aisetfreq, true) +osEPiStartDma, 0x80024FB0, 0xD4 (epidma, true) +osAiGetLength, 0x80025090, 0xC (aigetlen, true) +osGetCount, 0x80025150, 0xC (getcount, true) +__osSiRawStartDma, 0x80025160, 0xAC (sirawdma, true) +__osSiGetAccess, 0x80025260, 0x0 (contquery, false) +__osSiRelAccess, 0x800252A4, 0x0 (contquery, false) +__osDisableInt, 0x800252D0, 0x20 (interrupt, true) +__osRestoreInt, 0x800252F0, 0x1C (interrupt, true) +__osDequeueThread, 0x80025310, 0x40 (thread, true) +__osEnqueueAndYield, 0x80025DF0, 0x0 (jammesg, false) +__osEnqueueThread, 0x80025EF0, 0x0 (leointerrupt, false) +__osPopThread, 0x80025F38, 0x0 (jammesg, false) +__osDispatchThread, 0x80025F48, 0x0 (startthread, false) +__osCleanupThread, 0x800260C4, 0x0 (createthread, false) +__osContAddressCrc, 0x80026440, 0xB0 (crc, true) +__osContDataCrc, 0x800264F0, 0xD0 (crc, true) +guMtxF2L, 0x80026CD0, 0x0 (lookat, false) +guMtxIdentF, 0x80026DD0, 0x0 (lookat, false) +osJamMesg, 0x80026F40, 0x150 (jammesg, true) +osPiGetCmdQueue, 0x80027090, 0x28 (pigetcmdq, true) +__osViInit, 0x800270C0, 0x13C (vi, true) +__osSpGetStatus, 0x80027200, 0xC (spgetstat, true) +__osSpSetStatus, 0x80027210, 0xC (spsetstat, true) +bcopy, 0x80027220, 0x0 (bcopy, true) +osVirtualToPhysical, 0x80027530, 0x7C (virtualtophysical, true) +osWritebackDCache, 0x800275B0, 0x74 (writebackdcache, true) +__osSpSetPc, 0x80027630, 0x34 (spsetpc, true) +__osSpRawStartDma, 0x80027670, 0x8C (sprawdma, true) +__osSpDeviceBusy, 0x80027700, 0x2C (sp, true) +__osTimerServicesInit, 0x80027730, 0x0 (vimgr, false) +__osTimerInterrupt, 0x800277BC, 0x0 (vimgr, false) +__osSetTimerIntr, 0x80027A00, 0x0 (settimer, false) +__osInsertTimer, 0x80027A74, 0x0 (settimer, false) +osGetThreadPri, 0x80027C00, 0x18 (getthreadpri, true) +__osViGetCurrentContext, 0x80027C20, 0x0 (vimgr, false) +__osViSwapContext, 0x80027C30, 0x35C (viswapcontext, true) +osPiRawStartDma, 0x80028150, 0xE0 (pirawdma, true) +osEPiRawStartDma, 0x80028230, 0x224 (epirawdma, true) +__osDevMgrMain, 0x80028460, 0x490 (devmgr, true) +__osSetSR, 0x80028BB0, 0x10 (setsr, true) +__osGetSR, 0x80028BC0, 0xC (getsr, true) +__osSetFpcCsr, 0x80028BD0, 0x10 (setfpccsr, true) +osMapTLBRdb, 0x80028C80, 0x58 (maptlbrdb, true) +osPiRawReadIo, 0x80028CE0, 0x54 (pirawread, true) +bzero, 0x80028D40, 0x0 (bzero, true) +_Litob, 0x80028DE0, 0x298 (xlitob, true) +.text, 0x80029080, 0xAC0 (xldtob, false) +_Ldtob, 0x800295F0, 0x54C (xldtob, true) +__osAiDeviceBusy, 0x80029B40, 0x30 (ai, true) +__osSiDeviceBusy, 0x80029B70, 0x2C (si, true) +__osLeoInterrupt, 0x8002A210, 0x6A4 (leointerrupt, true) +.text, 0x8002A70B, 0x880 (leointerrupt, false) +.text, 0x8002A7B9, 0x880 (leointerrupt, false) +osSetIntMask, 0x8002AA90, 0xA0 (setintmask, true) +__osProbeTLB, 0x8002AD40, 0xB8 (probetlb, true) +__osSetCompare, 0x8002AE00, 0xC (setcompare, true) +__osResetGlobalIntMask, 0x8002AE10, 0x58 (resetglobalintmask, true) +osEPiRawWriteIo, 0x8002AE70, 0x0 (devmgr, false) +osEPiRawReadIo, 0x8002AEC0, 0x0 (devmgr, false) +__osSetGlobalIntMask, 0x8002AF10, 0x4C (setglobalintmask, true) +osYieldThread, 0x8002AF60, 0x4C (yieldthread, true) +lldiv, 0x8002AFB0, 0x100 (ldiv, true) +ldiv, 0x8002B0B0, 0x84 (ldiv, true) +__osGetCause, 0x8002B140, 0xC (getcause, true) +osStopThread, 0x8002E280, 0xC0 (stopthread, true) +osViModeNtscLan1, 0x800C7CD0, 0x50 (vi, false) +osViModePalLan1, 0x800C7D20, 0x50 (vi, false) +osViModeMpalLan1, 0x800C7D70, 0x50 (vi, false) +__osViDevMgr, 0x800C7DC0, 0x5 (vimgr, true) +__osPiDevMgr, 0x800C7DE0, 0x1C (epidma, false) +__osCurrentHandle, 0x800C7E00, 0x0 (epirawdma, false) +osViClock, 0x800C7E18, 0x4 (aisetfreq, false) +__OSGlobalIntMask, 0x800C7E20, 0x4 (leointerrupt, false) +.data, 0x800C7E30, 0x50 (xprintf, false) +__osThreadTail, 0x800C7EA0, 0x8 (createmesgqueue, false) +__osRunQueue, 0x800C7EA8, 0x4 (leointerrupt, false) +__osActiveQueue, 0x800C7EAC, 0x4 (createthread, false) +__osRunningThread, 0x800C7EB0, 0x4 (getthreadpri, false) +.data, 0x800C7EE0, 0x70 (vi, false) +__osViCurr, 0x800C7F40, 0x4 (vi, true) +__osViNext, 0x800C7F44, 0x4 (vi, true) +__osTimerList, 0x800C7F50, 0x4 (settimer, false) +.data, 0x800C7F80, 0x30 (xlitob, false) +.rodata, 0x800E9330, 0x10 (perspective, false) +.rodata, 0x800E9340, 0x50 (sinf, false) +.rodata, 0x800E9390, 0x50 (cosf, false) +.rodata, 0x800E93E0, 0x100 (xprintf, false) +.rodata, 0x800E9550, 0x20 (devmgr, false) +__libm_qnan_f, 0x800E9570, 0x4 (cosf, false) +.rodata, 0x800E9580, 0x60 (xldtob, false) +__osRcpImTable, 0x800E95E0, 0x80 (setintmask, true) +__osContPifRam, 0x80156620, 0x40 (contquery, false) +__osContLastCmd, 0x80156660, 0x1 (contquery, false) +__osEventStateTab, 0x801568F0, 0x78 (seteventmesg, true) +.bss, 0x801569B0, 0x40 (sptask, false) +.bss, 0x801569F0, 0x1220 (vimgr, false) +__osCurrentTime, 0x80179520, 0x8 (gettime, false) +__osBaseCounter, 0x80179528, 0x4 (gettime, false) +__osViIntrCount, 0x8017952C, 0x4 (vimgr, false) +__osDiskHandle, 0x801795D4, 0x4 (leointerrupt, false) \ No newline at end of file