Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!olivea!oliveb!amiga!jimm From: jimm@amiga.UUCP (Jim Mackraz) Newsgroups: comp.sys.amiga.hardware Subject: Re: Using the copper (was Re: 3d Graphics) Keywords: copper lists Message-ID: <6446@amiga.UUCP> Date: 28 Mar 91 09:26:14 GMT References: <12305@monu1.cc.monash.oz> <7183@harrier.ukc.ac.uk> <4739@gumby.Altos.COM> Organization: I and I Computing, Palo Alto, CA Lines: 48 In article <4739@gumby.Altos.COM> clp@altos.COM (Chuck L. Peterson) writes: )Anyone have a sample of a copper list for a simple )interlace screen with no sprites? The interlace copper example )in the HRM installs the copper program then spins waiting )for the VSYNC interrupt; where it installs the correct bitplane )depending on whether it is a long frame or not. ) )I want a copper list which installs the correct bitplane pointers by )itself so the silly thing will work even with interrupts disabled. )Any hints? I can't see any sane way in the world you could get the right phase of the thing, but once started right you can set each field's copper to ping-pong cop2jmp to the other field's copper. You can see how graphics.library does this if you disassemble the copper for an interlaced viewport. I once said that you couldn't do a subroutine jsr in COP, but you can (one level deep), so I don't want to go too strong on my "you can't determine the correct phase." Perhaps some elaborate dependency on the differing number of rows, like a dead WAIT until the last row of the long frame ... hmmm. If there was a row number unique to the long field, and you wait for x=0 on this row, then the following instructions (aplenty) would only be executed on the long field. Otherwise, they'd be skipped when the hardware restarted the copper. Maybe long-frame copper ends like this.. load coploc2 with pointer to this, the long frame, just in case we're now out of phase. wait until very last longframe row (ie, "if this is the long field") reload coploc2 with pointer to short frame, because now we know that we are the long frame. Use coploc1 if you don't subscribe to the graphics copinit header... Hmmm. You could test this by poking colors .... send me a copy if that works... jimm -- --- opinions expressed herein are my own. --- "... Because they can." - profound punchline to joke about dogs