[mod.computers.macintosh] INFO-MAC Digest V4 #14

INFO-MAC-REQUEST@SUMEX-AIM.ARPA (Moderator William J. Berner) (02/22/86)

INFO-MAC Digest         Saturday, 22 Feb 1986      Volume 4 : Issue 14

Today's Topics:
                             FontDisplay 3.1
                        Juki 5510 printer driver
                               Mac+ Cables
                          BUG in MS-FORTRAN 2.1
                        Usenet and Delphi digests
                              Switcher V4.6
                        FastEddie2 (new release)
                             MacTerminal 2.0
                    T.M.L. review and bug workaround
                      Re: INFO-MAC Digest   V4 #12
                            MacInker [query]
                   Overheating vs. power surge dilemma
                        MAC-Plus upgrade costs??
                           MockWrite under HFS
                            MacTerminal V2.0


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

Date: 21 Feb 86 11:27:26 EST
From: Jeffrey Shulman <SHULMAN@RED.RUTGERS.EDU>
Subject: FontDisplay 3.1

	Despite the efforts of myself and my beta testers, a bug managed to slip
out.
[FONTDISPLAY 3.1 CAN BE FOUND AS [SUMEX]<INFO-MAC>UTILITY-FONTDISPLAY-31.HQX
--BB]

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

Date: Fri 21 Feb 86 08:49:37-PST
From: CRUZ@SRI-KL.ARPA
Subject: Juki 5510 printer driver

Does anyone know where I might be able to get a driver for the Juki 5510 dot
matrix printer (preferably public domain)?

Please send replies directly to me.  Thanks in advance.

Wayne Cruz (CRUZ@SRI-KL)

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

Date: Fri, 21 Feb 1986 12:18 EST
From: Dave Elbon  <SYSDAVE%UKCC.BITNET@WISCVM.WISC.EDU>
Subject: Mac+ Cables

Could someone post a pin diagram for the Mac+ modem port?
Acknowledge-To: Dave Elbon <SYSDAVE@UKCC>

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

Date: Fri 21 Feb 86 09:54:25-PST
From: Barry Eynon <EYNON@SU-SCORE.ARPA>
Subject: BUG in MS-FORTRAN 2.1

After several late nights and a couple of calls to Microsoft, I finally
isolated what was causing me problems: In MS-FORTRAN 2.1, the IMPLICIT
statement is not being applied to function types and subroutine and function
arguments. I.e. if like me you are importing scientific code, you will often
have something like:

	PROGRAM FOO
	IMPLICIT DOUBLE PRECISION (A-H,O-Z)
	DIMENSION X(30)
	...
	CALL SUB1(X)
	...
	SUBROUTINE SUB1(Z)
	IMPLICIT DOUBLE PRECISION (A-H,O-Z)
	DIMENSION Z(30)
	...

Here, in Fortran 2.1, Z is treated as single precision equivalenced to
X, which means it appears to have garbage in it, and will trash X if you
assign to it. The fix is to explicitly declare all subroutine arguments and
function types. MS admits this is a bug, but they would not say when a
corrected version of the compiler would be available. I think this can really
mess you up, particularly when importing code, so pass the word.

Cheers,
-Barry Eynon <EYNON@SCORE>

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

Date: Fri, 21 Feb 86 10:49 PST
From: Dave Platt <Dave-Platt%LADC@CISL-SERVICE-MULTICS.ARPA>
Subject: Usenet and Delphi digests

Here's a vote for sending the Usenet and Delphi digests out
via the standard Info-Mac mail channel, rather than simply posting
them for ftp... my site doesn't support TCP/IP/FTP, and can't download
them.  Also, the ftp-only policy would seem to leave any BITNET and
CSNET sites out in the cold.

Maybe the Usenet and Delphi digests should be sent out "under separate
cover", in a fashion similar to the way in which Info-Postscript
digests are redistributed to the Laser-lovers list?

Any other votes?
[PLEASE! NO OTHER VOTES!  The digests will (at least for now) be distributed,
although probably in an	Info-Mac digest of their own.  --BB]

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

Date: Fri, 21 Feb 86 11:18 pst
From: "pugh jon%b.mfenet"@LLL-MFE.ARPA
Subject: Switcher V4.6

Hi.

Here is the newest version of Switcher (4.6) that works with the
HFS.  I got it from the A32 group in Palo Alto.

                                        Jon
[This has been archived under [SUMEX]<INFO-MAC>SWITCHER-V46.HQX
--BB]21-Feb-86 11:32:50-PST,756;000000000001

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

