[mod.mac] Delphi Mac Digest V2 #48

SHULMAN@RED.RUTGERS.EDU (Jeffrey Shulman) (10/03/86)

Delphi Mac Digest          Friday, 3 October 1986      Volume 2 : Issue 48

Today's Topics:
     Windows (4 messages)
     PAGEMAKER support
     MacApp status ?
     Excel Question
     Keeper Plus
     Is there an HFS wizard in the house? (5 messages)
     HyperNet
     HyperDrive 2000 (4 messages)
     Hyper2000 vs. TurboCharger 2.0
     TOPS on HyperDrive 2000
     HyperDrive 2000 and MIDI (2 messages)
     DiskTimer Results
     MacPaint/Clipboard patch?
     DiskExpress vs. HyperDrive 20 (5 messages)
     new Apple IIgs
     RE: chinese word processor
     Report on LightspeedC 1.5
----------------------------------------------------------------------- 

From: MACINTOUCH (13131)
Subject: Windows
Date: 27-SEP 16:20 Business Mac
 
 
I got a chance to play with Windows on an IBM AT clone yesterday, killing time
at the local dealer's while they didn't get the HyperDrive fixed.
 
It was running on a color graphics system, which looked to be fairly high
resolution for color.
 
Basically, I thought the system was rather disgusting in comparison to
a Mac.  Part of it was the color display, which was ugly and
unreadable. Part of it was the response of the cursor and controls to
the mouse.  It felt a little like a fast car with poor handling
characteristics.  Part of it was user interface things where you had
to go back to text, instead of having a graphic interface.  This was
true at the system level, with directories, and also at the
application level, where most applications didn't support graphics at
all.  I found using the system confusing, partly because of different
interface conventions and partly because there seemed to be no
corollary to the Mac's filters which let you choose documents to open
from a list of only appropriate types, not ALL files on the silly
disk!
 
Prices for an AT/hard disk/display combo are probably similar to a
Mac/hard disk combo, but you'd never get me to trade.  The day another
system is BETTER is the day I will.
 
Ric
 
PS. Yes, it multi-tasks, and, yes, I'd like to see that on the Mac.  It isn't
enough.
 
------------------------------

From: LOGICHACK (13264)
Subject: RE: Windows (Re: Msg 13131)
Date: 30-SEP 00:17 Business Mac
 
Ric:
 
Considering the rather primitive resources Microsoft had to work with,
I'd say Windows is pretty awesome.  I can't figure out why some
enterprising soul hasn't written a Finder for it yet...
 
Isn't the AT + EGA color setup much more expensive than a Mac+?  I thought the
card and monitor were at least $600 to $1000 a peice.  Also, Windows is pretty
sad without a high performance hard disk.
 
Paul :)
 
P.S.
 
I absolutely concur: the day a better system appears is the day I switch.
 
------------------------------

From: MACINTOUCH (13271)
Subject: RE: Windows (Re: Msg 13267)
Date: 30-SEP 01:22 Business Mac
 
I didn't mean to imply that a _color_ AT was comparable in price to a Mac. I
thought the color EGA stuff alone was about the price of a Mac Plus.
 
or more.
 
Ric
 
------------------------------

From: MACINTOUCH (13340)
Subject: RE: Windows (Re: Msg 13323)
Date: 2-OCT-17:13: Business Mac
 
Well, I got a look at an AT running Windows on the color graphics
adapter thing today.  Yeah, the resolution is a lot better.  But I
think after an hour or two, my eyes would be rather tired.  It still
doesn't seem to have the sharpness of the Mac screen.  Give me a
Radius for the same money.
 
Ric
 
------------------------------

From: MACMAG (13133)
Subject: PAGEMAKER support
Date: 27-SEP 16:26 Business Mac
 
I am inquiring about Aldus's support. Here's the background:
 
We purchased a few PageMakers some time ago. Around here they cost
about $600 to $700. We did encounter many bugs and Aldus was unaware
of them.
 
It seems to me that when a company calls you back to help you out, you get the
impression of getting a good service... but it always turned out that they
really couldn't help us at all.
 
In fact it sometimes took 5 calls to them in order for them to admit
that there was actually a bug in their software ( I am referring to
the fact that you can't write a capital accented "A" properly... a
constant thing in non-US countries) ....
 
