English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.WinUAE (https://eab.abime.net/forumdisplay.php?f=5)
-   -   WinUAE 2.4.0 beta series (https://eab.abime.net/showthread.php?t=62030)

Bonifacy 17 March 2012 22:54

Quote:

Originally Posted by Bonifacy (Post 807388)
2) The absolutely worse scenario occurs by combining new vsync + no buffering + scaling (any) - large, horrible tearing mostly in the upper part of the screen. I have attached some logs for this case.

I have confirmed that this effect is in fact not present when using 2.3.3 + low latency vsync. So it should be a beta issue.

Edit:
Hmm... after more testing, disregard the above line, because I was able to reproduce the tearing issue in 2.3.3 + low latency vsync when using Scale2x filter e.g. Maybe the filters are responsible then? Post logs for 2.3.3? Separate thread?

Even further testing:
2.4.0: Null Filter - Tearing, Scale2x - Seems OK, All other filters - Slow motion emulation usually with tearing
2.3.3: Null Filter - Seems OK, Scale2x, hx3x - Tearing, hq4x - Slow motion emulation, All other filters - seem OK

I also tested some custom/external filters with 2.3.3 and I get tearing with some of them and sometimes it disappears after i change the scale to the right of the filter (the one where I can choose 1x, 2x, 3x, 4x).

On another note, if a custom/external filter adds scanlines by itself - the scanlines always look stretched (have scaling artifacts), even with integer scaling.

Also, some custom/external that I have tested work well in 2.3.3, but do not work as expected in 2.4.

Quote:

Originally Posted by Bonifacy (Post 807592)
Still I do not get a pixel-perfect integer scaling.

This is also present in 2.3.3 so I have made a new thread for this issue: http://eab.abime.net/showthread.php?t=63560

Toni Wilen 18 March 2012 09:22

Quote:

Originally Posted by Bonifacy (Post 807866)
I have confirmed that this effect is in fact not present when using 2.3.3 + low latency vsync. So it should be a beta issue.

Edit:
Hmm... after more testing, disregard the above line, because I was able to reproduce the tearing issue in 2.3.3 + low latency vsync when using Scale2x filter e.g. Maybe the filters are responsible then? Post logs for 2.3.3? Separate thread?

Even further testing:
2.4.0: Null Filter - Tearing, Scale2x - Seems OK, All other filters - Slow motion emulation usually with tearing
2.3.3: Null Filter - Seems OK, Scale2x, hx3x - Tearing, hq4x - Slow motion emulation, All other filters - seem OK

I also tested some custom/external filters with 2.3.3 and I get tearing with some of them and sometimes it disappears after i change the scale to the right of the filter (the one where I can choose 1x, 2x, 3x, 4x).

On another note, if a custom/external filter adds scanlines by itself - the scanlines always look stretched (have scaling artifacts), even with integer scaling.

Also, some custom/external that I have tested work well in 2.3.3, but do not work as expected in 2.4.

You didn't say if you use fastest possible or not? Fastest possible most likely can cause tearing very easily if no-buffer mode is enabled. It still can be normal :)

You need to put scanline generation to _winuae.fx shader if you want correct looking scanlines or any kind of overlays.

WinUAE filter system is a bit special, it has 2 pass rendering, first normal shader filter generates the image to another texture (with correct scaling) and then _winuae.fx shader adds scanline/overlay/etc stuff and renders to screen. This was the only easy to way to keep compatibility with other shaders and still allow extra effects with correct mapping. I guess scanline shaders assume 1:1 mapping. Official reply is: not all shader filters are compatible.

btw, "not work" is the worst thing you can say :)

Toni Wilen 18 March 2012 09:28

There will be a delay, unfortunately..

Built-in CDFS is not actually license compatible after all so it has to go. (Should have noticed this long time ago..)

Because it was such a nice feature and it was already included in news posts I am trying to a replacement. License change probably takes too long (need to find and contact all contributors first) but I have plan B: wrap Linux isofs to UAE archive filesystem emulation. Result should be identical but this time code would be host native and also Amiga-side memory usage would be very minimal. (Call path would be filesystem emulation -> isofs -> native CD block API or image mounter)

Bonifacy 18 March 2012 10:05

Quote:

Originally Posted by Toni Wilen (Post 807906)
You didn't say if you use fastest possible or not? Fastest possible most likely can cause tearing very easily if no-buffer mode is enabled. It still can be normal :)

