🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc
Article #42152

Re: CLIPPER OVERLAY HELP

#42152
From: WILLIAM PIPHER
Date: Sun, 11 Feb 1990 11:04
93 lines
3658 bytes
To: ALL
santol@cbnewsc.ATT.COM asked recently:

>Question:    How do I make external clipper overlays?

>        BEGINAREA
>                SECTION FILE xxx.ovl INTO a,b,c
>                SECTION FILE yyy.ovl INTO c,d,e
>        ENDAREA

I'm not sure that your syntax is correct. A while ago I wrote an 
application that required internal overlays for efficient memory 
utilization at run-time.  I modified the link file so as to 
produce external overlays instead of internal, for  your 
edification.  I can't be sure that it is the best way to organize 
external overlays because it is designed to optimize for 
internals, but it nevertheless works.  Here it is by way of example: 

FI D:\clipobj\cupw, d:\clipobj\wmperror
MAP = d:\CLIPOBJ\cupw.map

OUTPUT E:\CUPW\TEST.EXE
LIB EXTEND.LIB, WMP_NET.LIB, OVERLAY.LIB
BEGIN
   SECTION INTO OVL1 FI d:\clipobj\change
   SECTION INTO OVL1 FI d:\clipobj\report
END
BEGIN
   SECTION INTO OVL2 FI d:\clipobj\menus
   SECTION INTO OVL2 FI d:\clipobj\exit
   SECTION INTO OVL2 FI d:\clipobj\sign_on
   SECTION INTO OVL2 FI d:\clipobj\sto
   SECTION INTO OVL2 FI d:\clipobj\reputil
   SECTION INTO OVL2 FI d:\clipobj\purgshow
   SECTION INTO OVL2 FI d:\clipobj\show
END
BEGIN
   SECTION INTO OVL3 FI d:\clipobj\lens
   SECTION INTO OVL3 FI d:\clipobj\lenr
   SECTION INTO OVL3 FI d:\clipobj\wrap
   SECTION INTO OVL3 FI d:\clipobj\compare
   SECTION INTO OVL3 FI d:\clipobj\status
   SECTION INTO OVL3 FI d:\clipobj\conf
END

The linker creates TEST.EXE and 3 overlay files named OVL1.OVL,
OVL2.OVL, OVL3.OVL.  I could have called them anything I liked.
Note that EXTEND.LIB and OVERLAY.LIB are linked in, but there is
no call to CLIPPER.LIB.

I organized the link file such that both:

a) each section within any one area is the same size (consult 
   your compiler output MEMORY.MAP) as each other section in the
   same area.  This maximizes memory use efficiency.

   AND

b) no one section, either directly or indirectly, ever calls another
   section within the SAME area.  Consult your flow charts.  Failure
   to abide by this condition will crash your program and probably 
   your system, guaranteed.

Do you really need external overlays?  You do if the size of your
executable file on disk is too large for easy handling i.e. larger
than 360K for DD disk storage.

But if the object of the overlays are to reduce run-time memory 
requirements only, then go with internal overlays.  They run faster
than the external kind, and are more reliable.  

The above link file is converted back to internal overlays by simply 
removing the "INTO OVLn" phrases from the list.

>The question is: What makes xxx.ovl and yyy.ovl?  Is it the compiler?

No.

>is it plink86? 

Yes.

>Is there any way to use the MS-DOS linker instead of plink86?

You cannot at this time produce overlaid CLIPPER applications unless
you link with PLINK.  Maybe the new CLIPPER, due out real soon now,
will provide a faster linker. The MS-DOS linker works fine on 
non-overlaid CLIPPER apps. 

Good luck -- it took me a week or 2 to figure this stuff out the 
first time, maybe you'll do better!
---
 ~ DeLuxe 1.11a18 #3744  william.pipher@canremote.uucp
Technical Details
Message-ID: <90021106074170@masnet.uucp>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!clyde.concordia.ca!jarvis.csri.toronto.edu!torsqnt!tmsoft!masnet!canremote!william.pipher

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!clyde.concordia.ca!jarvis.csri.toronto.edu!torsqnt!tmsoft!masnet!canremote!william.pipher
From: william.pipher@canremote.uucp (WILLIAM PIPHER)
Newsgroups: comp.sys.ibm.pc
Subject: Re: CLIPPER OVERLAY HELP
Message-ID: <90021106074170@masnet.uucp>
Date: 11 Feb 90 11:04:00 GMT
Organization: Canada Remote Systems Limited, Mississauga, ON, Canada
Lines: 93