They also have the gull of asking you to pay $75 in order to get help (which
never seems adequate). Sure it's nice that they call you back, but I get the
impression they don't eeven know their own software.
 
Has anyone experienced such a thing or it is only a freak nuclear accident that
everytime we call they never can seem to give us "straight" answers...
 
Rich.
 
------------------------------

From: ROWLAND (13137)
Subject: MacApp status ?
Date: 27-SEP 18:50 Programming
 
Could some one brief me on the current status of MacApp - in
particular with reference to TML version 2 ?  I recently got
Schmucker's book on Object-Oriented Programming for the Mac and
haven't had so much fun since Abelson/Sussman's book.
 
Mike Burns
 
------------------------------

From: JEFFS (13145)
Subject: Excel Question
Date: 27-SEP 19:47 Business Mac
 
Is it possible to "compute" an external reference?  What I mean by
this is that instead of hardcoding "=File1!A1" I want the "File1" name
to be either a defined constant or the value of some cell.  I tried
defining a name to be "File1" but it kept using the defined name as
the file name.  I also tried writing a macro that concatenated the
string "='File1'!A1" together but non of the Excel functions would
"eval" that to be an external reference.
 
Can it be done?  It will save me LOTS of work if it can be done.
 
                                               Jeff
 
------------------------------

From: MACINTOUCH (13178)
Subject: Keeper Plus
Date: 28-SEP 10:48 Business Mac
 
Along with killing time looking at Windows the other day, I also spoke with
Sherman Uchill, the owner of Sherman Howe computer stores in Boston.
He had just seen a demo of Keeper Plus, now being sold by Reach
Technologies (800-523-8392 or 512-280-1977 in TX) and he was very
impressed with it.  It's apparently a true file server along with a hard disk,
and he claimed that it was much faster than other AppleTalk networks
he'd seen (he was pretty unhappy with Mac/Serve for a variety of reasons).
He also said it was exceptionally easy to use.
 
Keeper Plus seems to have the advantages of Mac/Serve's print spooling
and backup utilities, along with a file server architecture partially
based in hardware for performance.  This one might be worth a look.
 
Ric Ford
"MacInTouch"
 
------------------------------

From: BRUSSES (822)
Subject: Is there an HFS wizard in the house?
Date:  27-SEP 20:43 Programming Techniques
 
        In an application I've been working on, I want to have some of
my "SFGetFile" calls do some additional filtering through the use of
the optional filter procedure.  However, I've currently run into a
stumbling block.  My procedure decides which files to select by
scanning a table of entries, where each entry consists of a volume
reference number and a filename.  I obtain these entries from previous
calls to SFGetFile.  Since I'm using HFS, these reference numbers are
apparently "working directory reference numbers".
 
        When my filter procedure is invoked, the parameter block
passed to it contains an actual volume number instead of a working
directory reference number.  Needless to say, my procedure only works
if the files I am attempting to filter out live in the root directory
of the volume.
 
        In order to make things work properly, how do I make the
translation from volume number to working directory number in
Lightspeed C?
 
Bob
 
------------------------------

From: PEABO (823)
Subject: RE: Is there an HFS wizard in the house? (Re: Msg 822)
Date:  27-SEP 22:12 Programming Techniques
 
