On Jul 29, 12:38*am, buck <b...@private.mil> wrote:
> I can't ask the original coder what he was thinking because he's dead,
> having fallen off a mountain while attempting to climb it.
>
> Everyone seems to want to know what this code does. *There are 10
> objects that get linked into a TSR executable. *As concisely as I can
> describe it, it provides an interface into ISAM low level functions
> (add, delete, read, update, etc), "blasts" templates to the monitor,
> keeps track of how many users, allows only one instance per user,
> beeps the speaker...
>
> Yes I can compile it using the DeSmet development tools. *It has been
> working error-free since 1989 - and before, prior to a few small
> changes for much longer than that (though I don't know just how long. *
> I started working for the company January 1987.
>
> > 'static char v[]={-20,-124,-180,-93,-88,-73,-27,-146,9,-38,-179 ...'
>
> I've examined the object code to see what values are present there but
> haven't found this array yet.
>
> It seems that the concensus is that this project is fesable, but not
> by me. *I need more time to think about it, but will take all advice
> strongly into consideration.
You probably know this, but TSR (terminate and stay resident for all
the youngsters) adds a new dimension to what you're trying to
achieve. It's likely to mean there are fair-sized chunks of code that
are meaningless in a modern OS. Examples include saving and restoring
chunks of screen buffer around TSR pop-up sessions, monitoring
keystrokes and perhaps timer and communication interrupts, and probing
DOS data structures to determine if it's safe to run. Equivalent
functions can come for free in modern environments, such as the screen
buffer management. In other cases, like device I/O, things can be
significantly harder to implement. All in all as others have said you
are looking at a major porting effort that could take nearly as much
time as the original program.
I have heard people with problems like this were successful continuing
to use old code and tools with ExDOS
http://www.exdos.com/ExDOS/ .
FWIW, I agree with those who speculate your array of chars might be
machine code. Little chunks of "canned" position-independent code
written as arrays like this were common in TSR code. I can't explain
the values outside the normal -128 to 127 range, however.