21 February 2014, 18:56 | #1 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
Blitter busy flag with blitter DMA off?
If blitter DMA is disabled and you go ahead and start a blit as you normally would, will the blitter busy flag turn on, or will that not happen before blitter DMA is turned on?
(I am working on a Minimig "Blipper" extension and I am getting more and more unsure if I can depend on the busy flag or if I have to recognize the blitsize registers to change the state machine. Reading the waitblit discussions here made me even more sceptical.)) |
21 February 2014, 19:21 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
|
OCS and later: BUSY bit gets set immediately when BLTSIZ is written, even if DMA is turned off.
A1000 Agnus has delayed BUSY bit, it only gets set when blitter gets first DMA slot. |
22 February 2014, 05:18 | #3 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
There isn't a 3 cycle delay before BUSY lights up?
|
22 February 2014, 08:53 | #4 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
|
No. I just logic analyzer rechecked (by writing to BLTSIZE with copper and at the same reading DMACONR using CPU), BUSY bit was set when CPU read DMACONR in next cycle after BLTSIZE.
3 cycle delay is probably what A1000 Agnus does (if there is no other DMA channels stealing cycles from blitter), after BLTSIZE has been written to, blitter does 2 idle cycles (Can anyone guess or know the purpose of these 2 cycles?), 3rd cycle is first DMA fetch cycle. |
22 February 2014, 10:35 | #5 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
Thanks a lot.
|
23 February 2014, 16:41 | #6 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
WinUAE or WINE bug?
Sorry to derail my own topic, but I am having trouble making a small test with WinUAE using openSUSE and WINE - I get crashes and dump files.
Can someone with a real Windows try http://home.online.no/~bnost/tst and say if it works (i.e. not crashes WinUAE at least)? (It was supposed to be the beginnings of my Blipper test.) |
23 February 2014, 17:10 | #7 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,349
|
tst didn't crash WinUAE (2.7.1b9) for me. However as far as I can see you point the copper to the start of your BSS hunk without writing any copper instructions there. So maybe results vary depending on what was in memory beforehand.
|
23 February 2014, 19:41 | #8 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
Thanks. I rolled back from dev to stable WINE and now it doesn't crash.
And the bss was a bug. Man how rusty you get :-) (Only thing now is why on exit the restored copperlist doesn't come up before I move the mouse?) |
23 February 2014, 19:48 | #9 |
Registered User
Join Date: Aug 2004
Location:
Posts: 3,349
|
Are you supposed to save gb_ActiView, then LoadView() it before exiting? Also I noticed that while you GetMsg the WbStartup message, you don't reply to it before exiting.
|
23 February 2014, 21:05 | #10 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 852
|
Thanks again. Dragging through my old sources I found this and now it looks right.
Sadly I can't say that about my Minimig mod. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Please help me!! Blitter pain! | h0ffman | Coders. Asm / Hardware | 5 | 15 June 2013 18:59 |
Blitter using the copper... | h0ffman | Coders. Asm / Hardware | 9 | 23 February 2012 08:25 |
Filling with the blitter... | Lonewolf10 | Coders. Tutorials | 7 | 13 September 2011 14:30 |
Blitter Question. | cdoty | Coders. General | 11 | 06 May 2005 15:22 |
WinUAE blitter <-> bitplane DMA timing accuracy? | Photon | Coders. General | 1 | 24 November 2004 18:06 |
|
|