You need to have (1) glue routines for HFS, which don't exist in the
April release of LightspeedC, but which have been developed
independently by Dave Berry (DWB) and posted in the database here (or
perhaps in the MacSIG database under the topic Programming), and (2)
an understanding of HFS, which you can get from the HFS Programmer's
manual and a bunch of Tech Notes that pertain to the Standard File
Package and access HFS catalogs.  The Tech Notes are online here in
the Developers' SIG database, if you don't have them.  I think that
you would be better off buying the HFS Programmer's Guide from Apple
than downloading it here (it's huge) unless you are under a time
constraint.
 
If I am not mistaken, SFGetFIle returns the directory ID (a 32-bit number) in a
global variable in low core, and you can translate that into a WDRefNum by
calling the right HFS File Manager function.
 
peter
 
------------------------------

From: DWB (827)
Subject: RE: Is there an HFS wizard in the house? (Re: Msg 823)
Date:  28-SEP 23:22 Programming Techniques
 
Essentially, peter is correct.  The dirID of the directory SF last
loocked at is stored in the low memory variable, CurDirStore.  It is
the long at address 0x398.  It is also valid while your filter routine
is being called, (I think) and is definitely valid during event
filtering.  A dirID can be turned into a wdRefNum with OpenWD.
GetCatInfo can be used to turn a wdRefNum into a folder name and
dirID.
 
Good luck, let me know if you need any more help.
 
 
David
 
------------------------------

From: BRECHER (828)
Subject: RE: Is there an HFS wizard in the house? (Re: Msg 822)
Date:  29-SEP 05:38 Programming Techniques
 
A DirID (and vRefNum) can be used to make a new WD via OpenWD, but there is no
way to "look up" an existing WD via a DirID alone.  Pack 3 creates new WDs to
return to its caller.
 
At the time you create your table, it would be better to translate the WDRefNum
from SFGetFile to a vRefNum by calling GetWDInfo (not GetCatInfo). It would be
even better still to also include the DirID (also returned by GetWDInfo) in the
table, to accommodate multiple files with the same name on the same volume.
 
------------------------------

From: DWB (829)
Subject: RE: Is there an HFS wizard in the house? (Re: Msg 828)
Date:  29-SEP 21:59 Programming Techniques
 
OpenWD will return an existing wdRefNum instead of creating a new one if one
exists with the proper dirID and WDProcID.  Most applications use 0 for the
WDProcID, while SF uses something else.  I forget exactly what it is but it's
talked about in one of the Tech Notes.  Probably the best way to uniquely
identify a file is the triplet <vRefNum,dirID,name>. While we're at it, the
quickest way to open a file or do any operation on it by name is to use the
dirID and the name.  That combination can be looked up directly in the catalog
file.  Anything else will have to go through at least one translation along the
way.  The worst possible way to perform a named operation on a file is via an
absolute path name.  Each component of the path has to be separately looked up
in the catalog file.
 
David

------------------------------

From: MACINTOUCH (13257)
Subject: HyperNet
Date: 29-SEP 22:48 Business Mac
 
There are two crucial things about HyperNet that I think people might
want to know about.  The first is that it only supports MFS volumes!
A file-server client cannot access the file-server host's HFS volumes.
The second limitation is that HyperNet permits only _internal_
HyperDrives to act as hosts.  This means that even the HyperDrive
FX/20 external will not run HyperNet in host mode.
 
There are some advantages to HyperNet that make it a _possible_ alternative to
TOPS, but these will take some more exploring.  Stay tuned.
 
 
Ric
"MacInTouch"
 
------------------------------

From: MACINTOUCH (13258)
Subject: HyperDrive 2000
Date: 29-SEP 22:51 Business Mac
 
The Hyper2000 (Mac Plus version) is working rather well.  I've tried a
variety of Telecomm. and also audio programs with it, as well as many
other, and haven't encountered significant compatibility problems.  It
can be quite fast, especially using RAM disks or cache.  One runs into
configuration problems trying to use it with an external SCSI drive,
however.  It becomes impossible to auto-mount drawers (the SCSI drive
boots first, and becomes the startup drive, and must have had
HyperInstall run on it), and the RAM/cache is no longer configurable.
While the RAM disk contents remain across SCSI-startup boots, they
disappear if you then boot from the internal disk.
 
Ric
 
------------------------------

From: HSTARR (13299)
Subject: RE: HyperDrive 2000 (Re: Msg 13258)
Date: 1-OCT-02:35: Business Mac
 
If you remove the system and finder from the external SCSI drive(s) they will
not boot, but be available on the Hyper-2000
 
------------------------------

From: MACINTOUCH (13307)
Subject: RE: HyperDrive 2000 (Re: Msg 13299)
Date: 1-OCT-12:23: Business Mac
 
Harry,
Thanks for the tip!  You're right of course -- don't know why I didn't think
of trying that.  The other thing I discovered is that you can run the
FX Manager application from the Hyper to mount the FX/20.  The FX Manager
seems like a neat little application.  It's also the means of setting the
SCSI address for the FX.  Interesting.  It really _is_ done all by software.
 
Ric
 
PS The FX/20 external Hyper is _externally_ terminated, so you have to
have the terminator along with your SCSI-Mac cable.  All together though,
the FX/20 is friendly to other SCSI devices connected to the same Mac becuase
of the external termination and address selection ability... something we've
missed on other drives.
 
------------------------------

From: HSTARR (13313)
Subject: RE: HyperDrive 2000 (Re: Msg 13307)
Date: 1-OCT-23:09: Business Mac
 
Ric, Unfortunately, GCC have written their own SCSI manager, which replaces the
one in the Apple roms. The result is that the FX20 WON'T WORK on a Prodigy 4.
 
And while on the subject -- GCC haven't returned my calls regarding
this problem. Oh yes, they are very polite -- the Fx20 Project manager
is always in a meeting, and he WILL ring back. I often wonder why I
have this misplaced sense of loyalty to that bunch of hackers!!! --
Harry
 
------------------------------

From: MACINTOUCH (13263)
Subject: Hyper2000 vs. TurboCharger 2.0
Date: 29-SEP 23:43 Bugs & Features
 
Yes, I know it's an odd thing to do, but, I _like_ TurboCharger.  Altho the
Hyper2000 has its own cache, I tried to use Turbo with it.  A strange bug shows
up:  an ID=02 whenever you access a floppy disk.  Otherwise it seems OK.
 
Ric
 
------------------------------

From: MACINTOUCH (13272)
Subject: TOPS on HyperDrive 2000
Date: 30-SEP 01:26 Business Mac
 
Well, _this_ HyperDrive 2000 is running TOPS fine.  It's running over to a
Hyper20 512E and saved me a lot of aggravation by letting me copy 10MB of files
from an _HFS_ volume over to the other Mac.  (Hyper2000 is in a Mac Plus).
 
The only glitch, which I haven't completely figured out, is that you sometimes
have to Set Startup to the Start TOPS application (as described in the TOPS
docs).
 
Ric
 
------------------------------

From: MACINTOUCH (13274)
Subject: HyperDrive 2000 and MIDI
Date: 30-SEP 02:01 Business Mac
 
Looking for possible bugs, I hooked up the Hyper2000 Plus to a MIDI synth (
thanks to Thunderware for making it possible) and the sucker seemed to work
fine.
 
Ric
 
------------------------------

From: LOGICHACK (13324)
Subject: RE: HyperDrive 2000 and MIDI (Re: Msg 13274)
Date: 2-OCT-00:45: Business Mac
 
Ric:
 
I'm kinda curious about the performance of the Hyper 2000 compared to
the 3 to 1 TouchBoard from Human Touch.  Any info there?
 
Paul :)
 
