[comp.sys.apple2] Making Inits in ORCA/C...

avery@netcom.UUCP (Avery Colter) (01/12/91)

Fellow ORCA/C buffs...

Does any of you know whether initialization files can be made from ORCA/C?

Also, do Init files have to be non-interactive?

Are there any books with any detail of the subject?
(Don't you dare say Toolbox or GS/OS reference, I already have those)


-- 
Avery Ray Colter    {apple|claris}!netcom!avery  {decwrl|mips|sgi}!btr!elfcat
(415) 839-4567   "I feel love has got to come on and I want it:
                  Something big and lovely!"         - The B-52s, "Channel Z"

toddpw@nntp-server.caltech.edu (Todd P. Whitesel) (01/12/91)

avery@netcom.UUCP (Avery Colter) writes:

>Fellow ORCA/C buffs...
>Does any of you know whether initialization files can be made from ORCA/C?

They most certainly can.

>Also, do Init files have to be non-interactive?

Doubt it.

>Are there any books with any detail of the subject?

Not really. But the documentation that does exist makes it clear that Inits
are loaded/executed/disposed of in exactly the same way except for one:
inits end with an RTL and not a Quit call.

trivial example:

#include <stdio.h>
void main (void)
{
printf("Hello, World.\n");
getchar();
}

#compile hello.cc
#rm hello.root
#link hello		(I assume your KEEPNAME and LINKNAME are $)
#filetype hello $b7	(temp init)

What happened? We killed the code that Orca adds onto every C program that
parses the shell command line into argc/argv variables, before creating the
final program. The problem is that when you have more subroutines and source
files, you have to remember this simple rule:

If the first filename given to the linker has no .ROOT file, then the first
function in that object file will be the one called by the O/S and not main().

Try some experiments and see what works. I suspect that parts of the stdio
library are dependent on the Orca shell being available. When I get some time
I am going to work on replacements that are purely GS/OS and tool dependent
so Orca's weak library will not be a problem.

Todd Whitesel
toddpw @ tybalt.caltech.edu

gwyn@smoke.brl.mil (Doug Gwyn) (01/13/91)

In article <20696@netcom.UUCP> avery@netcom.UUCP (Avery Colter) writes:
>Does any of you know whether initialization files can be made from ORCA/C?

Yes, and the ORCA/C manual tells you how!
I think there were bugs in the run-time start-up support in ORCA/C 1.1,
but a corrected SYSLIB is available for downloading on AOL.

taob@pnet91.cts.com (Brian Tao) (01/27/91)

From avery@netcom.UUCP (Avery Colter):

> Also, do Init files have to be non-interactive?

    Most INIT's just quietly do their thing while GS/OS boots without letting
the user know, but it IS possible to gather input.  Witness the INITMaster TIF
by Bill Tudor.  It starts up a bunch of tools, pops up a desktop (complete
with a blank menu bar) and a dialog box with two scrolling lists.  It lets you
modify the "Active" bit of INIT's and desk accessories before they actually
get loaded into the system.

Brian T. Tao  {taob@pnet91.cts.com} ||  Computer guru?  Someone who got
University of Metro Toronto         ||  their computer a couple of weeks
Scarberia, ON, MIC 3A8         *B-) ||  before you did.  (Alvin Toffler)