[comp.sys.mac.digest] INFO-MAC Digest V6 #46

Moderators.Jon.Pugh;Dwayne.Virnau;Lance.Nakata@SUMEX-AIM.STANFORD.EDU (05/04/88)

INFO-MAC Digest         Wednesday, 4 May 1988      Volume 6 : Issue 46

Today's Topics:
                          Scores Virus Report 3
                           VACCINE misbehavior
                        Scores Virus Information
              VAMP invites Amsterdam MacWorld Expo visitors
                   You're Entering...The Palette Zone
                           LSC Upgrade Policy
                           MPW Fortran v1.0b2a
                             Re: Animation!
                         video in/out of Mac II?
                    Flex and Full Write Professional
                    Blinking cursor in Microsoft Word
                               Hard disks


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

Date: Mon, 2 May 88 09:52 CDT
From: John Norstad <JLN%nuacc.acns.nwu.edu@forsythe.stanford.edu>
Subject: Scores Virus Report 3

This is my third report on the Scores virus.  In my first report I
revealed what Scores did, how to detect it, and how to get rid of
it by hand using ResEdit.  In my second report I reviewed Ferret
1.0 and KillScores, two free disinfectant programs that have
appeared to get rid of Scores.  In this report I describe further
testing of Ferret 1.0, the new Ferret 1.1, and KillScores.

IMPORTANT:  Ferret 1.1 has very serious bugs!  Based on my tests I
recommend using KillScores instead.

1. Ferret 1.1 does NOT properly delete one of the viral resources
in the system file (INIT 17), at least on my small infected test
system!  I found this unbelievable, so I reran my test several
times, and it failed each time.  Ferret 1.0 does not have this
problem.

2. Ferret 1.1 does NOT properly disinfect files which contain CODE
resources marked "protected".  Some applications are distributed
with protected CODE resources, and Scores can infect them, so this
is another important bug.  Ferret 1.0 also has this bug.  In this
case the supposedly repaired application is left in a seriously
damaged state - it will bomb immediately on launch.

3. Ferret 1.1 does NOT properly disinfect locked files.  This is an
important bug, even though Scores can't infect locked files.  The
file could have been unlocked when it became infected, and then the
user could have locked it later.  Ferret 1.0 also has this bug.
I'd like to thank Rich Holmes for first pointing out this bug.

4. Ferret 1.1 still does NOT always properly report the names of
infected files.  Ferret 1.0 also has this bug.

To make things even worse, Ferret does not give the user any
indication that anything is wrong.  It leaves the user with the
impression that his/her system is clean, when in fact it's still at
least partially infected.

I also did further testing of KillScores.  KillScores had no
problems with the cases above where Ferret failed - it properly
disinfected all the files on my test system.  In the case of locked
files KillScores unlocks the file, disinfects it, and leaves it
unlocked.

In my second report I mentioned that CE Software's Vaccine
effectively prevents infection by Scores, at least on my test
system.  If you are at all worried about viruses, and you should
be, I strongly recommend that you get Vaccine and use it
religiously.  CE Software deserves all of our thanks for developing
and giving away this important tool.  It's not perfect protection,
as the authors freely admit in the documentation, but it is
effective against Scores, and I understand that it's also effective
against most of the other recent Mac viruses.

Once again, I must emphasize that I do not have the facilities or
time to do large scale testing of many infected applications.  All
of my testing is done on a small floppy-only system, with only
MacWrite, TeachText, and ResEdit for infected applications.  So I
can't guarantee that KillScores or any other program is perfect, or
that I haven't made mistakes in these reports.

Also, I should probably mention that all of my statements in all of
my reports reflect my opinions only, and not those of my employer,
Northwestern University.

John Norstad
Academic Computing and Network Services
Northwestern University
Evanston, IL 60208

Bitnet:   JLN@NUACC
Internet: JLN@NUACC.ACNS.NWU.EDU

Monday morning, May 2, 1988

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

Date: Mon, 18 Apr 88 05:56:07 EDT
From: cperry%bert.mitre.org@gateway.mitre.org (Chris Perry)
Subject: VACCINE misbehavior

I've received two reports of VACCINE (the anti-virus CDEV) making
destructive changes to INITs and other CDEVs without asking the
user's permission.  Both reports involve use of Finder 6.0 + the new
System File; one user has a Mac II, while the other one may be using
a II or an SE.

I've advised one person to turn off VACCINE and reboot prior to using
INITs, CDEVs and other resource modifiers they know:

	1) will modify the System File or other key resources.
	2) will be benign (not introduce viruses).

If turning VACCINE off doesn't work, I've advised placing it in
another folder and rebooting.

I've been using it on a Mac II and a Dynamac, both running Finder
5.5/System 4.1, with no problems for two weeks.  Have other
experienced problems with this admirable donation from CE Software?

