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