The system uses what's called "
overlays" which are precursors to dynamic libraries.
A Static Library is compiled into the executable and becomes part of the code.
A Dynamic Library can be loaded anywhere in memory and has a vector table of functions within it. The program loads the library during run-time, looks up the function in the header it needs to run and then jumps to it and runs it.
An Overlay is a pre-compiled chunk of code that MUST be loaded in a particular memory location by some kind of memory manager, there is no lookup table and the calling function assumes that the overly will be there. This is the same idea as "bank switching" that was done in the old rom days. When another overlay is needed, the old overlay is overwritten. I can assume that all the MNU files are loaded into the exact location over each other and executed with a single function call. You can even probably find that call by reversing the MENU command in the field script.