English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 01 January 2023, 17:23   #1
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
WinUAE 4.10.1 beta series

Quick bug fix release (Probably mid January 2023) before missing 5.0 features are implemented.

Post here only if bug is introduced in 4.10.0 or 4.10.1.

https://download.abime.net/winuae/fi...uae_41010b1.7z
https://download.abime.net/winuae/fi...e64_41010b1.7z

Beta 1:

- Fixed possible single scan line graphics corruption if BPLCON0 was changed when horizontal sync started (Caused by last minute 4.10.0 bug fix).
- Interlace config scaling mode was saved as RTG scaling mode which could write incorrect config entry or cause a crash.
- When saving config, check index values of array type config entries, preventing possible out of bounds memory access if entry is invalid (negative or too large) for some reason, like above bug. Config entry is internally index number, index is used to select config file entry value. If invalid value is detected, message is logged and config entry write is skipped.
- Removed useless "Scanlines" option under PAL filter extra settings.
- GDI mode RTG hardware cursor was not fully disabled when emulated Amiga was reset.
- GDI cursor leaved garbage on screen if hardware sprite coordinates were negative.
- Taking screenshot, DF0: is enabled but empty and CD drive is enabled but not empty: select CD image name.
- Disabled move left/right joystick autoswitching mode (was too easy to do it accidentally without noticing what happened). Only buttons are supported now. Improved popup description text of autoswitch option.
- Vblank interrupt trigger was 2 cycles too late. (Cracked The deep hang). This was supposed to be correct but probably some test results were misunderstood. Or something.
- Copper write to DMACON that disables copper DMA: copper stopped 1 cycle too early. (Following copper instruction's first instruction word is still fetched)
- DMACON write that switches blitter DMA on or off when blitter is running was not fully cycle-accurate. Now it is. (Blitter nasty was already correct)
- Yet another sprite DMA conflict found (Thanks ross again ) and emulated. If sprite DMA is switched on exactly 3 cycles before sprite's DMA slot, DMA decision is done and sprite pointer is increased but slot is not allocated, DMA transfer does not happen and RGA bus appears in idle state (0x01FE). If some other DMA channel allocates same slot, it conflicts and usual RGA bus AND and DMA pointer OR operations happens. Bitplane or blitter seems to be only channels that can conflict in this situation. CPU also can use this cycle safely. (Why do sprites have 2 different kinds of undocumented and weird conflicts?)
- Disk DSKSYNC interrupt behavior adjusted (not done any proper tests yet to fully confirm it), INTREQ DSKSYN bit only seems to get set when internal DSKBYTR WORDEQUAL bit changes from 0 to 1 because without drives selected (internal buffer value is static) and causing DSKSYNC match: DSKBYTR WORDEQUAL is one but interrupt only happens once (for example setting DSKSYNC to non-matching value and back to matching will generate single interrupt. Only writing same matching value again won't generate new interrupt). This behavior was never accurate and some versions had different hacks. Hopefully this is more correct behavior. (Retrovision / Insane and others I don't remember)
- Some timing operations still used old 32-bit wrap around timer checks that can return bad results with new 64-bit internal cycle counter. Affected standard vsync mode.
- Clear Harddrives panel list when loading hardware-only config.
- Platform specific config entries ("win32.???") were host only. Separated to host and hardware config entries. Moved win32.rtg_vblank to hardware config (Also this shouldn't be in platform specific anymore..)
Toni Wilen is offline  
Old 01 January 2023, 19:40   #2
vulture
Registered User
 
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,842
Hey Toni!

Mouse pointer in workbench is trashed in 4.10.1 while in 4.10 is fine (as it also is on my real A1200 setup)

screenshots:

4.10.1


4.10
vulture is offline  
Old 01 January 2023, 19:52   #3
rutra80
Registered User
 
Join Date: Jul 2019
Location: Poland
Posts: 308
Can't reproduce on my 3.1, 3.X, nor 3.2.1 - are you using some patches?
rutra80 is offline  
Old 01 January 2023, 20:00   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Does it only happen if mode is overscan? (Or if screen is moved very left?)

EDIT: yes, it is off by one when bitplane DMA steals sprite DMA slots due to sprite changes to emulate new conflict situation. Will be fixed tomorrow.

Last edited by Toni Wilen; 01 January 2023 at 20:10.
Toni Wilen is offline  
Old 01 January 2023, 20:10   #5
vulture
Registered User
 
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,842
@Toni

Yes on both counts. If I remove the overscan and screen is centered, the pointer is back to normal. If I move it to the left (even w/o overscan) it gets trashed again.

@rutra80

Yes, many patches in fact

EDIT:

Ah! Thx for the quick solution Toni!

Last edited by vulture; 02 January 2023 at 12:41.
vulture is offline  
Old 02 January 2023, 20:02   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
https://download.abime.net/winuae/fi...uae_41010b2.7z
https://download.abime.net/winuae/fi...e64_41010b2.7z

Beta 2:

- Bitplane DMA stealing sprite DMA off by one fix (b1)
- Platform specific hardware specific config entries didn't parse correctly and were ignored (b1)
- B1 sprite/blitter conflict was unreliable (not accurate side-effects in some situations, probably no one really cares as usual..)
- DSKBYTR WORDSYNC bit was previously autocleared after short delay. Now it stays on as long as DSKSYNC matches. Was very old workaround for old and wrong WORDSYNC behavior. Load DSKBYTR only when valid data is available. Real HW does not seem to load DSKBYTR when only zeros are read. (Most likely DSKBYTR is not loaded if PLL is not locked?)
Toni Wilen is offline  
Old 04 January 2023, 03:43   #7
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Hi Toni!

Is this the right place to report a crash with a combination of WinUAE and CubicIDE (and maybe some patches)?

I reported in the thread that I opened on CubicIDE here

Take care!
tygre is offline  
Old 04 January 2023, 16:43   #8
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Only if you can confirm it only happening with 4.10+ (It does not look like it. Looks like the usual side-effect when JIT gets confused, for example too small stack and return address getting trashed)
EDIT: you might get more information if you run winuae with log window open (-log command line parameter). Assuming it can be duplicated easily.

Last edited by Toni Wilen; 04 January 2023 at 20:14.
Toni Wilen is offline  
Old 05 January 2023, 02:28   #9
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Hi Toni!

Indeed, with 41010b2.7z it doesn't crash anymore but there's some corruption on the screen, please see the three images in attachment. Let me know if there's anything else that I could do?

Cheers!
Attached Thumbnails
Click image for larger version

Name:	Before.png
Views:	117
Size:	541.8 KB
ID:	77665   Click image for larger version

Name:	During.jpg
Views:	96
Size:	220.4 KB
ID:	77666   Click image for larger version

Name:	After.png
Views:	99
Size:	556.3 KB
ID:	77667  
tygre is offline  
Old 05 January 2023, 02:43   #10
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Hi Toni again!

Another possible bug: I'm playing with AmiSSL, with a program that works well under 3.1 but crashes WinUAE under 3.2. Please see the screenshot: I think that my code is doing something wrong under 3.2, but maybe a Guru should appear rather than this "Arabuusimiehet.WinUAE" window

(Also using 41010b2.7z)

Best!
Attached Thumbnails
Click image for larger version

Name:	Arabuusimiehet.WinUAE.png
Views:	97
Size:	19.5 KB
ID:	77668  
tygre is offline  
Old 05 January 2023, 10:55   #11
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by tygre View Post
Hi Toni!

Indeed, with 41010b2.7z it doesn't crash anymore but there's some corruption on the screen, please see the three images in attachment. Let me know if there's anything else that I could do?

Cheers!
Don't use any filters or scaling when attaching screenshots. Blurry screenshots are annoying.

Quote:
Originally Posted by tygre View Post
Hi Toni again!

Another possible bug: I'm playing with AmiSSL, with a program that works well under 3.1 but crashes WinUAE under 3.2. Please see the screenshot: I think that my code is doing something wrong under 3.2, but maybe a Guru should appear rather than this "Arabuusimiehet.WinUAE" window

(Also using 41010b2.7z)

Best!
JIT can crash unrecoverably. Check without JIT first.
Toni Wilen is offline  
Old 05 January 2023, 16:26   #12
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Hi Toni!

So I just deactivated the JIT, changed nothing else, and I got the "same" crash, please see the screenshot below.

Let me know!
Attached Thumbnails
Click image for larger version

Name:	Arabuusimiehet.WinUAE 2.png
Views:	81
Size:	19.8 KB
ID:	77676  
tygre is offline  
Old 05 January 2023, 17:39   #13
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by tygre View Post
Hi Toni!

So I just deactivated the JIT, changed nothing else, and I got the "same" crash, please see the screenshot below.

Let me know!
Enable log window and try again ("winuae.exe -log"). Does anything else appear before the register dump message? (Strange disassembly is a side-effect of disassembler not being fully initialized)
EDIT: tick also log illegal memory accesses in misc panel.
Toni Wilen is offline  
Old 05 January 2023, 19:16   #14
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
I tried with -log and -logflush but WinUAE doesn't write a log file: instead it opens a "console" window into which the log is printed, what am I doing wrong?
tygre is offline  
Old 05 January 2023, 19:22   #15
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by tygre View Post
I tried with -log and -logflush but WinUAE doesn't write a log file: instead it opens a "console" window into which the log is printed, what am I doing wrong?
-log = log window. It is better to check the log window than log file because that register dump might not be logged to a file. (debugger output is not logged)
Toni Wilen is offline  
Old 05 January 2023, 19:38   #16
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Okay! Here is a log with MMU and FPU enabled (both "more compatible") and without JIT. Strangely, this time the Arabuusimiehet.WinUAE window didn't appear but WinUAE just showed a black screen. I hope that this helps?
Attached Files
File Type: txt Log 1.txt (49.3 KB, 46 views)
tygre is offline  
Old 05 January 2023, 20:01   #17
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by tygre View Post
Okay! Here is a log with MMU and FPU enabled (both "more compatible") and without JIT. Strangely, this time the Arabuusimiehet.WinUAE window didn't appear but WinUAE just showed a black screen. I hope that this helps?
Why do you keep changing the config? Just switch off JIT and duplicate it and include full log.

This worked as designed, Amiga side did something very bad (double fault) so CPU was halted.
Toni Wilen is offline  
Old 05 January 2023, 20:25   #18
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
I didn't change the configuration, or did I?

What would be this bad thing that the Amiga side did? (It seems related to AmiSSL...)
tygre is offline  
Old 05 January 2023, 20:42   #19
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by tygre View Post
So I just deactivated the JIT, changed nothing else, and I got the "same" crash, please see the screenshot below.
Quote:
Originally Posted by tygre View Post
Okay! Here is a log with MMU and FPU enabled (both "more compatible") and without JIT
Quote:
Originally Posted by tygre View Post
I didn't change the configuration, or did I?
First you said you only deactivated JIT, then suddenly you mention MMU. Deactivating JIT won't enable MMU automatically.

Quote:
What would be this bad thing that the Amiga side did? (It seems related to AmiSSL...)
No idea. Incompatible library, out of bounds memory access, stack overflow. Lots of reasons. (Which also is not my problem)

I am more interested about that message because I have never managed to duplicate it and I can't find anything which would cause it (Unless you already used UAE debugger in same session)

I'd have expected "ExceptionFilter Trap.." or "Your Amiga program just did something terribly stupid.." message when log window is open.

(MMU emulation can hide these, especially if MMU is active)

Quote:
but there's some corruption on the screen, please see the three images in attachment
Assuming you mean that short line in arrow image? (Always include some details, especially when images are blurry..)

Does it happen in 4.9.1 (or older)? (4.10 added more Picasso96 blitter emulation functions)
Does it still happen if you set NOBLITTER=yes (uaegfx.info settings)
Toni Wilen is offline  
Old 05 January 2023, 23:54   #20
tygre
Returning fan!
 
tygre's Avatar
 
Join Date: Jan 2011
Location: Montréal, QC, Canada
Posts: 1,434
Quote:
Originally Posted by Toni Wilen View Post
First you said you only deactivated JIT, then suddenly you mention MMU. Deactivating JIT won't enable MMU automatically.
Yes, you're right, sorry for the confusion!

Quote:
Originally Posted by Toni Wilen View Post
No idea. Incompatible library, out of bounds memory access, stack overflow. Lots of reasons. (Which also is not my problem)

I am more interested about that message because I have never managed to duplicate it and I can't find anything which would cause it (Unless you already used UAE debugger in same session)

I'd have expected "ExceptionFilter Trap.." or "Your Amiga program just did something terribly stupid.." message when log window is open.

(MMU emulation can hide these, especially if MMU is active)
And now I cannot reproduce it either
However, WinUAE freezes instead of inviting the Guru.
I attach a new log. Let me know if that helps?
tygre 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
WinUAE 4.9.1 beta series Toni Wilen support.WinUAE 164 03 February 2022 12:15
WinUAE 4.9.0 beta series (Was 4.5.0) Toni Wilen support.WinUAE 1068 07 December 2021 17:45
WinUAE 3.1.0 beta series Toni Wilen support.WinUAE 305 06 June 2015 23:25
WinUAE 2.5.0 Beta series (Was 2.4.2) Toni Wilen support.WinUAE 310 01 December 2012 18:02
WinUAE 1.6.1 beta series Toni Wilen support.WinUAE 54 18 June 2009 11:05

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 13:18.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.18736 seconds with 14 queries