------------------------------

From: BRECHER (13277)
Subject: DiskTimer Results
Date: 30-SEP 03:08 Hardware & Peripherals
 
These are reported results from the DiskTimer program as of Sept. 29, 1986.
DiskTimer measures performance on large (32KB) data transfers and on access
time (seeking, head movement).  The results are independent of the file system,
amount of free space, System and Finder versions, etc.  There is no direct
translation of these results to perceived performance in ordinary Mac usage.
 
Multiple results from the same drive by the same submittor which vary by not
more than 5% have been combined into one report by taking the best result
for each of the three tests.  Where three or more reports from different
submittors on the same drive were available, I have omitted those having
results on all three tests which fell between the best and worst shown below
for that drive.
 
Additional reports are welcome on hard disks not shown below or those which
have only one report so far.  Please disconnect Appletalk or other networks for
the test, since network activity generates interrupts that temporarily suspend
execution of the disk driver software.
 
                              ----- time in seconds -----
                              100 32KB  100 32KB   80 1MB
Model, Vendor  [Note]            Reads    Writes    Seeks   Reported by
---------------------         --------  --------   ------   ------------
Bernoulli Box 10+10 SCSI, Iomega  26.4     26.5      3.7    Netman, MacInTouch
DataFrame 20, SuperMac            33.6     33.5      6.9    Robert Wiggins
DataFrame 20, SuperMac            33.6     33.3      7.1    RONB/Delphi
DataFrame 20, SuperMac [1]        29.0     29.1      4.2    DWB/Delphi
DataFrame 40, SuperMac            13.4     13.7      3.8    Norman Fong
Easy Drive 40MB, DC Systems [2]   56.4     59.5      3.7    Tim Smith
Easy Drive 40MB, DC Systems [3]   18.2     42.3      3.7    Tim Smith
Easy Drive 40MB, DC Systems [4]   24.2     24.4      3.6    Tim Smith
Hard Disk 20, Apple              115.6    130.9      6.1    Steve Ellett
Hard Disk 20, Apple              162.5    166.7      6.1    Robert Wiggins
HD20SC, Apple (SCSI)              20.5     20.5      3.8    Norman Fong
HD20SC, Apple (SCSI)              20.5     20.6      3.9    P. Williams, Apple
HyperDrive 10 (64K ROMs), GCC    132.1*   131.8*     5.4**  Harry Conover
HyperDrive 10 (64K ROMs), GCC     25.1     25.1      7.8**  L. Randy Lee
HyperDrive 20 (64K ROMs), GCC     26.5     25.0      2.9    Steve Ellett
HyperDrive 2000, GCC              14.8     12.9      2.9    Harry Starr
HyperDrive FX20 (SCSI), GCC       20.5     30.5      3.8    Harry Starr
LoDOWN 20MB, LoDOWN               16.5     18.2      4.0    David Dunham
LoDOWN 20MB, LoDOWN               16.6     16.9      3.8    Steve Ellett
LoDOWN 20MB, LoDOWN               18.4     18.3      3.9    Michael Klickstein
LoDOWN 20MB, LoDOWN               16.5     17.0      3.5    Bill Steinberg
MacBottom (serial port), PCPC     68.0    112.8      9.1    Steve Ellett
MacBottom (serial port), PCPC     68.8    113.6      9.3    Robert Hafer, BCS
MacBottom HD21 (SCSI), PCPC       21.4     21.6      4.9    Steve Ellett
MacBottom HD21 (SCSI), PCPC       21.7     21.6      4.8    Bill Steinberg
MacDrive, Tecmar                 100.2    111.3      5.9    Chip Nicolais
Magic 20, Rabbit Industries       18.4     42.8      3.8    Larry Halff
MicahDrive 20 AT, MICAH            8.2      8.5      8.2    Rob Hahn
MicahDrive 20 AT, MICAH            8.2      8.2      7.2    Ted May
OverDrive 20/Prodigy 4, Levco     51.4*   142.9*     4.7    Harry Starr
Photon 20, Warp Nine Engineering  23.4     28.7      3.9    Duane Williams
ProApp20, ProApp                  13.3     24.0      3.3    L. Randy Lee
S-20+, Peachtree Technology, Inc. 21.6     21.6      4.9    L. Randy Lee
 
