Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!andante!mit-eddie!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ames!ucsd!nosc!helios.ee.lbl.gov!pasteur!cory.Berkeley.EDU!koster From: koster@cory.Berkeley.EDU.UUCP Newsgroups: comp.sys.amiga.tech Subject: Problem with double-buffering and some 1-second interrupt annoyance Message-ID: <4213@pasteur.Berkeley.Edu> Date: 1 Jul 88 20:30:12 GMT Sender: news@pasteur.Berkeley.Edu Reply-To: koster@cory.Berkeley.EDU.UUCP (Kevin Oster) Organization: University of California, Berkeley Lines: 29 I am doing a double-buffered display just like it says in ROM KERNAL VOLUME 1. I have created two sets of copper lists and one view structure and am putting the list I want into the v_LOFcprlist then doing a loadview when I want the display to switch. It may take more than 1/60th of a second to draw the hidden picture, so I have set up a vertical blank interrupt server that maintains a counter of fields. When it gets up to 3, it clears the counter and sends the main program a signal. One mystery is this interrupt. I must AddIntServer a structure that has priority 127. If I put it at 0 or -60 (Like one of the examples in RKM1) I get nothing out of it, as if the system servers do not let the chain continue. The main program does as follows: switch the v_LOFcprlist in the view structure, switch so that I will write to the other bitmap, do a LoadView, then wait for the above signal sent from the interrupt server. Then I actually do the writing into the hidden planes, and when that is done I continue the loop. Everything works fine, everything is smooth, except at about one second intervals I get a little flicker, as if it is displaying the bitmap I am working on just for a single frame. My theory is that at one second intervals the Amiga does some incredibly lengthy maintainance of say the disk drives, internal clock, whatever, that takes a long time. What I want to know is how can I fix this problem? What are these housekeeping functions, and is it ok if I make my server the end of the chain, such that no one else gets vertical blank timings? Why do I have to set the VB server's priority at 127? Thanks very much in advance, of course. koster@cory.berkeley.edu