[fa.info-mac] Info-Mac Digest v2 #6

info-mac@uw-beaver (02/26/85)

From: John Mark Agosta <INFO-MAC-REQUEST@SUMEX-AIM.ARPA>

Subject: INFO-MAC Digest   V2 #6



INFO-MAC Digest          Tuesday, 26 Feb 1985       Volume 2 : Issue 6

Today's Topics:
                        new files from Compuserve
                      Resource Editor Documentation
                       1/15/85 resource editor...
                            Absoft MacFortran
                          Absoft Fortran review
                   Extended user interface guidelines
                        BCPL Development system?
                         Memory test on a 512k?

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

Date: Sat 23 Feb 85 09:17:50-PST
From: Gus Fernandez <FERNANDEZ@SUMEX-AIM.ARPA>
Subject: new files from Compuserve

The following files have been brought over from Compuserve.

   BINHEX.HEX - An updated version of Binhex 4.0 in the oldest HEX 
format read by the original BINHEX in MS BASIC (if anyone still uses
that.)  Note that this is NOT the INFO-MAC FROMHEX format.

   SEMINAR.HCX, SEMINAR-REG.HCX - Two MacWrite documents describing a 
series of upcoming Macintosh development seminars in various cities in
March and April. The first is the info sheet, and the second is the 
registration form.

   Skipfinder.HCX - A transfer desk accessory to allow you to skip the
finder.

                                                Gus Fernandez
                                                FERNANDEZ@SU-SCORE
                                                71425,1456

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

Date: Sun, 24 Feb 85 16:04:37 pst
From: Larry Rosenstein <lsr%apple.csnet@csnet-relay.arpa>
Subject: Resource Editor Documentation

I just received some documentation on the resource editor, and so I
thought pass along a summary of it.

[ This file has been coped and saved in <info-mac> resedit.doc -jma ]

I assume that you have used the resource editor already, and so I will
describe only the things that are not very obvious.  Also, this 
documentation applies to the Resource Editor of 2/6/85, which is
somewhat later than the version that has been posted already, so I
don't know how much of the following is applicable to the old version.
(Please don't ask me to post the resource editor, it is available in a
variety of places including CompuServe, USENET, and the Info-Mac
archives.  I expect that the latest version will be available soon,
since it has just gone out with the latest Software Supplement.)

- ----------

The first thing to note is that the resource editor still has some
bugs in it, so you are advised to backup your resource files before
editing them.  It is recommended that you NOT edit the resources in
the currently open System file; use a system file on a non-boot disk.
Also, never reboot before closing all file windows, otherwise your
resource files may be in an inconsistent state.  The resource editor
does not check for write protected disks.

- ----------

Some definitions:

Disk Window: 1 per disk inserted in the machine, displays all resource
  files on that disk.  File Window: 1 per opened resource file,
displays all resource types
  contained in the file.  Type Window: 1 per opened resource type,
displays all the resources of that
  type. Edit Window: 1 per opened resource, allows you to edit the
resource.


Some Useful Hints:

In the disk window, clicking the go away box, ejects the disk.  You
should be careful about ejecting hard disks, RAM Disks, etc.

You can double click on an item (file name, type name, ...) to open
it.  In general, if you hold down the option key while openeing an
object you will get the default view of that object.  For example, if
you open the ICON resource type you usually see pictures of the icon
resources.  If you hold down the option key, however, you will see the
default display that gives the the resource name & number.

The name of a font is stored as the name of a resource with font size
0, which is not normally displayed.  If you want to change a font
name, bring up the generic list of font resources by holding down the
option key while you open the FONT resource type.  Then you can use
the Get Info command to edit the appropriate resource name.

In a Type Window: if you hold down the option and SHIFT keys while 
opening a resource, you will be asked to enter an alias resource type.
This is useful, for example, with the version resources that
applications have.  They are really string resources but with a
special resource type.  You must be careful because the resource
editor does not do much checking to see if the resource is really of
the type you say it is.

