Here's how I got those codes for the 'Disc Area Check' from the AnyRegion Changer v1.1b mod05 source code:
Here's the string it searches for in the source code:
const u8 disc_area_check1[] = {0x48, 0x00, 0x12, 0x8C, 0x48, 0x00, 0x1C, 0x69, 0x2C, 0x03, 0x00, 0x00, 0x40, 0x82, 0x00, 0x1C};
The Disc Area Check 2 is for Chinese/Korean Wiis.
That above translates into:
4800128C48001C692C0300004082001C
I took my PAL 3.2E System Menu DOL and searched for that string, and found it started at offset 0x000480A0.
This is the point in the source code mentioning what to do to patch the bytes:
if (!found_disc_ac && !memcmp(buf+i, disc_area_check1, sizeof disc_area_check1)){
*((u16 *)&buf[i+12]) = 0x4800;
*((u32 *)&buf[i+48]) = 0x60000000;
printf("\b ");
found_disc_ac ++;
}
It says that from the starting offset (0x000480A0) count +12 (so on the 13th hex) patch the bytes at that point to 0x4800, and count +48 (so on the 49th hex) patch the bytes to 0x60000000.
That would mean start patching at offset 0x000480AC for the first one, and 0x000480D0 for the second one.
I figure that PreLoader has all its offsets starting at 0x8132FAE0, so any codes found in a hex editor in the System Menu are just added to that offset to be the starting offset in the PreLoader hacks.ini
That means, simply add that to 480AC and 480D0 to get the offsets for the codes for use in PreLoader, and the bytes to patch as well.
For the USA System Menu DOL, the string to search for is slightly different, with the ending 8 bytes being different - basically, this PAL patch takes the USA values and puts them in their place, so I assume that the same would work for USA -> PAL..