21 April 2011, 22:49 | #1 |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
Display register experiment problems...
Well, I'm experimenting changing the display window registers to create 'wipe' type of effects and I think I've bashed up against the limit of my knowledge
It pretty much works, and thanks to some earlier tips, I've fixed (bodged, probably), a major display glitch I was having - but there are some niggly little glitches and jerking in the display that I have no idea how to fix. It would be brilliant if one of you gurus could take a look at my efforts and give me a clue as to what I need to look at. I suspect that it may be due to my lack of knowledge in how the display is written and some sort of timing issue, although to be honest it may well be just my crappy coding! I dunno anymore. I kinda feel like I've just given up, and in a way I have, but I really just can't think of what to do next, and a little input of expert knowledge could help me move on to the next level. Cheers chaps. Last edited by Jherek Carnelia; 29 April 2011 at 11:31. |
22 April 2011, 16:50 | #2 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Can't get it to assemble with my old include files, DOSCALL and other macros are missing. These include files always were a complete mess, and there are several sets floating around with various modifications. What assembler, include files and tab size are you using? Maybe you could just describe the exact effect you're looking for, and someone might know a good way of achieveing it.
Last edited by Leffmann; 22 April 2011 at 16:56. |
22 April 2011, 19:42 | #3 |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
Bah! Can't even upload something that works
Okay, I've attached an executable (with gfx files) that hopefully will work, and show what I'm trying to do. I've also attached my includes if anyone wants to try and assemble with them Last edited by Jherek Carnelia; 29 April 2011 at 11:31. |
22 April 2011, 20:11 | #4 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Just tried your executable version with various setups and couldn't get it to work. What is your exact configuration (e.g. OS version, CPU, RAM etc.)?
It's loading (I can see available memory dropping and not going back up again) and appears to do nothing. Edit: Am looking at your source code now and trying to assemble it. However it is missing include "utilsV1.1.s" (unless that is a typo). Tried with "utilsV1.0.s". Some routines appear to be missing (e.g. waitline_to_end) when assembling with case sensitive off. With case sensitive on multiple symbols are defined twice. Regards, Lonewolf10 Last edited by Lonewolf10; 22 April 2011 at 20:31. |
22 April 2011, 22:08 | #5 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
My crystal ball says it is DIWHIGH calculation problem, I didn't bother to check it because the code is unnecessarily complex and has too much code duplication, sorry
Better use simple WORD sized displaystart and displaystop variables and only calculate DIWSTRT/DIWSTOP/DIWHIGH values in UpdateDisplayRegisters. (no unnecessary bitshifting or masking anywhere else) Also make sure you update all above registers at the end of field (but before line zero!) because DIWSTRT/DIWSTOP are "immediate", for example if you are going to set vertical start to line 256, write 0 to DIWSTRT vertical position during line zero will immediately match, following write to DIWHIGH won't "cancel" it. |
22 April 2011, 22:58 | #6 |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
@LoneWolf
What a plonker I am i attached the wrong file. I've attached the right one now... The config is a basic A4000, nothing fancy. Attached as well. @Toni Hmm. I need to think about what you suggest - I don't fully understand it (You're right that there is a lot of duplication - I don't want to remove that redundancy until it works, and then I'll simplify it - if I ever get it working, that is!) Last edited by Jherek Carnelia; 29 April 2011 at 11:31. |
23 April 2011, 01:39 | #7 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
The good news is that with your A4000 config I was able to run your executable
A quick rundown of what I found (numbers indicate picture number): 1 - no glitch 2 (machine) - "glitches" at what I think is your waiting point ~line 250? * 3 - as 2 4 - glitches 1/4 way through opening - horizontal calc out of sync for 1VBL. You need to check your DIWSTRT & DIWSTOP values. 5 - glitches on opening - horizontal calc out of sync for 1VBL. Same as 4. * I believe it's your waiting point, as the scanlines below this point are 1 pixel wider/smaller on either side than the scanlines above it. You are clearly using WinUAE (or UAE). Did you try going to the "display" option and adjusting the frame rate? I ran your program a few times noting roughly when it glitches. Then I ran it again, adjusting the FPS down to 1FPS just before the glitches occur. That is how I can see what is happening. Regards, Lonewolf10 Last edited by Lonewolf10; 23 April 2011 at 01:44. Reason: Added explaination of "waiting point". |
23 April 2011, 13:32 | #8 | |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
Quote:
|
|
23 April 2011, 16:17 | #9 | |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
Quote:
I have spent a few hours looking at your code and couldn't find the cause of the glitch. Regards, Lonewolf10 |
|
23 April 2011, 19:33 | #10 |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
|
07 May 2011, 15:00 | #11 |
AMOS Extensions Developer
Join Date: Jun 2007
Location: near Cambridge, UK
Age: 44
Posts: 1,924
|
|
07 May 2011, 22:40 | #12 |
Dazed and Confused
Join Date: Dec 2001
Location: portsmouth/uk
Posts: 242
|
No. I've put it aside and moved on to other things. I'll go back to it later.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga CD32 Display problems | Chiptune | support.Hardware | 16 | 17 February 2011 05:13 |
Display Problems on A1200 | campbl2 | support.Hardware | 6 | 26 May 2010 21:12 |
Display problems | ginge73 | support.Hardware | 8 | 20 July 2009 10:21 |
Display Problems with WinUAE 0.9.92 | Lorday | support.WinUAE | 5 | 19 February 2005 00:08 |
Having problems with wunuae display | Ryan15UK_Dex | New to Emulation or Amiga scene | 1 | 13 March 2003 19:38 |
|
|