55 lines
1016 B
ArmAsm
55 lines
1016 B
ArmAsm
# Returns the client specific_version in eax and the address of the
|
|
# MmSetAddressProtect function pointer in ecx, which is immediately followed by
|
|
# the MmQueryAddressProtect function pointer.
|
|
|
|
start:
|
|
mov ecx, 0x61657244
|
|
|
|
# JP beta
|
|
mov eax, 0x344F4A42
|
|
mov edx, 0x00400578
|
|
cmp [0x0043D460], ecx
|
|
je done
|
|
|
|
# JP disc
|
|
mov eax, 0x344F4A44
|
|
mov edx, 0x00400918
|
|
cmp [0x0043D7D0], ecx
|
|
je done
|
|
|
|
# JP title update
|
|
mov eax, 0x344F4A55
|
|
mov edx, 0x00403E3C
|
|
cmp [0x00440FE0], ecx
|
|
je done
|
|
|
|
# US disc
|
|
mov eax, 0x344F4544
|
|
mov edx, 0x00404518
|
|
cmp [0x0044174C], ecx
|
|
je done
|
|
|
|
# US title update
|
|
mov eax, 0x344F4555
|
|
mov edx, 0x00403E3C
|
|
cmp [0x00440FEC], ecx
|
|
je done
|
|
|
|
# EU disc
|
|
mov eax, 0x344F5044
|
|
mov edx, 0x00404538
|
|
cmp [0x00441768], ecx
|
|
je done
|
|
|
|
# EU title update
|
|
mov eax, 0x344F5055
|
|
mov edx, 0x0040491C
|
|
cmp [0x00441AF8], ecx
|
|
je done
|
|
|
|
# Unknown version
|
|
mov eax, 0x344F0000
|
|
xor edx, edx
|
|
|
|
done:
|