We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
User:Kojin/PS2 Disassembly
Jump to navigation
Jump to search
| To do: Everything |
Contents
C Standard Library
string.h
memchr
| Signature |
|---|
# void *__cdecl memchr(const void *ptr, int value, unsigned int num)
memchr:
sltiu $v0, $a2, 0x10
bnez $v0, loc_2E32A8
andi $a1, 0xFF
andi $v0, $a0, 0xF
bnez $v0, loc_2E32A8
move $a3, $a0
dsll $v1, $a1, 8
li $v0, 0x1010101
dsll $v0, 16
ori $v0, 0x101
dsll $v0, 16
ori $v0, 0x101
daddu $t2, $v1, $a1
li $v1, 0x80808080
dsll $v1, 16
ori $v1, 0x8080
dsll $v1, 16
ori $v1, 0x8080
pcpyh $t0, $t2
pcpyld $t1, $t0, $t0
move $a0, $v0
pcpyld $t0, $v1, $v1
loc_2E3268: # CODE XREF: memchr+94
lq $v0, 0($a3)
pxor $v0, $t1
pcpyld $t2, $a0, $a0
pnor $v1, $zero, $v0
psubb $v0, $t2
pand $v0, $v1
pand $v0, $t0
pcpyud $v1, $v0, $t1
or $v0, $v1
bnezl $v0, loc_2E32A8
move $a0, $a3
addiu $a2, -0x10
sltiu $v0, $a2, 0x10
beqz $v0, loc_2E3268
addiu $a3, 0x10
move $a0, $a3
loc_2E32A8: # CODE XREF: memchr+4,
memchr+10
lui $v0, 0xFFFF
addiu $a2, -1
li $v0, 0xFFFFFFFF
beq $a2, $v0, locret_2E32D8
nop
li $v1, 0xFFFFFFFF
loc_2E32C4: # CODE XREF: memchr+C8
lbu $v0, 0($a0)
beq $v0, $a1, locret_2E32E0
addiu $a2, -1
bne $a2, $v1, loc_2E32C4
addiu $a0, 1
locret_2E32D8: # CODE XREF: memchr+AC
jr $ra
move $v0, $zero
# ---------------------------------------------------------------------------
locret_2E32E0: # CODE XREF: memchr+C0
jr $ra
move $v0, $a0
# End of function memchr
|
memcmp
| Signature |
|---|
# int __cdecl memcmp(const void *ptr1, const void *ptr2, unsigned int num)
memcmp:
sltiu $v0, $a2, 0x10
bnez $v0, loc_2E3334
or $v0, $a0, $a1
andi $v0, 0xF
bnez $v0, loc_2E3334
nop
loc_2E3300: # CODE XREF: memcmp+44
lq $v1, 0($a0)
sltiu $a3, $a2, 0x20
lq $v0, 0($a1)
addiu $a0, 0x10
pxor $t0, $v0, $v1
addiu $v0, $a1, 0x10
pcpyud $t2, $t0, $a3
or $t1, $t2, $t0
movz $a1, $v0, $t1
bnezl $t1, loc_2E3334
addiu $a0, -0x10
beqz $a3, loc_2E3300
addiu $a2, -0x10
loc_2E3334: # CODE XREF: memcmp+4,
memcmp+10,
memcmp+3C
lui $v0, 0xFFFF
addiu $a2, -1
li $v0, 0xFFFFFFFF
beq $a2, $v0, locret_2E3374
nop
li $a3, 0xFFFFFFFF
loc_2E3350: # CODE XREF: memcmp+84
lbu $v1, 0($a0)
lbu $v0, 0($a1)
beq $v1, $v0, loc_2E3368
addiu $a0, 1
jr $ra
subu $v0, $v1, $v0
# ---------------------------------------------------------------------------
loc_2E3368: # CODE XREF: memcmp+70
addiu $a2, -1
bne $a2, $a3, loc_2E3350
addiu $a1, 1
locret_2E3374: # CODE XREF: memcmp+58
jr $ra
move $v0, $zero
# End of function memcmp
|
memcpy
| Signature |
|---|
# void *__cdecl memcpy(void *destination, const void *source, unsigned int num)
memcpy:
move $t0, $a0
sltiu $v0, $a2, 0x20
bnez $v0, loc_2E33FC
move $v1, $t0
or $v0, $a1, $t0
andi $v0, 0xF
bnezl $v0, loc_2E3400
addiu $a2, -1
move $a3, $t0
loc_2E33A4: # CODE XREF: memcpy+48
lq $v1, 0($a1)
addiu $a2, -0x20
addiu $a1, 0x10
sltiu $a0, $a2, 0x20
sq $v1, 0($a3)
addiu $a3, 0x10
lq $v0, 0($a1)
addiu $a1, 0x10
sq $v0, 0($a3)
beqz $a0, loc_2E33A4
addiu $a3, 0x10
sltiu $v0, $a2, 8
bnez $v0, loc_2E33FC
move $v1, $a3
loc_2E33DC: # CODE XREF: memcpy+70
ld $v1, 0($a1)
addiu $a2, -8
addiu $a1, 8
sltiu $v0, $a2, 8
sd $v1, 0($a3)
beqz $v0, loc_2E33DC
addiu $a3, 8
move $v1, $a3
loc_2E33FC: # CODE XREF: memcpy+8,
memcpy+54
addiu $a2, -1
loc_2E3400: # CODE XREF: memcpy+18
dli $v0, 0xFFFFFFFFFFFFFFFF
beq $a2, $v0, return
move $a0, $v0
loc_2E340C: # CODE XREF: memcpy+A0
lbu $v0, 0($a1)
addiu $a2, -1
addiu $a1, 1
sb $v0, 0($v1)
addiu $v1, 1
bne $a2, $a0, loc_2E340C
nop
return: # CODE XREF: memcpy+84
jr $ra
move $v0, $t0
# End of function memcpy
|
memmove
| Signature |
|---|
# void *__cdecl memmove(void *destination, const void *source, unsigned int num)
memmove:
move $t0, $a0
sltu $v0, $a1, $t0
beqz $v0, loc_2E3488
move $v1, $t0
addu $a3, $a1, $a2
sltu $v0, $t0, $a3
beqz $v0, loc_2E3488
dli $v0, 0xFFFFFFFFFFFFFFFF
addu $v1, $t0, $a2
addiu $a2, -1
beq $a2, $v0, locret_2E352C
move $a1, $a3
move $a0, $v0
loc_2E3464: # CODE XREF: memmove+48
addiu $a1, -1
addiu $v1, -1
lbu $v0, 0($a1)
addiu $a2, -1
sb $v0, 0($v1)
bne $a2, $a0, loc_2E3464
nop
jr $ra
move $v0, $t0
# ---------------------------------------------------------------------------
loc_2E3488: # CODE XREF: memmove+8,
memmove+18
sltiu $v0, $a2, 0x20
bnezl $v0, loc_2E3504
addiu $a2, -1
or $v0, $a1, $v1
andi $v0, 0xF
bnezl $v0, loc_2E3504
addiu $a2, -1
move $a3, $v1
loc_2E34A8: # CODE XREF: memmove+9C
lq $v1, 0($a1)
addiu $a2, -0x20
addiu $a1, 0x10
sltiu $a0, $a2, 0x20
sq $v1, 0($a3)
addiu $a3, 0x10
lq $v0, 0($a1)
addiu $a1, 0x10
sq $v0, 0($a3)
beqz $a0, loc_2E34A8
addiu $a3, 0x10
sltiu $v0, $a2, 8
bnez $v0, loc_2E3500
move $v1, $a3
loc_2E34E0: # CODE XREF: memmove+C4
ld $v1, 0($a1)
addiu $a2, -8
addiu $a1, 8
sltiu $v0, $a2, 8
sd $v1, 0($a3)
beqz $v0, loc_2E34E0
addiu $a3, 8
move $v1, $a3
loc_2E3500: # CODE XREF: memmove+A8
addiu $a2, -1
loc_2E3504: # CODE XREF: memmove+5C,
memmove+6C
dli $v0, 0xFFFFFFFFFFFFFFFF
beq $a2, $v0, locret_2E352C
move $a0, $v0
loc_2E3510: # CODE XREF: memmove+F4
lbu $v0, 0($a1)
addiu $a2, -1
addiu $a1, 1
sb $v0, 0($v1)
addiu $v1, 1
bne $a2, $a0, loc_2E3510
nop
locret_2E352C: # CODE XREF: memmove+28,
memmove+D8
jr $ra
move $v0, $t0
# End of function memmove
|
memset
| Signature |
|---|
# void *__cdecl memset(void *ptr, int value, size_t num)
memset:
sltiu $v0, $a2, 8
bnez $v0, loc_2E35B8
move $v1, $a0
andi $v0, $a0, 0xF
bnez $v0, loc_2E35B8
move $a3, $a0
andi $t1, $a1, 0xFF
sltiu $t2, $a2, 0x20
move $t0, $t1
dsll $v1, $t0, 8
or $t0, $v1, $t1
pcpyh $v1, $t0
bnez $t2, loc_2E35A4
sltiu $v0, $a2, 8
pcpyld $t0, $v1, $v1
loc_2E3574: # CODE XREF: memset+50
sq $t0, 0($a3)
addiu $a2, -0x20
addiu $a3, 0x10
sltiu $v0, $a2, 0x20
sq $t0, 0($a3)
beqz $v0, loc_2E3574
addiu $a3, 0x10
b loc_2E35A4
sltiu $v0, $a2, 8
# ---------------------------------------------------------------------------
loc_2E3598: # CODE XREF: memset+74
addiu $a2, -8
addiu $a3, 8
sltiu $v0, $a2, 8
loc_2E35A4: # CODE XREF: memset+30,
memset+58
nop
nop
beqzl $v0, loc_2E3598
sd $v1, 0($a3)
move $v1, $a3
loc_2E35B8: # CODE XREF: memset+4,
memset+10
lui $v0, 0xFFFF
addiu $a2, -1
li $v0, 0xFFFFFFFF
beq $a2, $v0, locret_2E35F0
nop
li $v0, 0xFFFFFFFF
loc_2E35D4: # CODE XREF: memset+B0
sb $a1, 0($v1)
addiu $a2, -1
addiu $v1, 1
nop
nop
bne $a2, $v0, loc_2E35D4
nop
locret_2E35F0: # CODE XREF: memset+8C
jr $ra
move $v0, $a0
# End of function memset
|
Sony
SCE Library
sceAdrDrive
| Signature |
|---|
sceAddDrv: # addiu sp, sp, $ff70 # 00115940:27bdff70 sd s1, $0050(sp) # 00115944:ffb10050 daddu s1, a0, zero # 00115948:0080882d sd s3, $0070(sp) # 0011594c:ffb30070 sd s0, $0040(sp) # 00115950:ffb00040 addiu a0, zero, $000f # 00115954:2404000f a0=$0000000f sd ra, $0080(sp) # 00115958:ffbf0080 lui s3, $0037 # 0011595c:3c130037 s3=rbuf sd s2, $0060(sp) # 00115960:ffb20060 jal $00113f08 # 00115964:0c044fc2 £_sceFsWaitS addiu s0, s3, $1cc0 # 00115968:26701cc0 s0=_send_data lui v1, $0033 # 0011596c:3c030033 v1=$00330000 lw v0, $8d20(v1) # 00115970:8c628d20 v0=_fs_init bnel v0, zero, $00115988 # 00115974:54400004 ¥__00115988 sw s1, $000c(s0) # 00115978:ae11000c [00371ccc] jal $00114008 # 0011597c:0c045002 £sceFsInit nop # 00115980:00000000 sw s1, $000c(s0) # 00115984:ae11000c [00371ccc] __00115988: # addiu v0, zero, $0001 # 00115988:24020001 v0=$00000001 sw v0, $0014(sp) # 0011598c:afa20014 addiu a0, sp, $0010 # 00115990:27a40010 sw zero, $0018(sp) # 00115994:afa00018 jal $001100e0 # 00115998:0c044038 £CreateSema sw zero, $0024(sp) # 0011599c:afa00024 daddu s1, v0, zero # 001159a0:0040882d s1=$00000001 addiu v1, sp, $0030 # 001159a4:27a30030 lui v0, $0037 # 001159a8:3c020037 v0=rbuf sw s1, $1cc0(s3) # 001159ac:ae711cc0 _send_data addiu s2, v0, $2900 # 001159b0:24522900 s2=_rcv_data_rpc lui a0, $0037 # 001159b4:3c040037 a0=rbuf addiu v0, zero, $0004 # 001159b8:24020004 v0=$00000004 sw v1, $0004(s0) # 001159bc:ae030004 [00371cc4] sw v0, $0008(s0) # 001159c0:ae020008 [00371cc8] addiu a0, a0, $2f80 # 001159c4:24842f80 a0=_cd daddu a3, s0, zero # 001159c8:0200382d a3=_send_data addiu a1, zero, $000f # 001159cc:2405000f a1=$0000000f sw zero, $0000(sp) # 001159d0:afa00000 daddu a2, zero, zero # 001159d4:0000302d addiu t0, zero, $0010 # 001159d8:24080010 t0=$00000010 daddu t1, s2, zero # 001159dc:0240482d t1=_rcv_data_rpc addiu t2, zero, $0004 # 001159e0:240a0004 t2=$00000004 jal $00113280 # 001159e4:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 001159e8:0000582d bgez v0, $00115a0c # 001159ec:04410007 ¥__00115a0c lui v0, $2000 # 001159f0:3c022000 v0=$20000000 jal $001100f0 # 001159f4:0c04403c £DeleteSema daddu a0, s1, zero # 001159f8:0220202d a0=$00000001 jal $00113f38 # 001159fc:0c044fce £_sceFsSigSema nop # 00115a00:00000000 beq zero, zero, $00115a44 # 00115a04:1000000f ¥__00115a44 addiu v0, zero, $ffff # 00115a08:2402ffff v0=_heap_size __00115a0c: # or v0, s2, v0 # 00115a0c:02421025 v0=_heap_size jal $00113f38 # 00115a10:0c044fce £_sceFsSigSema lw s0, $0000(v0) # 00115a14:8c500000 s0=_heap_size bne s0, zero, $00115a30 # 00115a18:16000005 ¥__00115a30 nop # 00115a1c:00000000 jal $001100f0 # 00115a20:0c04403c £DeleteSema daddu a0, s1, zero # 00115a24:0220202d a0=$00000001 beq zero, zero, $00115a44 # 00115a28:10000006 ¥__00115a44 addiu v0, zero, $ffff # 00115a2c:2402ffff v0=_heap_size __00115a30: # jal $00110120 # 00115a30:0c044048 £WaitSema daddu a0, s1, zero # 00115a34:0220202d jal $001100f0 # 00115a38:0c04403c £DeleteSema daddu a0, s1, zero # 00115a3c:0220202d lw v0, $0030(sp) # 00115a40:8fa20030 __00115a44: # ld ra, $0080(sp) # 00115a44:dfbf0080 ld s3, $0070(sp) # 00115a48:dfb30070 ld s2, $0060(sp) # 00115a4c:dfb20060 ld s1, $0050(sp) # 00115a50:dfb10050 ld s0, $0040(sp) # 00115a54:dfb00040 jr ra # 00115a58:03e00008 addiu sp, sp, $0090 # 00115a5c:27bd0090 |
sceCDBreak
| Signature |
|---|
sceCdBreak: # addiu sp, sp, $ffc0 # 00120a78:27bdffc0 addiu a0, zero, $001e # 00120a7c:2404001e a0=$0000001e sd ra, $0030(sp) # 00120a80:ffbf0030 sd s1, $0020(sp) # 00120a84:ffb10020 jal $00120020 # 00120a88:0c048008 £_sceCd_scmd_prechk sd s0, $0010(sp) # 00120a8c:ffb00010 bne v0, zero, $00120aa0 # 00120a90:14400003 ¥__00120aa0 lui v0, $0033 # 00120a94:3c020033 v0=$00330000 beq zero, zero, $00120b1c # 00120a98:10000020 ¥__00120b1c daddu v0, zero, zero # 00120a9c:0000102d __00120aa0: # lui s0, $0033 # 00120aa0:3c100033 s0=$00330000 addiu s1, v0, $adc0 # 00120aa4:2451adc0 s1=$ffffadc0 addiu v1, zero, $0008 # 00120aa8:24030008 v1=$00000008 lui a0, $0033 # 00120aac:3c040033 a0=$00330000 sw v1, $9c14(s0) # 00120ab0:ae039c14 sceCdCbfunc_num addiu a0, a0, $b608 # 00120ab4:2484b608 a0=_sceCd_cd_scmd sw zero, $0000(sp) # 00120ab8:afa00000 addiu a1, zero, $0016 # 00120abc:24050016 a1=$00000016 daddu a2, zero, zero # 00120ac0:0000302d daddu a3, zero, zero # 00120ac4:0000382d daddu t0, zero, zero # 00120ac8:0000402d daddu t1, s1, zero # 00120acc:0220482d t1=$ffffadc0 addiu t2, zero, $0004 # 00120ad0:240a0004 t2=$00000004 jal $00113280 # 00120ad4:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 00120ad8:0000582d bgez v0, $00120afc # 00120adc:04410007 ¥__00120afc lui v0, $0033 # 00120ae0:3c020033 v0=$00330000 lw a0, $9bec(v0) # 00120ae4:8c449bec a0=_sceCd_scmd_semid jal $00110100 # 00120ae8:0c044040 £SignalSema nop # 00120aec:00000000 sw zero, $9c14(s0) # 00120af0:ae009c14 sceCdCbfunc_num beq zero, zero, $00120b1c # 00120af4:10000009 ¥__00120b1c daddu v0, zero, zero # 00120af8:0000102d __00120afc: # sw zero, $9c14(s0) # 00120afc:ae009c14 sceCdCbfunc_num lui v1, $0033 # 00120b00:3c030033 v1=$00330000 lui v0, $2000 # 00120b04:3c022000 v0=$20000000 or v0, s1, v0 # 00120b08:02221025 v0=$ffffadc0 lw a0, $9bec(v1) # 00120b0c:8c649bec a0=_sceCd_scmd_semid jal $00110100 # 00120b10:0c044040 £SignalSema lw s0, $0000(v0) # 00120b14:8c500000 s0=$ffffadc0 daddu v0, s0, zero # 00120b18:0200102d __00120b1c: # ld ra, $0030(sp) # 00120b1c:dfbf0030 ld s1, $0020(sp) # 00120b20:dfb10020 ld s0, $0010(sp) # 00120b24:dfb00010 jr ra # 00120b28:03e00008 addiu sp, sp, $0040 # 00120b2c:27bd0040 |
sceCdDriveCallback
| Signature |
|---|
sceCdCallback: # addiu sp, sp, $ffd0 # 0011f4a8:27bdffd0 sd s1, $0010(sp) # 0011f4ac:ffb10010 daddu s1, a0, zero # 0011f4b0:0080882d sd ra, $0020(sp) # 0011f4b4:ffbf0020 sd s0, $0000(sp) # 0011f4b8:ffb00000 jal $0011ff10 # 0011f4bc:0c047fc4 ¥sceCdSync addiu a0, zero, $0001 # 0011f4c0:24040001 a0=$00000001 bne v0, zero, $0011f4e8 # 0011f4c4:14400008 ¥__0011f4e8 daddu v0, zero, zero # 0011f4c8:0000102d jal $00118be0 # 0011f4cc:0c0462f8 £DIntr nop # 0011f4d0:00000000 lui v1, $0037 # 0011f4d4:3c030037 v1=rbuf lw s0, $48c0(v1) # 0011f4d8:8c7048c0 s0=sceCdCbfunc jal $00118c28 # 0011f4dc:0c04630a £EIntr sw s1, $48c0(v1) # 0011f4e0:ac7148c0 sceCdCbfunc daddu v0, s0, zero # 0011f4e4:0200102d __0011f4e8: # ld ra, $0020(sp) # 0011f4e8:dfbf0020 ld s1, $0010(sp) # 0011f4ec:dfb10010 ld s0, $0000(sp) # 0011f4f0:dfb00000 jr ra # 0011f4f4:03e00008 addiu sp, sp, $0030 # 0011f4f8:27bd0030 nop # 0011f4fc:00000000 |
sceCdDelayThread
| Signature |
|---|
sceCdDelayThread: # addiu sp, sp, $ffb0 # 0011f440:27bdffb0 addiu v0, zero, $0001 # 0011f444:24020001 v0=$00000001 sd s1, $0030(sp) # 0011f448:ffb10030 andi s1, a0, $ffff # 0011f44c:3091ffff sd s0, $0020(sp) # 0011f450:ffb00020 sw v0, $0004(sp) # 0011f454:afa20004 sw zero, $0008(sp) # 0011f458:afa00008 sw zero, $0014(sp) # 0011f45c:afa00014 sd ra, $0040(sp) # 0011f460:ffbf0040 jal $001100e0 # 0011f464:0c044038 £CreateSema daddu a0, sp, zero # 0011f468:03a0202d daddu s0, v0, zero # 0011f46c:0040802d s0=$00000001 lui a1, $0012 # 0011f470:3c050012 a1=$00120000 daddu a2, s0, zero # 0011f474:0200302d a2=$00000001 daddu a0, s1, zero # 0011f478:0220202d jal $0010fe60 # 0011f47c:0c043f98 £SetAlarm addiu a1, a1, $f418 # 0011f480:24a5f418 a1=gcc2_compiled. jal $00110120 # 0011f484:0c044048 £WaitSema daddu a0, s0, zero # 0011f488:0200202d a0=$00000001 jal $001100f0 # 0011f48c:0c04403c £DeleteSema daddu a0, s0, zero # 0011f490:0200202d a0=$00000001 ld ra, $0040(sp) # 0011f494:dfbf0040 ld s1, $0030(sp) # 0011f498:dfb10030 ld s0, $0020(sp) # 0011f49c:dfb00020 jr ra # 0011f4a0:03e00008 addiu sp, sp, $0050 # 0011f4a4:27bd0050 |
sceCdDiskReady
| Signature |
|---|
sceCdDiskReady: # addiu sp, sp, $ff60 # 00120470:27bdff60 sd s6, $0070(sp) # 00120474:ffb60070 lui s6, $0033 # 00120478:3c160033 s6=$00330000 sd s2, $0030(sp) # 0012047c:ffb20030 lw v0, $9bd0(s6) # 00120480:8ec29bd0 v0=SCE_CD_debug daddu s2, a0, zero # 00120484:0080902d sd ra, $0090(sp) # 00120488:ffbf0090 sd s7, $0080(sp) # 0012048c:ffb70080 sd s5, $0060(sp) # 00120490:ffb50060 sd s4, $0050(sp) # 00120494:ffb40050 sd s3, $0040(sp) # 00120498:ffb30040 sd s1, $0020(sp) # 0012049c:ffb10020 blez v0, $001204b4 # 001204a0:18400004 ¥__001204b4 sd s0, $0010(sp) # 001204a4:ffb00010 lui a0, $0036 # 001204a8:3c040036 a0=$00360000 jal $00112298 # 001204ac:0c0448a6 £scePrintf addiu a0, a0, $8d90 # 001204b0:24848d90 a0="DiskReady 0\n" __001204b4: # jal $0011f7d8 # 001204b4:0c047df6 £cmd_sem_init lui s3, $0033 # 001204b8:3c130033 s3=$00330000 lw a0, $9bec(s3) # 001204bc:8e649bec a0=_sceCd_scmd_semid jal $00110130 # 001204c0:0c04404c £PollSema nop # 001204c4:00000000 lw v1, $9bec(s3) # 001204c8:8e639bec v1=_sceCd_scmd_semid bne v1, v0, $0012063c # 001204cc:1462005b ¥__0012063c addiu v0, zero, $0006 # 001204d0:24020006 v0=$00000006 jal $0011ffb0 # 001204d4:0c047fec £sceCdSyncS addiu a0, zero, $0001 # 001204d8:24040001 a0=$00000001 bne v0, zero, $001205f4 # 001204dc:14400045 ¥__001205f4 daddu a0, zero, zero # 001204e0:0000202d jal $00112a40 # 001204e4:0c044a90 £sceSifInitRpc lui s1, $0033 # 001204e8:3c110033 s1=$00330000 lw v0, $9c04(s1) # 001204ec:8e229c04 v0=_scmd_dr_bind bgez v0, $001205a4 # 001204f0:0441002c ¥__001205a4 lui s5, $0037 # 001204f4:3c150037 s5=rbuf lui s4, $0037 # 001204f8:3c140037 s4=rbuf beq zero, zero, $0012052c # 001204fc:1000000b ¥__0012052c lui s7, $0033 # 00120500:3c170033 s7=$00330000 nop # 00120504:00000000 __00120508: # addiu v1, zero, $ffff # 00120508:2403ffff v1=_heap_size nop # 0012050c:00000000 __00120510: # addiu v0, v0, $ffff # 00120510:2442ffff v0=$fffffffe nop # 00120514:00000000 nop # 00120518:00000000 nop # 0012051c:00000000 nop # 00120520:00000000 bne v0, v1, $00120510 # 00120524:1443fffa £__00120510 nop # 00120528:00000000 __0012052c: # addiu s0, s5, $4b10 # 0012052c:26b04b10 s0=cddr __00120530: # lui a1, $8000 # 00120530:3c058000 a1=$80000000 daddu a0, s0, zero # 00120534:0200202d a0=cddr ori a1, a1, $059a # 00120538:34a5059a a1=$8000059a jal $001130b0 # 0012053c:0c044c2c £sceSifBindRpc daddu a2, zero, zero # 00120540:0000302d bgezl v0, $00120594 # 00120544:04430013 ¥__00120594 lw v0, $0024(s0) # 00120548:8e020024 v0=$00374b34 lw v0, $9bd0(s6) # 0012054c:8ec29bd0 blez v0, $00120568 # 00120550:18400005 ¥__00120568 lui v0, $0010 # 00120554:3c020010 v0=.text lui a0, $0036 # 00120558:3c040036 a0=$00360000 jal $00112298 # 0012055c:0c0448a6 £scePrintf addiu a0, a0, $8da0 # 00120560:24848da0 a0="Libcdvd bind err CdDiskReady\n" lui v0, $0010 # 00120564:3c020010 v0=.text __00120568: # addiu v1, zero, $ffff # 00120568:2403ffff v1=_heap_size nop # 0012056c:00000000 __00120570: # addiu v0, v0, $ffff # 00120570:2442ffff v0=$000fffff nop # 00120574:00000000 nop # 00120578:00000000 nop # 0012057c:00000000 nop # 00120580:00000000 bne v0, v1, $00120570 # 00120584:1443fffa £__00120570 nop # 00120588:00000000 beq zero, zero, $00120530 # 0012058c:1000ffe8 £__00120530 addiu s0, s5, $4b10 # 00120590:26b04b10 s0=cddr __00120594: # beq v0, zero, $00120508 # 00120594:1040ffdc £__00120508 lui v0, $0010 # 00120598:3c020010 v0=.text beq zero, zero, $001205ac # 0012059c:10000003 ¥__001205ac sw zero, $9c04(s1) # 001205a0:ae209c04 __001205a4: # lui s4, $0037 # 001205a4:3c140037 s4=rbuf lui s7, $0033 # 001205a8:3c170033 s7=$00330000 __001205ac: # addiu s0, s4, $4b50 # 001205ac:26904b50 s0=_dr_mode sw s2, $4b50(s4) # 001205b0:ae924b50 _dr_mode daddu a0, s0, zero # 001205b4:0200202d a0=_dr_mode jal $00112990 # 001205b8:0c044a64 £sceSifWriteBackDCache addiu a1, zero, $0004 # 001205bc:24050004 a1=$00000004 addiu s1, s7, $adc0 # 001205c0:26f1adc0 s1=_sceCd_scmdrdata addiu a0, s5, $4b10 # 001205c4:26a44b10 daddu a3, s0, zero # 001205c8:0200382d a3=_dr_mode sw zero, $0000(sp) # 001205cc:afa00000 daddu a1, zero, zero # 001205d0:0000282d daddu a2, zero, zero # 001205d4:0000302d addiu t0, zero, $0004 # 001205d8:24080004 t0=$00000004 daddu t1, s1, zero # 001205dc:0220482d t1=_sceCd_scmdrdata addiu t2, zero, $0004 # 001205e0:240a0004 t2=$00000004 jal $00113280 # 001205e4:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 001205e8:0000582d bgezl v0, $00120614 # 001205ec:04430009 ¥__00120614 lw v0, $9bd0(s6) # 001205f0:8ec29bd0 __001205f4: # lw a0, $9bec(s3) # 001205f4:8e649bec jal $00110100 # 001205f8:0c044040 £SignalSema nop # 001205fc:00000000 xori a0, s2, $0008 # 00120600:3a440008 addiu v1, zero, $ffff # 00120604:2403ffff v1=_heap_size addiu v0, zero, $0006 # 00120608:24020006 v0=$00000006 beq zero, zero, $0012063c # 0012060c:1000000b ¥__0012063c movz v0, v1, a0 # 00120610:0064100a __00120614: # blez v0, $00120624 # 00120614:18400003 ¥__00120624 lui a0, $0036 # 00120618:3c040036 a0=$00360000 jal $00112298 # 0012061c:0c0448a6 £scePrintf addiu a0, a0, $8dc0 # 00120620:24848dc0 a0="DiskReady ended\n" __00120624: # lui v0, $2000 # 00120624:3c022000 v0=$20000000 lw a0, $9bec(s3) # 00120628:8e649bec or v0, s1, v0 # 0012062c:02221025 v0=$2032adc0 jal $00110100 # 00120630:0c044040 £SignalSema lw s0, $0000(v0) # 00120634:8c500000 s0=$2032adc0 daddu v0, s0, zero # 00120638:0200102d __0012063c: # ld ra, $0090(sp) # 0012063c:dfbf0090 ld s7, $0080(sp) # 00120640:dfb70080 ld s6, $0070(sp) # 00120644:dfb60070 ld s5, $0060(sp) # 00120648:dfb50060 ld s4, $0050(sp) # 0012064c:dfb40050 ld s3, $0040(sp) # 00120650:dfb30040 ld s2, $0030(sp) # 00120654:dfb20030 ld s1, $0020(sp) # 00120658:dfb10020 ld s0, $0010(sp) # 0012065c:dfb00010 jr ra # 00120660:03e00008 addiu sp, sp, $00a0 # 00120664:27bd00a0 |
sceCdGetError
| Signature |
|---|
sceCdGetError: # addiu sp, sp, $ffd0 # 001209e0:27bdffd0 addiu a0, zero, $0003 # 001209e4:24040003 a0=$00000003 sd ra, $0020(sp) # 001209e8:ffbf0020 jal $00120020 # 001209ec:0c048008 £_sceCd_scmd_prechk sd s0, $0010(sp) # 001209f0:ffb00010 bne v0, zero, $00120a04 # 001209f4:14400003 ¥__00120a04 lui v0, $0033 # 001209f8:3c020033 v0=$00330000 beq zero, zero, $00120a68 # 001209fc:1000001a ¥__00120a68 addiu v0, zero, $ffff # 00120a00:2402ffff v0=_heap_size __00120a04: # lui a0, $0033 # 00120a04:3c040033 a0=$00330000 addiu s0, v0, $adc0 # 00120a08:2450adc0 s0=$ffffadbf addiu a0, a0, $b608 # 00120a0c:2484b608 a0=_sceCd_cd_scmd sw zero, $0000(sp) # 00120a10:afa00000 addiu a1, zero, $0004 # 00120a14:24050004 a1=$00000004 daddu a2, zero, zero # 00120a18:0000302d daddu a3, zero, zero # 00120a1c:0000382d daddu t0, zero, zero # 00120a20:0000402d daddu t1, s0, zero # 00120a24:0200482d t1=$ffffadbf addiu t2, zero, $0004 # 00120a28:240a0004 t2=$00000004 jal $00113280 # 00120a2c:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 00120a30:0000582d bgez v0, $00120a50 # 00120a34:04410006 ¥__00120a50 lui v1, $0033 # 00120a38:3c030033 v1=$00330000 lui v0, $0033 # 00120a3c:3c020033 v0=$00330000 jal $00110100 # 00120a40:0c044040 £SignalSema lw a0, $9bec(v0) # 00120a44:8c449bec a0=_sceCd_scmd_semid beq zero, zero, $00120a68 # 00120a48:10000007 ¥__00120a68 addiu v0, zero, $ffff # 00120a4c:2402ffff v0=_heap_size __00120a50: # lui v0, $2000 # 00120a50:3c022000 v0=$20000000 or v0, s0, v0 # 00120a54:02021025 v0=$ffffadbf lw a0, $9bec(v1) # 00120a58:8c649bec a0=_sceCd_scmd_semid jal $00110100 # 00120a5c:0c044040 £SignalSema lw s0, $0000(v0) # 00120a60:8c500000 s0=$ffffadbf daddu v0, s0, zero # 00120a64:0200102d __00120a68: # ld ra, $0020(sp) # 00120a68:dfbf0020 ld s0, $0010(sp) # 00120a6c:dfb00010 jr ra # 00120a70:03e00008 addiu sp, sp, $0030 # 00120a74:27bd0030 |
sceCdInit
| Signature |
|---|
sceCdInit: # addiu sp, sp, $ff50 # 00120190:27bdff50 sd s3, $0040(sp) # 00120194:ffb30040 daddu s3, a0, zero # 00120198:0080982d sd ra, $00a0(sp) # 0012019c:ffbf00a0 sd fp, $0090(sp) # 001201a0:ffbe0090 addiu a0, zero, $0001 # 001201a4:24040001 a0=$00000001 sd s7, $0080(sp) # 001201a8:ffb70080 sd s6, $0070(sp) # 001201ac:ffb60070 sd s5, $0060(sp) # 001201b0:ffb50060 sd s4, $0050(sp) # 001201b4:ffb40050 sd s2, $0030(sp) # 001201b8:ffb20030 sd s1, $0020(sp) # 001201bc:ffb10020 jal $0011ffb0 # 001201c0:0c047fec £sceCdSyncS sd s0, $0010(sp) # 001201c4:ffb00010 bne v0, zero, $00120440 # 001201c8:1440009d ¥__00120440 daddu v0, zero, zero # 001201cc:0000102d daddu a0, zero, zero # 001201d0:0000202d jal $00112a40 # 001201d4:0c044a90 £sceSifInitRpc lui s5, $0033 # 001201d8:3c150033 s5=$00330000 jal $0010ffd0 # 001201dc:0c043ff4 £GetThreadId lui s4, $0033 # 001201e0:3c140033 s4=$00330000 lui s0, $0037 # 001201e4:3c100037 s0=rbuf lw a1, $9c10(s5) # 001201e8:8ea59c10 a1=c_cnt.57 addiu v1, zero, $0001 # 001201ec:24030001 v1=$00000001 lui a0, $0033 # 001201f0:3c040033 a0=$00330000 lui a2, $0037 # 001201f4:3c060037 a2=rbuf sw v1, $9be4(a0) # 001201f8:ac839be4 Init_seq addiu a1, a1, $0001 # 001201fc:24a50001 addiu a0, zero, $ffff # 00120200:2404ffff a0=_heap_size lui a3, $0033 # 00120204:3c070033 a3=$00330000 lui t0, $0033 # 00120208:3c080033 t0=$00330000 lui t1, $0033 # 0012020c:3c090033 t1=$00330000 lui t3, $0033 # 00120210:3c0b0033 t3=$00330000 lui v1, $0033 # 00120214:3c030033 v1=$00330000 lui t2, $0033 # 00120218:3c0a0033 t2=$00330000 sw v0, $48d0(a2) # 0012021c:acc248d0 my_thid lui v0, $0037 # 00120220:3c020037 v0=rbuf sw a0, $9bfc(v1) # 00120224:ac649bfc _icmd_bind sw a0, $9c00(a3) # 00120228:ace49c00 _sf_bind addiu s1, v0, $4ae8 # 0012022c:24514ae8 s1=cdit sw a0, $9bf8(t0) # 00120230:ad049bf8 _ncmd_bind addiu s2, s0, $4b40 # 00120234:26124b40 s2=_i_mode sw a0, $9c08(t1) # 00120238:ad249c08 _scmd_bind lui fp, $0033 # 0012023c:3c1e0033 fp=$00330000 sw a0, $9c04(t3) # 00120240:ad649c04 _scmd_dr_bind lui s7, $0033 # 00120244:3c170033 s7=$00330000 sw zero, $9bf4(t2) # 00120248:ad409bf4 _sceCd_ee_read_mode lui s6, $0036 # 0012024c:3c160036 s6=$00360000 sw a1, $9c10(s5) # 00120250:aea59c10 c_cnt.57 sw a0, $9c0c(s4) # 00120254:ae849c0c _it_bind __00120258: # lui a1, $8000 # 00120258:3c058000 a1=$80000000 daddu a0, s1, zero # 0012025c:0220202d a0=cdit ori a1, a1, $0592 # 00120260:34a50592 a1=$80000592 jal $001130b0 # 00120264:0c044c2c £sceSifBindRpc daddu a2, zero, zero # 00120268:0000302d daddu a1, v0, zero # 0012026c:0040282d a1=rbuf bgezl a1, $001202bc # 00120270:04a30012 ¥__001202bc lw v0, $0024(s1) # 00120274:8e220024 v0=$00374b0c lw v0, $9bd0(s7) # 00120278:8ee29bd0 v0=SCE_CD_debug blez v0, $0012028c # 0012027c:18400003 ¥__0012028c lw a2, $9c10(s5) # 00120280:8ea69c10 jal $00112298 # 00120284:0c0448a6 £scePrintf addiu a0, s6, $8d60 # 00120288:26c48d60 a0="Libcdvd bind err %d CD_Init %d\n" __0012028c: # lui v0, $0010 # 0012028c:3c020010 v0=.text addiu v1, zero, $ffff # 00120290:2403ffff v1=_heap_size nop # 00120294:00000000 __00120298: # addiu v0, v0, $ffff # 00120298:2442ffff v0=$000fffff nop # 0012029c:00000000 nop # 001202a0:00000000 nop # 001202a4:00000000 nop # 001202a8:00000000 bne v0, v1, $00120298 # 001202ac:1443fffa £__00120298 nop # 001202b0:00000000 beq zero, zero, $00120258 # 001202b4:1000ffe8 £__00120258 nop # 001202b8:00000000 __001202bc: # beq v0, zero, $00120314 # 001202bc:10400015 ¥__00120314 daddu a0, s2, zero # 001202c0:0240202d sw s3, $4b40(s0) # 001202c4:ae134b40 sw zero, $9c0c(s4) # 001202c8:ae809c0c jal $00112990 # 001202cc:0c044a64 £sceSifWriteBackDCache addiu a1, zero, $0004 # 001202d0:24050004 a1=$00000004 addiu s0, fp, $adc0 # 001202d4:27d0adc0 s0=_sceCd_scmdrdata daddu a0, s1, zero # 001202d8:0220202d daddu a3, s2, zero # 001202dc:0240382d sw zero, $0000(sp) # 001202e0:afa00000 daddu a1, zero, zero # 001202e4:0000282d daddu a2, zero, zero # 001202e8:0000302d addiu t0, zero, $0004 # 001202ec:24080004 t0=$00000004 daddu t1, s0, zero # 001202f0:0200482d t1=_sceCd_scmdrdata addiu t2, zero, $0010 # 001202f4:240a0010 t2=$00000010 jal $00113280 # 001202f8:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 001202fc:0000582d bgez v0, $00120344 # 00120300:04410010 ¥__00120344 lui v0, $0033 # 00120304:3c020033 v0=$00330000 sw zero, $9be4(v0) # 00120308:ac409be4 Init_seq beq zero, zero, $00120440 # 0012030c:1000004c ¥__00120440 daddu v0, zero, zero # 00120310:0000102d __00120314: # lui v0, $0010 # 00120314:3c020010 v0=.text addiu v1, zero, $ffff # 00120318:2403ffff v1=_heap_size nop # 0012031c:00000000 __00120320: # addiu v0, v0, $ffff # 00120320:2442ffff v0=$000fffff nop # 00120324:00000000 nop # 00120328:00000000 nop # 0012032c:00000000 nop # 00120330:00000000 bne v0, v1, $00120320 # 00120334:1443fffa £__00120320 nop # 00120338:00000000 beq zero, zero, $00120258 # 0012033c:1000ffc6 £__00120258 nop # 00120340:00000000 __00120344: # lui a1, $2000 # 00120344:3c052000 a1=$20000000 addiu v0, s0, $000c # 00120348:2602000c v0=$0032adcc or v0, v0, a1 # 0012034c:00451025 v0=$2032adcc addiu v1, s0, $0004 # 00120350:26030004 v1=$0032adc4 addiu a0, s0, $0008 # 00120354:26040008 a0=$0032adc8 lw a2, $0000(v0) # 00120358:8c460000 a2=$2032adcc or a0, a0, a1 # 0012035c:00852025 a0=$2032adc8 or v1, v1, a1 # 00120360:00651825 v1=$2032adc4 lw a1, $0000(v1) # 00120364:8c650000 a1=$2032adc4 addiu s0, zero, $0001 # 00120368:24100001 s0=$00000001 addiu v0, zero, $00ff # 0012036c:240200ff v0=$000000ff beq a2, v0, $001203cc # 00120370:10c20016 ¥__001203cc lw a0, $0000(a0) # 00120374:8c840000 a0=$2032adc8 addiu v0, zero, $00fe # 00120378:240200fe v0=$000000fe bne a2, v0, $00120390 # 0012037c:14c20004 ¥__00120390 addiu a2, zero, $ffff # 00120380:2406ffff a2=_heap_size lui v0, $0033 # 00120384:3c020033 v0=$00330000 beq zero, zero, $001203cc # 00120388:10000010 ¥__001203cc sw s0, $9bd0(v0) # 0012038c:ac509bd0 SCE_CD_debug __00120390: # addiu v0, a1, $00ff # 00120390:24a200ff slt v1, a2, a1 # 00120394:00c5182a movn v0, a1, v1 # 00120398:00a3100b sra v0, v0, 8 # 0012039c:00021203 slti v0, v0, $0002 # 001203a0:28420002 bnel v0, zero, $001203cc # 001203a4:54400009 ¥__001203cc addiu s0, zero, $0002 # 001203a8:24100002 s0=$00000002 slt v1, a2, a0 # 001203ac:00c4182a addiu v0, a0, $00ff # 001203b0:248200ff movn v0, a0, v1 # 001203b4:0083100b sra v0, v0, 8 # 001203b8:00021203 slti v0, v0, $0002 # 001203bc:28420002 beq v0, zero, $001203d0 # 001203c0:10400003 ¥__001203d0 lui a0, $0033 # 001203c4:3c040033 a0=$00330000 addiu s0, zero, $0002 # 001203c8:24100002 s0=$00000002 __001203cc: # lui a0, $0033 # 001203cc:3c040033 a0=$00330000 __001203d0: # sw zero, $9be4(a0) # 001203d0:ac809be4 Init_seq bltz s3, $0012042c # 001203d4:06600015 ¥__0012042c slti v0, s3, $0002 # 001203d8:2a620002 bne v0, zero, $0012042c # 001203dc:14400013 ¥__0012042c addiu v0, zero, $0005 # 001203e0:24020005 v0=$00000005 bne s3, v0, $0012042c # 001203e4:16620011 ¥__0012042c lui v0, $0033 # 001203e8:3c020033 v0=$00330000 lw v1, $9bd0(v0) # 001203ec:8c439bd0 v1=SCE_CD_debug blez v1, $00120400 # 001203f0:18600003 ¥__00120400 lui a0, $0036 # 001203f4:3c040036 a0=$00360000 jal $00112298 # 001203f8:0c0448a6 £scePrintf addiu a0, a0, $8d80 # 001203fc:24848d80 a0="Libcdvd Exit\n" __00120400: # jal $0011f870 # 00120400:0c047e1c £cdvd_exit nop # 00120404:00000000 addiu a0, zero, $ffff # 00120408:2404ffff a0=_heap_size lui v0, $0033 # 0012040c:3c020033 v0=$00330000 sw a0, $9be8(v0) # 00120410:ac449be8 _sceCd_ncmd_semid lui v1, $0033 # 00120414:3c030033 v1=$00330000 sw a0, $9bec(v1) # 00120418:ac649bec _sceCd_scmd_semid lui v0, $0033 # 0012041c:3c020033 v0=$00330000 sw a0, $9be0(v0) # 00120420:ac449be0 cb_semid beq zero, zero, $00120440 # 00120424:10000006 ¥__00120440 daddu v0, s0, zero # 00120428:0200102d v0=$00000002 __0012042c: # jal $0011f7d8 # 0012042c:0c047df6 £cmd_sem_init nop # 00120430:00000000 jal $0011f9a0 # 00120434:0c047e68 £PowerOffCB nop # 00120438:00000000 daddu v0, s0, zero # 0012043c:0200102d v0=$00000002 __00120440: # ld ra, $00a0(sp) # 00120440:dfbf00a0 ld fp, $0090(sp) # 00120444:dfbe0090 ld s7, $0080(sp) # 00120448:dfb70080 ld s6, $0070(sp) # 0012044c:dfb60070 ld s5, $0060(sp) # 00120450:dfb50060 ld s4, $0050(sp) # 00120454:dfb40050 ld s3, $0040(sp) # 00120458:dfb30040 ld s2, $0030(sp) # 0012045c:dfb20030 ld s1, $0020(sp) # 00120460:dfb10020 ld s0, $0010(sp) # 00120464:dfb00010 jr ra # 00120468:03e00008 addiu sp, sp, $00b0 # 0012046c:27bd00b0 |
sceCdInitEeCB
| Signature |
|---|
sceCdInitEeCB: # addiu sp, sp, $ffa0 # 0011f660:27bdffa0 sd s4, $0040(sp) # 0011f664:ffb40040 sd s1, $0010(sp) # 0011f668:ffb10010 lui s4, $0033 # 0011f66c:3c140033 s4=$00330000 daddu s1, a0, zero # 0011f670:0080882d sd s3, $0030(sp) # 0011f674:ffb30030 sd s2, $0020(sp) # 0011f678:ffb20020 addiu s3, zero, $0001 # 0011f67c:24130001 s3=$00000001 sd s0, $0000(sp) # 0011f680:ffb00000 daddu s2, a1, zero # 0011f684:00a0902d lw a0, $9bd4(s4) # 0011f688:8e849bd4 a0=cb_thid daddu s0, a2, zero # 0011f68c:00c0802d bne a0, zero, $0011f704 # 0011f690:1480001c ¥__0011f704 sd ra, $0050(sp) # 0011f694:ffbf0050 jal $0010ffd0 # 0011f698:0c043ff4 £GetThreadId nop # 0011f69c:00000000 lui v1, $0037 # 0011f6a0:3c030037 v1=rbuf lui a1, $0037 # 0011f6a4:3c050037 a1=rbuf sw v0, $48d0(v1) # 0011f6a8:ac6248d0 my_thid daddu a0, v0, zero # 0011f6ac:0040202d jal $0010ffe0 # 0011f6b0:0c043ff8 £ReferThreadStatus addiu a1, a1, $48d8 # 0011f6b4:24a548d8 a1=my_th_info lui v1, $0037 # 0011f6b8:3c030037 v1=rbuf lui v0, $0037 # 0011f6bc:3c020037 v0=rbuf lui a1, $0012 # 0011f6c0:3c050012 a1=$00120000 addiu v1, v1, $4908 # 0011f6c4:24634908 v1=cb_tp addiu v0, v0, $4c70 # 0011f6c8:24424c70 v0=_gp addiu a1, a1, $f5a0 # 0011f6cc:24a5f5a0 a1=_Cdvd_cbLoop sw s0, $000c(v1) # 0011f6d0:ac70000c [00374914] daddu a0, v1, zero # 0011f6d4:0060202d a0=cb_tp sw v0, $0010(v1) # 0011f6d8:ac620010 [00374918] sw a1, $0004(v1) # 0011f6dc:ac650004 [0037490c] sw s2, $0008(v1) # 0011f6e0:ac720008 [00374910] jal $0010fee0 # 0011f6e4:0c043fb8 £CreateThread sw s1, $0014(v1) # 0011f6e8:ac710014 [0037491c] daddu a1, zero, zero # 0011f6ec:0000282d sw v0, $9bd4(s4) # 0011f6f0:ae829bd4 cb_thid jal $0010ff00 # 0011f6f4:0c043fc0 £StartThread daddu a0, v0, zero # 0011f6f8:0040202d a0=_gp beq zero, zero, $0011f714 # 0011f6fc:10000005 ¥__0011f714 daddu v0, s3, zero # 0011f700:0260102d v0=$00000001 __0011f704: # daddu a1, s1, zero # 0011f704:0220282d jal $0010ff70 # 0011f708:0c043fdc £ChangeThreadPriority daddu s3, zero, zero # 0011f70c:0000982d daddu v0, s3, zero # 0011f710:0260102d __0011f714: # ld ra, $0050(sp) # 0011f714:dfbf0050 ld s4, $0040(sp) # 0011f718:dfb40040 ld s3, $0030(sp) # 0011f71c:dfb30030 ld s2, $0020(sp) # 0011f720:dfb20020 ld s1, $0010(sp) # 0011f724:dfb10010 ld s0, $0000(sp) # 0011f728:dfb00000 jr ra # 0011f72c:03e00008 addiu sp, sp, $0060 # 0011f730:27bd0060 nop # 0011f734:00000000 |
sceCdMmode
| Signature |
|---|
sceCdMmode: # addiu sp, sp, $ffb0 # 00120668:27bdffb0 sd s1, $0020(sp) # 0012066c:ffb10020 sd s0, $0010(sp) # 00120670:ffb00010 lui s1, $0033 # 00120674:3c110033 s1=$00330000 sd s2, $0030(sp) # 00120678:ffb20030 daddu s0, a0, zero # 0012067c:0080802d sd ra, $0040(sp) # 00120680:ffbf0040 addiu s2, s1, $b200 # 00120684:2632b200 s2=_sceCd_scmdsdata jal $00120020 # 00120688:0c048008 £_sceCd_scmd_prechk addiu a0, zero, $0022 # 0012068c:24040022 a0=$00000022 bnel v0, zero, $001206a0 # 00120690:54400003 ¥__001206a0 sw s0, $b200(s1) # 00120694:ae30b200 _sceCd_scmdsdata beq zero, zero, $00120714 # 00120698:1000001e ¥__00120714 daddu v0, zero, zero # 0012069c:0000102d __001206a0: # daddu a0, s2, zero # 001206a0:0240202d a0=_sceCd_scmdsdata jal $00112990 # 001206a4:0c044a64 £sceSifWriteBackDCache addiu a1, zero, $0004 # 001206a8:24050004 a1=$00000004 lui v0, $0033 # 001206ac:3c020033 v0=$00330000 lui a0, $0033 # 001206b0:3c040033 a0=$00330000 addiu s0, v0, $adc0 # 001206b4:2450adc0 s0=_sceCd_scmdrdata addiu a0, a0, $b608 # 001206b8:2484b608 a0=_sceCd_cd_scmd daddu a3, s2, zero # 001206bc:0240382d a3=_sceCd_scmdsdata sw zero, $0000(sp) # 001206c0:afa00000 addiu a1, zero, $0022 # 001206c4:24050022 a1=$00000022 daddu a2, zero, zero # 001206c8:0000302d addiu t0, zero, $0004 # 001206cc:24080004 t0=$00000004 daddu t1, s0, zero # 001206d0:0200482d t1=_sceCd_scmdrdata addiu t2, zero, $0004 # 001206d4:240a0004 t2=$00000004 jal $00113280 # 001206d8:0c044ca0 £sceSifCallRpc daddu t3, zero, zero # 001206dc:0000582d bgez v0, $001206fc # 001206e0:04410006 ¥__001206fc lui v1, $0033 # 001206e4:3c030033 v1=$00330000 lui v0, $0033 # 001206e8:3c020033 v0=$00330000 jal $00110100 # 001206ec:0c044040 £SignalSema lw a0, $9bec(v0) # 001206f0:8c449bec a0=_sceCd_scmd_semid beq zero, zero, $00120714 # 001206f4:10000007 ¥__00120714 daddu v0, zero, zero # 001206f8:0000102d __001206fc: # lui v0, $2000 # 001206fc:3c022000 v0=$20000000 or v0, s0, v0 # 00120700:02021025 v0=$2032adc0 lw a0, $9bec(v1) # 00120704:8c649bec a0=_sceCd_scmd_semid jal $00110100 # 00120708:0c044040 £SignalSema lw s0, $0000(v0) # 0012070c:8c500000 s0=$2032adc0 daddu v0, s0, zero # 00120710:0200102d __00120714: # ld ra, $0040(sp) # 00120714:dfbf0040 ld s2, $0030(sp) # 00120718:dfb20030 ld s1, $0020(sp) # 0012071c:dfb10020 ld s0, $0010(sp) # 00120720:dfb00010 jr ra # 00120724:03e00008 addiu sp, sp, $0050 # 00120728:27bd0050 nop # 0012072c:00000000 |