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 **********************