Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!sunic!cs.umu.se!dvljrt From: dvljrt@cs.umu.se (Joakim Rosqvist) Newsgroups: comp.sys.amiga.programmer Subject: Re: Copper & HiRes Interlace Message-ID: <1991May25.165221.2209@cs.umu.se> Date: 25 May 91 16:52:21 GMT References: <4892@gumby.Altos.COM> Sender: news@cs.umu.se (News Administrator) Organization: Dep. of Info.Proc, Umea Univ., Sweden Lines: 32 >When my software is in complete control of my Amiga 2000, I support my >High Resolution Interlaced display by catching the Vertical blanking >interrupt. Essentially, my interrupt service routine looks like this: > >#define LOF 0x8000 /* Interlace Long Frame Bit */ >display_intr() >{ > if (custom.vposr & LOF) > custom.bplpt[0] = bitplane; > else > custom.bplpt[0] = bitplane + 80; > custom.intreq = INTF_VERB; /* clear interrupt */ >} > >completely flip out every time I disabled interrupts. The HRM states: > > To get the Copper to execute the correct list, you set an interrupt to > the 68k just after the first line in the display. When the interrupt > is executed, you change the contents of the COP1LC location register to > point to the second list. Then, during the vertical blanking interval, > COP1LC will be automatically reset to point to the original list. > You will have use 2 copperlists, but you don't need any interrupt handling to install it, the LongFrame bit can be written to as well. /$DR.HEX$ -------------------------------------------- Email to: dvljrt@cs.umu.se 2 Windows on the screen? Oh no, not me. I just Logout & Go.