View Single Post
Old 16 April 2022, 03:00   #13
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Quote:
Originally Posted by ross View Post
This would collapse the discussion from the beginning.

Copper using Blitter by definition would take up most of the line DMA cycles making a stable raster bar virtually impossible
Nah. Your solution is better than you realyze.

After the first interrupt turn off copper and blitter DMA, "pausing" them both. Then do the STOP.. After second interrupt change background color and then "unpause" copper and blitter by turning their DMA back on. They'll continue from where they left off.

Besides, if the copper is running the blitter it's unlikely they're both stealing cycles at the same time. The CPU should have enough cycles available to handle the first int provided bp DMA isn't grabbing too much.

Here's what the bus looks like for an interrupt (from yacht.txt):

n nn ns ni n- n nS ns nV nv np np

Each symbol represents two CPU cycles. The CPU needs the bus for seven DMA cycles: three for the stack, two for the vector address, and two more to fetch the first instruction in the handler. Not too bad. Worst case move needs four more to turn off DMA. Just 11 memory accesses from int to DMA pause.
mc6809e is offline  
 
Page generated in 0.04325 seconds with 11 queries