Thread: Copper timing
View Single Post
Old 17 July 2008, 16:43   #11
yaqube
Registered User
 
Join Date: Mar 2008
Location: Poland
Posts: 158
I noticed that the previously captured data was not from line $40 and assumed that it was from line $42 or $44 (those lines are probably indistinguishable).

In the meantime I discovered another undocumented feature: after write to COPJMP2 there are two additional cycles before first instruction from new location is fetched. I have also made tests with A4000 and WinUAE and found another difference considering this issue (I know that WinUAE takes these cycles into consideration). See atached pictures and source code.

The code jumps to new location after performing 4 MOVE's. It is done in 5 bitplane display mode so there are 3 free even cycles and one taken by plane 5 dma. In four lines the same sequence repeats with different start position. Could you capture line $42, $44, $46 and $48? I'm interested in the first cycle after COPJMP2 is written.

It seems that the first cycle after write to COPJMPx is just one even cycle (free or not, in your captured file there is a read to COPINS) and the second one must be a free cycle (with RGA NULL).

As far as I know there is no way to determine if a given cycle is a real free dma cycle or not, such a logic is deeply burried inside Agnus.
Attached Thumbnails
Click image for larger version

Name:	A4000 copjmps.jpg
Views:	359
Size:	23.8 KB
ID:	17179   Click image for larger version

Name:	winuae150 copjmps.jpg
Views:	345
Size:	18.8 KB
ID:	17180  
Attached Files
File Type: zip copjmp.zip (696 Bytes, 138 views)
yaqube is offline  
 
Page generated in 0.04230 seconds with 12 queries