Bueno,aqui esta la solucion (creo):
Hay un nuevo patron a buscar ahora:
La sustitucion (usando el desensamblador) es:
daddu $s0,$a0,$0 ----> li $s1,1
En hexadecimal sería:
2d88 8000
por
0100 1024
Esta es la rutina que hace el dvdcheck
seg000:0018F7C0 sub_18F7C0: # CODE XREF: sub_167E60+70p
seg000:0018F7C0 # sub_167E60+160p
seg000:0018F7C0
seg000:0018F7C0 var_50 = -0x50
seg000:0018F7C0 var_40 = -0x40
seg000:0018F7C0 var_30 = -0x30
seg000:0018F7C0 var_20 = -0x20
seg000:0018F7C0 var_10 = -0x10
seg000:0018F7C0
seg000:0018F7C0 addiu $sp, -0x50
seg000:0018F7C4 sd $s1, 0x50+var_30($sp)
seg000:0018F7C8 sd $s0, 0x50+var_40($sp)
seg000:0018F7CC lui $s1, 0x22
seg000:0018F7D0 sd $s2, 0x50+var_20($sp)
seg000:0018F7D4 daddu $s0, $a0, $0 <---A cambiar
seg000:0018F7D8 sd $ra, 0x50+var_10($sp)
seg000:0018F7DC addiu $s2, $s1, 0xE8C0
seg000:0018F7E0 jal scmd_prechk
seg000:0018F7E4 li $a0, 0x22
seg000:0018F7E8 bnezl $v0, loc_18F7F8
seg000:0018F7EC sw $s0, dword_21E8C0
seg000:0018F7F0 b loc_18F86C
seg000:0018F7F4 daddu $v0, $0, $0
seg000:0018F7F8 # -----------------------------------------------------------------------