[comp.sys.mac] what's different between sys 4.1 and 4.0?

chow@batcomputer.tn.cornell.edu (Christopher Chow) (05/11/87)

A few days ago I downloaded System 4.1/Finder 5.5 from Delphi and installed
onto my Dataframe 20.  Things which I immediatly noticed was the mouse
tracking on "fast" seemed faster than that on System 4.0 but aside from that
it appeared that the changes were transparent.

A day later I tried to use QUED and found that it bombed with ID=02.
Although I usually do not use MacTerminal 2.0, from time to time I am forced
to use it because I need to send vt100 keypad codes [when I upgraded to a
Mac Plus I didn't bother buying the Mac Plus keyboard and junking my old
keyboard].  Imagine my surprise when I found that System 4.1 breaks
MacTerminal!

This is what happened:  The keyboard is completely jumbled.  When using
keycaps I see strange results - the entire keyboard is filled with the
"undefined character" boxes or in some case filled with a same character -
like the "registered trademark" symbol.  Upon exiting MacTerminal the
problems still persists - I have bound cmd-R to restart in the finder and
when I hit it, it got mapped to cmd-I and a "get info" box came up...
Rebooting clears up the problem [the menu's still work].

An "get info" on my system file shows the last modification date to be about
the same time when I launched MacTerminal, but other applications have not
broken so for now I'm assuming that MacTerminal hasn't corrupted my system
file...

Anyone have any ideas on what's going on here?

Christopher Chow
/---------------------------------------------------------------------------\
| Internet:  chow@tcgould.tn.cornell.edu (128.84.253.35)                    |
| Usenet:    ...{uw-beaver|ihnp4|decvax|vax135}!cornell!batcomputer!chow    |
| Bitnet:    chow@crnlthry.bitnet                                           |
| Phone:     1-607-253-6699,  USPS:    7122 N Campus 7, Ithaca, NY 14853    |
| Delphi:    chow2            PAN:  chow                                    |
\---------------------------------------------------------------------------/

jww@sdcsvax.UCSD.EDU (Joel West) (05/11/87)

In article <949@batcomputer.tn.cornell.edu>, chow@batcomputer.tn.cornell.edu (Christopher Chow) writes:
> A few days ago I downloaded System 4.1/Finder 5.5 from Delphi and installed
> onto my Dataframe 20.  Things which I immediatly noticed was the mouse
> tracking on "fast" seemed faster than that on System 4.0 but aside from that
> it appeared that the changes were transparent.


4.0 is a pre-release.  4.1 is the final version.  (Did you upload 4.1
or 4.1beta?)  4.1 also includes some new features, documented in IM
Volume V, to make the Plus compatible with the SE and Mac II.

> This is what happened:  The keyboard is completely jumbled.  

The new machines (and the Plus under 4.1) use a trap to translate keycodes.
The old mechanism (Key0Trans, Key1Trans) is emulated, but since I
have neither 4.1 nor a new keyboard, I haven't had time to check it out.
-- 
	Joel West
	{ucbvax,ihnp4}!sdcsvax!jww	(ihnp4!gould9!joel if I ever fix news)
	jww@sdcsvax.ucsd.edu	if you must

dgold@apple.UUCP (05/11/87)

In article <949@batcomputer.tn.cornell.edu> chow@tcgould.tn.cornell.edu.UUCP (Christopher Chow) writes:
>A few days ago I downloaded System 4.1/Finder 5.5 from Delphi and installed
>onto my Dataframe 20.  Things which I immediatly noticed was the mouse
>tracking on "fast" seemed faster than that on System 4.0 but aside from that
>it appeared that the changes were transparent.
>
>Although I usually do not use MacTerminal 2.0, from time to time I am forced
>to use it because I need to send vt100 keypad codes [when I upgraded to a
>Mac Plus I didn't bother buying the Mac Plus keyboard and junking my old
>keyboard].  Imagine my surprise when I found that System 4.1 breaks
>MacTerminal!

Well, er, ah, hmmm, it seems that there was this low memory global called
BasicGlob, which was reserved for use by the system, and System 4.1 is now
using it (it's been renamed ExpandMem), but, er, uh, ahem, it seems that
MacTerminal (against our own rules), was USING BasicGlob.  So it is
incompatible with System 4.1.

There will be a MacTerminal 2.2 out in the very near future, which will work
with System 4.1 and also properly support the new ADB keyboards (including
the control key).

This just goes to show that even we occasionally break our own rules, and
suffer for it as a result.
-- 
David Goldsmith
Apple Computer, Inc.
MacApp Group

AppleLink: GOLDSMITH1
UUCP:  {nsc,dual,sun,voder,ucbvax!mtxinu}!apple!dgold
CSNET: dgold@apple.CSNET, dgold%apple@CSNET-RELAY
BIX: dgoldsmith

spector@acf4.UUCP (05/12/87)

ah HAH!!!!   Finally someone admits to the breakage of MacTerminal.  
This is (almost) inexcusable!   I depend on MacTerminal to talk to a whole
LOT (>20) Vaxen and other machines.   I now (if I want to use the current
system, and I *DO* 'cause I am also a certified developer, and MPW and I have
some work to do using the script manager...) have to resort to
using MicroPhone, or RedRyder (the lesser of two evils) if I want to talk
to the rest of the world. I am using MicroPhone right now, and its making my
flesh crawl.

Unfortuately, MacTerminal is the ONLY terminal program that CORRECTLY emulates a
VT100 on a Macintosh.  
By correctly, I mean that MacTerminal will work with _EVERY_ DEC product
and every Unix program that works correctly on a realy vt100.


How soon is "very"?  I am dead in the water (for all practical purposes)
without it...



David Spector
New York University  --  Courant Institute of Mathematical Sciences
NYU/acf Systems Group
251 Mercer Street
New York, NY 10012
ARPA: Spector@NYU.EDU
UUCP: ...!{allegra, seismo, rocky, philabs}!cmcl2!spector

bc@mit-amt.MEDIA.MIT.EDU (bill coderre) (05/12/87)

In article <12500009@acf4.UUCP>, spector@acf4.UUCP (David HM Spector) writes:
> 
> How soon is "very"?  I am dead in the water (for all practical purposes)
> without it...

Well, gee. Why not use the "old" system for the time being. After all,
that is the last one that is even officially released and not a Beta
test!

If you're gonna use something that says "beta" you are going to have
to put up with the fact that it might not work completely right.

And, after all, what will version 4.1 "do better" with MacTerminal?.....bc

mf@savax.UUCP (Marc Fleischmann) (05/12/87)

In article <12500009@acf4.UUCP> spector@acf4.UUCP (David HM Spector) writes:
>
>Unfortuately, MacTerminal is the ONLY terminal program that CORRECTLY emulates a
>VT100 on a Macintosh.  
>By correctly, I mean that MacTerminal will work with _EVERY_ DEC product
>and every Unix program that works correctly on a realy vt100.

I've been using White Pine Software's MAC240 for a couple of months now
and would say that it works with _EVERY_ DEC product.  This is a complete
VT240 emulator with Regis, Sixel and TEK 4010 emulation.  I've run EDT, TPU
LSE, DECgraph, DECslide, VAX Notes, and a lot of internally developed SMG
based applications without any problems.

-- 
Marc Fleischmann
Sanders Associates, Inc. - Nashua N.H.  (603) 885-5050
UUCP: ihnp4!decvax!savax!mf

spector@acf4.UUCP (David HM Spector) (05/12/87)

Huh? Wha..? Wait a minute....   My complaint is that Apple decided to break 
the new system by usurping a system global.  System 4.1 is the official release
system, it has components that I need in my development work, namely
the script manager (among others).  Besides, MacTerminal is not the only
program that breaks.  Many, many programs that followed the user interface
guidelines and Apple's recommendations to the letter have been broken.  
(e.g., UW, keyboard drivers, some da's, many games, etc)

I simply would like to find out WHEN Apple is planning of remedying this rather
annoyng situation.


BTW, I don't want to sound like I am gonna get an uzi and wreck Cupertino.  I
think the new system is lots better than 3.2 or the 4.0 that I got in the
last developers' update.  Its just really a drag to get blown out of the water
by Apple deciding not to "waste" a couple of more bytes of system globals.


Dave Spector

dplatt@teknowledge-vaxc.ARPA (Dave Platt) (05/13/87)

Posting-Front-End: GNU Emacs 18.41.3 of Tue Apr  7 1987 on teknowledge-vaxc (berkeley-unix)


In article <12500010@scf4.UUCP>, David HM Spector writes,

> Huh? Wha..? Wait a minute....  My complaint is that Apple decided to
> break the new system by usurping a system global....  Many, many 
> programs that followed the user interface guidelines and Apple's
> recommendations to the letter have been broken.  (e.g., UW, keyboard
> drivers, some da's, many games, etc)

David, I don't think this is actually the case.  Here's the scoop I
clipped out of a couple of recent articles:
 
> From: dwb@apple.UUCP (Dave W. Berry)
>
> I had the problem of programs bombing on exit also.  Specifically
> it was UW 3.4.  It turns out that somewhere in the Megamax libraries
> they use BasicGlobs (0x2b6).  This was a previously unused (but reserved)
> low memory global which is now being used by the operating system.

And also...

> From: dgold@apple.UUCP (David Goldsmith)
>
> Well, er, ah, hmmm, it seems that there was this low memory global called
> BasicGlob, which was reserved for use by the system, and System 4.1 is now
> using it (it's been renamed ExpandMem), but, er, uh, ahem, it seems that
> MacTerminal (against our own rules), was USING BasicGlob.  So it is
> incompatible with System 4.1.

As I recall, Apple has been fairly good about warning developers that
"currently unused" means "reserved for future use, DO NOT USE or your
application WILL BREAK at some indeterminate point in the future".  At
least, I've seen this warning in the technotes concerning future
compatibility; I can't recall whether it also appears in Inside Mac
(and if not, it certainly should).  In any case, I don't think it's
fair to say that Apple "usurped" a system global; that global really
"belonged" to the system in the first place, and shouldn't have been
used either by MacTerminal or by MegaMax.  These applications did not
"follow... Apple's recommendations to the letter", as you suggest;
they broke an important rule, and are now paying the advertised price.

Mind you, I do tend to agree that Apple punted the compatibility ball
this time... not because they changed their system (they did it within
the rules that they had set up), but because they didn't adequately
verify the new version against the existing application base.  By
"didn't adequately", I mean that they were either unaware that an
Apple-brand application wouldn't run, and/or weren't willing to bite
the bullet and prepare a simultaneous release of a repaired version.
In either case, it was a bad move on Apple's part, and they should
certainly do their utmost to repair the damage ASAP by fixing
MacTerminal.  Ditto with the developers of the MegaMax compiler and
libraries; ethically, at least, they probably owe their customers a
no-cost library upgrade, effective yesterday.

[Fascinating... I just noticed that all four people in this particular
thread are named "Dave" or "David".  Obviously a conspiracy!]

woody@tybalt.caltech.edu.UUCP (05/13/87)

Actually, Megamax's sins are worse than simply using BasicGlob in the
library.  First, the compiler generates code which uses BasicGlob (apparently
A4 is saved there, and A4 is a register pointing to the globals.  When
the key word "Pascal" is used (for routines which are called from the ROMS),
A4 is restored by loading it back from BasicGlob.)
Second, there is this strange bug which causes some programs to crash on
exiting.  I am not certain why the programs crash when calling exit(); the
crashing is not consistant, and I can't reproduce it.  However, it is there,
and apparently there is a new update to the Megamax compiler which fixes these
and a few other bugs in the 3.0 release.
- William Woody                          Mac! > ][n && /|\
  woody@tybalt.caltech.edu
  woody@juliet.caltech.edu

jdb@mordor.s1.gov (John Bruner) (05/13/87)

In the case of UW, I gave up on Megamax C just after I distributed
version 3.4.  I was readying a newer version (basically just an LSC
version of 3.4, since I've been very busy with other things) when
I read about LSC's use of BSET, BCLR, etc. for resource attribute
changes.  I have MPW but I really don't want to convert UW again.
It is frustrating that I tried very hard to conform to Apple's
guidelines, but users of my program will get burned because of
compiler/runtime implementation decisions that were beyond my
control (and outside of my knowledge).

I find it difficult to fault Apple in this particular case, but I
do believe that they've been less than helpful with respect to
some other changes in the newer systems.  A case in point is the
handling of "dead" keys -- the official policy seems to be that
there's no way to do this.  There was a way to do this, and
MacTerminal used it (among others, of course), and it was a useful
thing to do, but the fact that it was a commonly-used feature
did not prevent the implementation from changing for ADB keyboards
(and perhaps for all keyboards in System 4.1; I don't have that yet).
I wouldn't care about KeyTrans and Key1Trans and Key2Trans if only
Apple had provided a trap which would enable/disable dead keys.

Perhaps some of this will be addressed in future tech notes;
unfortunately, there is a substantial time lag between the
introduction of new software and the documentation of its changes.
-- 
  John Bruner (S-1 Project, Lawrence Livermore National Laboratory)
  jdb@mordor.s1.gov	...!seismo!mordor!jdb		(415) 423-4848

tecot@apple.UUCP (05/16/87)

In article <12500010@acf4.UUCP> spector@acf4.UUCP (David HM Spector) writes:
>
>Huh? Wha..? Wait a minute....   My complaint is that Apple decided to break 
>the new system by usurping a system global.

An UNDOCUMENTED system global at that.

>System 4.1 is the official release
>system, it has components that I need in my development work, namely
>the script manager (among others).  Besides, MacTerminal is not the only
>program that breaks.  Many, many programs that followed the user interface
>guidelines and Apple's recommendations to the letter have been broken.  
>(e.g., UW, keyboard drivers, some da's, many games, etc)

Really?  One of Apple's recommendations is to NEVER use undocumented
features and variables.  All of the above do just that.

>I simply would like to find out WHEN Apple is planning of remedying this rather
>annoyng situation.

Wait for the new MacTerminal.  Or use another program.  I use pcLINK on my
SE.  Or, if you are really attached to MacTerminal, run it using system 3.2.
Use system 4.1 for your development work.

>BTW, I don't want to sound like I am gonna get an uzi and wreck Cupertino.  I
>think the new system is lots better than 3.2 or the 4.0 that I got in the
>last developers' update.  Its just really a drag to get blown out of the water
>by Apple deciding not to "waste" a couple of more bytes of system globals.
>
>
>Dave Spector

The reason BasicGlob was chosen is because it was the only remaining global
in the global space of ALL Macintoshes (Even the classic Mac).  This allows
us to continue to add functionality to older machines even after the
global space is gone.

						_emt