English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 06 April 2011, 21:26   #1
Jherek Carnelia
Dazed and Confused
Jherek Carnelia's Avatar
 
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 227
diwhigh/diwstart problems

I'm experimenting with the display window registers, but something is going amiss. I'm starting with a standard PAL display window:

diwstart = $2c81
diwstop = $2cc1
diwhigh = $2100

Then I load in a graphic 320 x 256 and start to increment diwstart 256 times until the display window has disappeared. A vblank routine updates the copperlist, but calculating the new diwstart/diwhigh value is done outside of this.

When diwstart gets to 00, I set diwhigh START V8 bit, so that diwhigh = $2101 and this is where I think the 'glitch' happens; the entire graphic briefly flashes onto the display in the original start position and then disappears again and the window start position continues moving as before.

I've used MonAm to watch the routine that calculates the values and all seems to do as I planned (although with my hazy knowledge, that's not saying a great deal ). Frankly I'm stumped, and can't even think where to look/try next. If someone would care to run the exe file I have attached and give me some pointers as to where I should be concentrating my debugging efforts I would be grateful.

btw it was written in WinUAE using an A4000/A1200 configuration and pressing the LMB ends it. Thanks

Last edited by Jherek Carnelia; 16 April 2011 at 21:40.
Jherek Carnelia is offline  
AdSense AdSense  
Old 06 April 2011, 23:43   #2
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,020
There's no need to set the display window registers every frame, and I noticed that if you set the vertical start to line 256 it will only flash (it looks like it starts at line 0 instead of 256) the next frame, but for all subsequent frames the display will be fine. I could be wrong but to me it looks like you've found a bug in WinUAE.
Leffmann is offline  
Old 07 April 2011, 09:20   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 19,779
Your program does not work (missing onpatrol.raw?) so my crystall ball says you modify diwstrt during line zero which causes diw comparison to match before diwhigh is written.
Toni Wilen is offline  
Old 07 April 2011, 16:48   #4
Leffmann
 
Join Date: Jul 2008
Location: Sweden
Posts: 2,020
I can't recall this problem from back when I used a real Amiga, but it explains what I see when I test it here on WinUAE. The solution is then to either set the display window during f.ex line 0, but wait until line 1 if the vertical start is line 256, or to just always set the display window during any of the last lines which are past the bottom of the display.
Leffmann is offline  
Old 07 April 2011, 20:08   #5
Jherek Carnelia
Dazed and Confused
Jherek Carnelia's Avatar
 
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 227
Thanks Chaps. I've added the missing graphics file. I will have a think about what you've said and see if I can understand what needs to be done

Last edited by Jherek Carnelia; 16 April 2011 at 21:40.
Jherek Carnelia is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
I Have Two Problems! Weemus support.Hardware 5 18 March 2013 07:14
Understanding DIWHIGH register jman Coders. Tutorials 6 11 June 2011 13:29
Personal project: EEEPC, Gamebase and WINAUE: problems problems butter100fly project.MAGE 15 09 August 2009 11:51
DIWSTART and sprite Camionsauro Coders. Tutorials 3 22 April 2009 14:24
GUI refresh problems + OpenGL Speed Problems in 0.821r4 Danny Bacon support.WinUAE 1 07 June 2002 19:57

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 15:16.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.27587 seconds with 14 queries