Chris Perry

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

Date: Sun, 1 May 88 12:53 EDT
From: <MANAGER%SKIDMORE.BITNET@forsythe.stanford.edu> (Leo Geoffrion)
Subject: Scores Virus Information

In behalf of the many Info_Mac subscribers worldwide, I thank you for your
concise, accurate, and thorough analysis of the Scores virus.  You've
provided a very important service to all of us.  It's an example of networking
at its finest.


===================================================================
Leo D. Geoffrion                  BITNET:  MANAGER@SKIDMORE.BITNET
Associate Director for             NYNEX:  (518) 584-5000 Ext. 2628
Academic Computing
Skidmore College
Saratoga Springs, NY  12866

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

Date: Mon, 2 May 88 01:54 N
From: <FRUIN%HLERUL5.BITNET@forsythe.stanford.edu> (Thomas Fruin)
Subject: VAMP invites Amsterdam MacWorld Expo visitors

The European MacWorld Expo '88 will be held in Amsterdam, Netherlands
on March 9th, 10th and 11th.

The main function of this event seems to be  the  paring  of  various
3-piece suited manufacturers and  ditto  European  dealers.  However,
many Macintosh hackers will  wander  the  floors in search of similar
species to show off their hottest INITs and chat in global A5 dialect.

To these potentionally lost souls: pay attention to the following!

         The Dutch Macintosh programmers association VAMP
         ( 'Vereniging Actieve Mac Programmeurs' ) hereby
         gladly invites every person who thinks s/he fits
         the description of

                enthousiastic Macintosh hacker and/or
                programmer and/or devotee

         to attend our annual VAMP banquet,oriental style
         (spicy).  To join the meal, collect yourselves @
         the main exit on the  second  day  of  the  Expo
         (Tuesday, March 10th) at  17:00 hrs.  Costs  are
         estimated at HFl 35,- (US$18).

         Formal dressing required: T-shirt w/ 3.5"-pocket
         and sneakers.

If you are sure of your participation, please e-mail me,  so we will
have a rough idea of the number of participants.

-- Thomas Fruin
   (VAMP president)

   fruin@hlerul5.BITNET                  University of Leiden
   thomas@uvabick.UUCP                   University of Amsterdam
   hol0066.AppleLink
   2:512/114.FidoNet                     The Netherlands

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

Date: Sun 1 May 88 20:10:35-PDT
From: Brodie Lockard <I.ISIMO@LEAR.STANFORD.EDU>
Subject: You're Entering...The Palette Zone

Some questions about the Palette Manager:
1. "Tolerant colors allow you to change the current color environment according
to your needs.  When your window becomes the frontmost window on a device, its
palette and the colors contained therein are given preference.  Each tolerant
color is compared to the best unique match available in the current color
environment....  When the difference...is greater than the tolerance you
specified the Palette Manager will modify the color environment to provide an
exact match to your color."  IM V, p. 155.
   Is that so?  I'd sure like to know how to get things to work as described
