20 March 2016, 18:28 | #301 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
Quote:
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. |
|
26 March 2016, 13:04 | #302 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
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.
|
30 March 2016, 22:00 | #303 |
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 ? |
31 March 2016, 10:30 | #304 |
Registered User
Join Date: Sep 2011
Location: Paris/France
Posts: 276
|
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 |
03 April 2016, 12:45 | #305 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
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) |
03 April 2016, 17:53 | #306 |
Registered User
Join Date: Dec 2008
Location: Poznan / Poland
Posts: 119
|
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.
|
03 April 2016, 17:59 | #307 |
Registered User
Join Date: Jul 2007
Location: Australia
Posts: 189
|
I've tested SB128 using Prometheus and also GREX. Works fine here.
|
03 April 2016, 18:04 | #308 |
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 19:01. Reason: Logs removed |
03 April 2016, 18:22 | #309 |
Registered User
Join Date: Feb 2014
Location: Poland
Posts: 190
|
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 Last edited by Snake79; 03 April 2016 at 18:29. Reason: PS |
03 April 2016, 18:29 | #310 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
Quote:
Quote:
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!) |
||
03 April 2016, 18:43 | #311 |
Registered User
Join Date: Jul 2007
Location: Australia
Posts: 189
|
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 18:49. |
03 April 2016, 18:54 | #312 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
Does it work if you switch off JIT? (Which is useless in PPC-only CPU emulation) JIT usually only adds more noise to logs..
|
03 April 2016, 18:59 | #313 |
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 19:14. |
03 April 2016, 19:16 | #314 | |
Registered User
Join Date: Feb 2014
Location: Poland
Posts: 190
|
Quote:
PS. sorry for upper offtopic... Last edited by Snake79; 03 April 2016 at 19:47. |
|
03 April 2016, 19:38 | #315 | |||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
Quote:
JIT adds extra stuff here and there, including hardware level memory write protection. Quote:
Quote:
|
|||
03 April 2016, 19:41 | #316 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Zero difference in Quake - same fps without and with uaebootmaprom + latest beta.
|
03 April 2016, 20:18 | #317 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
|
Quote:
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 20:54. |
|
03 April 2016, 22:19 | #318 |
Registered User
Join Date: Feb 2014
Location: Poland
Posts: 190
|
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). Last edited by Snake79; 03 April 2016 at 23:22. Reason: PS |
05 April 2016, 14:25 | #320 |
Registered User
Join Date: Sep 2011
Location: Paris/France
Posts: 276
|
>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 21:14. Reason: Back-to-back posts merged. |
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 17:42 |
FS-UAE 1.1 Development Series | FrodeSolheim | support.FS-UAE | 214 | 06 May 2012 13:53 |
OS4 compatible? | oRBIT | Coders. General | 1 | 12 May 2010 14:50 |
E-UAE Development | pjhutch | support.OtherUAE | 1 | 06 October 2008 02:26 |
Status of E-UAE | pjhutch | support.OtherUAE | 3 | 29 June 2008 23:03 |
|
|