[comp.sys.mac.programmer] Switching video pages on Mac Plus- How?

busey@blake.acs.washington.edu (Thomas Busey) (11/03/89)

Yes, I know it's a no-no, but the psychology lab I work in needs the 
ability to alternate between two pictures on a mac screen at speeds 
up to 60 switches a second.

Working from Lightspeed Pascal, I would like the ability to initalize 
the alternative video page, put a bitmap on it, and then switch back 
and forth between the two pages.  I need to control this switch with
the tickcount variable for standardization.

Since our lab runs with a Mac Plus, we won't ever have any problems
with compatibility (at least with this experiment).

If anyone in Net-Land holds the key to rapid video page switching,
please share the wealth.

Tom Busey
busey@blake.acs.washington.edu
{++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
                  "I'm a dessertitarian. "  -Calvin

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (11/04/89)

In article <4296@blake.acs.washington.edu> busey@blake.UUCP (Thomas Busey) writes:
>Yes, I know it's a no-no, but the psychology lab I work in needs the 
>ability to alternate between two pictures on a mac screen at speeds 
>up to 60 switches a second.

[ stuff deleted ]

>and forth between the two pages.  I need to control this switch with
>the tickcount variable for standardization.

   Don't use tickcount.  Tickcount is often not updated strictly every 1/60
of a second and there can be trouble if you use it for precise timing
because disk accesses and cursor movement can prevent it from being updated
before another vertical retrace interrupt happens.
Using the Time Manager will allow a routine you indicate to be called in an
amount of time which can be specified precisely to the millisecond.  Look
somewhere near the end of IM IV.

      -- Mark Wilkins

oster@dewey.soe.berkeley.edu (David Phillip Oster) (11/05/89)

In article <2805@jarthur.Claremont.EDU> wilkins@jarthur.UUCP (Mark Wilkins) writes:
>   Don't use tickcount.  Tickcount is often not updated strictly every 1/60
>of a second and there can be trouble if you use it for precise timing
>because disk accesses and cursor movement can prevent it from being updated
>before another vertical retrace interrupt happens.
>Using the Time Manager will allow a routine you indicate to be called in an
>amount of time which can be specified precisely to the millisecond. 

Time Manager is no better. If I wave the mouse around, I can get time
manager times to vary by about 10% over a 10 second interval.  Some early
programs soved this by turning off the mouse while doing time critical
things. (The SoundCap audio digitizer comes to mind.)