22 September 2015, 14:18 | #1 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
Mid-line bitplane pointer change?
Are there any gotchas in changing the bitplane pointers midway through the playfield? Apart from the fact that it takes 8 lowres cycles and you get all kinds of trouble with syncing up the content.
I am trying to change the low word of 4 bitplanes in the middle of the screen, but it seems like one of the bitplanes is ignoring all my efforts. I see the copperlist keeps setting the pointers (I keep them static so it should be bars down the screen). I feel like banging my head against the table... Could it be an issue with WinUAE(cycle exact - man how slow that was...)? |
22 September 2015, 14:30 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
I guess you triggered Agnus undocumented feature: write to DMA pointer register gets ignored if following cycle does DMA access using same DMA pointer register.
Same happens with other DMA channels too, for example sprites, and there are demos that, as usual, accidentally depend on it.. |
22 September 2015, 15:35 | #3 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
Aha! That was it. I swapped bp1 and 3 order around and it behaved.
Now to see if I can make a general mid-line update work in general. Does scrolling offset affect any timing? Oh, and how does AGA timing really work? Will 8 bitplanes grab all 8 timing slots consecutively and then take none for the next 24 (in 32-bit double acces mode)? I.e. are you locked out of such a mid change for 4 timing slots if you run into bitplane access? (Or does it care at all about pointers until it has dumped 64 pixels?) |
22 September 2015, 15:51 | #4 | |||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
Quote:
Quote:
|
|||
23 September 2015, 13:28 | #5 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
How hard can it be to get this right?
I have tried waiting for a position that is a multiple of 4 and then change 3, 1, 4, 2 wait for end of line and repeat it all. The idea was to change 2 pointers in one fetch and 2 in the next. I was intending to put a sprite over the gap where they were out of sync. I am messing this up in every which way possible it feels like. Are there any demos/intros/games out there that does this that I can take a look at? |
23 September 2015, 17:09 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Try using "dma debugger" to see exactly which cycles are used. "v -1" in debugger to enable it, then you can use "v <vpos> <hpos>" to show selected scanline's cycle usage. (hpos is optional parameter)
I don't know any programs that only change pointers mid scan line but there are few programs that change pointers and resolution mid scanline: - Innovation Part 2 by Axxis - Disposable Hero title screen (game) - Party Report by Escape & Outlaws and probably more I don't remember anymore.. |
24 September 2015, 23:42 | #7 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
|
25 September 2015, 02:21 | #8 | |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Quote:
I wanted to test mid-screen bitplane pointers change as well for quite a while but never got a chance to so I might (*) run a test this week end. However this is going to be A500 only 'cause my 1200 is still in my parents's attic. (*) it is hard enough for me to keep focused on my current project so I do not want to make a promise I cannot keep. |
|
25 September 2015, 09:24 | #9 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
4000 is sick, 3000 smells of wee (sign of dead capacitors), 2x 2000 at my mom 1800km away and lacking powersupplies. So, no. I don't think that will change for a while either.
(And the prices for a used 1000 is a joke - not paying that much however nice I think it is.) |
25 September 2015, 19:11 | #10 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
|
26 September 2015, 13:45 | #11 | |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Quote:
Regarding the 3000: store it top down, this way the caps won't leak on the motherboard at least. And this reminds me I must check my Saturn as well because it too started to smell like cat pee when I was playing last week. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Wanted Pyro-Mid | vitux | support.Games | 9 | 20 September 2019 01:23 |
Hi, Just started my Amiga mid life crisis!!! | pinchez | Member Introductions | 9 | 02 December 2011 14:18 |
Classic DOS or Windows games since mid-90s | antonvaltaz | Retrogaming General Discussion | 45 | 09 October 2010 10:11 |
How to change Mouse Pointer in AmigaSYS4 | fitzsteve | support.Apps | 8 | 26 August 2010 16:21 |
bitplane modulos | bluea | Coders. General | 0 | 09 July 2006 01:58 |
|
|