Besides selecting and copying (cutting, etc.) individual resources,
you can select a resource type and copy all the resources of that
type.

If you hold down the option key during a copy or cut the selected
objects are appended to the clipboard file.

In a Disk or File Window: Typing a character scrolls the list to the
first item beginning with that letter (as in the Standard File
dialog).

To install a new icon (something everyone has been waiting for):  
First edit the icon in the application.  Then edit the Desktop file to
make the Finder install the new icon.

  Open the Desktop file.
  Find the BNDL resource that contains OwnerName = <your application
    creator> & remember its ID.
  Open the BNDL and write down the types and rsrcID's (not localID's)
    of all the resources it "bundles".  (Usually FREF and ICN#.)
  Remove from the Desktop file the following resources: the BNDL, the
    resource with the same type as your application creator, and the
    ones you wrote down.
  When you exit the resource editor your new icons should appear.

In edit windows, you will often find lists of items seprated by
something like *****.  To edit such a list, select one of the
separators and use the appropriate editing command.  (Cut applies to
the element following the selection.)

- ----------

Extensibility

The resource editor has specific code to edit certain types of
resources (icons, cursors, patterns, fonts, etc.)  This is done with
special resources of type RSSC.

When you open a Type or Edit window, the resource editor looks for an
RSSC resource whose name is the same as the resource type. If it is
found, it is loaded and executed as code (much like a driver).  This
piece of code handles both the Type and Edit windows.  I don't have
any information on how to create specialized editors, so I can't tell
you the format of this resource.

There is another level of extensibility, using resources of type TMPL.
If one of these is found for a particular resource type, it is used to
generate the dialog allowing you to fill in the fields of the
resource.  The TMPL resources will handle all the resource types that
the Macintosh uses and most structures that can be defined by a Pascal
RECORD type.

When you create a TMPL resource, you specify a series of fields (much
like a RECORD definition).  Each field has a name and type.  The
following are the allowed types (all 4 characters):

  DBYT, DWRD, DLNG: decimal byte, word, long
  HBYT, HWRD, HLNG: hexidecimal byte, word, long
  HEXD: hex dump of remaining bytes in resource
  PSTR: Pascal string
  LSTR: long string; long length followed by characters
  ESTR, OSTR: Pascal string padded to even, odd length
  CSTR: C string
  BOOL: Boolean
  BBIT: binary bit
  TNAM: type name (like a resource type -- 4 characters packed into a
long)
  CHAR: character

There are also array-like types.  Each of these consists of a list 
beginning field, followed by any other fields, followed by a list end
field.  Each element of the list consists of the record defined by the
types in the middle.  There are several list types (use these to start
a list):

  LSTZ: list with a trailing 0 byte
  ONCT/LSTC: the ONCT is an uneditable count and the LSTC begins the
list
             itself; this list is indexed from 1
  ZCNT/LSTC: like ONCT only indexed from 0
  LSTB: list that ends at the end of the resource

The end of the fields that make up each list element is marked with a
LSTE field.  Lists can be nested (look at the TMPL for BNDL
resources).  The name of the fields used to start/end a list are used
as the separators of the list elements.

This TMPL stuff is difficult to explain, but there are lots of
examples in the resource editor.  You can use the resource editor to
edit itself and install or modify a TMPL resource.  The next time you
edit a resource of that type, the resource editor will use the latest
TMPL.

Good luck.

Larry Rosenstein

UUCP:  {nsc, dual, voder, ios}!apple!lsr CSNET: lsr@Apple.CSNET

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

Subject: 1/15/85 resource editor...
Date: 25 Feb 85 09:30:28 EST (Mon)
From: Christopher A Kent <cak@Purdue.ARPA>

Well, I've just finished hacking about with the new Resource Editor 
(prototype 0). It's neat, but it has problems...

My canonical test is to try to edit the fonts inside MacTerminal. The 
ResEd can't handle it -- the negative short fontID seems to throw it 
off. Opening a font by double-clicking gets a System Error box, id 10 
(line 1111 exception, "Usually a breakpoint", according to Inside
Mac.)

I tried the trick of renumbering the font to be a random 9 point font 
in the Get Info dialog box (I used font 20, id = 20*128+9 = 2569) (and
couldn't figure out how to get it to display the name I assigned -- 
ResEd seems to have a built-in list of well-known font names); when I 
try to open that font, the Mac just locks up. So then I tried 
renumbering to Monaco-9. It displayed the name as Monaco-9, but
opening the font caused the Mac to lock up again.

I was able to edit fonts from the System file just fine, by the way.

Any ideas? Apple? Or should I just wait?

Cheers, chris

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

Date: Thu 21 Feb 85 16:44:06-MST
From: Bill Salmon <SALMON@UTAH-20.ARPA>
Subject: Absoft MacFortran


I've been using MacFortran quite a bit, partly to investigate its 
possible role in our CS101 Fortran class.

MacFortran runs very well on a RamDisk (I've been using a
public-domain RamDisk downloaded from CompuServe): it compiles long
programs at rates of almost 5000 (yes, thousand!) lines per minute.
Running on floppies, the rate is only 200-300 lines/min.  My reaction
is that I like it on a RamDisk, but not so much on floppies.

The compiler appears to be pretty good:  so far, it has compiled all 
the stuff I've given it, and the code runs quickly.  It is a FULL F77 
with some 8x extensions (recursion, generalized loops, bit operations)
thrown in.

My main complaint is that the runtime package does not trap and
recover from runtime errors.  If you have a fatal error in a format
specification or mismatched parameter lists, the whole machine
crashes!  This badly needs fixing, and this one problem alone will
keep us from using MacFortran in teaching for the time being.

My secondary complaint is that the documentation, while adequate (as
these things go), is far from wonderful. There are very few examples 
and the index could be a lot better.

Bill Salmon, Univ. of Utah Computer Science Dept.  (Salmon@Utah-20)

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

Date: Sat, 23 Feb 85 21:45:21 pst
From: Michael Peirce <peirce@lll-crg.ARPA>
Subject: Absoft Fortran review


I'm forwarding this for a friend who's not on the net...
- -------------------------------------------------------- From:
AZTECH::JONES 6-FEB-1985 15:43 To:  TAMIE::SMUC Subj:  My review of
MacFortran for ARPAnet consum[Dption

Review of: MacFortran

Producer:  ABSOFT[D Corp.
           4268 N. Woodward
           Royal Oak, Michigan 48072

Price:  $295 plus shipping (and tax in Michigan)

MacFortran is a product which is "advertised" as being a product to
make the Macintosh compatible with large main-frame computers.  After
having used it for about a week, it seems to live up to that claim,
and makes a good development tool for the experienced user, but is
definitely not for the novice working without guidance.  It could,
however, be a reasonable candidate for an educational enviornment.

The MacFortran is a full implementation of FORTRAN-77 that is
compatible with the Macintosh Finder.  This is in contrast with the
FORTRAN-77 Development Package from SofTech, which is only the
standard subset of FORTRAN-77 and is incompatible with the Finder (it
has its own p-code operating system).

The compiler is "menu driven" in the same manner as the vast majority
of software on the Macintosh.  Furthermore, the end product of the
compile sequence is an "application" which the Finder recognizes and
will execute directly.

The compiler runs at a good speed, and compares favorably with large
main-frame compilers when the differences in CPU "horsepower" are
taken into account.  Its features list also compares favorably the
main-frames, as MacFortran has only 6 "gotchas" on its
incompatibilities page, which is less than most of the compilers
around for main-frame computers.  Additionally, the "gotchas" are of a
very minor nature.  It does have some extensions over the standard
definition of FORTRAN-77, notably, it has an INCLUDE feature, and it
will handle recursion.

Included in the MacFortran package are two utilities from Apple: a
disk-based editor that will handle larger files than MacWrite will,
and a copy of RMaker which is a resource manager.  Also included are
several example programs, an interface to the Macintosh "Toolbox", and
an order form for "Inside Macintosh" from Apple.

There are a few minor bugs that I have noticed in the compiler:  it
will eject whatever disk is in the internal drive for insertion of the
"signature" disk, even when the "signature" disk is in the external
drive.  Another minor problem exists in programs that (try to) send
output to the printer when they are run from the external drive in
that the output ends up in a file rather than on paper.  Also,
run-time errors are undocumented, and some strange things can happen
if the compiler runs out of disk space.

The reference manual that comes with MacFortran is reasonable, but is
just a reference manual and NOT a tutorial on FORTRAN.  One of the
commonly available tutorials on FORTRAN would be a wise investment if
one has been away from FORTRAN for awhile.  One minor problem with the
manual is that it comes "configured" for a non-Mac enviornment and has
two "reconfiguration" chapters for Mac enviornment, but does NOT
include a "reconfigured" table of contents or index.  The index also
has room for improvement.

One caution:  MacFortran, with all of the associated files, takes up
most of a disk, and requires additional space for scratch files.  A
very large number of disk swaps would be required to compile with a
single drive system.  I also suspect that something like a HyperDrive
would significantly improve the performance of MacFortran.

Documentation is provided on interfacing with assembly language
routines, but I have not had the opportunity to investigate it.  One
area that is open to investigation is interfacing modules from other
languages.

All in all, I feel that MacFortran is a good buy, and can be a very
useful tool to the software professional (or advanced amatuer) who
wishes to use his Mac as a desk-top main-frame.  Of a "universe" that
ranges from "not worth the disks its distributed on" to "very good",
MacFortran is at the top, but anyone using it should realize that it,
like any software, has a few bugs and some room for improvement.

                                                Clark Jones
                                                P.O.Box 56064
                                                Phoenix, Az 85079

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

Subject: Extended user interface guidelines
Date: 25 Feb 85 09:43:29 EST (Mon)
From: Christopher A Kent <cak@Purdue.ARPA>

I have a couple of User Interface extensions that I'd like input on.  
I'm implementing an editor of sorts, and would like to provide the 
facility to include one file in another. I realize that the right
thing to do is to handle multiple files at once, and just use cut and
paste, but I'm only prepared to handle one file at a time right now. I
thought about adding an "Insert" entry to the File menu, or changing
"Open" to be "Insert" when there is already a file open. Anyone care
to comment or suggest alternatives?

I also need a zoom control. I thought about putting a scroll bar on
the left edge of the window -- how would people feel about that? If
there was more than one button on the mouse, I could just assign it to
some mouse click combination, but... Any suggestions here? I want to
avoid having to go to a menu for every zoom.

Have you ever been frustrated by having so many occluded windows on
the screen that you can't find the one you need? Would you find it
useful to have a key press that says "Make this window the bottom
window"? I was thinking of trying to implement this, perhaps as
option-mouse in the title bar, similar to clover-mouse (which moves a
window without making it active.)

Cheers, chris

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

Date: 23 Feb 85 23:06:09 EST
From: Jeffrey Shulman <SHULMAN@RUTGERS.ARPA>
Subject: BCPL Development system?

I noticed an ad in March's BYTE for MAC BCPL from a company called 
TOPEXPRESS LIMITED located in London England.  The ad says it is a 
"complete program development system for the MACINTOSH."  I have been 
looking for an alternative to C to develop applications on a 
stand-alone MAC but, before I send my $175 for it, can anyone give me 
the low down?  If I receive enough replies I will summarize to the 
net.  Thanks.

                                                Jeff

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

Date: Mon 25 Feb 85 01:57:50-PST
From: Jim Lewinson <a.Jiml@SU-GSB-WHY.ARPA>
Subject: Memory test on a 512k?

I tried running the second 8 hour memory test ("March IV"?) on on my 
512K Mac, and about 80 hours later, it still wasn't done. All of the 
other tests ran fine.  The tests are supposed to take about 4 times 
longer on a 512K, so this seems excessive.  Has anyone gotten that 
test to work?
                                        Jim

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

End of INFO-MAC Digest
**********************
-------