English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 10 October 2018, 14:14   #21
DamienD
Global Moderator

DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 41
Posts: 12,415
Thread title updated.
DamienD is online now  
Old 10 October 2018, 19:23   #22
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Confirmed, at least Bograts glitch does not happen when using real A1200.

I think I found the problem but I haven't confirmed (too boring..).

Code:
 00090ea8: 01fe 0000 [044 018]  ;  NO-OP(NULL) := 0x0000
 00090eac: 42e1 fffe [044 020]  ;  Wait for vpos >= 0x42 and hpos >= 0xe0
                                ;  VP 42, VE 7f; HP e0, HE fe; BFD 1

Here is useless display setup, bitplane DMA is off.
This is the black part between score and game area.

 00090eb0: 01fc 000c [044 024]  ;  FMODE := 0x000c
 00090eb4: 008e 3a12 [044 028]  ;  DIWSTRT := 0x3a12
 00090eb8: 0090 9672 [044 02c]  ;  DIWSTOP := 0x9672
 00090ebc: 0092 0068 [044 030]  ;  DDFSTRT := 0x0068
 00090ec0: 0094 0198 [044 034]  ;  DDFSTOP := 0x0198
 00090ec4: 0100 4201 [044 038]  ;  BPLCON0 := 0x4201
 00090ec8: 0106 0c26 [044 03c]  ;  BPLCON3 := 0x0c26

...

 00091110: 01fe 0000 [046 0c0]  ;  NO-OP(NULL) := 0x0000
 00091114: 4701 fffe [047 000]  ;  Wait for vpos >= 0x47 and hpos >= 0x00
                                ;  VP 47, VE 7f; HP 00, HE fe; BFD 1

Bitplane and sprite DMA on

 00091118: 0096 8120 [047 004]  ;  DMACON := 0x8120

Here is the problem (if I am not totally wrong).
DIWSTRT is written to (with correct value) when
previous bogus horizontal start would match.
Apparently in this situation old value is ignored.
If old value matches, this line becomes visible too early.
 
 0009111c: 008e 3991 [047 008]  ;  DIWSTRT := 0x3991
 00091120: 0090 25b1 [047 00c]  ;  DIWSTOP := 0x25b1
 00091124: 0092 0038 [047 010]  ;  DDFSTRT := 0x0038
 00091128: 01fe 0000 [047 014]  ;  NO-OP(NULL) := 0x0000
 0009112c: 0094 00c8 [047 018]  ;  DDFSTOP := 0x00c8
If anyone wants to confirm this, easiest test is to adjust above copper WAIT: 4701 fffe -> 4703 fffe. It should leave enough time for old DIWSTRT horizontal to match, opening the window early.

Penguins has exact same "problem".
Toni Wilen is online now  
Old 10 October 2018, 21:36   #23
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Toni, could i've not understood the problem here, but why WinUAE open the DIW before the x comparator match?

If I wait 4701 and write DMACON and DIWSTRT, then at near x==$C there is a new valid DIW setup and window open in right position ($91).
How can x match $12 and open the DIW early? I think real Amiga work as expected..
But, I repeat, I could be wrong here, in some old threads you explained some DIW oddities.
ross is offline  
Old 10 October 2018, 21:44   #24
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Horizontal window start position equals hpos*2 and there is also an offset. No speculation please, only real hardware test counts!
Toni Wilen is online now  
Old 10 October 2018, 21:58   #25
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Quote:
Originally Posted by Toni Wilen View Post
Horizontal window start position equals hpos*2 and there is also an offset. No speculation please, only real hardware test counts!
Ok, yes, then there is a tight race condition, sorry for the speculation.
ross is offline  
Old 10 October 2018, 23:46   #26
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Into the Zone: Bograts disk 1 with 4703 change (for real machine glitch detection).
I can make very fast a 4705 change.
ross is offline  
Old 11 October 2018, 17:33   #27
Mrz
Registered User

 
Join Date: Dec 2016
Location: Italy
Posts: 213
such GFX bugs are all clock related issues
where the clock in new winuae versions is not really good or accurate

