Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!tcdcs!swift.cs.tcd.ie!vax1.tcd.ie!smcgerty From: smcgerty@vax1.tcd.ie Newsgroups: comp.sys.amiga.programmer Subject: The Copper / HW level programming. Message-ID: <1991Feb11.162007.7750@vax1.tcd.ie> Date: 11 Feb 91 16:20:07 GMT Organization: Trinity College Dublin Lines: 43 I'm starting to program the Amiga at the Hardware level, (with a lot of help from the Amiga hardware Ref. Manual) and I'm currently learning about the Copper: First a hint I picked up that isn't in the HW Ref. Manual: It states that "The COP1LC reg is written at the end of the vertical blanking period by a graphics interrupt handler.." ie: The system imposes its own Copper list while the interrupts are on. Since turning off the interrupts is not the done thing, its better just to redirect this to your own Copper List. The interrupt looks at GfxBase->LOFList (offset 50 from GfxBase) and puts what is held there into COP1LC during the vertical blanking interval. To redirect it to your own list: MOVE.L 50(A6),OldCopper ;a6=GfxBase. MOVE.L MyCopper,50(A6) ... and to restore it later MOVE.L OldCopper,50(A6) Now a question: 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... Assuming the CWAIT finishes when the raster hits the point it specifies, will a CMOVE straight after it effect that position/pixel, or will it be too late? (I imagine it can. Even if it can't, it doesn't really matter, as it will occure at every position, and everything will be 1 or 2 out.) I'd just like to know what I can do in what width of screen........ I'd be interested to hear from anyone doing any HW level programming at all. Its quite interesting (makes a change from C & good'ol intuition..!) Thanks in advance. ---------------------------------------------------------------------------- | / T | / Stephen John McGerty | Amiga // | | / | |/ smcgerty@vax1.tcd.ie (C.Sci.) | "Hmm.. No, nothing." \\// | |__________________________________________|_______________________________|