View Single Post
Old 21 November 2019, 09:41   #9
deimos
Registered User

 
Join Date: Jul 2018
Location: France
Posts: 536
Quote:
Originally Posted by a/b View Post
Based on generator code, it looks like your split screen starts at line $dc.
And based on copper list dump, you are changing a bunch of bitplane stuff right at the very end of line $db leading into line $dc (bplcon0, modulos, bitplane pointers), all while display DMA is still enabled. I'd try setting $0100 (bplcon0) to $0200 first, then change stuff, and finally set $0100 to $3200.
This made almost no difference. There is now a tiny black dot near the start of the first line after the split. But it sounds like you don't like me changing bitplane stuff while display DMA is running, so I should leave it in?

Code:
        ...
        COP_INSTR(COPJMP2, 0x0000)

        COP_INSTR(BPLCON0, COLORON)

        COP_INSTR(BPL1MOD, INSTRUMENTS_DISPLAY_MODULO - 2)
        COP_INSTR(BPL2MOD, INSTRUMENTS_DISPLAY_MODULO - 2)

        COP_INSTR(BPL1PTH, HIGH_WORD(secondaryBuffer))
        COP_INSTR(BPL1PTL, LOW_WORD(secondaryBuffer))
        COP_INSTR(BPL2PTH, HIGH_WORD(secondaryBuffer + DISPLAY_WIDTH_IN_BYTES))
        COP_INSTR(BPL2PTL, LOW_WORD(secondaryBuffer + DISPLAY_WIDTH_IN_BYTES))
        COP_INSTR(BPL3PTH, HIGH_WORD(secondaryBuffer + 2 * DISPLAY_WIDTH_IN_BYTES))
        COP_INSTR(BPL3PTL, LOW_WORD(secondaryBuffer + 2 * DISPLAY_WIDTH_IN_BYTES))

        COP_INSTR(BPLCON0, INSTRUMENTS_DISPLAY_DEPTH << PLNCNTSHFT | COLORON)

        COP_INSTR(0x8037, 0x80fe)
        ...
Attached Thumbnails
Click image for larger version

Name:	tiny-black-dot.png
Views:	34
Size:	8.9 KB
ID:	65243  
deimos is offline  
 
Page generated in 0.04638 seconds with 12 queries