above.  My app draws some custom colored PICTs offscreen, blits them onscreen,
and uses three more offscreen pixmaps for animation.  A single palette is used
for the window and all the offscreen pixmaps.  Apparently, though, when a
window comes to the front, even if it has a palette associated with it, the
system palette is used to draw the window.  The consequent remapping from
offscreen to onscreen slows everything down, and the animation is a
polychromatic mess.  ("Do not attempt to control your window.  WE will adjust
the palette.  WE will control the color table.")  The only way I've been able
to keep my colors intact is with SetEntries each time my window comes to the
front.  This makes the whole screen flash annoyingly.  Surely there's a better
way?

2. When I detect a color mode change (8-bit to 4-bit, say), I release my
offscreen pixmaps, reallocate them in the new depth, and redraw my offscreen
PICTs.  But my palette or my color table or something gets lost in the shuffle,
and my colors are again mangled, causing slowed and miscolored animation.  What
special gyrations must I perform to fix this?  (This happens when I switch
modes via the Control Panel.  Things work ok if I switch modes with my window
in front, via Switch-A-Roo.)

3. Finally, I'd like to leave slot 15 open in my palette for the user to set an
exact background color for my windows.  I'm drawing PICTs with a large variety
of colors, and I want them to look reasonable in 4-bit color.  But whatever RGB
values I put in slot 15, one of the PICTs may match it, a side effect I don't
want (i.e., fuschia may be closer to a PICT's red than the reds I've provided
in slots 2-14).  I've tried ReserveEntry, but can't get it working.  Does anyone have an example of code with ReserveEntry?  Shouldn't

		BoardColorIndex := Color2Index(BoardColor);
		ReserveEntry(LoWord(BoardColorIndex), true);

make BoardColor unavailable for CopyBits?  (While I'm at it, SetEntryColor
doesn't seem to work without forcing corresponding changes in my offscreen
ctTable, and calls to MakeITable and SetEntries.)  Ideas?

Any info will be appreciated.

Brodie Lockard
I.ISIMO@LEAR.STANFORD.EDU

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

Date: Tue, 19 Apr 88 09:36 EDT
From: Gegel@DOCKMASTER.ARPA
Subject: LSC Upgrade Policy

Can anyone tell me what the upgrade policy is for people that have the
old version of lightspeed C.  I have seen that people that bought LSC
recently can get the upgrade for free, but what about those of us that
have had LSC for some time now.

                                Larry Gegel
                                Gegel@DOCKMASTER.ARPA

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

Date: Tue, 3 May 1988 13:49:41 PDT
Sender: "William J. Lipa" <lipa@polya.stanford.edu>
From: William Lipa <lipa@polya.stanford.edu>
Subject: MPW Fortran v1.0b2a

I have had a chance to work the the Beta 2a version of Language Systems Corp.'s
Fortran for the past week. This is a Fortran compiler that works within the
MPW environment.

There are good things and bad things about this Fortran. The good thing is that
the MPW shell moves away from the graphical interface just enough to give the
programmer more power, but not so much that it becomes difficult to use.
Consequently, MPW Fortran is less frustrating to work with than Absoft Fortran,
which (among many other things) suffers from a lack of indirect command files.

The bad thing is that the compiler still has a ways to go before release. There
are important bugs in the areas of: file input/output, expressions involving
complex numbers, data statements, and functions which treat their return result
as a variable to play around with. This is in addition to the bugs mentioned in
the release note for this version, which affect adjustable arrays, block data
subprograms, alternate returns from subprograms, and some compiler switches.
Also, the compiler and the code it produces are quite slow. They hope to
increase speed dramatically in the final release.

I am excited by the potential of this product. It addresses many of the failings
of the Absoft compilter. However, at this point it is not very useful because
of the bugs.

Bill Lipa
lipa%polya@forsythe.stanford.edu

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

Date: Tue 3 May 88 15:25:02-PDT
From: Brodie Lockard <I.ISIMO@LEAR.STANFORD.EDU>
Subject: Re: Animation!

es1o+@andrew.cmu.edu (Eric Mitchell Snider) writes:

>     Ok, here's another problem I'd like some help with.  I'm working on
>a program where several small objects move around in front of a
>background.  The problem is I don't know a good way to replace the
>background after my objects have been erased and moved.  At the moment
>everything (including the background) is a separate picture (PICT)
>resource.  What do I need to do?!?

A typical algorithm used for animation like you mentioned is to
1. Figure out where you're first going to draw the foreground (the
thing being moved), and save what's there (call this "Under").
2. Draw your foreground where it belongs.
3. Whenever your object moves,
  A. Redraw Under where it came from.
  B. Figure out where you're first going to draw the foreground,
  and save what's there in Under again.
  C. Draw your foreground in the new place.
