[comp.sys.apple] What doc do I need

lvirden@pro-tcc.UUCP (Larry Virden) (10/14/89)

Okay.  I have Orca/M gs and Orca/C.   I have the
hardware,firmware, programmer's guide, toolbox, and tech intro books as
printed by A.W.  What do I want next?  My plans are to start with Orca/C
manual.  What else should I get to read?  Is there one or more other reference
books that I will need to program on the GS?  I assume that APDA has some
updates to the books since the AW stuff is all 3-5 yrs old.  Which ones do I
want (orca/c doesnt have 5.0 specific support yet)?  Which 3rd party books do
a good intro of writing GS based window programs?  

Along similar lines, has anyone made an effort to write something like XVT
which is a virtual toolkit allowing one to write window programs which are not
specific to a particular machine?  What I mean is has anyone written something
like that for the GS?  This way I could write code that would run on either my
GS, my friend's mac or my X machines at work!

Finally, are folks out there porting various Unix routines and utilities to
the GS?  If you are willing, I am willing to help to.  I hate to think of 2
dozen ports of tar, compress, sort, etc. all to the GS when we could have
instead 2 dozen DIFFERENT utilities.  A good make, a lint, a good shell (like
bash, ksh, or something), c++, awk, etc. would all be great to have.
-- 
Larry W. Virden                 ProLine: pro-tcc!lvirden
674 Falls Place                 Work:   lvirden@cas.bitnet
Reynoldsburg, OH 43068-1614     Aline:  LVIRDEN
                                CIS:    75046,606

dlyons@Apple.COM (David Lyons) (10/15/89)

In article <8910141319.AA04595@trout.nosc.mil> lvirden@pro-tcc.UUCP (Larry Virden) writes:
>Okay.  I have Orca/M gs and Orca/C.   I have the
>hardware,firmware, programmer's guide, toolbox, and tech intro books as
>printed by A.W.  What do I want next?  My plans are to start with Orca/C
>manual.  What else should I get to read?  Is there one or more other reference
>books that I will need to program on the GS?  I assume that APDA has some
>updates to the books since the AW stuff is all 3-5 yrs old.  Which ones do I
>want (orca/c doesnt have 5.0 specific support yet)? [...]

From APDA, you want the GS/OS Reference and the Volume 3 of the Toolbox
Reference (you can use 5.0 stuff with ORCA/C even if they haven't released
updated interface files yet--it's straightforward to declare your own
structures and toolbox functions, using the information in TB Ref 3, modeling
your declarations after the ones in the existing .h files).
-- 

 --Dave Lyons, Apple Computer, Inc.          |   DAL Systems
   AppleLink--Apple Edition: DAVE.LYONS      |   P.O. Box 875
   America Online: Dave Lyons                |   Cupertino, CA 95015-0875
   GEnie: D.LYONS2 or DAVE.LYONS         CompuServe: 72177,3233
   Internet/BITNET:  dlyons@apple.com    UUCP:  ...!ames!apple!dlyons

   My opinions are my own, not Apple's.

blochowi@rt4.cs.wisc.edu (Jason Blochowiak) (10/15/89)

In article <35655@apple.Apple.COM> dlyons@Apple.COM (David Lyons) writes:
> lvirden@pro-tcc.UUCP (Larry Virden) writes:
>> [That he has such and such refs, and wants to know what else he needs...]

>From APDA, you want the GS/OS Reference and the Volume 3 of the Toolbox
>Reference (you can use 5.0 stuff with ORCA/C even if they haven't released
>updated interface files yet--it's straightforward to declare your own
>structures and toolbox functions, using the information in TB Ref 3, modeling
>your declarations after the ones in the existing .h files).

	I think that the new APW tools disks are a requirement for programming
under Sys 5.0. Also, the (yes, incomplete) new interface files will work with
Orca/C: Just copy all the files from CInclude into OrcaCDefs, and then change
the language to Orca/C, with whatever name you've given it (I changed it from
CC to ORCAC), as Orca/C will gag if you try to #include an APW C file. DON'T
just nuke the old OrcaCDefs folder, as there are some files in OrcaCDefs that
are different than in CInclude (there are also some that don't exist in
CInclude).

	Aside from the interface files, Rez is mightily useful when you want
