Code:
<Patch>
patch_name = `Arabic keyboard`
patch_enable = `yes`
# Replace layout sign
replace_bytes = D6C4F8, C3 89 C3 80 C3 87, D8 B9 00 00 00 00
# Change keyboard layout
base_address = D6C418
# Top row
replace_bytes = 0000, C3 A6, D8 B0
replace_bytes = 0030, C5 93, D8 B6
# Second row
replace_bytes = 0004, C3 A0, D8 B5
replace_bytes = 0008, C3 A8, D8 AB
replace_bytes = 000C, C3 AC, D9 82
replace_bytes = 0010, C3 B2, D9 81
replace_bytes = 0014, C3 B9, D8 BA
replace_bytes = 0018, C3 A1, D8 B9
replace_bytes = 001C, C3 A9, D9 87
replace_bytes = 0020, C3 AD, D8 AE
replace_bytes = 0024, C3 B3, D8 AD
replace_bytes = 0028, C3 BA, D8 AC
replace_bytes = 002C, C3 BD, D8 AF
# Third row
replace_bytes = 0034, C3 A2, D8 B4
replace_bytes = 0038, C3 AA, D8 B3
replace_bytes = 003C, C3 AE, D9 8A
replace_bytes = 0040, C3 B4, D8 A8
replace_bytes = 0044, C3 BB, D9 84
replace_bytes = 0048, C3 A4, D8 A7
replace_bytes = 004C, C3 AB, D8 AA
replace_bytes = 0050, C3 AF, D9 86
replace_bytes = 0054, C3 B6, D9 85
replace_bytes = 0058, C3 BC, D9 83
replace_bytes = 005C, C3 BF, D8 B7
# Bottom row
replace_bytes = 0060, C3 A3, D8 A6
replace_bytes = 0064, C3 B1, D8 A1
replace_bytes = 0068, C3 B5, D8 A4
replace_bytes = 006C, C3 A5, D8 B1
replace_bytes = 0070, C3 9F, D9 89
replace_bytes = 0074, C3 A7, D8 A9
replace_bytes = 0078, C4 91, D9 88
replace_bytes = 007C, C3 B8, D8 B2
replace_bytes = 0080, C4 B3, D8 B8
replace_bytes = 0084, C5 82, 2E 00
</Patch>