To save copies of stuff like Under, you need to set up offscreen
bitmaps (or pixmaps, if you're doing color), probably one for
each thing you're saving.  This gives you a place to hold your
stuff that won't appear on the screen.   See the CopyBits command.
Technote #120 discusses offscreen pixmaps; there's another one
that covers offscreen bitmaps, but I don't know the number.
Depending on what you're animating, you may want to keep your
foreground in another offscreen bitmap.  In any case you don't
want to be reading resources from disk in the middle of your
animation.

Unfortunately, doing only the above will cause unacceptable
flicker on the Mac.  To elimiate the flicker, you need an intermediate
step, and a third offscreen bitmap (call this "Mirror").  Step 3 above
now becomes
3. Whenever your object moves,
  A. Figure out the smallest rectangle that encloses the new and old
  locations of your foreground.
  B. Copy this whole area to Mirror.
  C. Redraw Under where it came from, on Mirror.
  D. Figure out where you're first going to draw the foreground,
  and save what's there (from Mirror) in Under again.
  E. Draw your foreground in the new place, on Mirror.
  F. Copy Mirror back to the screen (in the correct place, of
  course.)
This process is long and rather messy, but it's fast enough to
achieve very smooth animation, even with fairly large objects.

If you're moving more than one object, and the objects can overlap,
things get even worse:  if A moves on top of B, and then B moves,
B will put an obsolete version of Under back on the screen where A
now is.  In this case, you might want to keep track of where all
your objects are, and keep a copy of the entire background offscreen.
Then, whenever things move, copy the background to Mirror, draw all
your objects on Mirror at their new locations (and in back-to-front
order), and copy Mirror back onto the screen again.  Have fun.

Brodie Lockard
I.ISIMO@LEAR.STANFORD.EDU

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

Date: 3 May 88 14:11:48 EDT
From: Kenneth.Mohnkern@H.GP.CS.CMU.EDU
Subject: video in/out of Mac II?


I'm looking for something to digitize a video frame, allow me to
move the image to another program for touch ups and such, then
output it to videotape again.

Some programs (like Computer Friends' TV Producer) will mix Mac
graphics with running video and output to NTSC, but will not digitize
a frame.  Others (like Mass Micro's Color Space II) need a seperate
frame grabber so it can digitize.  All others I've looked at will
only digitize.

So is there something out there I haven't seen yet that'll do what I
need?  (I am new to the Mac II world)  Or am I going to have to stick
several things together or wait for the right technology to come along?

Any pointers will be greatly appreciated.
	ken

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

Date: Mon, 2 May 88 10:32 CST
From: <MPARK%UTMEM1.BITNET@forsythe.stanford.edu>
Subject: Flex and Full Write Professional

   Flex is a beautiful screen-saver and it costs us who won't steal
software just five bucks.  I see its metaphor as being a square of line
segments, looking like a banner, that twists and turns in 3-dimensions
as it bounces off the walls of an enclosing  box.  It does move fast,
but I think that that is a design decision of the author. The apparent
velocity is the same on a Mac Plus as on a Mac II.  I have only
experienced one difficulty; it interacts with update events following
modal dialogues in the pre-release version of Full Write Professional.
After Flex has saved the screen at least once after a boot, the region
beneath alerts and modal dialogues is left with vertical lines at about
32 pixel intervals.  This causes no harm to the functioning of Full
Write.  I have seen this with no other application, so it may be another
bug in the pre-release version of FWP and not a bug in Flex.

   Having reported this, let me put in a comment about my most favorite
application.  I have been using the pre-release version of Full Write
Professional since February and have found it to be wonderful.  I have
written reams with it and have found it to have tools and features
(outlining, hyphenation, spell checking, thesaurus, the ability to print
booklets) that are now to me indispensable.  It is not my place to tout
a product, I do not have and would have no place having a connection
with the companies involved.  As a programmer, however, I must applaud
the best employment of the Macintosh User Interface that I have yet
seen. There are no features of the program unavailable to or hidden from
the user who just mouses around.  For those who gravitate in that
direction there are at least two levels of keyboard commands that help
efficiency.  There are just plain old keyboard shortcuts.  These include
the expected keyboard equivalents for Menu Items (and these have the
expected values: Command-A, Command-X, etc) as well as three equivalent
sets of keystrokes and modifiers that use either the cursor keys, or the
keypad, or a set of other keys to move the cursor or selection by word,
character, or line increments either forwards or backwards.  There are
no modes here, all of the equivalent sets are there to be used at any
time.  All of this I consider to be in the first level of keyboard
equivalents.  Also part of this level are keyboard shortcuts for working
with outlines and maybe some more, too.  I consider this first level of
keyboard equivalents to be idiosyncratic, in that they are peculiar to
a particular application, they have to be learned, and some of them may
not be particularly intuitive (many are).  FWP has also, however,
implemented a new kind of keyboard shortcut that is a real contribution
to the Mac User Interface.  They provide a general mechanism for
navigating through menus and dialogue boxes using keyboard strokes that
is both intuitive and fast.  In summary, then, there are usually three
different ways, sometimes more, to accomplish a task in Full Write: you
can mouse it, you can use an esoteric keyboard equivalent, including the
keypad, or if it involves using a menu item or dialog, you can do it
using the general set of keyboard commands.

Mel Park
Dept. Anatomy & Neuroscience
University of Tennessee, Memphis

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

Date: 03 May 88 10:30 +0200
From: "Jacob Palme QZ" <JPALME%QZCOM.BITNET@forsythe.stanford.edu>
Reply-to: "Jacob Palme QZ" <JPALME%QZCOM.BITNET@forsythe.stanford.edu>
Subject: Blinking cursor in Microsoft Word

I am very irritated by the blinking cursor in Microsoft Word.
It distracts me from the text I am working on.

Does anyone have a patch to Microsoft Word, which causes the
cursor to stop blinking?

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

Date: Thu, 28 Apr 88 12:47:15 EDT
From: JEAN BRUNET <R31631@UQAM>
Subject: Hard disks

Considering the seize of current hard disks (40, 60 meg) the following products
 would be usefull:
1) A back up program permitting back-up of certain folders and not of others
   while having the same advantages as DiskFit for instance.
2) The possibility to lock certain folders without having to lock every file in
   it. At present one can either lock the whole disk (Disklock DA) or indivi-
   dual files.
Are such products available? Thanks for any help: Jean Brunet R31631@UQAM.

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

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