All of these tests were done using "approximate A500 or A500/A1200 cycle exact". Generally it was one of the moderately compatible (don't remember exactly, but I have the config saved) quickstart configurations for A500.

Bonifacy 18 March 2012 10:19

Quote:

Originally Posted by Toni Wilen (Post 807906)
You need to put scanline generation to _winuae.fx shader if you want correct looking scanlines or any kind of overlays.

WinUAE filter system is a bit special, it has 2 pass rendering, first normal shader filter generates the image to another texture (with correct scaling) and then _winuae.fx shader adds scanline/overlay/etc stuff and renders to screen. This was the only easy to way to keep compatibility with other shaders and still allow extra effects with correct mapping. I guess scanline shaders assume 1:1 mapping. Official reply is: not all shader filters are compatible.

btw, "not work" is the worst thing you can say :)

OK - thanks for the explanation.

I said "not work" not knowing if it is even worth going into details :) I have one filter that does a fairly good job of imitating a CRT curvature amongst others - and it works fine on 2.3.3, but no on 2.4.0. But it wasn't made specifically for WinUAE so I can't know if it is the filter's or the emulation's problem. Anyway, are you interested in details / screenshots, or not particularly?

Toni Wilen 18 March 2012 13:00

Quote:

Originally Posted by Bonifacy (Post 807912)
I said "not work" not knowing if it is even worth going into details :) I have one filter that does a fairly good job of imitating a CRT curvature amongst others - and it works fine on 2.3.3, but no on 2.4.0. But it wasn't made specifically for WinUAE so I can't know if it is the filter's or the emulation's problem. Anyway, are you interested in details / screenshots, or not particularly?

I am not really interested but filter code and short explanation should be always included. I tried CRT.3D and "it works fine here", don't see any difference between versions.

Bonifacy 20 March 2012 19:02

3 Attachment(s)
Quote:

Originally Posted by Toni Wilen (Post 807932)
I am not really interested but filter code and short explanation should be always included. I tried CRT.3D and "it works fine here", don't see any difference between versions.

Here goes nothing then ;)

And anyway, I begin suspect that all of the "tearing" problems that I may be somehow filters' related and may not even have anything to do with vsync?

Toni Wilen 21 March 2012 09:28

Quote:

Originally Posted by Bonifacy (Post 808340)
Here goes nothing then ;)

And anyway, I begin suspect that all of the "tearing" problems that I may be somehow filters' related and may not even have anything to do with vsync?

Filters can require more processing time causing tearing but it still shouldn't happen (in non-fastest possible modes) because filters are processed immediately after emulated frame has been finished (which usually only takes max 20%-30% of real world frame time leaving lots of time for filter processing)

Check winuaelog.txt. Maybe the filter does not load correctly.

Toni Wilen 21 March 2012 16:54

http://www.winuae.net/files/b/winuae_2400b23.zip

Again some more delays, this time due to CDFS issue..

Beta 23:

- CPU Idle change improved, b22 caused major slowdowns on some systems.
- MB RAM option + JIT enabled detected wrong amount of RAM. (Can't have extra memory barrier there)
- Directory filesystem ACTION_DISK_INFO and seek updates (ACTION SEEK had some problems in archive mode)
- Sprite debugger showed 64-bit AGA sprite shape totally wrong.
- END + PrinScreen (Screenshot to file) used incorrectly screenshot to clipoard input event.
- Legacy vsync was horribly slow (b22)
- optimized normal safe "unixfs warning: Bad pointer passed for read" directory filesystem situation.
- added win32 ERROR_BAD_NETPATH = AOS ERROR_OBJECT_NOT_AROUND mapping directory filesystem error handler.
- improved filesystem volume insert/removal stability.
- config file/uae-configuration/custom input math formula (+-*/ and parenthesis) support. For example it is now possible to increase or decrease any numeric configuration entry, very simple example: "gfx_filter_horiz_offset=[gfx_filter_horiz_offset+1]". Multiple variables and complex formulas fully supported. This was already in previous beta because it was too experimental, but I guess it can be considered "official" now because of CDFS delay..
- A500 advanced chipset extra option always enabled RTC (real time clock), should have been enabled only when more than 0.5M RAM configured.
- built-in AOS CDFS removed, unfortunately it is not license compatible (non-commercial usage only). I was too blind to not notice it months ago.
- CDFS replaced with host native Linux isofs/directory filesystem wrapper which works quite differently but should have exactly same behavior from Amiga program point of view. Uses filesystem emulation but accesses CD data using Linux isofs filesystem code that directly reads CD sectors via IOCTL native API or UAE built-in CD image support. Amiga specific rock ridge 'AS' extension (protection flags and file comment) is not supported yet. Does anyone know any example CDs or images?
- AROS ROM updated.

New isofs/directory filesystem CDFS hybrid needs testing! 2.4.0 final waits until CDFS is guaranteed working.

Mclane 21 March 2012 17:36

Slightly OT but I saw the sprite debugger mentioned, does this just show the data or is it a graphical representation, if the latter how do you use it please?

Toni Wilen 21 March 2012 18:02

Quote:

Originally Posted by Mclane (Post 808560)
Slightly OT but I saw the sprite debugger mentioned, does this just show the data or is it a graphical representation, if the latter how do you use it please?

No. Yes.

sp <address of sprite> <size of sprite, 1= default OCS/ECS 16 pixels, 2 = 32, 4 = 64 pixels)

