Newsgroups: comp.binaries.ibm.pc.d
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!hellgate.utah.edu!csn!iplmail!iplmail!sag
From: sag@iplmail.orl.mmc.com (Steve Gabrilowitz)
Subject: Re: TPU converter for Turbo Pascal
Message-ID: <1991Apr16.175214.15140@iplmail.orl.mmc.com>
Sender: sag@iplmail (Steve Gabrilowitz)
Organization: Martin Marietta
References: <16185.2809dc29@levels.sait.edu.au> <1991Apr15.151522.9547@uwasa.fi> <1991Apr16.102030.2368@odin.diku.dk>
Date: Tue, 16 Apr 1991 17:52:14 GMT

In article <1991Apr16.102030.2368@odin.diku.dk>, terra@diku.dk (Morten Welinder) writes:
|> ts@uwasa.fi (Timo Salmi) writes:
|> 
|> >In article <16185.2809dc29@levels.sait.edu.au> et891856@levels.sait.edu.au (It's the Bishop .....) writes:
|> >>
|> >>Does anyone know of a program that converts between the different TPU
|> >>formats used in varying versions of Turbo Pascal ?
|> >:
|> 

|> It is possible. One way to do it is:
|> 
|> 1. Read and decipher source .Tpu
|> 2. Translate references to System.Tpu to target version offsets
|> 3. Write target .Tpu in target version format.
|> 
|> This should work for converting Tpu's as long as the versions use the same
|> calling convensions. (There are some diffenrences between 4.x and (5.x,6.x)
|> when passing extended reals).
|> (I didn't say anything about this being easy!)
|> 
|> For help on 1. & 3. see the different Tpu-file-listers out there.
|> On 2.: For each version of the system unit, one might establish a 
|>        correspondance between offsets and routine names. I think
|>        most of these pairs (offset,name) can be found when listing
|>        System.Tpu (correct?)

One problem here is what to do when converting a 5.5 TPU to a 6.0 if the unit contains any references to FREEPTR.  The whole issue of heap management between these two versions would seem to present something of an enigma...

-- 




                            Steve Gabrilowitz
                            Martin Marietta, Orlando Fl.
                            sag@iplmail.orl.mmc.com
                            Fidonet 1:363/1701