Date: Fri 21 Feb 1986 14:32:03 EST
From: <OBRIEN@LL.ARPA>
Subject: FastEddie2 (new release)

   Does anybody know anything about the "programmer's editor" called
FastEddie?  There were comments some time ago about it being buggy and
dangerous, so I stayed away.  There is a new version out (FastEddie2).
Has it fixed the bugs?  How good is it as an editor, as compared to MDSEdit?
   If anyone uses either version on a regular basis, or has heard any
good/bad points about it, please post.

                                       -- Tom O'Brien

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

Date: Fri, 21 Feb 86 11:40 pst
From: "pugh jon%b.mfenet"@LLL-MFE.ARPA
Subject: MacTerminal 2.0


I have been using a copy of MacTerminal 2.0 and, hoping that this will get
back to Mike Boich and Martin Haeberli, I have a few comments about it.

First of all, it is nice to be able to toggle the backspace/delete key, but
it needs to repeat as a delete also.

Second, there seems to be a problem when running under the Switcher.  I cannot
copy any text.  I get a Insufficient memory dialog and it don't go.  I have
tried giving it up to 512K of memory (I have 2 Meg) but it just won't fly.
I suppose it could be my upgrade, but I doubt it, since I have run just about
everything else on it. (By the by, I got the MassTech board and it just clips
on and off and comes with a fan too.  I love it!)

Aside from that I notice no real differences between this version and the last.
I use it as a VT100, so I am doing nothing tricky.  I haven't checked to see
if the disk still whirs, I put my log file in a RAMdisk so it won't fill up
my disk.  RAMdisks don't whir.

Jon

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

Date: Fri, 21 Feb 86 12:03:57 pst
From: oster%ucblapis@BERKELEY.EDU
Subject: T.M.L. review and bug workaround

I like and use T.M.L. Pascal.  The price to value ratio can't be beat.
I've found it quite compatible with Lisa Pascal, and it is such a pleasure to
get out of the stupid Lisa environment.

Also, unlike C, I get strict type checking of pointers and the ability to
pass procedures to the ROM without a lot of in-line assembly language
or glue routines. (And, unlike C, Inside Mac directly applies!) (Please,
no flames, It's just I find C without lint or make to be pretty undebuggable.
(This is solely a reflection on MY abilities as a programmer.))

Since the compiler generates .Rel files directly, by default, (though it will
generate .Asm on request), the compilation is faster than with compilers that
can only generate .Asm files.
{ --- --- --- --- }
Incompatibilities:
  A.) No support for separate compiliation -- this is by far the worst thing
  about the compiler.
    To create a seperately compiled unit, basically, you must
    1.) ask the compiler to generate an .Asm file instead of its normal .Rel,
    2.) edit the .Asm file to remove global entrypoints you don't want
	  (such as the one for the program starting address)
    3.) compile it with the MDS assembler.
    4.) Then edit the Pascal source code for the unity to create a .iPas file
	  of external declarations to be included in everything that uses the unit.
	  this .iPas file should also incude a {$U file} directive so that the
	  .Link file produced by compilation will include a reference to the
	  compiled code.

    The good part of all this labor is that you really think about your code
    before you undertake to break it up.  You wind up writing managers, in the
    style of the Mac managers.

  B.) In Lisa Pascal, INLINEs may be as long as you like. In T.M.L. INLINEs must
	be  2 bytes long.
  C.) Although you can create pointers to procedures, you can't execute them.
	The following two files are a work around for this.  They define a function,
	Apply, that takes a collection of arguments and a ProcPtr and applies the
	ProcPtr to the arguments.  Since Pascal does not allow Variadic functions,
	you need a different version of Apply for each class of use.  So, I
	predefine a .Rel file that has Apply0 to Apply9 defined, and add Pascal
	declarations to the .iPas file as I need them.

	Sure made writing QuickSort easier!.
[THIS MESSAGE HAS BEEN ARCHIVED UNDER [SUMEX]<INFO-MAC>TML-PROCPTR.TXT
--BB]

{ --- --- CUT HERE --- --- }
;File: Apply.Asm
;Author: David Phillip Oster
;Date: 12/25/85
;Purpose: Provide the glue by which TML Pascal can use PorcPtrs.
;Distribution: This file is in the public domain.

	XDEF	Apply0
	XDEF	Apply1
	XDEF	Apply2
	XDEF	Apply3
	XDEF	Apply4
	XDEF	Apply5
	XDEF	Apply6
	XDEF	Apply7
	XDEF	Apply8
	XDEF	Apply9

