Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!hellgate.utah.edu!csn!happy.colorado.edu!kskelm From: kskelm@happy.colorado.edu Newsgroups: comp.sys.amiga.programmer Subject: Re: The Copper / HW level prograMMING. Message-ID: <1991Feb19.154300.1@happy.colorado.edu> Date: 19 Feb 91 21:43:00 GMT Sender: news@csn.org (news) Organization: Colorado SuperNet Inc. Lines: 24 Nntp-Posting-Host: 128.198.1.246 In article <1991Feb11.162007.7750@vax1.tcd.ie>, smcgerty@vax1.tcd.ie writes: > The interrupt looks at GfxBase->LOFList (offset 50 from GfxBase) and puts what > is held there into COP1LC during the vertical blanking interval. In my experience, WRONG. If you write an address into cop1lc and then reference copjmp1, your copper list WILL supersede the normal OS, and will continue to do so until you load the system's value back in (gfxbase->copinit, I think). > Does anyone know how long a Copper MOVE instruction takes? > I'm curious to know how many CMOVEs I can do in one scan line... If you form a copper list that reads WAIT 0,0 /* wait for line 0, column 0 */ MOVE color0, 0xFFF /* set background color to brite white */ MOVE color0, 0x000 /* set background color to black */ ... you will get a white bar 8 lores pixels wide, followed by blackness. Enjoy, Kevin Kelm