Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!usc!orion.oac.uci.edu!ucivax!megatek!hollen From: hollen@megatek.UUCP (Dion Hollenbeck) Newsgroups: comp.os.msdos.programmer Subject: Re: Overlays, how is it done and can it be done with TC? Message-ID: <699@jeff.megatek.uucp> Date: 3 Sep 90 18:29:05 GMT References: <702@marvin.moncam.co.uk> Distribution: comp.sys.ibm.pc.programmer Organization: Megatek Corporation, San Diego, Ca. Lines: 62 In article , rfrost@spam.ua.oz.au (Richard Frost) writes: > > This topic MUST have been talked about before but I am a newcomer to > this group. > > How are overlays done exactly (I'd like info on _implementation_ as I know > the theory). > Most of the suggestions have been to go to TC++, which might be fine for some, but some of us do not want to deal with C++, nor do we need to pay $$ more to get features we do not want or need. There is a solution for TC 2.0x and it is the book Extending Turbo C Professional Al Stevens 1989 ISBN 1-55828-013-8 Management Information Source Press P.O. Box 5277 Portland, Or. 97208-5277 (503)282-5215 In this book, Al Stevens gives source code for "The Poor Man's Overlay Manager (PMOM) and extensive descriptions of how things work. I have not used them, but many of the other things which I have used from the book have been quite helpful and accurate. The book comes with a disk with all the source code, or sold without for slightly less $$. "PMOM is a technique for building a set of programs where a root module executes overlay modules..." "The overlay module can process data space in the root and can execute functions in the root. The root executes the overlay by using the Turbo C spawnvp function. The root uses the command line parameter mechanism to pass ASCII representations of far pointers to data items and functions in the root. The overlay program translates those ASCII far pointers into true far pointers and can then read and write aprays, structures, strings, integers, and any other data items that the root tells the overlay about. The overlay translates the ASCII function pointers into true functions pointers and can thus call functions in the root." This technique could be simplified by passing pointers to arrays of functions or arrays of data pointers. Programs needing to use these would be compiled with common offset definitions for these functions/data items. Dion Hollenbeck (619) 455-5590 x2814 Megatek Corporation, 9645 Scranton Road, San Diego, CA 92121 uunet!megatek!hollen or hollen@megatek.uucp -- Dion Hollenbeck (619) 455-5590 x2814 Megatek Corporation, 9645 Scranton Road, San Diego, CA 92121 uunet!megatek!hollen or hollen@megatek.uucp