English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 20 March 2016, 19:28   #301
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
Quote:
Originally Posted by Aegis View Post
Ok, I'll speak to Chris (NetSurf dev) 'cause I'm sure he'll be curious about NetSurf bugging out whilst OWB/Odyssey are working - maybe it's easier for him to fix it his end.
I don't think it helps because there is TCP/IP stack (bsdsocket.library) between the driver (uaenet.device) and application (netsurf) and it probably is more or less a black box.

Totally different network layers. (ethernet frames vs socket api calls) Can't really know if some TCP stream packet was lost and stack kept waiting for it and finally returned error or something else.
Toni Wilen is offline  
Old 26 March 2016, 14:04   #302
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
OS4 question: How to call TrackSegmentList() from m68k code? It would hopefully help OS4 to show better crash information if something goes wrong in UAE boot ROM code.
Toni Wilen is offline  
Old 30 March 2016, 23:00   #303
psykicko
Registered User

 
Join Date: Mar 2016
Location: Gothenburg / Sweden
Posts: 23
I got this from a person:

If you can't call them via the nromal DOSBase ptr they are probably PPC only.
Some function are PPC only, I don't know if that's one of them or not. but being V50 and above it's possible.

But he told me also i should ask on Hyperion forum. Do you want me to ?
psykicko is offline  
Old 31 March 2016, 11:30   #304
thellier
Registered User
 
Join Date: Sep 2011
Location: Paris/France
Posts: 188
It is possible as there is way to call ppc .libray from 68k
code
I will give an example monday as i dont have my pc here

I think aminet/wazp3d got those glue functions in his sources
It is called something 68k_to_ppc

Alain Thellier - Wazp3D
thellier is offline  
Old 03 April 2016, 13:45   #305
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
I was told by OS4 developer that there is no other way than to LoadSeg() the file, all other routines will not mark the segment list as JIT enabled.

So.. Executable it is (mostly empty dummy exe, all the code is in boot ROM).

winuae.7z updated.

Attached is exe that does the boot rom "remapping". Most commonly used routines are relocated (trap system, directory filesystem handler, uaegfx).

If executable returns (without any messages): something failed. If it does not return (without any messages): it is active. winuaelog.txt also shows RAM base address and some other information. Must be run from CLI. Does not (yet) affect UAE expansions that are initialized after uaebootmaprom has been run = do not run from startup-sequence.

Question is: Can anyone notice any performance differences? (with vs without running uaebootmaprom)
Attached Files
File Type: zip uaebootmaprom.zip (953 Bytes, 59 views)
Toni Wilen is offline  
Old 03 April 2016, 18:53   #306
radzik
Registered User
radzik's Avatar
 
Join Date: Dec 2008
Location: Poznan / Poland
Posts: 112
Someone has tested emulated SB128 sound card with AOS 4.1 (FE)? I have installed drivers, but in AHI preferences, when I test a sound I get only noise. On Paula I have normal test sound, but on the SB128 (drivers from OS4Depot) no. There are problems with PCI DMA? I'm emulating A4000PPC with Mediator 4000 MkII. All is under stable WinUAE 3.2 version.
radzik is offline  
Old 03 April 2016, 18:59   #307
MickJT
Registered User
 
Join Date: Jul 2007
Location: Australia
Posts: 189
I've tested SB128 using Prometheus and also GREX. Works fine here.
MickJT is offline  
Old 03 April 2016, 19:04   #308
MickJT
Registered User
 
Join Date: Jul 2007
Location: Australia
Posts: 189
Started up WinUAE. Ran uaebootmaprom from Work: in the Shell, and then WinUAE crashed (no dump file).

