[fa.info-mac] INFO-MAC Digest V2 #14

info-mac@uw-beaver (03/15/85)

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


INFO-MAC Digest          Friday, 15 Mar 1985       Volume 2 : Issue 14

Today's Topics:
                             Serial Drivers
                          TMON debugger review
                      Things seen at MACWORLD EXPO
                              Beta Software


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

Date: Tue, 12 Mar 85 14:15:58 pst
From: Ken Giallanza <kcg@lll-crg>
Subject: Serial Drivers

                 "Serial Drivers for The Rest of Us"

This is probably old hat to all of you Lisa jocks, but here goes...

To those forlorn souls in search of the RAM serial drivers, take
heart.  Find (buy?) yourself a copy of MacTerminal and get out your
trusty copy of RMover or the Resource Editor.  Use one of these
programs on a BACKUP copy of MacTerminal.  Open the MacTerminal
application and search through the resource types until you find the
"SERD" type (guess what this is).  Copy one or both of these
resources: #256, and #257 depending on the version of MacTerminal, to
another file.

But wait, you want to use the serial drivers! Now the fun begins.  
Well I don't have the answer yet but eventually I'll get a day off and
finish figuring it out.  Perhaps someone out there will finish the
story for me.  So here's what little I do know.

In inside Mac you have no doubt noticed the Pascal ONLY call
RamSDOpen, which has no assembly language equivalent. In Lisa Pascal
simply stuff the SERD resource into your application and call
RamSDOpen with the parameters 'SERD' and 256 and go.  From assembly
(or in my case, C) the situation is a little more difficult. The
format of the SERD is a little strange, for those who remember the
structure of a DRVR header this one has four headers in a row.  To
make a long story short, what needs to be done (this is how Lisa
Pascal does it) is to set up the device control entries (dce's) to
point to the various headers in the SERD.  The headers are labeled
.AIn, .AOut, .BIn, .BOut.  This is not difficult to do (famous last
words) and probably falls under the category of a evening job.

My multiply divided attention will no doubt yield a solution in a week
or so, which I will post. In the mean time someone out there must have
already figured this out - am I tilting at windmills?

                                                cmd-shift-cokebottle

                                                   Dave Burnard

                                                   kcg@lll-crg
                                                   ateam%amber.cc@berkeley

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

Date: Fri 8 Mar 85 11:47:35-PST
From: Gustavo Fernandez <FERNANDEZ@SU-SCORE.ARPA>
Subject: TMON debugger review

I have recently received a review copy of a new debugger called TMON
published by TMQ software, 1110 Lake Cook Road, Buffalo Grove, IL,
60090, tel # (312) 520-4440.

Before I continue with the review, I will state the main reason why I
do NOT recommend this product - it's copy protected! This is
especially bad since this is a programmer's tool that you want to keep
on your work disk along with the program you are debugging and other
tools. I spent a couple of hours removing the protection system in
order to make this thing usable for real work. Don't buy this product
unless you are prepared to do the same.  The $100 (or $150) price tag
is also rather steep considering that Apple provides MacDB and Macsbug
essentially free.

This is a fairly full-featured debugger which lies somewhere between
Macsbug and MacDB in its style of operation. It runs on a single mac
(preferably 512K) and is window based.


TMON comes with some promo material giving its long list of features.
I will copy it below giving some comments on the usefulness of various
features.

Because the Mac ROM is not re-entrant, TMON uses its own window
system. All windows take the full width of the Mac screen, but are
variable height. They can also slide over and under each other giving
the appearance of vertical sliding blackboards (except that the
background is white!) There are 8 different types of windows, some of
which have vertical scroll bars. They are: Dump, assembly,
breakpoints, registers, resource file, heap, user, and numeric
conversion.

The dump window is a standard hex/ascii dump with scroll bars. You can
modify memory by replacing a hex value with an expression which has a
fairly general syntax which allows various math and logical operators
and limited symbol substitution. One of the more powerful features is
the ability to anchor a window to a register or a heap handle and
memory above and below the anchor point.

The assembly window is similar to the dump window except that it
displays data as disassembled 68000 instructions. This is a
mini-assembler as well as a disassembler: a feature sorely lacking
from other mac debuggers. You can also quickly scroll code forward and
backward. Unfortunately, the assembly window does not recognize
neither the Lisa Pascal in-line symbols nor the MDS symbol table files
which make disassemblies that much more readable.  (note that there is
a Where command discussed below which can search for the Lisa Pascal
symbols, but this is no substitute for the Macsbug style display which
gives symbol+offset on each line.)

Note that TMON has a continuous refresh feature which continually
reads memory and redisplays the screen during the idle loop. This is
cute for watching some low memory globals tick by but seems almost
useless for anything else because no user code can be run in the
background which the TMON screen is up.

The Heap window is probably the best tool to date for quickly
identifying all of the objects in the heap. The program scans low
memory globals, window lists, resource maps, etc. to figure out what
type of object a particular memory block is. There is also a user
identification hook which lets users allow objects specific to a
program to be identified. All data structures are also checked for
internal consistency.
     Unfortunately, once an object is identified, there is no way to
display it other than either a hex/ascii dump or an disassembly. There
is no counterpart to the new macsbug macro facility which allows
arbitrary data structures to be dumped symbolicly. (This feature of
macsbug is actually available for only a limited number of objects but
is easy to modify if you have the newly released source code.)

The file window lets you look at the map of any open resource file. It
shows all of the available resources and indicates whether they are in
memory or not. A function in the user window can actually load a
resource into memory, but there is no automatic way to do this from
the file window.

The register window does what you might expect. It displays and allows
modification of all 68K registers.

The numconvert window is a nice calculator for doing the average 
calculations and base conversions which are so common in everyday
debugging.

The user window invokes a user-modifiable routine for which full
source code is provided. This brings up a window full of even more
functions which I will just name here:block move, compare, fill, find
(1,2,4 bytes), checksum, load resource file, swap registers with
alternate set, intercept traps, scramble heap, show free memory, show
trap address, where (given an address, give ROM trap or Pascal symbol
closest by.), show program screen.

I will elaborate on only a few of these.

Heap scrambling is a Mac debugging technique available on all three
Mac debuggers which is designed to test for dereferenced handle errors
by causing relocatable memory blocks to be moved around whenever they 
possibly can. With Macsbug and MacDB, this was a very slow and
cumbersome process because those debuggers would task switch at every
trap location.  The scrambling operation itself was also horribly
slow. TMON fixes this by NOT doing a complete switch over to its
screen but rather simply setting the bit on the top left corner of the
screen (outside one of the rounded corners) indicating that a scramble
operation is in progress.  This is still quite slow, but much bearable
than with macsbug.

One area where macsbug is clearly superior to TMON is in the area of 
tracing and A000 trap intercepts. There is no capability in TMON to
have a running trace of Mactraps. As soon as one is encountered the
debugger is entered and another exit command must be executed to
restart the program.  The same holds true for the single step feature:
i.e. there is single step but no trace. There is also no 'spy'
capability like there is in Macsbug to allow an area of memory to be
checksummed after each mactrap or instruction step.

The documentation for TMON is 61 pages long and is fairly well written
and logically organized. Often whole sets of paragraphs are summarized
with 1 or two line 'pointers.' Possible problems are indicated by a
small 'firecracker' icon. There are a few typos, however, and the 
imagewriter produced text is often hard on the eyes.

TMON is not skimpy about memory usage:  16K for the basic TMON code
 3.7K for optional ROM trap names
 1.3K for local variables and stack
 3.6K for the optional user-defined area 22K for the saved screen.
(This can also be compressed to 10K or 4K or
        eliminated entirely if you don't save the screen.)
---------- 47434 bytes - for a completely configured system.

A configuration utility is built-in so that you can modify the
optional settings above as well as a few more options which don't
affect memory use.

All in all, the TMON is yet another tool in the growing library of
available Macintosh systems software. For reasons stated above, it
will not replace Macsbug, but it is certainly a viable alternative to
MacDB on a 512K machine. Unfortunately the silly copy protection makes
it useless to all but experienced hackers who can get around such
things. The price is perhaps a bit high, but not unreasonable
considering the amount of documentation provided.

                                                        Gus Fernandez
                                                        FERNANDEZ@SU-SCORE

                                                        compuserve
71425,1456

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

Date: 13 Mar 85 17:17:42 EST
From: Seymour <JOSEPH@RU-BLUE.ARPA>
Subject: Things seen at MACWORLD EXPO

Products Of Interest At Macworld Expo

Big Mac Monitor: Professional Data Systems.  A 23" high resolution B&W
monitor for the mac.  Includes free external mod for the Mac.  Sharp 
picture.

Color Imagewriter Ribbons:Almost everyone.  Imagewriter ribbons in 
Red, Yellow, Green, Blue, Purple, Brown and of course, Black.

Hippo C: Hippopotamus software inc.  Level one and level two Mac C.  
Level two allows creation of standalone applications.  K&R C works on 
128k single drive Macintosh

Hippo-Lock : Hippopotamus software inc.  DES data encryption for 
Macintosh files.  Great file security, but boy doesn't it sound 
painful (gosh, I've got, gasp, HIPPO-LOCK!)

ElectroFont: Paragon Courseware.  Electronic circuits font.  Amps, 
transistors, resistors, transformers, diodes...

ExperLisp: Expertelligence inc. Compiled Lisp.  A "Modern" lisp with 
DOLIST, DOTIMES, CASE, CATCH, THROW..  Incrementally compiled.  Looks 
interpreted.  Load-on-call allows large system development.  Lexically
scoped like Common Lisp.  Cross compiler from Symbolics 3600 Lisp 
machine is available.  N dimensional arrays, and graphics. (3d)

ExperLogo: Expertelligence, Inc.  Fast Logo with Turtle and Bunny (3d!
Roll, Pitch, Yaw) graphics.  Compiled Logo with the appearance of 
interpreted logo.  Data handling, load-on-call for building large 
systems, array handling.  I like this product, my brother says its too
slow...

Filevision: Telos Software Products.  The visual filing system.  
Graphically oriented database system.  Innovative, this cannot be done
on any conventional micro.  Not a general purpose database.

Hyperdrive: General computer.  The fastest 10 meg hard disk for your 
mac.  Internally mounted with a new power supply and a variable speed 
fan.  Comes with drive partitioning software.  The only drive the Mac 
the mac can boot from.  Expensive, but a real kick for Mac Speed 
demons.  Available with or without fast 512k upgrade for small Macs.

Lock-It: Assimilation systems inc. Limit access to your files by 
inserting a password which intercepts the OPEN command.  The password 
can be any combination of characters and can be applied to any file or
software application. Wow another $29 marvel from Assimilation 
systems.

Mac Bottom: Personal Computer Peripherals Corp.  An external 10 
megabyte hard disk for the Macintosh.  The first of the second 
generation drives for the Mac.  It is a 2 inch high pad the size of 
the footprint of the Mac.  You put the Mac-Bottom on the desk, and the
Mac sits on top of the disk.  Neat.  Its the fastest of the external 
drives I tested.  It provides a new serial port on the back of the 
drive to replace the one used and does print spooling through new 
port.  Includes volume segmenting and backup software.  Good looking, 
and fast.

Mac C*: Consulair Corp.  Very Macish development system.  With the 
optional Mac C Toolkit libraries, it supports most of the Toolbox 
routines.  Requires 2 drives or a hard disk.  Mac C* was used to write
the Apple MDS

Macintosh Pascal Illustrated - The fear and loathing guide: Addison 
Wesley.  A humorous text book on MacPascal.  Join Mr Moss and his 
hound dog Rollo as they expolore every nook and cranny of MacPascal.  
"If coloring books had instructions a kid would just chew the pages."
Thus begins the tirade of Mr. Moss, philosopher, programmer, and 
excitable boyfriend, in his crusade to strip the boring evil that 
pagues computer books.

MacMail*: AEGIS development Inc.  Modem based mail system.  Auto dials
other systems, logs in and sends mail.  Your mac can be left in mail 
mode and it will auto answer and receive mail while you sleep.  They 
claim to soon do mail with Apple networks.

MacMath Fonts: Sophus Systems.  Lots and Lots of math symbols, dozens 
of brackets, parens, Roman and Greek alphabets, arrows, special 
symbols.  Good looking.

Mac Memory Disk: Assimilation systems.  The $29 ram disk you have been
hearing about.  A dream to operate.  Very fast, very flexible.  A 
must.

Mac Publisher: Boston Software Publishers Inc.  Newspaper/Newsletter 
layout software.  Handles multi column layout with illustrations, 
titles...  Operates on Mac XLs and works with Apple LaserWriter to 
make incredible MacPublishing system.  Something only do-able on the 
Mac.  Bravo! They published a newsletter at the show.  Very good 
looking.

Mac Tracks: Assimilation Systems.  A Macro facility for the mac.  You 
can store mouse movements, clicks, and keystrokes as Macros, give them
names and do long series of operations with one keystroke.  Macros 
cannot call other macros.

MacVision: Koala Technologies Inc.  Video digitizer for the Mac.  
Sources can be cameras, VCRs (in pause mode), video disks, even other 
computers.  Takes about 2 seconds to grab a frame.  Good hardware and 
software.  Nice system overall.  Makes Macpaint format files.

MegaMac*: Micrographic Images Corp.  One megabyte macs!  They said 
eventual expansion to 4M was planned.  Wow, watch out.  Comes with 
Ramdisk software.  A hyperdrive cannot be installed in a Megamac.

MegaMax C: Megamax Inc. In line assembly, supports dynamic overlays.  
Full access to macintosh toolbox routines.  One pass compile.

Mentauris Composite Video Adaptor:Mentauris Technologies.  Provides a 
high quality composite video signal and output port for large screen 
educational and commercial applications.

MOUSEPAD*: Mousetrak Inc.  My favorite mousing surface.  Non skid 
back, cushioned, tightweave cloth surface.  Available in many colors.
Approx $9 (415) 383-2477

Music Character Sets: South Bay Software. A number of fonts for the 
Macintosh that produce Musical notation (whole, half, quarter notes, 
rests...)

Paradise: Paradise systems inc.  Another second generation hard disk 
for the Mac.  Hooks to serial port, provides port on its back to 
replace the one taken up.  The Paradise sits to the side of the mac, 
not as neat as the Mac-Bottom but still much faster than the old 
Davong, Tecmar set.

ProCom-M: Prometheus Products Inc.  Terminal software, YUCK. Nuff
said.

Project-A-Mac: Professional Data Systems.  Projects Mac video onto 
screens up to 25 Ft across.  (these were used at the conferences).  
Available optionally with 5 or 6 ft.  curved screen.  Includes Mac 
video mod.  Brightness, contrast and focus controls.  Nice Picture.

Rascal: Griffin Series (developed at Reed College) pascal like 
language.  Fast, compiled code for multi-tasking, I/O oriented 
program, complete Mac Toolbox support.  Great for real-time 
programming.  Creates stand alone applications.

SciFonts: Paragon courseware.  Scientific font.  with sum, 
integration, square root, infinity and dozens of other useful symbols

Smartmodem 2400: Hayes Microcomputer Products.  2400 baud modems for 
your mac.  Communicates at 300, 1200 and 2400 baud.  Maximum 
Flexibility, maximum price.

Smartcom II: Hayes Microcomputer Products.  Terminal emulation 
software for the Hayes Smartmodem series of modems (and compatibles).
Does great VT102 (with line and character insert and delete!)  
emulation as well as the expected file transfer flexibility 
(xmodem...)  Many features, easy to use, very Macish.

Softworks C: softworks Ltd. a K&R C for the Mac.  They have a pretty 
good terminal program (vt100, xmodem, macput, xon/xoff) written in it 
and the source is available if you want to develop terminal based 
applications.

The Keeper*: Micro Design 5 to 33 Meg hard disks for single user or 
AppleTalk* use.  The only smart FILE SERVER for AppleTalk*.  Available
in combinations of fixed and removable platters.  Keeper can spool to 
the Imagewriter.  You can have multiple FILE SERVERS on one Apple 
Talk* net.  This is not true for DISK SERVERS.

ThinkTank*: Living Videotext inc.  The first Idea Processor is now 
available in 128k and a new enhanced 512k version for the Macintosh.  
One of the speakers at the conference had his talk notes in Thinktank.
A revolutionary product for people who do proposals, planning, briefs,
reports, specs, and presentations.

TMON: TMQ Software inc. An interactive Multi Window Monitor/Debugger 
for the Macintosh.  Works on both 128/512k macs.  Claims many many 
features.  Was not displayed at show.  If it is for real, and I was 
looking for a debugger, I would definitely look into this (312) 
520-4440

Turbo Touch: Assimilation systems.  A mouse replacement consisting of 
a track ball.  Interesting, but I still prefer the mouse.

Vidioworks:Hayden software.  Incredibly neat video animation software.
Pre-release now, but the demos are great.  Watch for it.

XL/SERVE: Infosphere Inc.  A software product for the Macintosh XL (0r
Lisa 2/5) running MacWorks that allows the Lisa with a hard disk to 
serve as a file server and print spooler for Appletalk*.  Includes 
hard disk partitioning, security and special hard disk backup 
software.  The Partitioning and backup utilities make it attractive 
even without Appletalk* applications in mind.

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

Date: Thu 14 Mar 85 06:41:30-PST
From: DBECK@SRI-KL.ARPA
Subject: Beta Software

It is interesting to observe the extent of Beta software floating
around for the Mac.  As an experiment I built an Ultimate Beta disc to
see what would happen.  Finder 3.0x, Application Switcher 1.5,
MacWrite4.2 and MacDraw manynines.  After some tentative probing, all
these elements appear to work together quite well, and no bomb icons
have been seen in several days of fairly heavy use.  Press on Apple,
be not faint of heart!  ...Doug Beck dbeck@sri-kl

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

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