🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #11779

CBM, Why did you make it so hard?

#11779
From: Glen Fullmer
Date: Mon, 13 Mar 1989 14:13
45 lines
2666 bytes
I have a friend that has ported a generic graphics package to the Amiga.
He is uses the Aztec C compiler, and I use the Lattice compiler.  This means
that I cannot link my graphics program to his Aztec C graphics object library. 
So he thought he would fix that and create a graphics Amiga-shared library 
that anyone can call at run time.  That was fine.  After a number of weeks
trying to track down all that has been written about Amiga-shared libraries
(which is precious little) and "ripping off" as much public-domain code that 
he could find, has written a single-user-at-a-time graphics library.  I,
being as helpful as usual, suggested that a single-user-at-a-time graphics
library is not very useful, especially if one wants to write a generic
widowing system with his library (which I do).  I suggested that he rewrite
his graphics library so that it is re-executable and reentrant (being the
helpful person that I am).  Given that history, we have a number of questions:


1.  Why didn't the developers of the C compilers agree on a common linkable
    format?

2.  How does one make a generic package, like his graphics package, both
    reexecutable and reentrant?  Does it require specific register allocation
    via assembler programming?  Or is there an easier way? A different 
    global hook that can be used to hang environments on?

3.  How does one restore the environment, for example, after an interrupt?

4.  Is making a package that must retain context both over the life of a 
    call and the life of the session different than  "pure" residentable
    code?  If so, how are they different, and what are the coding 
    differences?

5.  How did CBM do this for their libraries?

6.  Why isn't it simpler?


Granted, a lot of this is probably very naive for some of you guys, but
where does one learn it?  References?

Thanks, in advance, for your support.  
-- 
  _____     _  "For a successful technology, reality must take precedence" 
 {____/    //  "over public relations, for Nature cannot be fooled."
      \   // _  __Richard P. Feynman, Appendix F of Shuttle Disaster Report
 {____/  </_</_/ / <_  {sun!sunburn | cadillac} !dover!fullmer   
Technical Details
Message-ID: <913@dover.uucp>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!oakhill!dover!fullmer

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!oakhill!dover!fullmer
From: fullmer@dover.uucp (Glen Fullmer)
Newsgroups: comp.sys.amiga.tech
Subject: CBM, Why did you make it so hard?
Keywords: Graphics Libraries, reentrancy
Message-ID: <913@dover.uucp>
Date: 13 Mar 89 14:13:56 GMT
Reply-To: fullmer@dover.UUCP (Glen Fullmer)
Organization: Motorola CAD Mesa, AZ {dover}
Lines: 45