info-mac@uw-beaver (05/14/85)
From: Moderator John Mark Agosta <INFO-MAC-REQUEST@SUMEX-AIM.ARPA> INFO-MAC Digest Tuesday, 14 May 1985 Volume 2 : Issue 45 Today's Topics: Macintosh-VMEbus Interface Manuals [from net.sources.mac] keyboard remap program New Finder Hints & Shortcuts troubles with new finder? ExperLisp Educational Prices on ExperStuff MacBCPL review NEON and MacApp? ---------------------------------------------------------------------- Date: 06 may 85 10:09-GVA From: Bruce Taylor <BGT$WB@GEN.BITNET> Subject: Macintosh-VMEbus Interface Manuals I can now supply a limited number of User Manuals for the MacVEE Macintosh-VMEbus interface described in Issue 34 of INFO-MAC. The 37-page manual describes the interface at a level low enough for VMEbus applications to be programmed in any of the Mac's resident languages. It is available to professional researchers active in VMEbus applications and interested in using Macintosh as a system controller. To request a copy of the manual, send your (steam) mailing address to <BGT$WB@GEN.BITNET> or write to B.G. Taylor, EP Division, CERN, 1211 Geneva 23, Switzerland. Bruce Taylor ------------------------------ Date: Mon, 13 May 85 02:21:46 cdt From: werner@ut-ngp.ARPA (Werner Uhrig) Subject: [from net.sources.mac] keyboard remap program From jimb@amdcad.UUCP Tue May 7 01:50:23 1985 From: jimb@amdcad.UUCP (Jim Budler) Newsgroups: net.sources.mac Subject: keyboard remap program In response to a query on net.micro.mac heres a program which remaps the keyboard to allow entering normally non enterable characters. Run it, then enter the character combination you want to use, click 'Change It' then mouse select the character you desire, then click "Change It" or "Change It and Repeat" The remap is supposed to be good thru reboot for applications without their own internal fonts (i.e.not MacTerminal). [ You may find this file in REMAP.HQX -jma ] -- Jim Budler Advanced Micro Devices, Inc. (408) 749-5806 UUCPnet: {ucbvax,decwrl,ihnp4,allegra,intelca}!amdcad!jimb Compuserve: 72415,1200 "... Don't sue me, I'm just the piano player!...." ------------------------------ Date: Mon 13 May 85 14:15:01-MDT From: Tony Jacobs <T-JACOBS@UTAH-20.ARPA> Subject: New Finder Hints & Shortcuts The new (4.1) finder has a few nice features that I believe didn't exist on the old version. - You can set the START UP application on other disks besides the start up disk. - You can make the MiniFinder the Start Up Application which will boot in 10 seconds! - You can select documents with the MiniFinder. - You can also create a MiniFinder document on other disks besides the starter. - When comming back to the Finder from an application you can execute a cmd-shft-1 (or 2) and it will eject the disk and not update the desktop with its information. - I attached a command key to the Shut Down menu item and I can return from an application and do the command key sequence just after the menu shows up and it will shut down before it reads the disk directories. - You can put a disk in the garbage and it will eject it and remove its window and Icon. Not the start up disk of course. - The finder does do cleanup operations on the Desktop file. I've had some disks that it cranked on for a minute or so before it did the copy. - It does 'Clean Up' faster and it cleans up the elevator bars by itself. - The Print Catalog feature prints in the same format that the window is in, i.e. In Icons or in Text. Only it will use the whole sheet of paper and it does a header and page numbers. There are undoubtly others. It would really be nice if the guys at Apple would put out a little blurb on each of the new items explaining the changes and new features. How about it Apple? Tony Jacobs ------------------------------ Subject: troubles with new finder? Date: 13 May 85 17:43:43 EDT (Mon) From: zim@mitre.ARPA I've had a few troubles with the new system (finder 4.1, etc. upgrades) and thought I'd ask if anybody else has noticed anything similar: 1) default font change--after running SARGON III, on a disk upgraded with the new finder/system stuff, the default font used by the desktop windows turns into New York, not as readable as the Geneva that it starts out as...wonder why? That new default seems to persist even as I change startup disks; 2) unable to install Cairo or Taliesin Fonts ... in a newly-created MacWrite disk, I get errors when running the new DA/Font Mover and attempting to install the above fonts (or others, if I ask for too many at one time, seemingly) ... the symptom is a "Bad Error" message in the DA/Font Mover, ID something like "1,-4", with a button that forces me back to the Finder ... This is MacWrite 4.5; upon entering it after these errors, Cairo and Taliesin show up on the Fonts menu, but aren't really there except in name (I cut them out again using Rmover to get rid of them in menu).... RMover can be used to install Taliesin; 3) troubles with EXTRAS (v.1.5) desk accessory ... maybe it's just sensitive to slip-ups ... when I have EXTRAS windows (like Free Memory) open, and move from one prog to another, I get bizarre crashes/lockups.... and I've had other strange occurrences while working on a disk with EXTRAS installed; 4) troubles with disk drives grinding on interminably ... seemingly cured by ejecting and re-inserting disk in other drive. -zim@mitre ------------------------------ From: meltsner@mit-charon.ARPA (Ken Meltsner) Date: 13 May 1985 1701-EDT (Monday) Subject: ExperLisp I got a review copy of it (review as in send us money if you like it, not a freebie) today. First Impressions: 1) This has some incredible potential. One sample program hooks into the editor window, adds a menu to ExperLisp system, and implements a search function. The environment bears an uncanny resemblence to a budget version of a LISP machine. 2) Common LISP claims notwithstanding, it appears to lack function cells (a win, even if it is non-standard) and embedded lambdas (a loss). 3) Lots of things that are reasonable are promised for Version 2. Most of the reasonable things, in fact. These include: user-defined classes, "snapshot" (worlds capability) of memory to create double-clickable applications, MacApp for Experlisp (in December), true lexical scoping, and a few others. Upgrades should be at cost. 4) Toolbox support is there -- buy an Inside Mac -- as are direct memory access and such. There are predefined objects for toolbox stuff, as well as the spiffy bunny graphics of ExperLogo. 5) Speed seems better than ExperLogo: three bunnies (1 flat, 1 3-d, 1 on a sphere) draw a dragon curve simultaneously. Compile speed also seems better. 6) Pretty lousy manual and support -- reference guide (complete, but listed by function name rather than concept), David Touretzky's LISP book (good, with ExperLISP glue functions to more closely match the book's example), and a couple of good, but not great programs. Overall First Impression: good if you like LISP, useless if not. Unfinished, but fairly promising. (The manual mentions support for 4 MB of memory!) May be reasonable at the 50% educational discount as a teaching LISP. Eventually, could be a reasonable language for small AI stuff. Not a complete product, yet. (But then, I don't think Microsoft Basic is 100%, either.) Ken ------------------------------ Date: Mon, 13 May 85 17:53:50 EDT From: winkler@harvard.ARPA (Dan Winkler) Subject: Educational Prices on ExperStuff ExperLisp and ExperLogo are reportedly very nice products but a bit expensive. Here are the price breaks for educational use, according to what they sent me today: ExperLisp: retail price: $495.00 educational price: $225.00 per unit for 1 to 9 units $198.00 per unit for 10 or more units ExperLogo: retail price: $149.95 educational price: $59.95 per unit for 1 to 9 units $49.95 per unit for 10 or more units (I love the way they choose those prices. I'm sure everyone mentally converts 49.95 to 50, 59.95 to 60, 149.95 to 150, 198.00 to 200, and 495.00 to 500 anyway, so why not write them like that in the first place?) ------------------------------ Date: 2 May 85 09:44:08 EDT From: Jeffrey Shulman <SHULMAN@RUTGERS.ARPA> Subject: MacBCPL review Here is a review on Topexpress' MacBCPL. I experimented for approximately three weeks with a review copy that Topexpress had sent me. I did my best to stay unbiased. I sent Topexpress a copy of the review a month ago for their perusal; I also sent them an invitation to respond in regard to technical inaccuracies or changes they plan to make. They did not respond. [ I have just selected a summary of the review to post. Those interested can find the full 20k submission in news-bcpl.txt -jma ] *********************************** * A REVIEW ON TOPEXPRESS' MACBCPL * * by Jeffrey S. Shulman * *********************************** MacBCPL is a product of: TOPEXPRESS LIMITED 20 Orange Street London WC2H 7ED ENGLAND Telephone: 01144-289 2188 (24 hours) ================ - Introduction - ================ BCPL (Basic Combined Programming Language) is a small language for systems programming. Its syntax is very much like C (or should I say C is much like BCPL since BCPL preceded C). BCPL has only two datatypes: the storage cell and the vector (a pointer to a list of storage cells). With MacBCPL a storage cell is 32-bits long. There is no type checking since there really isn't anything to check. Therefore, there is no warning if you mean to use a storage cell as a pointer but it contains an integer. ================ - What you get - ================ MacBCPL comes with the following materials: A) BCPL: the Language and Its Compiler by Martin Richards and Colin Whitby-Strevens: a 173-page well-written tutorial and reference manual for BCPL; B) MacBCPL manual: The 6x9-inch manual describing the Mac BCPL system. It has sixty-one single sided line printer set pages and answers most (but not all) questions you might have about MacBCPL (more on this later); C) Two non-protected diskettes: The first diskette (293K) contains: . bcpl BCPL compiler (78K) version 1.07 . edit "Standard" Apple program editor . link Apple linker . disasm Simple disassembler . library Folder containing the BCPL library (16K) . headers Folder containing the BCPL and Mac Trap header files . windows A simple application . demos Folder containing the BCPL source to "windows" The second diskette (310K) contains: . basic A pretty complete BASIC interpreter . Basic sources Folder containing the complete sources to "basic" . Basic demos Three simple basic demos . library Copy of BCPL library folder . help Text for built-in help facility ============ - Features - ============ . Screen output is written to the current Quickdraw port. If no port is set, one will be created for you covering the entire screen ("glass TTY"); . Conditional compilation; . Constants ("MANIFEST Constants") may be both strings and tables (con- stant vectors). Tables may contain strings and other tables; . Field selectors can be used to select pieces of storage cells. Since storage cells are 32-bits, this is necessary for selecting bytes and words. Six functions are also provided for getting and setting byte, word and longword quantities; . A full set of file, disk and textual I/O functions; . Assembly language routines (if you have an assembler) can be included, provided you adhere to the (documented) BCPL conventions. ===================== - Toolbox interface - ===================== I feel the toolbox interfacing is the most important part of any language on the Mac. This is one of the areas I feel MacBCPL could use improvement. Supplied with MacBCPL is a single header file that contains the names of the Mac traps and their corresponding trap number. It also contains some additional information used by the compiler to determine what the sizes of the arguments are and what the size is of any value that may be returned. What this header file does NOT contain is any of the constants or record definitions found in Inside Macintosh. . . . The compiler works in three passes. The first pass performs the syntax analysis and builds a tree structure in memory. The second pass builds a intermediate code file called OCODE. The final pass generates 68000 code from OCODE. If an error occurs during any of these passes, the offending line number is printed in the BCPL window with a short description of the error. If the error is detected during the first pass, then the 64 characters preceding the error are printed before the error message itself. Next you link in your program with the BCPL libraries provided. It is easiest to use the item provided in the Transfer menu to create the proper .link file. You have to create your own if there is more than one .rel file of yours involved. At the end of linking, you have an application ready to be run. Topexpress only provides "cookbook" information about the linker. They tell you that if you want further information, obtain it from Apple. Neither the resource maker nor the resource editor are provided for your use. You must also obtain these from Apple. ================== - Other problems - ================== . Floating point is not supported; . There is no way to segment your program into separately loadable pieces; . BCPL uses its own stack to pass arguments and to contain local variables. Its size is fixed at 8K bytes, therefore programs must not use dynamic VEC declarations to allocate large amounts of space. MacBCPL provides a getvec and freevec functions which will allocate (and release) vectors from the application heap. =================== - Its good points - =================== . I found BCPL fairly easy to learn; . No royalties are imposed on any programs developed with this system (just an acknowledgement); . Pieces of the "windows" demo program may be used in your program as you wish; . In dealing with Topexpress, I received quick and thorough replies to my questions via air mail. =================== - Recommendations - =================== The BCPL system is $175 (US) dollars. Since Topexpress provides little documentation on the linker, no resource compiler, no assembler, no Toolbox global addresses, and no debuggers, they must assume you have the Apple MDS 68000 system (which is $195 dollars.) This gives you a total development system costing to $370 dollars. At this price, there are other development systems available that are easier to use. What I believe would have to be done to make MacBCPL a competitive system: 1) Supply header files for everything mentioned in Inside Mac. This should include BCPL field selectors for all the Pascal records. Also provide the recommended calling method using these selectors; 2) Fix the compiler so that the programmer doesn't have to provide the registers for Toolbox routines that use the registers. There already is a mechanism for telling the compiler what stack variables are used in stack routines (this mechanism is well documented) which could easily be extended to handle these register cases; 3) Change the compiler file selection so that it works like the other tools (i.e. double clicking the file name causes the compile to start); 4) Either supply an editor that has the ability to go to a specific line number or has the ability to enter the editor when an error is detected at the location of the error; 5) Supply full documentation for the linker; 6) Supply RMaker with full documentation; 7) Supply an assembler or the ability to assemble inline code; 8) Supply either a low level debugger or a BCPL debugger (the book on BCPL mentions one on another system). ========= - BASIC - ========= In all fairness, I must mention that Topexpress does provide you with a BASIC interpreter written in BCPL with full sources. The interpreter isn't "Macish" (it uses the Mac as a glass TTY) but it seems to be fairly complete. It has built in TRACE and DEBUG commands as well as an online help system. It seems to have everything a BASIC should have (except floating point) but has no Toolbox access. ============== - Benchmarks - ============== I suppose no review would be complete without benchmarks. Both benchmarks were done on a 2 floppy drive 512K Mac (without RAMDisk). The boot disk contained the editor, bcpl compiler and linker. The second drive had the source files, header files and bcpl library files. Neither program was linked in with the BCPL library that contains the procedures make.pascal.entry and free.pascal.entry. The Sieve benchmark was performed with both byte and full BCPL word flags. Program Compile Link Size Run ==================================================================== Hello World 13 28 7746 Sieve (byte) 21 29 8258 8.28 Sieve (long) 26 30 8258 8.61 ------------------------------ Date: 9-May-85 11:59 PDT From: Kirk Kelley <KIRK.TYM@OFFICE-2> Subject: NEON and MacApp? Apple has announced they will be supplying versions of MacApp for use with Object Pascal, Objective C, X(?)LISP, and Smalltalk. Now is there any reason not to have a FORTH/NEON version too? -- kirk ------------------------------ End of INFO-MAC Digest **********************