note 1:  512E with Levco SCSI add-on and MonsterMac RAM upgrade
note 2:  1:1 interleave (as shipped)
note 3:  3:1 interleave
note 4:  4:1 interleave
 
*  This result appears anomalous; it should not be taken seriously pending
   some explanation of what might be the cause, as it diverges widely from
   other tests of this model and/or experience in its use.
 
** On HyperDrives, the seek test provides meaningful results only when run
   from a drawer which is contiguous for more than 1MB.  Whether this was
   the case for these results is not known, but the results suggest it
   was not the case.

------------------------------

From: MACINTOUCH (13278)
Subject: MacPaint/Clipboard patch?
Date: 30-SEP 16:23 Bugs & Features
 
Does anyone have a (Fedit) _patch_ to work around MacPaint's problems with
finding the Clipboard in HFS volumes??
 
Ric
 
------------------------------

From: MACINTOUCH (13279)
Subject: DiskExpress vs. HyperDrive 20
Date: 30-SEP 16:26 Bugs & Features
 
I made a real mess out of a Startup drawer by setting the default to a
different drawer and running DiskExpress on Startup from the other
drawer.  All the files got trashed, not just the System or Finder,
although they sort of _looked_ OK.  I don't know what went wrong, but
I'm not anxious to spend more time on more "experimenting" Running
DiskExpress on the HFS non-Startup drawer seemed to go OK.
 
Ric Ford
 
------------------------------

From: HSTARR (13300)
Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13279)
Date: 1-OCT-02:39: Bugs & Features
 
Use Hyper tools instead -- it is safer.
 
------------------------------

From: MACINTOUCH (13308)
Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13300)
Date: 1-OCT-12:24: Bugs & Features
 
The thing about DiskExpress is that it allows you to _really_ optimize
the disk, separating applications and data and placing them where they
belong for best performance.
 
Ric
 
------------------------------

From: HSTARR (13314)
Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13308)
Date: 1-OCT-23:12: Bugs & Features
 
