Link Search Menu Expand Document

Writing a memory

In emuStudio, plugin root class must either implement Memory interface, or can extend more bloat-free AbstractMemory class.

Generally, a memory in an emulator is usually implemented as an array of integers. 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.