View Single Post
Old 04 March 2021, 01:42   #35
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,633
That's when you stopped responding, yes...

So you made a sketchy question putting WinUAE/Coppershade/HRM into question, now you come back and got all these responses. I can understand your confusion how we would get all involved. It's about a full understanding, nothing to do with an individual question. Every possible thing - even bugs in hardware, documentation, and emulation - we want to know.

And so thread title even got Toni involved. He can answer for himself.

Now, I am Photon and I am a person. I take special pride in answering questions as asked, and writing only what can be supported by objective testing. So for me personally, your strawman accusation is false - I've tried my very best, it's your post lacking information. Avoid having to play at argumentation by simply providing code and expected result.

Quote:
Originally Posted by Muzza View Post
It was my WAIT_BLITTER macro. At some point in the past I'd changed it from a conventional wait loop to one that enabled blitter nasty.

I can't find exactly where I got it from (it has comments next to it that are definitely not from me, so I must have copied it from somewhere!)
It is similar to the ones posted here http://eab.abime.net/showthread.php?t=94332

Broken version was:
Code:
WAIT_BLITTER:    MACRO
        move.w        #$8400,DMACON    ; Enable bit 10 : BLTPRI (BLITTER NASTY) - gives blitter priority over 68k
        tst.w        DMACONR
        tst.w        DMACONR
        move.w        #$0400,DMACON    ; Disable BLTPRI
        ENDM
This version fixes it:
Code:
WAIT_BLITTER:    MACRO
        move.w        #$8400,DMACON
.\@        btst        #6,DMACONR
        bne.b        .\@  
        move.w        #$0400,DMACON
        ENDM
That version may fix it (on early A1000 hardware only, and doesn't explain any misbehavior in WinUAE at all, cycle exact or not) because it has a move to a custom register likely equal to a tst or btst of same before the wait loop.

Again Coppershade tries to provide only correct information. You didn't get that code from me. If you want a correct blitwait, it's right there on the page you linked in the OP. From your quote, if you had put that in your macro your code would have worked, removing the need for posting the question.

Last edited by Photon; 04 March 2021 at 01:50.
Photon is offline  
 
Page generated in 0.04575 seconds with 11 queries