This really only applies to a normal SCSI of other drive. With the
Drawer scheme used on the Hypers (and I guess on the MICAH's), there
is an extra layer of fragmentation we have no control over.
DiskExpress's optimization cannot guarantee physical drive
optimization.
 
However, it can reduce file processor overhead by reducing the allocation clump
numbers, possibly reducing the number of C-File lookups to 0.
 
-- Harry
 
------------------------------

From: BRECHER (13333)
Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13314)
Date: 2-OCT-08:14: Bugs & Features
 
MicahDrive subvolumes are contiguous; HyperDrive drawers are not necessarily
contiguous.  The drawers scheme provides more flexibility, at the expense of
complexity.
 
Why did GCC bypass the SCSI Manager?  FX20 DiskTimer results do not
indicate the reason for doing so.
 
------------------------------

From: PIZZAMAN (13284)
Subject: new Apple IIgs
Date: 30-SEP 20:38 Hardware & Peripherals
 
Note on the Apple IIgs. Got a chance to play with one today at my Apple dealer.
Was very impressed with the color and sound, but was pretty dissapointed in the
user interface. The little gem had two external disk drives, and didn't seem to
recognise anything that  was placed in them. You had to hold down three
different keys in order to boot what was in the drive, and it wasn't very
intuitive. In fact, it didn't even work the first two times the dealer tried to
boot the demo's.
 
The second thing that was immediately obvious was the slowness to do
anything.  In the color macpaint facsimile, it took what seemed like
minutes to load in the different demo scenes that it had. Very
slooooow!
 
The music demo was pretty impressive with the Bose speakers. However,
again, the user interface was for the birds. You couldn't easily
figure out how to get the disks ejected, and the icons were totally
insane. Couldn't tell what any of them were for. You get pretty
spoiled with the Mac, what with every program working under the same
guidelines, including the simple task of quiting the program and
ejecting the disk.
 
I don't think the Mac has anything to worry about, unless you want to sit in
front of the screen going ga-ga over the pretty color pictures.
 
 
Barry
 
------------------------------

From: BMUG (13285)
Subject: RE: chinese word processor
Date: 30-SEP 21:18 Network Digests
 
TO: AEBERSOL%WILLIAMS.BITNET@WISCVM.WISC.EDU Subject: chinese word processor
 
Dennis -
 
At last week's BMUG meeting, we saw a demo of FEIMA, a Chinese word
processor.  It appeared to be TERRIFIC for entry of Chinese text.
I'll UL a file containing some pictures as soon as I can find it.
 
-- Raines Cohen
SYSOP, BMUG BBS
 
------------------------------

From: PEABO (13318)
Subject: Report on LightspeedC 1.5
Date: 1-OCT-23:42: Programming
 
The Boston Computer Society MacTechGrp had as its feature presentation tonight
the public premiere of LightspeedC version 1.5.  Michael Kahl of THINK
Technologies, the author of the compiler, presented the product on the 6-month
anniversary of the first shipments of version 1.0  There are many enhancements
in version 1.5, and I'll mention them in the same order as they were
demonstrated.
 
First, many people have noted that the most time-consuming part of a
test cycle seems to be relaunching Lightspeed after quitting the
application. Version 1.5 provides instant "relaunch" by sensing when
it has been initiated under Switcher and using Switcher to launch the
program being tested in another partition.  This means returning to
LightspeedC takes place without noticeable delay when the application
exits, and that if the application being developed is working well
enough to run its event loop reliably, that you can switch back and
forth betweeh LSC and the application at will if you need to look at
source code.  The audience got quite a charge out of seeing
LightspeedC running a development copy of LightspeedC, which in turn
was running a small test application!  (It requires quite a bit of
memory to do that though, since it means having two copies of LSC plus
the application in memory at once ... use at least one meg.)
 
Next we saw a demo of the DA Shell, which is a small program that is
automatically launched for testing Desk Accessories.  It seemed to work very
well (a similar program is used by Lightspeed Pascal to test DAs). One nice
feature that was included is a Relaunch item on the menu of DA Shell, good for
testing "goodbye kiss" logic.
 