Apply0:
Apply1:
Apply2:
Apply3:
Apply4:
Apply5:
Apply6:
Apply7:
Apply8:
Apply9:
	MOVE.L	(SP)+,A0	;Pop Return Address
	MOVE.L	(SP)+,A1	;Pop Last argument, i.e., ProcPtr
	MOVE.L	A0,-(SP)	;Push Return Address
	JMP	(A1)		;Dispatch to ProcPtr
{ --- --- CUT HERE --- --- }
{$U Apply }
{ Author: David Phillip Oster
  Date: 12/25/85
  Title: Apply.iPas
  Distribution: This file is in the public domain.
  **************
  TML Pascal does not support procedures to functions, but this takes
  a procPtr as a last argument, and applies it to previous arguments.
  Since it cannot be written in Pascal, it is in Assembly.  This is
  the interface file.
  **************
  Declare new versions of Apply as required!
  (The procPtr must be the last argument!)
  **************
}
FUNCTION Apply0(a, b:Ptr; Func:ProcPtr) : Boolean; EXTERNAL;
PROCEDURE Apply1(a : WindowPtr; Func:ProcPtr); EXTERNAL;
FUNCTION Apply2(a : StringPtr; Func : ProcPtr) : Char; EXTERNAL;
FUNCTION Apply3(s : Str255; Func:ProcPtr) : Boolean; EXTERNAL;
{
Apply4
Apply5
Apply6
Apply7
Apply8
Apply9
}
{ --- --- CUT HERE --- --- }
{ --- --- --- --- }
{ Bug1.
  According to the pascal standard, you should be able to assign to
  a function name from inside an inner procedure.  Not allowed in TML.}
