- 1. Determine the name of the SYMOS file for the release of MPE/iX you are using (actually, any SYMOS file will work for this particular requirement). Do this by entering:
Use the SYMOS file from the OS group that most nearly matches the VUF (Version.Update.Fix) of the release of MPE/iX your machine is running. Unfortunately, you may have a problem with this because different numbers are often reported by various tools, such as :SHOWME (reports three numbers), the bootup dialog (yet another) and the OS@ groups ... well, it can be confusing.
On MPE/iX 5.0, a :SHOWME reports:
RELEASE: C.50.00 MPE/iX HP31900 B.79.06 USER VERSION: C0
In this case, the VUF for the SYMOF is "B79" (from the middle of the line).
For now, try to use the SYMOS file that matches the middle number from SHOWME's "Release" line. If in doubt, ask your "third-party" support person or SE which is the most current. If you found none, contact them and ask where the SYMOS file and DAT macros are.
- 2. Now, get into Debug:
Note: entering DEBUG from the Command Interpreter (CI) requires Privileged Mode (PM) capability.
- 3. Once you are in DEBUG, you will get a prompt like:
$1 ($3e) nmdebug >
Now, we want to open the SYMOS file. Enter a command like:
(replace the OS???? with the name of the correct group, OSB79 for MPE/iX 5.0)
This should return with no errors. The SYMFILE command will list all of the open symbolic files (which should be just the one we just opened).
- 4. Finally, enter:
You should see:
(USER_PTYPE, SON_PTYPE, MAIN_PTYPE, TASK_PTYPE, SYSTEM_PTYPE,
DETACH_PTYPE, UCOP_PTYPE, UNK7_PTYPE)
This is the actual Pascal/iX definition for the enumerated types called ptype_bit_type, which is used to describe process types, Pascal/iX enumerated types always start with the value 0, thus USER_PTYPE is 0, SON_TYPE is 1, etc.
- 5. Close the SYMOS file and exit DEBUG:
symclose symos /* don't type in the whole name */
c /* this exits DEBUG nicely */
You've just successfully done your first reverse engineering of MPE/iX!