Last edited by MickJT; 03 April 2016 at 20:01. Reason: Logs removed
MickJT is offline  
Old 03 April 2016, 19:22   #309
Snake79
Registered User

 
Join Date: Feb 2014
Location: Poland
Posts: 181
Quote:
Originally Posted by radzik View Post
Someone has tested emulated SB128 sound card with AOS 4.1 (FE)?
Cześć Radzik I'm using similar config (attached) and it works fine with AOS4.1FE (on latest betas and 3.2.2). Pozdrawiam.
PS. You are doing great job with podcast of yours, keep it up
Attached Thumbnails
Click image for larger version

Name:	sb128_1.jpg
Views:	163
Size:	184.0 KB
ID:	48078   Click image for larger version

Name:	sb128_2.png
Views:	145
Size:	198.9 KB
ID:	48079  
Attached Files
File Type: uae OS4.1 A4000 PPC JIT 128MB PicassoIV ES1370.uae (12.3 KB, 47 views)

Last edited by Snake79; 03 April 2016 at 19:29. Reason: PS
Snake79 is offline  
Old 03 April 2016, 19:29   #310
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
Quote:
Originally Posted by MickJT View Post
Started up WinUAE. Ran uaebootmaprom from Work: in the Shell, and then WinUAE crashed (no dump file).
Is it repeatable? )(try at least 3 times).

Quote:
Originally Posted by radzik View Post
Someone has tested emulated SB128 sound card with AOS 4.1 (FE)? I have installed drivers, but in AHI preferences, when I test a sound I get only noise. On Paula I have normal test sound, but on the SB128 (drivers from OS4Depot) no. There are problems with PCI DMA? I'm emulating A4000PPC with Mediator 4000 MkII. All is under stable WinUAE 3.2 version.
Switch on "Full PCI DMA" in PCI bridge options.

Real hardware does not support PCI DMA: emulated PCI DMA is not enabled by default.

(btw, this does not have anything to do with UAE expansions!)
Toni Wilen is offline  
Old 03 April 2016, 19:43   #311
MickJT
Registered User
 
Join Date: Jul 2007
Location: Australia
Posts: 189
Quote:
Originally Posted by Toni Wilen View Post
Is it repeatable? )(try at least 3 times)
Unfortunately, yes.

I've also changed Accelerator SCSI to UAE now.

It also randomly freezes. I have a dump file but you said earlier that they're useless on these betas.

Last edited by MickJT; 03 April 2016 at 19:49.
MickJT is offline  
Old 03 April 2016, 19:54   #312
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
Quote:
Originally Posted by MickJT View Post
Unfortunately, yes.

I've also changed Accelerator SCSI to UAE now.

It also randomly freezes. I have a dump file but you said earlier that they're useless on these betas.
Does it work if you switch off JIT? (Which is useless in PPC-only CPU emulation) JIT usually only adds more noise to logs..
Toni Wilen is offline  
Old 03 April 2016, 19:59   #313
MickJT
Registered User
 
Join Date: Jul 2007
Location: Australia
Posts: 189
Seeing as it's useless in PPC mode, I didn't think having JIT on would cause any problems, but nevertheless now uaebootmaprom runs without crashing WinUAE. Thanks for the tip.

Nothing immediately jumps out at me in terms of any speed difference, but I'll let others decide on that.

Edit: Still have random freezes.
Edit2: And graphical glitches on uaegfx (32bit / "All" enabled in every cycle gadget that has that option). Today is the first time I've tried one of these expansion related betas, so I haven't been running it long enough to know if these glitches occur without uaebootmaprom running, yet.

Last edited by MickJT; 03 April 2016 at 20:14.
MickJT is offline  
Old 03 April 2016, 20:16   #314
Snake79
Registered User

 
Join Date: Feb 2014
Location: Poland
Posts: 181
Quote:
Originally Posted by Toni Wilen View Post
Question is: Can anyone notice any performance differences? (with vs without running uaebootmaprom)
Don't know if i'm getting the idea right, but have some test results (with updated winuae.7z)...
PS. sorry for upper offtopic...
Attached Thumbnails
Click image for larger version

