byte *ptr = .....
Erzeugt einen Zeiger auf ein Byte
Welcher dann im folgenden genutzt wird.
.... = (byte*)load;
Castet den übergebenen Zeiger, von einem Zeiger auf unsigned long, zu einem Zeiger auf byte.
Nach der Zeile zeigen sowohl load, als auch ptr auf die selbe Stelle im Speicher.
Nur, dass load dort unsigned long Daten an der Stelle erwartet, und ptr byte sieht dort Bytes.
Evt. wäre dieses schöner:
byte *ptr = reinterpret_cast<byte*>(&load);