Generally, a memory in an emulator is usually implemented as an array of bytes. Indexes to the array represent addresses, and values are the memory cell values. In emuStudio, this kind of implementation is reflected by memory context. Memory context should be a class which either implements MemoryContext interface, or extends AbstractMemoryContext class. The latter provide additional functionality - management of memory “listeners”.
A memory listener (implementing Memory.MemoryListener interface) can observe memory value changes on all address range. But when the emulation is in running state, emuStudio turns off the memory notifications to speed up the emulation.