Path: utzoo!utgpu!water!watmath!clyde!att!alberta!ubc-cs!uw-beaver!mit-eddie!bloom-beacon!apple!claris!ames!pasteur!ucbvax!decwrl!mejac!gryphon!pnet02!collins From: collins@pnet02.cts.com (Steven Collins) Newsgroups: comp.sys.amiga.tech Subject: double buffering via interrupts Message-ID: <6015@gryphon.CTS.COM> Date: 28 Aug 88 20:20:16 GMT Sender: root@gryphon.CTS.COM Organization: People-Net [pnet02], Redondo Beach, CA. Lines: 49 Is it cool to put some blank lines up here for some reason?? I am trying to set up a double buffered screen that uses a vertical interrupt handler to do the flip. It works fine until I try to depth arrange or slide the screen down, then I get a bomb that looks like: 00000003.00c04fd0 or 00000004.00c04fd0 (always at this address...) Here's what I try to do: Open a hi res custom screen find the view with ViewAddress() find the rastport for the screen allocate a second bitmap create a rastport for the second bitmap then I insert a Vertical blanking interval interrupt server in the server chain at a priority of 1. This server switches the bitmaps like this: Scrn->ViewPort.RasInfo->BitMap= (one of the bitmap pointers) MakeScreen(Scrn) MrgCop(view) LoadView(view) This whole think works... until I try to move the screen or depth arrange. do I need to find the view using ViewAddress within the server? (It doesn't seem to matter...) Is this a reasonable way to do this sort of thing? How come I always bomb to the exact same address? Should I go back to my C64? One last clue: if I set up the server to only do the buffer fliping every 10 V-blanks or so, I can slide the screen down as long as I don't go too fast, and depth arranging seems to work (at least most of the time...) What is happening when I'm moving the screen anyway? thanks in advance... steve collins Don't be shy... Roast me alive... UUCP: {ames!elroy, }!gryphon!pnet02!collins INET: collins@pnet02.cts.com