Theseus4 is a memory analysis program for the OS/2 system.

You might have attempted to display the IDT
in Theseus4:
Registers->Current IDT

When you did that it might have occured to you
that that would erroneously display the GDT
contents instead of the IDT contents.
Display the GDT in Theseus4:
System->General System->GDT

and you will realize the similarity.

This patch fixes Theseus4 to properly display the
IDT. Unfortunately, I have found no way to patch
the original executable in a way that both, IDT
and GDT, would display correctly.
Therefore the enclosed cmd file "fix.cmd" will create a 
copy "theseus4_IDT.exe" from the original executable
and patches the copy. You will have to use both
executables, the original one to properly display the
GDT and the patched copy to properly display the IDT.
All other functionality remains completely unchanged
between these two executables.

Prerequisites: the cmd file "fix.cmd" needs lxlite.exe to uncompress
and compress the patched executable.

How to install:
1) unzip the contents of the zip into the directory
   where you have Theseus4 installed.
2) Run "fix.cmd" from within that directory.
   It will do all the necessary things to 
   create a patched copy "theseus4_IDT.exe" of the executable.

You find theseus4.exe here:
ftp://ftp.software.ibm.com/ps/products/os2/fixes/v4.5warp/theseus4/thes4001.exe

You find lxlite as part of an eComStation installation:
\ecs\bin\lxlite.exe
If you don't have eComStation, you will find lxlite here:
http://hobbes.nmsu.edu/download/pub/os2/util/archiver/lxlt133.zip


For the technically interested:
theseus4.exe uses internal function "DTentry_fromSelector" to query
the GDT and IDT table contents. This function in turn uses OS/2 kernel function
"DosPerfSysCall" to do the actual work.
"DosPerfSysCall" is called with command code 0xD3 to read the GDT
and with command code 0xD5 to read the IDT.
Unfortunately, "DTentry_fromSelector" will invoke "DosPerfSysCall"
always with command code 0xD3 when displaying either GDT or IDT.
The patch will patch the executable to invoke "DosPerfSysCall" with
command code 0xD5.



Lars Erdmann
