When Mic-1 MMV is launched it first looks for the properties mic1.properties file in the current directory. If it is not found an internal properties file is loaded.
Next Mic-1 MMV looks for a default microcode program to load. This default program is specified in Preferences. If a default microcode program is not specified, or if it is not found or cannot be loaded (e.g. bad format), an internal microcode program is loaded. This program corresponds to the one described in Tanenbaum, Structured Computer Organization, Edition.
Next Mic-1 MMV looks for an IJVM configuration file, which specifies the opcodes, mnemonics and parameter types used by Mic-1 MMV's assembler when translating JAS to IJVM machine code. The name of the configuration file is specified in Preferences, but it is generally called ijvm.conf. Mic-1 MMV first looks for this file in the current directory (i.e. the directory from which Mic-1 MMV was launched). If it is not found, an internal version is loaded, corresponding to the language as specified in Tanenbaum, Structured Computer Organization, Edition.
Lookups take place in the following order:
When the program is launched, the current directory is set to the launch directory (i.e. the directory containing the Mic-1 MMV jar file). The current directory may be subsequently changed to load IJVM or MAL files, but the launch directory remains fixed.
Each time a MAC or IJVM file is loaded, the directory containing that file is checked for a copy of the IJVM configuration file (as defined in Preferences). If one is found, it is loaded and used to process the newly loaded MAC or IJVM file. It is recommended, therefore, that you collect all MAC files using a particular configuration into a single directory containing the appropriate configuration file.
Full paths for all current files are now provided in the "About Box", which can be opened from the Help menu. (Note: the path "resource\<file name>" is used to indicate the internal version).