[comp.sys.mac] Change in "_Launch" interface...

rs4u#@ANDREW.CMU.EDU (Richard Siegel) (05/01/87)

Some questions:

	1) Why the change? It seems to me that there's a large number
of programs that have the "Transfer" feature (as it's usually called),
that will suddenly stop working.

	2) For Old Mac and Mac Plus owners (Old Mac = 64K ROM), does
this change come with System 4.x? Or is it simple a change in the ROM
for the SE and Mac II, so the "Transfer" feature will only crash
on the new machines?

	3) *Flame On* Why is Apple doing this? I personally would simply
add another trap (_SubLaunch or somehting) to the 256K ROMs, or
make the existing _Launch trap smart enough to know when it's being
called with the old protocol, and adjust accordingly. As I said,
a lot of existing applications will suddenly stop working, and
there are going to be a lot of pissed-off users (not to mention developers!)
out there. I may not be looking at things realistically, but... *Flame Off*

	4) By the way, will this interface change be backward compatible?
Suppose I fix the application to use the new interface. What if someone
runs it on an older System? Does it break then? Or will some way be
provided for the application to know which interface to use?

	"I would advise people to wait the week or two for the
technote before implementing a lot of Launch code that
will have to be changed.


	Great. 8-)

		--Rich


Richard M. Siegel
Materials Characterization Instrumentation Section
Mail Stop 231
NASA/Langley Research Center
Hampton, Virginia 23665
(804) 865-3036

Arpanet: rs4u@andrew.cmu.edu
Uucp: {your fave gateway}!seismo!andrew.cmu.edu!rs4u

Disclaimer? I don't even KNOW 'er!

lsr@apple.UUCP (Larry Rosenstein) (05/04/87)

In article <MUa8YYy00UhTQM00cm@andrew.cmu.edu> rs4u#@ANDREW.CMU.EDU (Richard Siegel) writes:
>
>Some questions:
>
>	1) Why the change? It seems to me that there's a large number
>of programs that have the "Transfer" feature (as it's usually called),
>that will suddenly stop working.

Not likely.  The sublaunch code simply adds a new feature to _Launch, it
doesn't change anything else.  The mechanism for passing additional
parameters to _Launch was implemented in the 128K ROM, and as far as I know
they have never been documented.

In the 128K ROM, these extra parameters were used to indicate that a program
should be launched read-only, which is useful if you are using a file
server.

>	2) For Old Mac and Mac Plus owners (Old Mac = 64K ROM), does
>this change come with System 4.x? Or is it simple a change in the ROM
>for the SE and Mac II, so the "Transfer" feature will only crash
>on the new machines?

The patch is definitely in System 4.1; I don't have a copy of System 4.0
around to see if it was in there as well.

>	3) *Flame On* Why is Apple doing this? I personally would simply
>add another trap (_SubLaunch or somehting) to the 256K ROMs, or
>make the existing _Launch trap smart enough to know when it's being

The new features are activated by a special signal to the _Launch trap.
Normally, _Launch takes a pointer to a parameter block in A0.  The first
long of the block points to the file name and the next 2 bytes to the
sound/screen page 2 options.  

If the 2 bytes after that is $4C43, then the extended parameter set is
assumed.  Following the code will be 4 bytes for the length of the extended
parameters, followed by a word of flags. Bit 6 of the low flag byte is 1 to
indicate a read-only launch.

As I mentioned before, I don't have a copy of the new set of Tech Notes,
which indicate how to specify a sublaunch.

>	4) By the way, will this interface change be backward compatible?

If the patch is not present, then the sublaunch will work, but (I assume
that) the application doing the launching would not regain control.


-- 
Larry Rosenstein

Object Specialist
Apple Computer

AppleLink: Rosenstein1
UUCP:  {sun, voder, nsc, mtxinu, dual}!apple!lsr
CSNET: lsr@Apple.CSNET

huxham@apple.UUCP (05/06/87)

There were some misunderstadings resulting from my posting about
_Launch so let me try and clarify.

1.  Sublaunching is an extension to _Launch.  Programs that call
_Launch (transfer menus, etc...), will still work with System 4.1.

2.  Sublaunching is available using System 4.1 or higher.

3.  One application launching another however, is a discouraged
practice.  There are some applications that must do this (integrated
development systems for example), but most applications don't need
to.  The reason for the discouragement is that at some point
in the future (a year perhaps, the crystal ball I'm looking into
isn't all that clear), _Launch MAY change or go away and everything
that calls it will not work.

The Finder is the application that should be used to launch applications.
In the future, it may provide better integration for applications and
you would circumvent this if you tried to take over its role by calling
_Launch.

_Launch will only go away if it is absolutely necessary.  We don't
break applications for fun.  There will be heated discussions about
it.  But there may be a time when we have to make a decision between
major improvements to the MacOS and breaking a few applications and
we will choose to break apps.  (We will however, give developers
notice and a chance to change their products before the change
takes place)

Sorry for any confusion or panic I caused with my first posting,

Fred