View Single Post
Old 25 March 2023, 16:59   #4
Rock'n Roll
German Translator
 
Rock'n Roll's Avatar
 
Join Date: Aug 2018
Location: Drübeck / Germany
Age: 49
Posts: 183
1. general:
The question is when to change BPLCON1 if you want to be in sync with reading the 16 pixels?

DMA-Time Slot Diagramm: for a part of 16 Pixel: DDFSTRT $38
Bitplane-and Coppercycles:

Code:
DDFSTRT on $38
 [38  56]  [39  57]  [3A  58]  [3B  59]  [3C  60]  [3D  61]  [3E  62]  [3F  63]       
    1          2        3          4        -       BPL4      BPL6      BPL2
  (free)              (free)              (free)	     (steal)
   COP                 COP                  COP                COP
  
 [40  64]  [41  65]  [42  66]  [43  67]  [44  68]  [45  69]  [46  70]  [47  71]	  [48  72]  [49  73]
 COP  08C   BPL3       BPL5     BPL1						    1		2
  (free)              (steal)							  (free) 
   COP                 COP                  COP                COP		   COP	     Data shown on Screen
$38 - DDFSTRT
$43 - DFFSTRT finished
$48 - then 5 cylces wait
$49 - data shown on screen (17 pixel later then DDFSTRT or 8,5 cycles)

2. Which is the last Copper Position which the the Hardwarescroll Value with BPLCON1 changes?

Code:
  DDFSTRT on $38
 [38  56]  [39  57]  [3A  58]  [3B  59]  [3C  60]  [3D  61]  [3E  62]  [3F  63]       
 COP  08C     2      COP  102    4       COP  08C    BPL4    COP  102    BPL2
      102	         0055		      102	         0044
  (free)              (free)              (free)	      (steal)
   COP                 COP                  COP                 COP
  
 [40  64]  [41  65]  [42  66]  [43  67]  [44  68]  [45  69]  [46  70]  [47  71]	  [48  72]  [49  73]
 COP  08C   BPL3     COP  102   BPL1	 COP  08C	     COP  102		    1	        2
      102	         0033		      102	         0022
  (free)              (steal)							  (free) 
   COP                 COP                  COP                 COP		   COP	     Data shown on Screen
3. For this example which value would be take from the videologic?
the last one? dc.w $102,$0022 ? and all the previous are ignored?

4. if so, then I have to make a wait on: $44?
dc.w $2c45,$fffe ; a copper move needs 8 pixel lowres
dc.w $0102,$0022

5. this would be also synchronized with all the other in a row of 40 Copper Moves
dc.w $01FE,$0000
dc.w $01FE,$0000
dc.w $01FE,$0000
dc.w $0102,$0011 ; new value this is in distance: + HH=$20

6. or if I want no row of 40 copper moves
find (calculate not empiric) the correct wait-position for the next
copper move dc.w $0102,$00xx for all (or certain) from the other 19x16 pixels (320x256) in the row.

Last edited by Rock'n Roll; 25 March 2023 at 17:40.
Rock'n Roll is offline  
 
Page generated in 0.04651 seconds with 11 queries