mark_k 21 March 2012 18:26

Quote:

Originally Posted by Toni Wilen (Post 808553)
- CDFS replaced with host native Linux isofs/directory filesystem wrapper which works quite differently but should have exactly same behavior from Amiga program point of view. Uses filesystem emulation but accesses CD data using Linux isofs filesystem code that directly reads CD sectors via IOCTL native API or UAE built-in CD image support. Amiga specific rock ridge 'AS' extension (protection flags and file comment) is not supported yet. Does anyone know any example CDs or images?
...
New isofs/directory filesystem CDFS hybrid needs testing! 2.4.0 final waits until CDFS is guaranteed working.

Maybe the later Meeting Pearls CDs use the AS extensions? Angela Schmidt was involved with producing that series. I have a Meeting Pearls III disc here. How could I tell from looking at a hex dump of the ISO whether those extensions are used?

I tested b23 in a Windows XP VM, with a Meeting Pearls III disc in the VM CD drive. So CD drive/image was set to D:\, the CD drive letter in the VM.

Even with "CDFS automount CD/DVD drives." unchecked (btw is the trailing dot supposed to be there?), the emulated Amiga boots to a CLI when it's reset. WinUAE mounts and boots from the CD-ROM. That happens with both Kickstart 1.3 and 3.1. My emulated Amiga config has a shared directory (non-bootable) and hard disk image file on which the bootable partition has pri -100.

Is there a way to set the boot priority of the CD drive? And/or a way of making it non-bootable?

Even with no file selected for CD drive/image, there is still an entry for CD0 in the Kickstart 3.1 bootmenu (shown as not bootable).

Toni Wilen 21 March 2012 18:35

Quote:

Originally Posted by mark_k (Post 808569)
Maybe the later Meeting Pearls CDs use the AS extensions? Angela Schmidt was involved with producing that series. I have a Meeting Pearls III disc here. How could I tell from looking at a hex dump of the ISO whether those extensions are used?

"Amiga rockridge extension not yet implemented!" should appear in the log when listing directory and directory entry has AS extensions.

Quote:

I tested b23 in a Windows XP VM, with a Meeting Pearls III disc in the VM CD drive. So CD drive/image was set to D:\, the CD drive letter in the VM.
There is no need to select the drive, autodetect selects all drives automatically. (Unless you have multiple drives and want to select only one drive as unit 0)

Quote:

Even with "CDFS automount CD/DVD drives." unchecked (btw is the trailing dot supposed to be there?), the emulated Amiga boots to a CLI when it's reset. WinUAE mounts and boots from the CD-ROM. That happens with both Kickstart 1.3 and 3.1. My emulated Amiga config has a shared directory (non-bootable) and hard disk image file on which the bootable partition has pri -100.
I can't duplicate this. No drives appear anywhere if automount is unticked.

Quote:

Is there a way to set the boot priority of the CD drive? And/or a way of making it non-bootable?
Currently (was also same when using aros cdfs) it becomes bootable with priority -80 if drive is not empty.

Quote:

Even with no file selected for CD drive/image, there is still an entry for CD0 in the Kickstart 3.1 bootmenu (shown as not bootable).
It is normal, see above.

mark_k 21 March 2012 19:25

Quote:

Originally Posted by Toni Wilen (Post 808571)
"Amiga rockridge extension not yet implemented!" should appear in the log when listing directory and directory entry has AS extensions.

