Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!haven!umd5!brett From: brett@umd5.umd.edu (Brett Bourbin) Newsgroups: comp.sys.amiga.tech Subject: Copper Programming Message-ID: <5050@umd5.umd.edu> Date: 23 Jun 89 17:19:46 GMT Reply-To: brett@umd5.umd.edu (Brett Bourbin) Organization: University of Maryland, College Park Lines: 28 What I have been trying to do is write a short User Copper list that calls my private hardware copper list. The User Copper list simply waits for the first line of the screen, where the changes need to be made, then loads COP2LC with the address of the private list, finally accesses COPJMP2. When I use the following code, the screen gets all jarbled: if ( !( vp->UCopIns = (struct UCopList *) AllocMem( (long) sizeof (struct UCopList), MEMF_CHIP|MEMF_CLEAR ))) goto FAIL; ucl = vp->UCopIns; CINIT( ucl, 10L ); CWAIT( ucl, (long) STARTLINE-1, (long) width-1 ); CMOVE( ucl, custom.cop2lc, (long) (privatecop >> 16) & 0xffff ); CMOVE( ucl, (*((UWORD *) &custom.cop2lc+1)), (long) privatecop &0xffff ); CMOVE( ucl, custom.copjmp2, 0L ); CEND( ucl ); Can someone tell me where I am going wrong? It looks to me like the correct way to do it, but since it doesn't work, I guess there is a better way. 8^) -- --Brett S Bourbin, Instructional Computing Programs -- Univ of Maryland Computer Science Center, College Park, MD 20742 INTERNET: brett@umd5.umd.edu BIX: brettb DELPHI: brettb