Name:	bench.jpg
Views:	176
Size:	270.9 KB
ID:	48080  
Attached Files
File Type: uae OS4.1 A4000 PPC 128MB UAEZorroIII ES1370 NewUAE.uae (12.4 KB, 42 views)

Last edited by Snake79; 03 April 2016 at 20:47.
Snake79 is offline  
Old 03 April 2016, 20:38   #315
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
Quote:
Originally Posted by MickJT View Post
Seeing as it's useless in PPC mode, I didn't think having JIT on would cause any problems, but nevertheless now uaebootmaprom runs without crashing WinUAE. Thanks for the tip.
Fixed.

JIT adds extra stuff here and there, including hardware level memory write protection.

Quote:
Edit: Still have random freezes.
Can't do anything until someone narrows it down to something specific.

Quote:
Edit2: And graphical glitches on uaegfx (32bit / "All" enabled in every cycle gadget that has that option). Today is the first time I've tried one of these expansion related betas, so I haven't been running it long enough to know if these glitches occur without uaebootmaprom running, yet.
Will be ignored because there is no real hardware Zorro board that has 32-bit mode to confirm it. It could be OS4 classic bug/feature.
Toni Wilen is offline  
Old 03 April 2016, 20:41   #316
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
Zero difference in Quake - same fps without and with uaebootmaprom + latest beta.
Aegis is offline  
Old 03 April 2016, 21:18   #317
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,127
Quote:
Originally Posted by Aegis View Post
Zero difference in Quake - same fps without and with uaebootmaprom + latest beta.
It probably does not affect Quake too much because it is mainly direct writes to VRAM. (Previous speed increase most likely came from removal of interrupt/task context switches in trap system)

Some graphics graphics micro benchmark probably should some differences, like something that writes lots of text strings or moves windows around etc..

EDIT: uaehf.device and directory filesystem disk speed test should also show some differences.

