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