The Editor has a large number of nifty new features, many of them based upon
taking advantage of the integrated edit-compile-link environment.  Undo works!
Mac Plus cursor keys work, with variations based on using shift and/or option.
Syntactic checking is enhanced by use of a Balance command that hightlights the
portion of text that contains a balanced pair of parentheses, brackets, or
braces.  Combined with the Find command (on the { character) it can be used to
step through your program text one function at a time, for example.
 
Doing an option-double-click on the name of a globally defined variable causes
the file containing the definition of that variable to open and the search
function to be initiated for it.  This uses information known to the linker for
determining which module to open.
 
Option-click on a source window title bar causes a scrolling menu of filenames
included in the module to drop down from the title bar so you can open an
included file without losing your insertion point (a problem with the Open
Selection menu item of the original release).
 
Zoom boxes are implemented on all windows, and there is a new Windows
menu containing commands for bringing windows to the front (command
key equivalents are Cmd-0 for the Project Window and Cmd-1 though N
for the source windows).  The Windows menu also contains clean up,
zoom, close all, and save all.  The Project window has some
standard-file-like keyboard navigation tricks.  Typing the first few
characters of a module name selects the first occurence of a matching
name, and Tab alternates among all names matching.  Cursor arrows go
up and down in the list, and Return opens the module for editing.
 
HFS support has greatly improved.  Where the original version LSC would search
in only 3 HFS directories (the one containing the source file, then the one
containing the Project file, and finally the one containing the compiler), the
new version treats the subtrees anchored at those directories as the set of
places to look.  When a file is first found in this fashion, its directory
location is remembered in the project so that it can be found more quickly the
next time.  If you subsequently move it, the tree search will be repeated to
find it again.  If you move a large number of files, or transport a whole
project to another directory structure, you can easily rebuild LSC's
recollection of the location of files by using the Use Disk option in Make to
find all the files.
 
You can also shield subtrees which would ordinarily be included in the
search by placing them in directories wholes names begin and end with
parentheses (like "(backup)" for example).
 
The full support of Inside Mac vol 4 HFS libraries, included
definitions, and glue routines is now standard, and the UNIX-like
stdio package has been modified to work in a Macish windowed
environment in lieu of the white screen.
 
The compiler's code generator has been improved by 4-8% space efficiency though
the use of short branches.  All backward branches are shortened if possible and
the great majority of forward branches are as well.
 
The compiler now supports inline assembly in a particularly slick
fashion.  Rather than just emiting assembly code in between #asm ...
#endasm as most compilers do that have separate assembly phases, LSC
integrates the semantics of assembly language into the syntax of C.
The construct is asm {...} in the form of a block that can be used
anywhere a C statement can, and the assembler code can reference
global variables, local variables, function parameters, and even
offsets into structures (using the macro
OFFSET(structure-tag,field-name) in place of the byte offset in an
instruction).  Macro substitution uses normal C language preprocessor
macros.  We didn't see enough of the code to tell if there were any
major syntactic differences from normal assembly language code, but
there are a few nice things, like being able to omit the reference to
A4/5 or A6 if the compiler sees the name of a global or
local/parameter.  You can even reference register variables by using
the name of the variable!  You can write your own glue routines by
using the trapnames for register-based traps.  A dc instruction is
available for imbedding constants into the code segments.  Jump and
goto statements can be used to transfer between sections of C code and
sections of assembler code.  Break, continue, and return act as they
would if they were used outside the asm block.  Either C-like or
assembler-like comment conventions can be used.
 
The compiler also interprets and enforces function prototypes like
   extern pascal Handle abcfunc(short, char **, Handle); 
and checks calls to the function declared as a prototype for number of
arguments, type mismatch, and need for coercion (i.e., longs and
shorts will be coerced appropriately, so you don't wind up with
strange errors in argument list offsets).  A function prototype can
also specify a tail of zero or more unchecked arguments, as is needed
by the stdio routines fprintf, etc.  The declaration void * is
accepted as a pointer of unspecified and universally compatible type.
Functions defined in a module which contains a previous prototype
declaration get validated to be sure that the definition matches the
declaration.
 
There is not any way of emiting a prototype file of all the defined
functions in your module though.  You have to do that manually.
 
The Options dialog (which used to be a separate menu item) now has
some options to control whether protypes are required or not and
whether type checking of pointers is done.  While there are no
prototype definitions for the Mac Toolbox, the validation used by the
original LSC version still applies, and in addition the stdio
functions have had prototype declarations included in include files.
 
LightspeedC 1.5 is being shipped to selected beta test sites next
week, and with any luck will be available to registered owners around
the end of October.  The upgrade is FREE to all registered owners of
LightspeedC, in appreciation for their early support.
 
peter
 
------------------------------

End of Delphi Mac Digest
************************

-------