[Galaxy S III Android Development] RoadXY:
Found the complete macloader.cpp for samsung hardware on the Cyanogenmod GitHub.

They are all the same.

Weird that it works for CM11 but not for CM12?!:confused:

For CM10.2 (found here)

For CM11.0 (found here)

For CM12.0 (found here)

CM10.2

/* murata
ref: [url]http://hwaddress.com/?q=ACT[/url] */
if (strncasecmp(mac_addr_half, "00:0e:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:13:e0", 9) == 0 ||
strncasecmp(mac_addr_half, "00:21:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:26:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:37:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:60:57", 9) == 0 ||
strncasecmp(mac_addr_half, "04:46:65", 9) == 0 ||
strncasecmp(mac_addr_half, "10:5f:06", 9) == 0 ||
strncasecmp(mac_addr_half, "10:a5:D0", 9) == 0 ||
strncasecmp(mac_addr_half, "1c:99:4c", 9) == 0 ||
strncasecmp(mac_addr_half, "14:7d:c5", 9) == 0 ||
strncasecmp(mac_addr_half, "20:02:af", 9) == 0 ||
strncasecmp(mac_addr_half, "40:f3:08", 9) == 0 ||
strncasecmp(mac_addr_half, "44:a7:cf", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:da:d4", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:f8:a1", 9) == 0 ||
strncasecmp(mac_addr_half, "78:4B:87", 9) == 0 ||
strncasecmp(mac_addr_half, "60:21:c0", 9) == 0 ||
strncasecmp(mac_addr_half, "88:30:8a", 9) == 0 ||
strncasecmp(mac_addr_half, "f0:27:65", 9) == 0) {
type = MURATA;
}

/* semcosh */
if (strncasecmp(mac_addr_half, "5c:0a:5b", 9) == 0 ||
strncasecmp(mac_addr_half, "cc:3a:61", 9) == 0) {
type = SEMCOSH;
}

CM11

/* murata
ref: [url]http://hwaddress.com/?q=ACT[/url] */
if (strncasecmp(mac_addr_half, "00:0e:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:13:e0", 9) == 0 ||
strncasecmp(mac_addr_half, "00:21:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:26:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:37:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:60:57", 9) == 0 ||
strncasecmp(mac_addr_half, "04:46:65", 9) == 0 ||
strncasecmp(mac_addr_half, "10:5f:06", 9) == 0 ||
strncasecmp(mac_addr_half, "10:a5:d0", 9) == 0 ||
strncasecmp(mac_addr_half, "1c:99:4c", 9) == 0 ||
strncasecmp(mac_addr_half, "14:7d:c5", 9) == 0 ||
strncasecmp(mac_addr_half, "20:02:af", 9) == 0 ||
strncasecmp(mac_addr_half, "40:f3:08", 9) == 0 ||
strncasecmp(mac_addr_half, "44:a7:cf", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:da:d4", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:f8:a1", 9) == 0 ||
strncasecmp(mac_addr_half, "78:4b:87", 9) == 0 ||
strncasecmp(mac_addr_half, "60:21:c0", 9) == 0 ||
strncasecmp(mac_addr_half, "88:30:8a", 9) == 0 ||
strncasecmp(mac_addr_half, "f0:27:65", 9) == 0) {
type = MURATA;
}

/* semcosh */
if (strncasecmp(mac_addr_half, "5c:0a:5b", 9) == 0 ||
strncasecmp(mac_addr_half, "cc:3a:61", 9) == 0) {
type = SEMCOSH;
}

CM12

/* murata
ref: http://hwaddress.com/?q=ACT */
if (strncasecmp(mac_addr_half, "00:0e:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:13:e0", 9) == 0 ||
strncasecmp(mac_addr_half, "00:21:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:26:e8", 9) == 0 ||
strncasecmp(mac_addr_half, "00:37:6d", 9) == 0 ||
strncasecmp(mac_addr_half, "00:60:57", 9) == 0 ||
strncasecmp(mac_addr_half, "04:46:65", 9) == 0 ||
strncasecmp(mac_addr_half, "10:5f:06", 9) == 0 ||
strncasecmp(mac_addr_half, "10:a5:d0", 9) == 0 ||
strncasecmp(mac_addr_half, "1c:99:4c", 9) == 0 ||
strncasecmp(mac_addr_half, "14:7d:c5", 9) == 0 ||
strncasecmp(mac_addr_half, "20:02:af", 9) == 0 ||
strncasecmp(mac_addr_half, "40:f3:08", 9) == 0 ||
strncasecmp(mac_addr_half, "44:a7:cf", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:da:d4", 9) == 0 ||
strncasecmp(mac_addr_half, "5c:f8:a1", 9) == 0 ||
strncasecmp(mac_addr_half, "78:4b:87", 9) == 0 ||
strncasecmp(mac_addr_half, "60:21:c0", 9) == 0 ||
strncasecmp(mac_addr_half, "88:30:8a", 9) == 0 ||
strncasecmp(mac_addr_half, "f0:27:65", 9) == 0) {
type = MURATA;
}

/* semcosh */
if (strncasecmp(mac_addr_half, "5c:0a:5b", 9) == 0 ||
strncasecmp(mac_addr_half, "cc:3a:61", 9) == 0) {
type = SEMCOSH;
}