[comp.sys.amiga] The LIVE Digitizer from A-Squared and the 68020

stever@videovax.UUCP (06/02/87)

In article <8705290639.AA04316@ingres.Berkeley.EDU>, Doug Merritt
(hatcher@INGRES.BERKELEY.EDU) writes:

> . . . The thing [LIVE]
> has to use self-modifying code just to implement *menus*...that's about
> as bandwidth limited as you get! (Note that this prevents its use on a
> 68020, since the cache on a 68020 prevents self-modifying code.)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Nope!  If you want to do such things on a 68020, just clear the Enable
bit in the Cache Control Register.  To quote the book,

   Clearing this bit will disable the cache (force continuous misses,
   and suppress fills) and force the processor to always access external
   memory.  The cache will remain disabled as long as this bit is
   cleared.  The user must set this bit, which is automatically
   cleared whenever the processor is reset, to enable the cache.

                        MC68020 32-Bit Microprocessor User's Manual
                        (page 7-3, paragraph 7.1.2.2)

					Steve Rice

-----------------------------------------------------------------------------
new: stever@videovax.tv.Tek.com
old: {decvax | hplabs | ihnp4 | uw-beaver | cae780}!tektronix!videovax!stever

ewhac@well.UUCP (06/04/87)

In article <4419@videovax.Tek.COM> stever@videovax.Tek.COM (Steven E. Rice, P.E.) writes:
>In article <8705290639.AA04316@ingres.Berkeley.EDU>, Doug Merritt
>(hatcher@INGRES.BERKELEY.EDU) writes:
>
>> . . . The thing [LIVE]
>> has to use self-modifying code just to implement *menus*...that's about
>> as bandwidth limited as you get! (Note that this prevents its use on a
>> 68020, since the cache on a 68020 prevents self-modifying code.)
>               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>Nope!  If you want to do such things on a 68020, just clear the Enable
>bit in the Cache Control Register.  [ ... ]
>
	You don't need to do this.  The LIVE software uses 20 MOVE.W
instructions per line to copy data to the frame buffer.  There are 200 lines
in a display, which means 4000 move instructions.  I don't think anyone's
cache is that big.

	The self-modifying aspect of the LIVE code alters the appropriate
sections of the code to map out a "hole" in the bitmap that menus and
requestors can be rendered into.  Thus, all menus and requestors are exact
multiples of 16 pixels wide (!).

	Assuming I understand the operation of LIVE correctly, you should be
able to use it with your 68020.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_	 Bike shrunk by popular demand,	      dual ---> !{well,unicom}!ewhac
O----^o	 But it's still the only way to fly.  hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor