Merge branch 'main' of https://github.com/abnormalhare/mp4-dtk
This commit is contained in:
commit
724bf93a8a
7 changed files with 290 additions and 121 deletions
|
|
@ -738,6 +738,107 @@ dolphin/demo/DEMOStats.c:
|
||||||
.sbss start:0x801D4488 end:0x801D44E8
|
.sbss start:0x801D4488 end:0x801D44E8
|
||||||
.sdata2 start:0x801D63D8 end:0x801D63E8
|
.sdata2 start:0x801D63D8 end:0x801D63E8
|
||||||
|
|
||||||
|
dolphin/pad/Padclamp.c:
|
||||||
|
.text start:0x800C3CDC end:0x800C3F14
|
||||||
|
.sdata start:0x801D3910 end:0x801D3918
|
||||||
|
|
||||||
|
dolphin/pad/Pad.c:
|
||||||
|
.text start:0x800C3F14 end:0x800C59DC
|
||||||
|
.bss start:0x801A61B0 end:0x801A6200
|
||||||
|
.sdata start:0x801D3918 end:0x801D3938
|
||||||
|
.sbss start:0x801D44E8 end:0x801D4510
|
||||||
|
|
||||||
|
dolphin/ai.c:
|
||||||
|
.text start:0x800C59DC end:0x800C62B8
|
||||||
|
.sbss start:0x801D4510 end:0x801D4550
|
||||||
|
|
||||||
|
dolphin/ar/ar.c:
|
||||||
|
.text start:0x800C62B8 end:0x800C6F68
|
||||||
|
.sbss start:0x801D4550 end:0x801D4570
|
||||||
|
|
||||||
|
dolphin/ar/arq.c:
|
||||||
|
.text start:0x800C6F68 end:0x800C72FC
|
||||||
|
.sbss start:0x801D4570 end:0x801D4598
|
||||||
|
|
||||||
|
dolphin/dsp/dsp.c:
|
||||||
|
.text start:0x800C72FC end:0x800C7508
|
||||||
|
.data start:0x8013D748 end:0x8013D780
|
||||||
|
.sbss start:0x801D4598 end:0x801D45A0
|
||||||
|
|
||||||
|
dolphin/dsp/dsp_debug.c:
|
||||||
|
.text start:0x800C7508 end:0x800C7558
|
||||||
|
|
||||||
|
dolphin/dsp/dsp_task.c:
|
||||||
|
.text start:0x800C7558 end:0x800C7DDC
|
||||||
|
.data start:0x8013D780 end:0x8013D8C0
|
||||||
|
.sbss start:0x801D45A0 end:0x801D45B8
|
||||||
|
|
||||||
|
dolphin/gx/GXInit.c:
|
||||||
|
.text start:0x800C7DDC end:0x800C8ECC
|
||||||
|
.bss start:0x801A6200 end:0x801A6778
|
||||||
|
.sdata start:0x801D3938 end:0x801D3940
|
||||||
|
.sbss start:0x801D45B8 end:0x801D45C8
|
||||||
|
.sdata2 start:0x801D63E8 end:0x801D6408
|
||||||
|
|
||||||
|
dolphin/gx/GXFifo.c:
|
||||||
|
.text start:0x800C8ECC end:0x800C96F4
|
||||||
|
.sbss start:0x801D45C8 end:0x801D45E8
|
||||||
|
|
||||||
|
dolphin/gx/GXAttr.c:
|
||||||
|
.text start:0x800C96F4 end:0x800CA51C
|
||||||
|
.data start:0x8013D8C0 end:0x8013D9E0
|
||||||
|
.sdata start:0x801D3940 end:0x801D3950
|
||||||
|
|
||||||
|
dolphin/gx/GXMisc.c:
|
||||||
|
.text start:0x800CA51C end:0x800CAC40
|
||||||
|
.sbss start:0x801D45E8 end:0x801D4600
|
||||||
|
|
||||||
|
dolphin/gx/GXGeometry.c:
|
||||||
|
.text start:0x800CAC40 end:0x800CB020
|
||||||
|
|
||||||
|
dolphin/gx/GXFrameBuf.c:
|
||||||
|
.text start:0x800CB020 end:0x800CBBD4
|
||||||
|
.data start:0x8013D9E0 end:0x8013DB10
|
||||||
|
.sdata2 start:0x801D6408 end:0x801D6410
|
||||||
|
|
||||||
|
dolphin/gx/GXLight.c:
|
||||||
|
.text start:0x800CBBD4 end:0x800CC5C0
|
||||||
|
.data start:0x8013DB10 end:0x8013DB30
|
||||||
|
.sdata2 start:0x801D6410 end:0x801D6460
|
||||||
|
|
||||||
|
dolphin/gx/GXTexture.c:
|
||||||
|
.text start:0x800CC5C0 end:0x800CD618
|
||||||
|
.data start:0x8013DB30 end:0x8013DD58
|
||||||
|
.sdata start:0x801D3950 end:0x801D3958
|
||||||
|
.sdata2 start:0x801D6460 end:0x801D6488
|
||||||
|
|
||||||
|
dolphin/gx/GXBump.c:
|
||||||
|
.text start:0x800CD618 end:0x800CDE94
|
||||||
|
.sdata2 start:0x801D6488 end:0x801D64A0
|
||||||
|
|
||||||
|
dolphin/gx/GXTev.c:
|
||||||
|
.text start:0x800CDE94 end:0x800CE8CC
|
||||||
|
.data start:0x8013DD58 end:0x8013DD80
|
||||||
|
|
||||||
|
dolphin/gx/GXPixel.c:
|
||||||
|
.text start:0x800CE8CC end:0x800CF014
|
||||||
|
.data start:0x8013DD80 end:0x8013DDA0
|
||||||
|
.sdata2 start:0x801D64A0 end:0x801D64D0
|
||||||
|
|
||||||
|
dolphin/gx/GXStubs.c:
|
||||||
|
.text start:0x800CF014 end:0x800CF018
|
||||||
|
|
||||||
|
dolphin/gx/GXDisplayList.c:
|
||||||
|
.text start:0x800CF018 end:0x800CF224
|
||||||
|
|
||||||
|
dolphin/gx/GXTransform.c:
|
||||||
|
.text start:0x800CF224 end:0x800CF9D8
|
||||||
|
.sdata2 start:0x801D64D0 end:0x801D64F8
|
||||||
|
|
||||||
|
dolphin/gx/GXPerf.c:
|
||||||
|
.text start:0x800CF9D8 end:0x800D09A4
|
||||||
|
.data start:0x8013DDA0 end:0x8013DEE8
|
||||||
|
|
||||||
Runtime.PPCEABI.H/global_destructor_chain.c:
|
Runtime.PPCEABI.H/global_destructor_chain.c:
|
||||||
.text start:0x800E2008 end:0x800E2068
|
.text start:0x800E2008 end:0x800E2068
|
||||||
.dtors start:0x8011DCE8 end:0x8011DCEC
|
.dtors start:0x8011DCE8 end:0x8011DCEC
|
||||||
|
|
|
||||||
|
|
@ -2571,9 +2571,9 @@ GXCallDisplayList = .text:0x800CF1B4; // type:function size:0x70
|
||||||
GXProject = .text:0x800CF224; // type:function size:0x174
|
GXProject = .text:0x800CF224; // type:function size:0x174
|
||||||
GXSetProjection = .text:0x800CF398; // type:function size:0xD4
|
GXSetProjection = .text:0x800CF398; // type:function size:0xD4
|
||||||
GXSetProjectionv = .text:0x800CF46C; // type:function size:0x78
|
GXSetProjectionv = .text:0x800CF46C; // type:function size:0x78
|
||||||
WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34
|
WriteMTXPS4x3 = .text:0x800CF4E4; // type:function size:0x34 scope:local
|
||||||
WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34
|
WriteMTXPS3x3from3x4 = .text:0x800CF518; // type:function size:0x34 scope:local
|
||||||
WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24
|
WriteMTXPS4x2 = .text:0x800CF54C; // type:function size:0x24 scope:local
|
||||||
GXLoadPosMtxImm = .text:0x800CF570; // type:function size:0x3C
|
GXLoadPosMtxImm = .text:0x800CF570; // type:function size:0x3C
|
||||||
GXLoadNrmMtxImm = .text:0x800CF5AC; // type:function size:0x40
|
GXLoadNrmMtxImm = .text:0x800CF5AC; // type:function size:0x40
|
||||||
GXSetCurrentMtx = .text:0x800CF5EC; // type:function size:0x3C
|
GXSetCurrentMtx = .text:0x800CF5EC; // type:function size:0x3C
|
||||||
|
|
@ -5320,13 +5320,13 @@ GXNtsc480IntDf = .data:0x8013D9E0; // type:object size:0x3C
|
||||||
GXNtsc480Prog = .data:0x8013DA1C; // type:object size:0x3C
|
GXNtsc480Prog = .data:0x8013DA1C; // type:object size:0x3C
|
||||||
GXMpal480IntDf = .data:0x8013DA58; // type:object size:0x3C
|
GXMpal480IntDf = .data:0x8013DA58; // type:object size:0x3C
|
||||||
GXPal528IntDf = .data:0x8013DA94; // type:object size:0x3C
|
GXPal528IntDf = .data:0x8013DA94; // type:object size:0x3C
|
||||||
GXEurgb60Hz480IntDf = .data:0x8013DAD0; // type:object size:0x40
|
GXEurgb60Hz480IntDf = .data:0x8013DAD0; // type:object size:0x3C
|
||||||
jumptable_8013DB10 = .data:0x8013DB10; // type:object size:0x1C scope:local
|
jumptable_8013DB10 = .data:0x8013DB10; // type:object size:0x1C scope:local
|
||||||
jumptable_8013DB30 = .data:0x8013DB30; // type:object size:0xF4 scope:local
|
jumptable_8013DB30 = .data:0x8013DB30; // type:object size:0xF4 scope:local
|
||||||
jumptable_8013DC24 = .data:0x8013DC24; // type:object size:0xF4 scope:local
|
jumptable_8013DC24 = .data:0x8013DC24; // type:object size:0xF4 scope:local
|
||||||
jumptable_8013DD18 = .data:0x8013DD18; // type:object size:0x3C scope:local
|
jumptable_8013DD18 = .data:0x8013DD18; // type:object size:0x3C scope:local
|
||||||
lbl_8013DD58 = .data:0x8013DD58; // type:object size:0x28
|
c2r$364 = .data:0x8013DD58; // type:object size:0x24 scope:local
|
||||||
lbl_8013DD80 = .data:0x8013DD80; // type:object size:0x20
|
p2f$194 = .data:0x8013DD80; // type:object size:0x20 scope:local
|
||||||
jumptable_8013DDA0 = .data:0x8013DDA0; // type:object size:0x5C scope:local
|
jumptable_8013DDA0 = .data:0x8013DDA0; // type:object size:0x5C scope:local
|
||||||
jumptable_8013DDFC = .data:0x8013DDFC; // type:object size:0x90 scope:local
|
jumptable_8013DDFC = .data:0x8013DDFC; // type:object size:0x90 scope:local
|
||||||
jumptable_8013DE8C = .data:0x8013DE8C; // type:object size:0x5C scope:local
|
jumptable_8013DE8C = .data:0x8013DE8C; // type:object size:0x5C scope:local
|
||||||
|
|
@ -5564,9 +5564,11 @@ regs = .bss:0x801A6048; // type:object size:0x78 scope:local data:2byte
|
||||||
shdwRegs = .bss:0x801A60C0; // type:object size:0x78 scope:local
|
shdwRegs = .bss:0x801A60C0; // type:object size:0x78 scope:local
|
||||||
HorVer = .bss:0x801A6138; // type:object size:0x58 scope:local data:2byte
|
HorVer = .bss:0x801A6138; // type:object size:0x58 scope:local data:2byte
|
||||||
fontTexObj = .bss:0x801A6190; // type:object size:0x20 scope:local
|
fontTexObj = .bss:0x801A6190; // type:object size:0x20 scope:local
|
||||||
lbl_801A61B0 = .bss:0x801A61B0; // type:object size:0x10
|
Type = .bss:0x801A61B0; // type:object size:0x10 scope:local
|
||||||
lbl_801A61C0 = .bss:0x801A61C0; // type:object size:0x40
|
Origin = .bss:0x801A61C0; // type:object size:0x1E scope:local
|
||||||
|
CmdProbeDevice = .bss:0x801A61F0; // type:object size:0x10 scope:local
|
||||||
gxData = .bss:0x801A6200; // type:object size:0x4F8 scope:local
|
gxData = .bss:0x801A6200; // type:object size:0x4F8 scope:local
|
||||||
|
FifoObj = .bss:0x801A66F8; // type:object size:0x80
|
||||||
lbl_801A6778 = .bss:0x801A6778; // type:object size:0x520 data:4byte
|
lbl_801A6778 = .bss:0x801A6778; // type:object size:0x520 data:4byte
|
||||||
lbl_801A6C98 = .bss:0x801A6C98; // type:object size:0x220 data:4byte
|
lbl_801A6C98 = .bss:0x801A6C98; // type:object size:0x220 data:4byte
|
||||||
lbl_801A6EB8 = .bss:0x801A6EB8; // type:object size:0x20
|
lbl_801A6EB8 = .bss:0x801A6EB8; // type:object size:0x20
|
||||||
|
|
@ -5898,19 +5900,19 @@ autoInvalidation = .sdata:0x801D38F0; // type:object size:0x4 scope:local data:4
|
||||||
@40 = .sdata:0x801D38FC; // type:object size:0x4 scope:local data:string
|
@40 = .sdata:0x801D38FC; // type:object size:0x4 scope:local data:string
|
||||||
@41 = .sdata:0x801D3900; // type:object size:0x3 scope:local data:string
|
@41 = .sdata:0x801D3900; // type:object size:0x3 scope:local data:string
|
||||||
lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 data:string
|
lbl_801D3908 = .sdata:0x801D3908; // type:object size:0x8 data:string
|
||||||
lbl_801D3910 = .sdata:0x801D3910; // type:object size:0x8 data:byte
|
ClampRegion = .sdata:0x801D3910; // type:object size:0x8 scope:local data:byte
|
||||||
lbl_801D3918 = .sdata:0x801D3918; // type:object size:0x4 data:4byte
|
ResettingChan = .sdata:0x801D3918; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D391C = .sdata:0x801D391C; // type:object size:0x4 data:4byte
|
XPatchBits = .sdata:0x801D391C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D3920 = .sdata:0x801D3920; // type:object size:0x4 data:4byte
|
AnalogMode = .sdata:0x801D3920; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D3924 = .sdata:0x801D3924; // type:object size:0x4 data:4byte
|
Spec = .sdata:0x801D3924; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D3928 = .sdata:0x801D3928; // type:object size:0x4 data:4byte
|
MakeStatus = .sdata:0x801D3928; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D392C = .sdata:0x801D392C; // type:object size:0x4
|
CmdReadOrigin = .sdata:0x801D392C; // type:object size:0x4 scope:local
|
||||||
lbl_801D3930 = .sdata:0x801D3930; // type:object size:0x8
|
CmdCalibrate = .sdata:0x801D3930; // type:object size:0x4 scope:local
|
||||||
gx = .sdata:0x801D3938; // type:object size:0x4 scope:global data:4byte
|
gx = .sdata:0x801D3938; // type:object size:0x4 scope:global data:4byte
|
||||||
lbl_801D3940 = .sdata:0x801D3940; // type:object size:0x4
|
tbl1$215 = .sdata:0x801D3940; // type:object size:0x4 scope:local
|
||||||
lbl_801D3944 = .sdata:0x801D3944; // type:object size:0x4
|
tbl2$216 = .sdata:0x801D3944; // type:object size:0x4 scope:local
|
||||||
lbl_801D3948 = .sdata:0x801D3948; // type:object size:0x8
|
tbl3$217 = .sdata:0x801D3948; // type:object size:0x4 scope:local
|
||||||
lbl_801D3950 = .sdata:0x801D3950; // type:object size:0x8
|
GX2HWFiltConv = .sdata:0x801D3950; // type:object size:0x6
|
||||||
lbl_801D3958 = .sdata:0x801D3958; // type:object size:0x8
|
lbl_801D3958 = .sdata:0x801D3958; // type:object size:0x8
|
||||||
lbl_801D3960 = .sdata:0x801D3960; // type:object size:0x8
|
lbl_801D3960 = .sdata:0x801D3960; // type:object size:0x8
|
||||||
lbl_801D3968 = .sdata:0x801D3968; // type:object size:0x8
|
lbl_801D3968 = .sdata:0x801D3968; // type:object size:0x8
|
||||||
|
|
@ -6632,71 +6634,66 @@ viReq = .sbss:0x801D44D8; // type:object size:0x4 scope:local data:4byte
|
||||||
peReq = .sbss:0x801D44DC; // type:object size:0x4 scope:local data:4byte
|
peReq = .sbss:0x801D44DC; // type:object size:0x4 scope:local data:4byte
|
||||||
rfReq = .sbss:0x801D44E0; // type:object size:0x4 scope:local data:4byte
|
rfReq = .sbss:0x801D44E0; // type:object size:0x4 scope:local data:4byte
|
||||||
fiReq = .sbss:0x801D44E4; // type:object size:0x4 scope:local data:4byte
|
fiReq = .sbss:0x801D44E4; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44E8 = .sbss:0x801D44E8; // type:object size:0x4 data:4byte
|
Initialized = .sbss:0x801D44E8; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44EC = .sbss:0x801D44EC; // type:object size:0x4 data:4byte
|
EnabledBits = .sbss:0x801D44EC; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44F0 = .sbss:0x801D44F0; // type:object size:0x4 data:4byte
|
ResettingBits = .sbss:0x801D44F0; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44F4 = .sbss:0x801D44F4; // type:object size:0x4 data:4byte
|
RecalibrateBits = .sbss:0x801D44F4; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44F8 = .sbss:0x801D44F8; // type:object size:0x4 data:4byte
|
WaitingBits = .sbss:0x801D44F8; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D44FC = .sbss:0x801D44FC; // type:object size:0x4 data:4byte
|
CheckingBits = .sbss:0x801D44FC; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4500 = .sbss:0x801D4500; // type:object size:0x4 data:4byte
|
PendingBits = .sbss:0x801D4500; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4504 = .sbss:0x801D4504; // type:object size:0x4 data:4byte
|
SamplingCallback = .sbss:0x801D4504; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4508 = .sbss:0x801D4508; // type:object size:0x4 data:4byte
|
recalibrated$397 = .sbss:0x801D4508; // type:object size:0x4 scope:local data:4byte
|
||||||
__PADSpec = .sbss:0x801D450C; // type:object size:0x4 scope:global data:4byte
|
__PADSpec = .sbss:0x801D450C; // type:object size:0x4 scope:global data:4byte
|
||||||
lbl_801D4510 = .sbss:0x801D4510; // type:object size:0x4 data:4byte
|
__AIS_Callback = .sbss:0x801D4510; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4514 = .sbss:0x801D4514; // type:object size:0x4 data:4byte
|
__AID_Callback = .sbss:0x801D4514; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4518 = .sbss:0x801D4518; // type:object size:0x4 data:4byte
|
__CallbackStack = .sbss:0x801D4518; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D451C = .sbss:0x801D451C; // type:object size:0x4 data:4byte
|
__OldStack = .sbss:0x801D451C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4520 = .sbss:0x801D4520; // type:object size:0x8 data:4byte
|
__AI_init_flag = .sbss:0x801D4520; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4528 = .sbss:0x801D4528; // type:object size:0x4 data:4byte
|
bound_32KHz = .sbss:0x801D4528; // type:object size:0x8 scope:local align:8 data:4byte
|
||||||
lbl_801D452C = .sbss:0x801D452C; // type:object size:0x4 data:4byte
|
bound_48KHz = .sbss:0x801D4530; // type:object size:0x8 scope:local align:8 data:4byte
|
||||||
lbl_801D4530 = .sbss:0x801D4530; // type:object size:0x4 data:4byte
|
min_wait = .sbss:0x801D4538; // type:object size:0x8 scope:local align:8 data:4byte
|
||||||
lbl_801D4534 = .sbss:0x801D4534; // type:object size:0x4 data:4byte
|
max_wait = .sbss:0x801D4540; // type:object size:0x8 scope:local align:8 data:4byte
|
||||||
lbl_801D4538 = .sbss:0x801D4538; // type:object size:0x4 data:4byte
|
buffer = .sbss:0x801D4548; // type:object size:0x8 scope:local align:8 data:4byte
|
||||||
lbl_801D453C = .sbss:0x801D453C; // type:object size:0x4 data:4byte
|
__AR_Callback = .sbss:0x801D4550; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4540 = .sbss:0x801D4540; // type:object size:0x4 data:4byte
|
__AR_Size = .sbss:0x801D4554; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4544 = .sbss:0x801D4544; // type:object size:0x4 data:4byte
|
__AR_InternalSize = .sbss:0x801D4558; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4548 = .sbss:0x801D4548; // type:object size:0x4 data:4byte
|
__AR_ExpansionSize = .sbss:0x801D455C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D454C = .sbss:0x801D454C; // type:object size:0x4 data:4byte
|
__AR_StackPointer = .sbss:0x801D4560; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4550 = .sbss:0x801D4550; // type:object size:0x4 data:4byte
|
__AR_FreeBlocks = .sbss:0x801D4564; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4554 = .sbss:0x801D4554; // type:object size:0x4 data:4byte
|
__AR_BlockLength = .sbss:0x801D4568; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4558 = .sbss:0x801D4558; // type:object size:0x4 data:4byte
|
__AR_init_flag = .sbss:0x801D456C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D455C = .sbss:0x801D455C; // type:object size:0x4 data:4byte
|
__ARQRequestQueueHi = .sbss:0x801D4570; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4560 = .sbss:0x801D4560; // type:object size:0x4 data:4byte
|
__ARQRequestTailHi = .sbss:0x801D4574; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4564 = .sbss:0x801D4564; // type:object size:0x4 data:4byte
|
__ARQRequestQueueLo = .sbss:0x801D4578; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4568 = .sbss:0x801D4568; // type:object size:0x4 data:4byte
|
__ARQRequestTailLo = .sbss:0x801D457C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D456C = .sbss:0x801D456C; // type:object size:0x4 data:4byte
|
__ARQRequestPendingHi = .sbss:0x801D4580; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4570 = .sbss:0x801D4570; // type:object size:0x4 data:4byte
|
__ARQRequestPendingLo = .sbss:0x801D4584; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4574 = .sbss:0x801D4574; // type:object size:0x4 data:4byte
|
__ARQCallbackHi = .sbss:0x801D4588; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4578 = .sbss:0x801D4578; // type:object size:0x4 data:4byte
|
__ARQCallbackLo = .sbss:0x801D458C; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D457C = .sbss:0x801D457C; // type:object size:0x4 data:4byte
|
__ARQChunkSize = .sbss:0x801D4590; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4580 = .sbss:0x801D4580; // type:object size:0x4 data:4byte
|
__ARQ_init_flag = .sbss:0x801D4594; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D4584 = .sbss:0x801D4584; // type:object size:0x4 data:4byte
|
__DSP_init_flag = .sbss:0x801D4598; // type:object size:0x8 scope:local data:4byte
|
||||||
lbl_801D4588 = .sbss:0x801D4588; // type:object size:0x4 data:4byte
|
__DSP_rude_task_pending = .sbss:0x801D45A0; // type:object size:0x4 data:4byte
|
||||||
lbl_801D458C = .sbss:0x801D458C; // type:object size:0x4 data:4byte
|
__DSP_rude_task = .sbss:0x801D45A4; // type:object size:0x4 data:4byte
|
||||||
lbl_801D4590 = .sbss:0x801D4590; // type:object size:0x4 data:4byte
|
__DSP_tmp_task = .sbss:0x801D45A8; // type:object size:0x4 data:4byte
|
||||||
lbl_801D4594 = .sbss:0x801D4594; // type:object size:0x4 data:4byte
|
__DSP_last_task = .sbss:0x801D45AC; // type:object size:0x4 data:4byte
|
||||||
lbl_801D4598 = .sbss:0x801D4598; // type:object size:0x8 data:4byte
|
__DSP_first_task = .sbss:0x801D45B0; // type:object size:0x4 data:4byte
|
||||||
lbl_801D45A0 = .sbss:0x801D45A0; // type:object size:0x4 data:4byte
|
__DSP_curr_task = .sbss:0x801D45B4; // type:object size:0x4 data:4byte
|
||||||
lbl_801D45A4 = .sbss:0x801D45A4; // type:object size:0x4 data:4byte
|
|
||||||
lbl_801D45A8 = .sbss:0x801D45A8; // type:object size:0x4 data:4byte
|
|
||||||
lbl_801D45AC = .sbss:0x801D45AC; // type:object size:0x4 data:4byte
|
|
||||||
lbl_801D45B0 = .sbss:0x801D45B0; // type:object size:0x4 data:4byte
|
|
||||||
lbl_801D45B4 = .sbss:0x801D45B4; // type:object size:0x4 data:4byte
|
|
||||||
__piReg = .sbss:0x801D45B8; // type:object size:0x4 scope:global data:4byte
|
__piReg = .sbss:0x801D45B8; // type:object size:0x4 scope:global data:4byte
|
||||||
__cpReg = .sbss:0x801D45BC; // type:object size:0x4 scope:global data:4byte
|
__cpReg = .sbss:0x801D45BC; // type:object size:0x4 scope:global data:4byte
|
||||||
__peReg = .sbss:0x801D45C0; // type:object size:0x4 scope:global data:4byte
|
__peReg = .sbss:0x801D45C0; // type:object size:0x4 scope:global data:4byte
|
||||||
__memReg = .sbss:0x801D45C4; // type:object size:0x4 scope:global data:4byte
|
__memReg = .sbss:0x801D45C4; // type:object size:0x4 scope:global data:4byte
|
||||||
lbl_801D45C8 = .sbss:0x801D45C8; // type:object size:0x4 data:4byte
|
CPUFifo = .sbss:0x801D45C8; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45CC = .sbss:0x801D45CC; // type:object size:0x4 data:4byte
|
GPFifo = .sbss:0x801D45CC; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45D0 = .sbss:0x801D45D0; // type:object size:0x4 data:4byte
|
__GXCurrentThread = .sbss:0x801D45D0; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45D4 = .sbss:0x801D45D4; // type:object size:0x1 data:byte
|
CPGPLinked = .sbss:0x801D45D4; // type:object size:0x1 scope:local data:byte
|
||||||
lbl_801D45D8 = .sbss:0x801D45D8; // type:object size:0x4 data:4byte
|
GXOverflowSuspendInProgress = .sbss:0x801D45D8; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45DC = .sbss:0x801D45DC; // type:object size:0x4 data:4byte
|
BreakPointCB = .sbss:0x801D45DC; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45E0 = .sbss:0x801D45E0; // type:object size:0x8 data:4byte
|
__GXOverflowCount = .sbss:0x801D45E0; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45E8 = .sbss:0x801D45E8; // type:object size:0x4 data:4byte
|
TokenCB = .sbss:0x801D45E8; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45EC = .sbss:0x801D45EC; // type:object size:0x4 data:4byte
|
DrawDoneCB = .sbss:0x801D45EC; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_801D45F0 = .sbss:0x801D45F0; // type:object size:0x1 data:byte
|
DrawDone = .sbss:0x801D45F0; // type:object size:0x1 scope:local data:byte
|
||||||
lbl_801D45F4 = .sbss:0x801D45F4; // type:object size:0xC
|
FinishQueue = .sbss:0x801D45F4; // type:object size:0x8 scope:local
|
||||||
lbl_801D4600 = .sbss:0x801D4600; // type:object size:0x8 data:4byte
|
lbl_801D4600 = .sbss:0x801D4600; // type:object size:0x8 data:4byte
|
||||||
lbl_801D4608 = .sbss:0x801D4608; // type:object size:0x4 data:4byte
|
lbl_801D4608 = .sbss:0x801D4608; // type:object size:0x4 data:4byte
|
||||||
lbl_801D460C = .sbss:0x801D460C; // type:object size:0x4 data:4byte
|
lbl_801D460C = .sbss:0x801D460C; // type:object size:0x4 data:4byte
|
||||||
|
|
|
||||||
48
configure.py
48
configure.py
|
|
@ -388,6 +388,54 @@ config.libs = [
|
||||||
Object(NonMatching, "dolphin/demo/DEMOStats.c"),
|
Object(NonMatching, "dolphin/demo/DEMOStats.c"),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
DolphinLib(
|
||||||
|
"pad",
|
||||||
|
[
|
||||||
|
Object(NonMatching, "dolphin/pad/Padclamp.c"),
|
||||||
|
Object(NonMatching, "dolphin/pad/Pad.c"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
DolphinLib(
|
||||||
|
"ai",
|
||||||
|
[
|
||||||
|
Object(NonMatching, "dolphin/ai.c"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
DolphinLib(
|
||||||
|
"ar",
|
||||||
|
[
|
||||||
|
Object(NonMatching, "dolphin/ar/ar.c"),
|
||||||
|
Object(NonMatching, "dolphin/ar/arq.c"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
DolphinLib(
|
||||||
|
"dsp",
|
||||||
|
[
|
||||||
|
Object(NonMatching, "dolphin/dsp/dsp.c"),
|
||||||
|
Object(NonMatching, "dolphin/dsp/dsp_debug.c"),
|
||||||
|
Object(NonMatching, "dolphin/dsp/dsp_task.c"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
DolphinLib(
|
||||||
|
"gx",
|
||||||
|
[
|
||||||
|
Object(NonMatching, "dolphin/gx/GXInit.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXFifo.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXAttr.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXMisc.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXGeometry.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXFrameBuf.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXLight.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXTexture.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXBump.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXTev.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXPixel.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXStubs.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXDisplayList.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXTransform.c"),
|
||||||
|
Object(NonMatching, "dolphin/gx/GXPerf.c"),
|
||||||
|
],
|
||||||
|
),
|
||||||
{
|
{
|
||||||
"lib": "Runtime.PPCEABI.H",
|
"lib": "Runtime.PPCEABI.H",
|
||||||
"mw_version": config.linker_version,
|
"mw_version": config.linker_version,
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,13 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef void (*GXDrawDoneCallback)(void);
|
typedef void (*GXDrawDoneCallback)(void);
|
||||||
|
typedef void (*GXDrawSyncCallback)(u16 token);
|
||||||
|
|
||||||
GXFifoObj* GXInit(void* base, u32 size);
|
GXFifoObj* GXInit(void* base, u32 size);
|
||||||
GXDrawDoneCallback GXSetDrawDoneCallback(GXDrawDoneCallback cb);
|
GXDrawDoneCallback GXSetDrawDoneCallback(GXDrawDoneCallback cb);
|
||||||
|
void GXSetDrawSync(u16 token);
|
||||||
|
GXDrawSyncCallback GXSetDrawSyncCallback(GXDrawSyncCallback callback);
|
||||||
|
|
||||||
void GXDrawDone(void);
|
void GXDrawDone(void);
|
||||||
void GXSetDrawDone(void);
|
void GXSetDrawDone(void);
|
||||||
void GXFlush(void);
|
void GXFlush(void);
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,31 @@
|
||||||
#define _DOLPHIN_GXPERF
|
#define _DOLPHIN_GXPERF
|
||||||
|
|
||||||
#include <dolphin/types.h>
|
#include <dolphin/types.h>
|
||||||
|
#include <dolphin/gx/GXEnum.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void GXReadXfRasMetric(u32* xf_wait_in, u32* xf_wait_out, u32* ras_busy, u32* clocks);
|
extern void GXSetGPMetric(GXPerf0 perf0, GXPerf1 perf1);
|
||||||
|
extern void GXClearGPMetric();
|
||||||
|
extern void GXReadXfRasMetric(u32* xfWaitIn, u32* xfWaitOut, u32* rasBusy, u32* clocks);
|
||||||
|
|
||||||
|
// Unused/inlined in P2.
|
||||||
|
extern void GXReadGPMetric(u32* count0, u32* count1);
|
||||||
|
extern u32 GXReadGP0Metric();
|
||||||
|
extern u32 GXReadGP1Metric();
|
||||||
|
extern void GXReadMemMetric(u32* cpReq, u32* tcReq, u32* cpuReadReq, u32* cpuWriteReq, u32* dspReq, u32* ioReq, u32* viReq, u32* peReq,
|
||||||
|
u32* rfReq, u32* fiReq);
|
||||||
|
extern void GXClearMemMetric();
|
||||||
|
extern void GXReadPixMetric(u32* topIn, u32* topOut, u32* bottomIn, u32* bottomOut, u32* clearIn, u32* copyClocks);
|
||||||
|
extern void GXClearPixMetric();
|
||||||
|
extern void GXSetVCacheMetric(GXVCachePerf attr);
|
||||||
|
extern void GXReadVCacheMetric(u32* check, u32* miss, u32* stall);
|
||||||
|
extern void GXClearVCacheMetric();
|
||||||
|
extern void GXInitXfRasMetric();
|
||||||
|
extern u32 GXReadClksPerVtx();
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,23 @@ typedef struct OSCalendarTime {
|
||||||
OSTime OSCalendarTimeToTicks(OSCalendarTime* td);
|
OSTime OSCalendarTimeToTicks(OSCalendarTime* td);
|
||||||
void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td);
|
void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td);
|
||||||
|
|
||||||
|
typedef struct OSStopwatch {
|
||||||
|
char* name;
|
||||||
|
OSTime total;
|
||||||
|
u32 hits;
|
||||||
|
OSTime min;
|
||||||
|
OSTime max;
|
||||||
|
OSTime last;
|
||||||
|
BOOL running;
|
||||||
|
} OSStopwatch;
|
||||||
|
|
||||||
|
void OSInitStopwatch(OSStopwatch* sw, char* name);
|
||||||
|
void OSStartStopwatch(OSStopwatch* sw);
|
||||||
|
void OSStopStopwatch(OSStopwatch* sw);
|
||||||
|
OSTime OSCheckStopwatch(OSStopwatch* sw);
|
||||||
|
void OSResetStopwatch(OSStopwatch* sw);
|
||||||
|
void OSDumpStopwatch(OSStopwatch* sw);
|
||||||
|
|
||||||
#define OS_CONSOLE_MASK 0xf0000000
|
#define OS_CONSOLE_MASK 0xf0000000
|
||||||
#define OS_CONSOLE_RETAIL 0x00000000
|
#define OS_CONSOLE_RETAIL 0x00000000
|
||||||
#define OS_CONSOLE_DEVELOPMENT 0x10000000
|
#define OS_CONSOLE_DEVELOPMENT 0x10000000
|
||||||
|
|
|
||||||
|
|
@ -8,54 +8,37 @@ typedef struct {
|
||||||
/* 0x04 */ char unk04[4];
|
/* 0x04 */ char unk04[4];
|
||||||
/* 0x08 */ s64 unk08;
|
/* 0x08 */ s64 unk08;
|
||||||
/* 0x10 */ s64 unk10;
|
/* 0x10 */ s64 unk10;
|
||||||
/* 0x18 */ s32 unk18;
|
/* 0x18 */ OSStopwatch unk18;
|
||||||
/* 0x1C */ char unk1C[0x34];
|
|
||||||
/* 0x50 */ s16 unk50;
|
/* 0x50 */ s16 unk50;
|
||||||
/* 0x52 */ char unk52[6];
|
/* 0x52 */ char unk52[6];
|
||||||
} UnknownPerfStruct; // Size 0x58
|
} UnknownPerfStruct; // Size 0x58
|
||||||
|
|
||||||
static void DSCallbackFunc(u16 arg0);
|
static void DSCallbackFunc(u16 arg0);
|
||||||
|
|
||||||
void OSInitStopwatch(void*, char*);
|
static OSStopwatch Ssw;
|
||||||
void OSStartStopwatch(void*);
|
|
||||||
u64 OSCheckStopwatch(void*);
|
|
||||||
void OSResetStopwatch(void*);
|
|
||||||
void OSStopStopwatch(void*);
|
|
||||||
void GXSetDrawSync(s32);
|
|
||||||
void GXSetDrawSyncCallback(void*);
|
|
||||||
void GXReadGPMetric(s32*, s32*);
|
|
||||||
void GXReadMemMetric(s32*, s32*, s32*, s32*, s32*, s32*, s32*, s32*, s32*, s32*);
|
|
||||||
void GXReadPixMetric(s32*, s32*, s32*, s32*, s32*, s32*);
|
|
||||||
void GXReadVCacheMetric(s32*, s32*, s32*);
|
|
||||||
void GXClearGPMetric(void);
|
|
||||||
void GXClearMemMetric(void);
|
|
||||||
void GXClearPixMetric(void);
|
|
||||||
void GXClearVCacheMetric(void);
|
|
||||||
|
|
||||||
static u8 Ssw[56];
|
|
||||||
static UnknownPerfStruct perf[10];
|
static UnknownPerfStruct perf[10];
|
||||||
|
|
||||||
static s32 met0;
|
static u32 met0;
|
||||||
static s32 met1;
|
static u32 met1;
|
||||||
static s32 vcheck;
|
static u32 vcheck;
|
||||||
static s32 vmiss;
|
static u32 vmiss;
|
||||||
static s32 vstall;
|
static u32 vstall;
|
||||||
static s32 cp_req;
|
static u32 cp_req;
|
||||||
static s32 tc_req;
|
static u32 tc_req;
|
||||||
static s32 cpu_rd_req;
|
static u32 cpu_rd_req;
|
||||||
static s32 cpu_wr_req;
|
static u32 cpu_wr_req;
|
||||||
static s32 dsp_req;
|
static u32 dsp_req;
|
||||||
static s32 io_req;
|
static u32 io_req;
|
||||||
static s32 vi_req;
|
static u32 vi_req;
|
||||||
static s32 pe_req;
|
static u32 pe_req;
|
||||||
static s32 rf_req;
|
static u32 rf_req;
|
||||||
static s32 fi_req;
|
static u32 fi_req;
|
||||||
static s32 top_pixels_in;
|
static u32 top_pixels_in;
|
||||||
static s32 top_pixels_out;
|
static u32 top_pixels_out;
|
||||||
static s32 bot_pixels_in;
|
static u32 bot_pixels_in;
|
||||||
static s32 bot_pixels_out;
|
static u32 bot_pixels_out;
|
||||||
static s32 clr_pixels_in;
|
static u32 clr_pixels_in;
|
||||||
static s32 total_copy_clks;
|
static u32 total_copy_clks;
|
||||||
static s16 tokenEndF;
|
static s16 tokenEndF;
|
||||||
static u8 metf;
|
static u8 metf;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue