This action is for advanced users.

This action adds a chunk of memory directly from a 32-bit RAM address.

It takes two parameters: the location of binary in memory, and how many bytes at that address you want to add.


If the pointer is invalid, note that is hard to detect.

Relay will usually crash the application, or add garbage.

Blue should not crash, even with an invalid pointer. Blue will also add whatever garbage is there, but if it can't, you will instead get an error about invalid memory.

Blue has some rudimentary checks for invalid memory (null pointer, no man's land address, etc.), but it doesn't cover all cases.


Passing a size of 0 means this action will do nothing, even if the pointer is invalid.

Passing a negative size will cause Blue to create an error. Relay will crash.


This is useful in conjunction with memory-based objects such as the Binary object and/or the Memory object.

Android/iOS/Mac warning

In Blue Client Android/iOS/Mac, on 64-bit devices, this expression expects a 64-bit address, cropping to 32-bit, which may be invalid and cause a crash when attempting to read from it.

Mac is always 64-bit, either x86_64 or ARM64, both of which are 64-bit.

HTML5/UWP warning

This action expects a URL instead of a memory address in Blue Client HTML5/UWP. The binary-to-send message will be locked and cannot be modified until the URL has finished downloading. You can use Blob or HTTP/HTTPS URLs.


Otherwise, to access the binary-to-send message in HTML5/UWP, you can use:

read: client['GetSendMsg']() – will return a Uint8Array

write: client['SetSendMsg'](Uint8Array)