FUNCTION F(x : Integer) : Integer;

  PROCEDURE FInner(y : Integer);
  BEGIN
    F := y;	{should be legal, isn't }
  END; { of FInner }

BEGIN
  Finner(x+1);
END;
{ the following is a work around }
VAR FResult : Integer;	{ thank God you can mix VARs and PROCs ! }
FUNCTION F(x : Integer) : Integer;

  PROCEDURE FInner(y : Integer);
  BEGIN
    FResult := y;	{should be legal, isn't }
  END; { of FInner }

BEGIN
  Finner(x+1);
  F := FResult;
END;
{ --- --- --- --- }
{Bug 2.
The following is a compatibility bug in TML pascal:
T.M.L. appears to pack solitary byte sized elements of structures
differently from Lisa Pascal. Example:

{'Style' is defined as a set in QuickDraw.iPas:
     StyleItem =  (bold,italic,underline,outline,shadow,condense,extend);
     Style     =  SET OF StyleItem;
Lisa Pascal, (and therefore, the mac ROM), has it taking one byte.
followed by a filler byte in the def of a grafport:
		  txFont:      INTEGER;
		  txFace:      Style;
		  txMode:      INTEGER;
In T.M.L. you get the filler first!
If you say: "SetFace([outline])";
then: "Ord(thePort^.txStyle) = 0"
will be true in T.M.L.

The work around is to say:
TYPE
  MyStyle : SignedByte; { 8 bit type in Lisa Pascal }

...		  txFont:      INTEGER;
		  mytxFace:      MyStyle;
		  txFiller :   SignedByte;
		  txMode:      INTEGER;
...
PROCEDURE MyTextFace(v : Integer); INLINE $A888;
{ * * * * * * }
Now, when you say: SetFace([outline])
then "Ord(thePort^.myTxFace) <> 0"
will be true.
{ --- --- --- --- }
Errors in preceding review:
unlike the claim in review a few days ago:
For the type Str255 (which is used uniformly by Inside Mac,
for almost all strings), Str[n] := Chr(13) works just fine,
{ --- --- --- --- }
Conclusion:
I've written programs for the Mac in Consualire C, in Aztec C, in MDS
Assembler, in ExperLisp, in Portable Standard Lisp, in Xlisp, in MacPascal,
in MacForth, in Forth-83, and in Lisa Pascal.  My favorite language for
development on the Mac is T.M.L.

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

Date: Fri, 21 Feb 86 17:09:08 EST
From: Roy M Turner <royt%gatech.csnet@CSNET-RELAY.ARPA>
Subject: Re: INFO-MAC Digest   V4 #12


I think there might be an error in the following posting:

>
> Date: Tue, 18 Feb 86 16:21:27 est
> From: Roy Leban <roy%farg.umich.csnet@CSNET-RELAY.ARPA>
> Subject: High Baud Rates
>
> The reason most programs can't handle high baud rates has little or nothing
> to do with the serial driver.  Drawing characters and scrolling the screen
> takes time.  The serial driver can run up to 1KBit, but there's now way an
> 8Mhz 68000 could ever keep up (much less at the 5Mhz that the Mac really
> runs at).  The solution is to buy a better program.  (i.e., forget MacTerminal
> and Red Ryder (which is twice as slow as MacTerminal)).  However, no current
> commercial program keeps up above 7200.
>
>   -Roy.
>          (roy%farg@umich[.csnet])


MacTerminal (commercial) and UW (freeware) both operate just fine at
9600 baud in my office directly connected to our local-area network.

Roy Turner

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

Date: Fri 21 Feb 86 23:09:32-PST
From: Frank Chen <Frank@SU-CSLI.ARPA>
Subject: MacInker [query]


Does anyone have any experience with MacInker, a device which reinks printer
ribbons and apparently makes them last a long long time?  The manufacturer,
Computer Friends in Portland, OR, claims that there are over 46,000 Mac Inkers
in operation in the U.S. and overseas.  Surely, some INF0-MAC readers must
have positive or negative comments....

Frank

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

Date: Fri 21 Feb 86 23:16:32-PST
From: Frank Chen <Frank@SU-CSLI.ARPA>
Subject: Overheating vs. power surge dilemma


I have a 512K Mac which I use everyday for about 4 to 6 hours (on and
off) in a given 12-hour period each day.  My question is, is it better
to leave the Mac on continuously for the entire 12-hours or even all
the time, as Apple seems to suggest, or is it better to turn it on and
off as I need it?

As for turning it on and off, this would obviously subject the Mac to
a lot of wear and tear on the power supply.  As for leaving it on
continuously, of course, I'd turn down the brightness whenever I'm not
actively using it.  However, this is a 512K, which I've heard
frequently have problems overheating and burning out (and I have no
special fans to keep it cool).

Perhaps another way to phrase this question (particularly to those of
you who may happen to repair Apple hardware) is: Among 512K Macs,
which is more common, burnt-out boards due to overheating or power
supply failures?  Or maybe a more practical question along the same
line is, which is more expensive to repair?

Any qualified answers would be greatly appreciated!

Frank

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

Date: Sat, 22 Feb 86 02:22:46 EST
From: "Stephen C. Hill" <STEVEH@MC.LCS.MIT.EDU>
Subject: MAC-Plus upgrade costs??

I have a 512K MAC with external SS drive.  We were off the Info-Mac list (or
was there just not a list since the announcement?) and I never saw if it is
possible to upgrade to a MAC Plus.  If so, does anyone have an idea about the
costs?  I only had an authorized dealer upgrade me to 512 in November, and I
would hate to be taken to the cleaners again, but what the hay...

Another question is what ramifications will this have with my current
software?  Does anyone know?

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

Date: Sat, 22 Feb 86 02:23:04 EST
From: "Michael C. Adler" <MADLER@MC.LCS.MIT.EDU>
Subject: MockWrite under HFS

The MockWrite editor desk accessory (version 4.0) does not work under HFS.
For reasons beyond my comprehension, bit 9 of all the file I/O traps was set.
This causes the OS to interpret standard file traps as HFS traps.  Although
I have patched a version that works, I hesitate to upload it since it is not
my software.  However, if you have a suitable hex file editor, you can use
the following patch list.  At each of the offsets specified, change the value
A2xx to A0xx.  The offsets are into the DRVR resource.  If you are editing
the resource file as a byte stream, search for the hex sequence:
	24 00 00 08 01 6a ff 35.
The offsets are from the beginning of this sequence.

Offset		Current value
6d6		a208
6f4		a20c
716		a20d
726		a200
758		a203
75a		a218
766		a212
768		a201
772		a213
a4c		a200
a4e		a211
ae4		a202
af0		a201
b22		a201

Good luck,
-Michael

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

Date: Sat, 22 Feb 86 02:29:22 EST
From: "Michael C. Adler" <MADLER@MC.LCS.MIT.EDU>
Subject: MacTerminal V2.0

I just got a copy of MacTerminal V2.0 today.  It is being distributed through
dealers as an update (if you have V1.1).

Although I haven't exactly taxed it, the major functions work (I'm using it
now).  More sophisticated file transfer options have been added.  An
Xmodem Text mode translates carriage return-line feed sequences between
hosts and the Macintosh so that the right thing is done on both ends.
Alternate foreign character sets are selectable and the meaning of the
backspace key (^H or DEL) can be toggled in a dialog.

Given that the internal resources support assigning any 8 bit code to
a key, its a shame that no utility was included to remap characters.  Using
the resource editor for this purpose is a royal pain!
-Michael

P.S.  The above list of changes is not comprehensive.  I don't have time
to type in everything.

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

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