Looking at a hex dump of the Meeting Pearls III disc it looks like there are about 3 files with AS entries on the disc.

Quote:

Originally Posted by Toni Wilen (Post 808571)
I can't duplicate this. No drives appear anywhere if automount is unticked.

What if you try configuring a hardfile, on which the bootable partition has bootpri < -80 (e.g. -100 in my case). For me, WinUAE boots from CD then, even when "CDFS automount CD/DVD drives" is not checked.

Quote:

Originally Posted by Toni Wilen (Post 808571)
Currently (was also same when using aros cdfs) it becomes bootable with priority -80 if drive is not empty.

Ah that explains it then. It would be really helpful to be able to set the CD drive bootpri (and disable CD booting completely), otherwise users who boot from a hardfile have to mess around with HDToolBox to increase the bootpri of their HD partition(s), to avoid WinUAE always booting from whatever CD is in the drive. (Most CDs aren't bootable, e.g. Aminet CDs, Meeting Pearls CDs etc.)

Edit: could you add an additional check for an S/startup-sequence file on the CD? If that isn't present then don't try booting from the disc.

Toni Wilen 21 March 2012 19:40

Quote:

Originally Posted by mark_k (Post 808575)
Looking at a hex dump of the Meeting Pearls III disc it looks like there are about 3 files with AS entries on the disc.

Didnt find anything in III but Meeting Pearls IV has lots of AS entries, thanks.

mark_k 21 March 2012 20:17

I looked at another CD at random; CU Amiga disc 26 has AS entries, including some file comments. I guess many/most later CU and maybe Amiga Format CDs are mastered using the same software?

Ian 21 March 2012 23:16

Why not leave the cdfs in and just remove it from the amiga forever build? WinUAE isn't a comercial project afterall so technically is allowed to use the aros system. seems a shame to gimp it for the masses to satisfy the few although i'm sure most people using amiga forever wouldn't know how to use cds in weorkbench anyway.

Toni Wilen 22 March 2012 08:04

Quote:

Originally Posted by Ian (Post 808646)
Why not leave the cdfs in and just remove it from the amiga forever build? WinUAE isn't a comercial project afterall so technically is allowed to use the aros system. seems a shame to gimp it for the masses to satisfy the few although i'm sure most people using amiga forever wouldn't know how to use cds in weorkbench anyway.

GPL'd software can be sold at any price (for some reason it is common belief that it is illegal to sell GPL'd software).

It is simply license incompatible, "almost compatible" won't work. Someone would complain about it, sooner or later.

It also does not "gimp" anything, actually this is much more maintainable solution, pure native C code instead of ugly m68k binary blob.

EDIT: it is only CDFS that has this extra non-commercial license. Other aros modules are fine.

Toni Wilen 22 March 2012 17:59

Quote:

Originally Posted by mark_k (Post 808575)
What if you try configuring a hardfile, on which the bootable partition has bootpri < -80 (e.g. -100 in my case). For me, WinUAE boots from CD then, even when "CDFS automount CD/DVD drives" is not checked.

I can't duplicate.

Quote:

Ah that explains it then. It would be really helpful to be able to set the CD drive bootpri (and disable CD booting completely), otherwise users who boot from a hardfile have to mess around with HDToolBox to increase the bootpri of their HD partition(s), to avoid WinUAE always booting from whatever CD is in the drive. (Most CDs aren't bootable, e.g. Aminet CDs, Meeting Pearls CDs etc.)
I can move boot pri to -127. Everything also: too late for that. (It is bootable because it replaces old "CD as a read-only harddrive" which also created bootable CD drives)

Quote:

Edit: could you add an additional check for an S/startup-sequence file on the CD? If that isn't present then don't try booting from the disc.
Not possible (easily, "too late" again). CD "handle" gets opened when AOS mounts the drive for the first time which happens after bootable status is set.

Toni Wilen 22 March 2012 18:08

http://www.winuae.net/files/b/winuae_2400b24.zip

Beta 24: (RC2)

- CDFS Amiga Rock Ridge 'AS' extension support added. (comments and protection flags)
- Free CDFS inodes if they are not needed anymore, previously only freed when media was changed, better performance and less (host) memory used when CD has 10000+ files or directories.
- More logical "RDB: WARNING: end of partition > size of disk" message. Check RDSK header size and partition(s) size separately.
- CDFS boot priority changed to -127 (lowest possible).


All times are GMT +2. The time now is 04:31.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.06791 seconds with 11 queries