[comp.sys.ibm.pc] Separate overlay files w/ MSC

wright@m.cs.uiuc.edu (09/29/89)

I have taken on the task of working on a large (at least by DOS
standards) program being developed with MSC 5.1.  I have broken
the code into overlays to conserve memory usage, but MSC still
stores all of the overlays in one executable file, resulting in a
file that is to large to fit on a single 360K floppy.  I would
like to be able to store overlays in separate file(s), but MSC by
itself seems unwilling.  Can someone tell me how other programs
are developed with separate files for overlays?

PS - We already know about various compression programs (PKZIP
etc.); I am trying to touch alternatives.

Thanks in advance--
David Wright
wright@cs.uiuc.edu
wright%a.cs.uiuc.edu@uiucvmd.bitnet

foss@iris.ucdavis.edu (Jim Alves-Foss) (10/03/89)

In article <8000057@m.cs.uiuc.edu> wright@m.cs.uiuc.edu writes:
>
>
> ... I would
>like to be able to store overlays in separate file(s), but MSC by
                                                            ^^^
>itself seems unwilling.  Can someone tell me how other programs
>are developed with separate files for overlays?
>
This is your problem. MSC can compile separate source files quite 
easily - thus creating separate object files. 

NOW to combine those object files and libraries you need a LINKER
(ah there's the problem). MS LINK does not allow you to create separate
overlay files. I have heard of other linkers (PLINK (?)) that let 
you do this. Anyone out there know of these linkers?

-Jim Alves-Foss (foss@iris.ucdavis.edu)  /* Of course these are MY opinions */
                (foss@127.120.57.20)     /* and may change without warning. */

johnl@esegue.segue.boston.ma.us (John R. Levine) (10/04/89)

In article <5484@ucdavis.ucdavis.edu> foss@iris.ucdavis.edu (Jim Alves-Foss) writes:
>I have heard of other linkers (PLINK (?)) that let 
>[put overlays in separate files.]

PLINK-86 does indeed let you put overlays in separate files.  It also
gives you considerably more control over the overlay structure, and does
it in a more transparent way so that indirect calls to overlaid code works,
unlike Microsoft.  The bad news is that Codeview doesn't know about that kind
of overlay so you have to use PFIX-86, which is a competent debugger but
does not have source debugging features as good as Codeview.

PLINK and PFIX were written by Phoenix Technologies, the famous BIOS
people but were recently sold to Polytron in Hillsboro OR.
-- 
John R. Levine, Segue Software, POB 349, Cambridge MA 02238, +1 617 492 3869
johnl@esegue.segue.boston.ma.us, {ima|lotus}!esegue!johnl, Levine@YALE.edu
Massachusetts has 64 licensed drivers who are over 100 years old.  -The Globe

cs4g6ag@maccs.dcss.mcmaster.ca (Stephen M. Dunn) (10/05/89)

In article <1989Oct4.150541.264@esegue.segue.boston.ma.us> johnl@esegue.segue.boston.ma.us (John R. Levine) writes:
$In article <5484@ucdavis.ucdavis.edu> foss@iris.ucdavis.edu (Jim Alves-Foss) writes:
$>I have heard of other linkers (PLINK (?)) that let 
$>[put overlays in separate files.]
$PLINK-86 does indeed let you put overlays in separate files.  It also
[...]

   One _big_ problem with Plink - IT IS SLOW!!!  This is the price you pay
for the extra flexibility.

   I have used Plink, Microsoft Link, and Borland's Turbo Linker with
the Clipper compiler.  Generally, TLINK is 2-3 times faster than LINK,
which in turn is several times faster than PLINK86.  Of course, the
list of capabilities goes up as performance goes down, though ...

   My advice would be to use the fastest linker you can possibly
live with for development, and then only switch to Plink (or whatever)
when you absolutely have to.

DISCLAIMER:  I have no affiliation with Borland, Phoenix, or Microsoft
   other than that I have used some of their products.  Same for Nantucket.
-- 
Stephen M. Dunn                         cs4g6ag@maccs.dcss.mcmaster.ca
       <std_disclaimer.h> = "\nI'm only an undergraduate!!!\n";
**********************************************************************
TORONTO BLUE JAYS - 1989 AMERICAN LEAGUE EAST CHAMPIONS!  GO JAYS GO!!