setupAll guides

The DMA memory map, explained

Half the advice online is about generating an mmap file by hand. Here is what it is for, when it matters, and why you do not have to make one here.

Contents
  1. 01What it is
  2. 02Why it matters
  3. 03How it works here
  4. 04When to regenerate it
  5. 05If something looks wrong

01What it is

Physical memory is not one flat block of RAM. The chipset reserves parts of the address space for devices, for firmware, for things that are not memory at all. A memory map is the list of the ranges that really are RAM.

A reader that has one knows where it may look. A reader without one has to discover the layout as it goes.

02Why it matters

  • Speed - probing unknown space costs reads, and reads are the one thing a DMA setup spends.
  • Stability - touching a reserved range is not always harmless. On some boards and chipsets it is enough to hang the machine.

That is the whole reason the subject comes up so often: it is the difference between a setup that feels instant and one that stutters, and occasionally between a session and a reboot.

03How it works here

The loader generates the map itself the first time it runs, and reuses it afterwards. It is kept as a plain text file (elusive_mmap.txt) next to the loader, or in ProgramData when the loader path contains characters the underlying library cannot take.

You do not have to run any other tool, and you do not have to copy a file from a forum post. If a map is already there, it is reused as it is.

04When to regenerate it

A memory map describes one machine, in one configuration. Let a new one be generated when:

  • you change or add RAM in the game PC;
  • you change the motherboard or the CPU;
  • a BIOS update changes how memory is reserved;
  • reads start failing on a machine where they used to work.

Deleting the file is enough: the next run writes a new one.

05If something looks wrong

A map that no longer matches the machine shows up as reads that return nothing, or as a game that is found but whose entities never make sense. Delete the file, start again, and watch the log line that reports how many regions were written.

If the loader says it could not open the FPGA device at all, the map is not your problem - the card is. The guide on a card that is not detected takes that case in order.

06Questions

Do I have to generate a memory map myself?
No. The loader builds it on its first run and reuses it. Nothing else to install, no file to copy from anywhere.
Where is the memory map kept?
As elusive_mmap.txt next to the loader, or under ProgramData when the loader path contains characters the library cannot handle.
When do I need a new one?
After a RAM, motherboard, CPU or BIOS change on the game PC. Delete the file and the next run writes a fresh one.
Can I use an mmap from another machine?
No. It describes the physical layout of one machine; another one has different reserved ranges.
Does a memory map make reads faster?
Yes, measurably: without it the reader spends reads discovering what is RAM, and reads are the budget of a DMA setup.

Read next

Every elusive product runs on this setup, from one account and one loader.

See the products
DMA Memory Map (mmap): What It Is and When You Need It, elusive