try winuae 2.01, there not gfx bugs because the clock is more accurate

I already reported long time ago this type of issues to Toni but he never gave importance
Mrz is offline  
Old 11 October 2018, 17:52   #28
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Eh? You have no idea what are you talking about. It has nothing to do with "clock" (whatever that is.)

Ancient version were far too inaccurate to even handle this situation. It just worked accidentally! (Borderblank was either whole frame or not at all, it wasn't even possible to have partially blanked line and you call it more accurate!?)

(Are you really serious or just trolling?)
Toni Wilen is online now  
Old 11 October 2018, 18:45   #29
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Confirmed and implemented.

Both horizontal diw start and end comparisons are inhibited when register is accessed. Range is hpos * 2 - 2 to hpos * 2 + 2. (=5 horizontal diw units. I'd have expected it to be 4 but it is exactly 5)

DDFSTRT and STOP have similar "feature" which was implemented long, long time ago.
Toni Wilen is online now  
Old 11 October 2018, 18:48   #30
Mrz
Registered User

 
Join Date: Dec 2016
Location: Italy
Posts: 213
Quote:
Originally Posted by Toni Wilen View Post

(Are you really serious or just trolling?)
I'm serious, check those games on winuae 2.01 or 1.6
you will see there are not gfx bugs
Mrz is offline  
Old 11 October 2018, 19:07   #31
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Quote:
Originally Posted by Mrz View Post
I'm serious, check those games on winuae 2.01 or 1.6
you will see there are not gfx bugs
I already mentioned the reason. Borderblank support was far too basic, it was only frame based originally, then later scan line based. This glitch become visible only after borderblank support finally become cycle accurate.

This is very common pattern. Something gets more accurate which reveals another problem that was previously totally hidden.
Toni Wilen is online now  
Old 11 October 2018, 19:08   #32
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Quote:
Originally Posted by Toni Wilen View Post
Both horizontal diw start and end comparisons are inhibited when register is accessed. Range is hpos * 2 - 2 to hpos * 2 + 2. (=5 horizontal diw units. I'd have expected it to be 4 but it is exactly 5)
Very well, i'll remove "glitch maker" Bograts from the Zone.


Quote:
Originally Posted by Mrz View Post
I'm serious, check those games on winuae 2.01 or 1.6
you will see there are not gfx bugs
Latest WinUAE versions are a magnitude more precise than earlier versions.
Like Toni said is only accidental that worked in these old versions
(is practically accidental that worked without errors also on real hardware..)
ross is offline  
Old 11 October 2018, 19:30   #33
Mrz
Registered User

 
Join Date: Dec 2016
Location: Italy
Posts: 213
Quote:
Originally Posted by ross View Post

Latest WinUAE versions are a magnitude more precise than earlier versions.
Like Toni said is only accidental that worked in these old versions
(is practically accidental that worked without errors also on real hardware..)

accidental? in real hardware?
anyways I will not interfere in this anymore

winuae new versions have more features but are not more precise in my point of view
for workbench ,apps. internet and CD32 games I use winuae V4 because is faster and better
but I still use 2.01 to play games in adf because is the best
Mrz is offline  
Old 11 October 2018, 19:38   #34
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 36
Posts: 2,572
Mrz, do you have any idea how many improvements have been made to WinUAE since 2.01? You've clearly got no idea what you're talking about, do you really think someone does all that work to make an emulator LESS accurate?

The author himself has explained the reason and you just ignore it. I just don't get it...
Hewitson is offline  
Old 11 October 2018, 19:39   #35
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,103
Quote:
Originally Posted by Mrz View Post
accidental? in real hardware?

Yes! That's pretty common.



Quote:

winuae new versions have more features but are not more precise in my point of view

Apparently you didn't understand what Toni and Ross said. New WinUAE versions are MUCH more precise than the old versions!
StingRay is offline  
Old 11 October 2018, 19:41   #36
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Quote:
Originally Posted by Mrz View Post
accidental? in real hardware?
You have no idea how often you have to patch code that works only accidentally or in very particular conditions (race between processor, copper, blitter, hw registers write).
The Amiga system is complex and it may happen that something go badly only for 1 cycle of difference (like this case!).
Or do you really think that Bograts programmers were aware of a completely undocumented feature like the one corrected in this latest WinUAE beta?

Read Toni's phrase i've reported in my previous message: on real hw only worked by chance. Copper list is badly written.

EDIT: or ask everyone who writes Whdload patches (like StingRay who has just written )

Last edited by ross; 11 October 2018 at 19:54.
ross is offline  
Old 11 October 2018, 19:56   #37
Zarnal
Registered User

 
Join Date: Feb 2018
Location: France
Posts: 21
Two new issues with Penguins and Borats.

1/ A line glitch appears if you press ESC (Penguins) or fox bomb explodes in game (horizontal and/or vertical). Down + Fire launch bomb.

2/ If subpixel display emulation is enabled, a vertical line appears.
Attached Thumbnails
Click image for larger version

Name:	Penguins1.jpg
Views:	44
Size:	164.8 KB
ID:	60211   Click image for larger version

Name:	PenguinsSub.png
Views:	39
Size:	23.3 KB
ID:	60212  
Attached Files
File Type: uss penguinsglitch2.uss (429.1 KB, 13 views)

Last edited by Zarnal; 11 October 2018 at 20:38.
Zarnal is offline  
Old 11 October 2018, 20:21   #38
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 21,922
Quote:
Originally Posted by Zarnal View Post
Two new issues with Penguins

1/ A line glitch appears if you press ESC or fox bomb explodes in game (horizontal and/or vertical).

2/ If subpixel display emulation is enabled, a vertical line appears.
1: Game bug. Happens with real A1200. Copper list is weird and parts of it makes no sense again, is this really done manually or some crappy programming environment?

2: Already known, borderblank delay apparently isn't as simple as was originally though.
Toni Wilen is online now  
Old 11 October 2018, 20:30   #39
ross
Omnia fert aetas

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 48
Posts: 1,156
Quote:
Originally Posted by Toni Wilen View Post
Copper list is weird and parts of it makes no sense again, is this really done manually or some crappy programming environment?
Generated by code (that's also could mean a crappy programming environment). And parts of it inserted without much logic..

EDIT: probably OT but, last night I had a crash dump (and no exit from WinUAE) while I was debugging Bograts (winuae_4.1.0_b7_2018.10.10_23.08.52.dmp, quickstart A1200 config., w command active; launched another session, same command, no crash). Can be useful for something?

Last edited by ross; 11 October 2018 at 20:48.
ross is offline  
Old 11 October 2018, 20:53   #40
Zarnal
Registered User

 
Join Date: Feb 2018
Location: France
Posts: 21
Quote:
Originally Posted by Toni Wilen View Post
1: Game bug. Happens with real A1200. Copper list is weird and parts of it makes no sense again, is this really done manually or some crappy programming environment?

2: Already known, borderblank delay apparently isn't as simple as was originally though.

Oups, sorry.


And thank you for your fix.
Zarnal is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Bograts and Penguins MethodGit Amiga scene 1 06 March 2018 21:31
James Pond 3 AGA, MFM version not supported! BarryB project.WHDLoad 6 27 December 2016 19:06
James Pond 2: Robocod AGA WHDLoad problem TjLaZer support.Games 9 17 July 2016 19:02
James Pond, Pond is Back! - Retro classic for a Kickstarter Neil79 Retrogaming General Discussion 1 26 September 2013 09:09
Mon nom est Pond, James Pond ! RCK Retrogaming General Discussion 9 12 December 2001 15:20

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 16:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.11744 seconds with 16 queries