to use resources :) I've not been impressed by the other tools on the disk,
though, as I've run into bugs in every one that I've used (with the exception
of DeRez). DiskCheck seems (I'm not sure if it was DiskCheck that mangled one
of my partitions - it might've been something else) to be particularly unsafe.

	They also finally got around to defining the macros that let you
define OS and tool structures with the assembler, although I'm not particularly
fond of the fact that they put ALL of them in one (>100k, I believe) file.
They also have 2/RInclude/Types.Rez, which contains the Rez type definitions
for ALL of the tools, etc. - this takes awhile to compile, even with a
TransWarp. Well, actually, the definition for PICTs is in another file, but
aside from that, they're all in one file.

	My, I never imagined I'd be plugging something that someone from Apple
forgot ;) (or perhaps didn't feel like mentioning at the time)

	One last thing - entering the definitions by hand, although cheaper
(in terms of cash going out the door), is significantly more error prone, which
can cause all sorts of nuisances. I #define'd one of the new bits for
TaskMaster that was forgotten in <window.h> incorrectly, and it took me a
long time to figure out what had gone wrong...

> --Dave Lyons, Apple Computer, Inc.          |   DAL Systems
--
                 Jason Blochowiak - back at school (again).
             blochowi@garfield.cs.wisc.edu or jason@madnix.UUCP

            "What's up pruneface?" - Bugs Bunny in the year 2000

gwyn@smoke.BRL.MIL (Doug Gwyn) (10/16/89)

In article <8910141319.AA04595@trout.nosc.mil> lvirden@pro-tcc.UUCP (Larry Virden) writes:
>Along similar lines, has anyone made an effort to write something like XVT
>which is a virtual toolkit allowing one to write window programs which are not
>specific to a particular machine?  What I mean is has anyone written something
>like that for the GS?  This way I could write code that would run on either my
>GS, my friend's mac or my X machines at work!

My feeling is that such a project would be hopeless, due to the huge size of
the code necessary to fully implement an X-Windows library and server.  (Note
that the server would have to be coupled with the library, since the IIGS
does not currently have any multitasking support.)

Much better would be an implementation of NewSqueak or even the Blit routines.
Someday when I have time (and a better compiler!), I plan to tackle those.

>Finally, are folks out there porting various Unix routines and utilities to
>the GS?  If you are willing, I am willing to help to.  I hate to think of 2
>dozen ports of tar, compress, sort, etc. all to the GS when we could have
>instead 2 dozen DIFFERENT utilities.  A good make, a lint, a good shell (like
>bash, ksh, or something), c++, awk, etc. would all be great to have.

Be advised that UNIX source code is available only under proper AT&T
licensing, and at $2,000 (sublicensed) or more few of us can afford to
port genuine UNIX source code.  Instead, we have to cons it up ourselves
from scratch, or find some other source (such as the GNU project).  I've
implemented a few UNIX-compatible utilities in the public domain, but
nowhere near as many as one would want.

You can obtain an adequate MAKE, SORT, GREP, etc. in binary form from
vendors such as 360 Microsystems and ByteWorks.

It's hard to implement a nice UNIXy shell on the IIGS because of lack of
multitasking, although there are several attempts that rely on, in effect,
"chaining" shell->program->shell etc. to simulate subprocesses.  ProSel-16,
DAVEX, ECP-16, and maybe other (generally shareware) products can be found
on most large commercial information services.  I think most of them are
not APW-compatible, though, which is a problem.

lvirden@pro-tcc.UUCP (Larry Virden) (10/17/89)

Network Comment: to #1215 by gem.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!adm!smoke!gwyn@tut.cis.ohio-state.edu

1. XVT doesnt implement X - it is a set of routines designed to provide a
higher level access to what ever particular windowing system you have
underneath.  It adds a layer which then permits your program to move, with
minimal changes, from character based screens to Mac, OS/2 PM, X, SunView,
etc.  
2. I am sorry.  I should have been more specific when I said Unix utilities. 
I didnt mean ATT utilities.  I meant freely available utilities.  Lint is the
one that Ihave never seen freely available.  Most of the rest are available
from Minix, GNU, BSD freed software, etc.
-- 
Larry W. Virden                 ProLine: pro-tcc!lvirden
674 Falls Place                 Work:   lvirden@cas.bitnet
Reynoldsburg, OH 43068-1614     Aline:  LVIRDEN
                                CIS:    75046,606