Last edited by Toni Wilen; 03 April 2016 at 21:54.
Toni Wilen is offline  
Old 03 April 2016, 23:19   #318
Snake79
Registered User

 
Join Date: Feb 2014
Location: Poland
Posts: 181
Have in mind that i am still not sure if i am doing this right (using uaebootmaprom)... CgxBenchmark results in 2 tries (don't know if that help in something)...
Left (results in a screenshot) are before and right (in the same screenshot) are after using uaebootmaprom.
PS. No JIT (today updated winuae.7z).
Attached Thumbnails
Click image for larger version

Name:	cgxbench1.jpg
Views:	119
Size:	209.3 KB
ID:	48084   Click image for larger version

Name:	cgxbench2.jpg
Views:	113
Size:	210.6 KB
ID:	48085  

Last edited by Snake79; 04 April 2016 at 00:22. Reason: PS
Snake79 is offline  
Old 04 April 2016, 12:36   #319
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
Ragemem benchmark:

Aegis is offline  
Old 05 April 2016, 15:25   #320
thellier
Registered User
 
Join Date: Sep 2011
Location: Paris/France
Posts: 188
>How to call TrackSegmentList() from m68k code

There are some .library with both a ppc jump table and a 68k jump table

You can generate such a 68k jump table with fdtrans from an .sfd file

fdtrans dos.sfd --all


An sfd contain all the functions description with 68k register usage

I have made a dos.sfd with only your function :
--------------------------------------------------------------------------------
==id $Id: Dos_lib.sfd,v 1.0 2012/10/12 13:30:00 noname Exp $
==base _DosBase
==basetype struct Library *
==libname Dos.library
==bias 30
==public
==include <exec/types.h>

LONG TrackSegmentList( CONST_STRPTR name, BPTR segment, CONST APTR extra_info, LONG extra_info_size ) (a0,d0,a1,d1)

==end
--------------------------------------------------------------------------------
It give that
--------------------------------------------------------------------------------
/*
** This file was automatically generated by fdtrans 52.1.
** Do not edit it by hand. Instead, edit the sfd file
** that was used to generate this file
*/

#ifdef __USE_INLINE__
#undef __USE_INLINE__
#endif
#ifndef __NOGLOBALIFACE__
#define __NOGLOBALIFACE__
#endif

#include <exec/interfaces.h>
#include <exec/libraries.h>
#include <exec/emulation.h>
#include <interfaces/exec.h>
#include <interfaces/dos.h>
#include <proto/dos.h>


static inline int8 convert_int8 (uint32 x) { return x; }
static inline int16 convert_int16(uint32 x) { return x; }


STATIC struct Library * stub_OpenPPC(ULONG *regarray)
{
struct Library *Base = (struct Library *) regarray[REG68K_A6/4];
struct ExtendedLibrary *ExtLib = (struct ExtendedLibrary *) ((ULONG)Base + Base->lib_PosSize);
struct LibraryManagerInterface *Self = (struct LibraryManagerInterface *) ExtLib->ILibrary;

return Self->Open(0);
}
STATIC CONST struct EmuTrap stub_Open = { TRAPINST, TRAPTYPE, (ULONG (*)(ULONG *))stub_OpenPPC };

STATIC APTR stub_ClosePPC(ULONG *regarray)
{
struct Library *Base = (struct Library *) regarray[REG68K_A6/4];
struct ExtendedLibrary *ExtLib = (struct ExtendedLibrary *) ((ULONG)Base + Base->lib_PosSize);
struct LibraryManagerInterface *Self = (struct LibraryManagerInterface *) ExtLib->ILibrary;

return Self->Close();
}
STATIC CONST struct EmuTrap stub_Close = { TRAPINST, TRAPTYPE, (ULONG (*)(ULONG *))stub_ClosePPC };

STATIC APTR stub_ExpungePPC(ULONG *regarray __attribute__((unused)))
{
return NULL;
}
STATIC CONST struct EmuTrap stub_Expunge = { TRAPINST, TRAPTYPE, (ULONG (*)(ULONG *))stub_ExpungePPC };

STATIC ULONG stub_ReservedPPC(ULONG *regarray __attribute__((unused)))
{
return 0UL;
}
STATIC CONST struct EmuTrap stub_Reserved = { TRAPINST, TRAPTYPE, stub_ReservedPPC };

static LONG stub_TrackSegmentListPPC(uint32 *regarray)
{
struct Library *Base = (struct Library *) regarray[REG68K_A6/4];
struct ExtendedLibrary *ExtLib = (struct ExtendedLibrary *) ((uint32)Base + Base->lib_PosSize);
struct DosIFace *Self = (struct DosIFace *) ExtLib->MainIFace;

return Self->TrackSegmentList(
(CONST_STRPTR)regarray[8],
(BPTR)regarray[0],
(CONST APTR)regarray[9],
(LONG)regarray[1]
);
}
STATIC CONST struct EmuTrap stub_TrackSegmentList = { TRAPINST, TRAPTYPE, (uint32 (*)(uint32 *))stub_TrackSegmentListPPC };

CONST CONST_APTR VecTable68K[] =
{
&stub_Open,
&stub_Close,
&stub_Expunge,
&stub_Reserved,
&stub_TrackSegmentList,
(CONST_APTR)-1
};

--------------------------------------------------------------------------------

Dont know if this helps in this case .....

Alain Thellier

BTW perhaps existing os4 dos.library can be called from 68k code if it (already) have such a 68k jump table

Last edited by prowler; 05 April 2016 at 22:14. Reason: Back-to-back posts merged.
thellier 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
FS-UAE 1.3 Development Series FrodeSolheim support.FS-UAE 376 28 October 2012 18:42
FS-UAE 1.1 Development Series FrodeSolheim support.FS-UAE 214 06 May 2012 14:53
OS4 compatible? oRBIT Coders. General 1 12 May 2010 15:50
E-UAE Development pjhutch support.OtherUAE 1 06 October 2008 03:26
Status of E-UAE pjhutch support.OtherUAE 3 30 June 2008 00:03

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


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