Project 1999

Go Back   Project 1999 > General Community > Technical Discussion

Reply
 
Thread Tools Display Modes
  #1  
Old 11-10-2020, 09:20 PM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default Mac Catalina, Wine (wineskin, crossover, playonmac), DSETUP.DLL Issue

I recently got a new macbook that has catalina installed. I understand that 32bit application support has been removed from it, however I have tried the following:

PlayOnMac
CrossOver
Wineskin (https://github.com/Gcenx/WineskinServer)

They all seem to use wine32on64, and when I do a fresh installation of EverQuest Titanium, they will load up and I can make it to the char select screens. However, once I copy over the newest P99 file, specifically DSETUP.DLL, wine no longer loads EQ. Replace it with the original, and all is good.

I have tried to debug any error messages its throwing upon loading, but nothing gets spit out. I think I am really close to getting EQ/P99 to work on Catalina (not that I really did that much), but curious if anyone can help debug this with me, or if there is some way to create a patched/updated DSETUP.DLL to work. Maybe it has to be compiled to support 64bit? I am not sure. Any feedback or help would be appreciated. Thanks.
Reply With Quote
  #2  
Old 11-11-2020, 11:11 AM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

Here is some more output that I notice in the debugging when using the P99 dsetup.dll file. Specifically the
Code:
caused page fault during read

Code:
005f:trace:seh:raise_exception code=c000008e flags=0 addr=0x7bc72002 ip=7bc72002 tid=005f
005f:trace:seh:raise_exception  eax=0033e760 ebx=0033e760 ecx=7bca9050 edx=0033e750 esi=0033e750 edi=100b7000
005f:trace:seh:raise_exception  ebp=0033e790 esp=0033e754 cs=331007 ds=ffff100f es=7bca100f fs=1017 gs=7bca0000 flags=00000216
005f:trace:seh:call_vectored_handlers calling handler at 0x101308b3 code=c000008e flags=0
005f:trace:seh:call_vectored_handlers handler at 0x101308b3 returned ffffffff
005f:trace:seh:NtContinue (0x33e47c, 0) stub!
005f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7bca8ca5 ip=7bca8ca5 tid=005f
005f:trace:seh:raise_exception  info[0]=00000000
005f:trace:seh:raise_exception  info[1]=7ffbe000
005f:trace:seh:raise_exception  eax=00001000 ebx=00000001 ecx=0033e6f0 edx=0033e6f0 esi=00000004 edi=0033de30
005f:trace:seh:raise_exception  ebp=0033e840 esp=0033de20 cs=1007 ds=100f es=100f fs=1017 gs=0000 flags=00010246
005f:trace:seh:raise_exception  underlying 64-bit state:
005f:trace:seh:raise_exception    rip=000000007b4a4f7f
005f:trace:seh:raise_exception    rax=0000000000001000 rbx=0000000000000001 rcx=000000000033e6f0 rdx=000000000033e6f0
005f:trace:seh:raise_exception    rsi=0000000000000004 rdi=000000007ffbe000 rbp=000000000033e840 rsp=000000000033e6a0
005f:trace:seh:raise_exception    r8=0000000000000011  r9=000000000017e438 r10=000000000017e420 r11=0000000000110000
005f:trace:seh:raise_exception    r12=0000000000000000 r13=0000000000000004 r14=00000000ffffffff r15=0000000000000000
005f:trace:seh:call_stack_handlers calling handler at 0x7b4af710 code=c0000005 flags=0
005f:trace:seh:__regs_RtlUnwind code=c0000005 flags=2
005f:trace:seh:__regs_RtlUnwind eax=00000000 ebx=0033dad0 ecx=7b4af370 edx=7b4af370 esi=0033dac0 edi=0033e5cc
005f:trace:seh:__regs_RtlUnwind ebp=0033dab8 esp=0033dab0 eip=7b4af386 cs=1007 ds=100f fs=1017 gs=0000 flags=00000202
005f:trace:seh:__regs_RtlUnwind calling handler at 0x7bcae9d0 code=c0000005 flags=2
005f:trace:seh:__regs_RtlUnwind handler at 0x7bcae9d0 returned 1
005f:trace:seh:IsBadReadPtr 0x7ffbe000 caused page fault during read
005f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x1032a9bb ip=1032a9bb tid=005f
005f:trace:seh:raise_exception  info[0]=00000001
005f:trace:seh:raise_exception  info[1]=fffffffc
005f:trace:seh:raise_exception  eax=1020583e ebx=1020586d ecx=fffffffc edx=10205861 esi=390a003a edi=00000000
005f:trace:seh:raise_exception  ebp=1020583e esp=0033e858 cs=1007 ds=100f es=100f fs=1017 gs=0000 flags=00010202
Reply With Quote
  #3  
Old 11-11-2020, 11:25 AM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

Here is exiftool output for the default installed dsetup.dll
Code:
ExifTool Version Number         : 12.09
File Name                       : dsetup.win.dll
Directory                       : EverQuest
File Size                       : 59 kB
File Modification Date/Time     : 2005:10:17 12:35:02-04:00
File Access Date/Time           : 2020:11:11 10:09:04-05:00
File Creation Date/Time         : 2005:10:17 12:35:02-04:00
File Permissions                : rw-rw-rw-
File Type                       : Win32 DLL
File Type Extension             : dll
MIME Type                       : application/octet-stream
Machine Type                    : Intel 386 or later, and compatibles
Time Stamp                      : 2002:12:11 04:58:30-05:00
Image File Characteristics      : Executable, No line numbers, No symbols, 32-bit, DLL
PE Type                         : PE32
Linker Version                  : 7.0
Code Size                       : 50688
Initialized Data Size           : 15360
Uninitialized Data Size         : 0
Entry Point                     : 0x6892
OS Version                      : 5.1
Image Version                   : 5.1
Subsystem Version               : 4.0
Subsystem                       : Windows GUI
File Version Number             : 4.9.0.900
Product Version Number          : 4.9.0.900
File Flags Mask                 : 0x30003f
File Flags                      : (none)
File OS                         : Windows 16-bit
Object File Type                : Driver
File Subtype                    : 8
Language Code                   : English (U.S.)
Character Set                   : Windows, Latin1
Company Name                    : Microsoft Corporation
File Description                : Direct driver preloader
File Version                    : 4.09.00.0900
Internal Name                   : dsetup.dll
Legal Copyright                 : Copyright © Microsoft Corp. 1994-2002
Original File Name              : dsetup.dll
Product Name                    : Microsoft® DirectX for Windows®
Product Version                 : 4.09.00.0900
And here is the P99 provided one

Code:
ExifTool Version Number         : 12.09
File Name                       : dsetup.dll
Directory                       : EverQuest
File Size                       : 3.8 MB
File Modification Date/Time     : 2019:10:25 03:14:00-04:00
File Access Date/Time           : 2020:11:11 10:13:06-05:00
File Creation Date/Time         : 2019:10:25 03:14:00-04:00
File Permissions                : rw-rw-rw-
File Type                       : Win32 DLL
File Type Extension             : dll
MIME Type                       : application/octet-stream
Machine Type                    : Intel 386 or later, and compatibles
Time Stamp                      : 2019:10:25 04:13:06-04:00
Image File Characteristics      : Executable, 32-bit, DLL
PE Type                         : PE32
Linker Version                  : 14.11
Code Size                       : 539648
Initialized Data Size           : 183808
Uninitialized Data Size         : 0
Entry Point                     : 0xa1a000
OS Version                      : 6.0
Image Version                   : 0.0
Subsystem Version               : 6.0
Subsystem                       : Windows GUI
File Version Number             : 3.49.0.0
Product Version Number          : 3.49.0.0
File Flags Mask                 : 0x003f
File Flags                      : (none)
File OS                         : Windows NT 32-bit
Object File Type                : Dynamic link library
File Subtype                    : 0
Language Code                   : English (U.S.)
Character Set                   : Unicode
Company Name                    : Project 1999
File Description                : Project 1999 Game Server DLL
File Version                    : 3.49b.0.0
Internal Name                   : dsetup.dll
Legal Copyright                 : Copyright (C) 2019
Original File Name              : dsetup.dll
Product Name                    : P1999DLL
Product Version                 : 3.49b.0.0
Reply With Quote
  #4  
Old 11-11-2020, 11:42 AM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

A DLL viewer is showing the following functions exported in the installer provided version (I should also note I don't exactly knowing what I am doing, but just trying to get some information that might point to something)

Headers are Function Name, Address, Relative Address, Ordinal, Filename, Type

Code:
DirectXDeviceDriverSetupA	0x0040531f	0x0000531f	1 (0x1)	dsetup.win.dll	Exported Function	
DirectXDeviceDriverSetupW	0x004053bb	0x000053bb	2 (0x2)	dsetup.win.dll	Exported Function	
DirectXLoadString	0x00404c1e	0x00004c1e	14 (0xe)	dsetup.win.dll	Exported Function	
DirectXRegisterApplicationA	0x00405a4f	0x00005a4f	3 (0x3)	dsetup.win.dll	Exported Function	
DirectXRegisterApplicationW	0x00405e12	0x00005e12	4 (0x4)	dsetup.win.dll	Exported Function	
DirectXSetupA	0x004050f0	0x000050f0	5 (0x5)	dsetup.win.dll	Exported Function	
DirectXSetupCallback	0x00404e00	0x00004e00	12 (0xc)	dsetup.win.dll	Exported Function	
DirectXSetupGetEULAA	0x00404c72	0x00004c72	17 (0x11)	dsetup.win.dll	Exported Function	
DirectXSetupGetEULAW	0x00404c9c	0x00004c9c	18 (0x12)	dsetup.win.dll	Exported Function	
DirectXSetupGetFileVersion	0x00404f25	0x00004f25	13 (0xd)	dsetup.win.dll	Exported Function	
DirectXSetupGetVersion	0x00404924	0x00004924	11 (0xb)	dsetup.win.dll	Exported Function	
DirectXSetupIsEng	0x004057fd	0x000057fd	15 (0xf)	dsetup.win.dll	Exported Function	
DirectXSetupIsJapan	0x004057d3	0x000057d3	6 (0x6)	dsetup.win.dll	Exported Function	
DirectXSetupIsJapanNec	0x00406206	0x00006206	7 (0x7)	dsetup.win.dll	Exported Function	
DirectXSetupSetCallback	0x004050d1	0x000050d1	10 (0xa)	dsetup.win.dll	Exported Function	
DirectXSetupShowEULA	0x00404c48	0x00004c48	16 (0x10)	dsetup.win.dll	Exported Function	
DirectXSetupW	0x00405203	0x00005203	8 (0x8)	dsetup.win.dll	Exported Function	
DirectXUnRegisterApplication	0x0040551a	0x0000551a	9 (0x9)	dsetup.win.dll	Exported Function
The only thing exported from the P99 provided file:

Code:
Extern11	0x1000b810	0x0000b810	11 (0xb)	dsetup.dll	Exported Function
Reply With Quote
  #5  
Old 11-12-2020, 04:37 PM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

Tried the DSETUP.DLL from P99Files45 that I happened to have and it got past the dsetup.dll file loading issue, but shows and issue with not being able to open oreans.vxd driver.
Reply With Quote
  #6  
Old 11-13-2020, 02:20 PM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

Would it be possible to rebuild the DSETUP.DLL file so that it can be loaded into any location in memory, if it isn't?
Reply With Quote
  #7  
Old 11-13-2020, 09:09 PM
Eldini Eldini is offline
Kobold


Join Date: Nov 2014
Posts: 172
Default

Given how effective the anti-cheat on P99 is (PRAS ROGANE) I think it's plausible that this is because their anti-cheat doesn't work on Catalina or Big Sur right now. Still, I want to play on my Mac without using Bootcamp...

A guildie had it working but it's broken as of recent updates. I updated to Big Sur today. Was messing with "CrossOver" but couldn't get it running; bootcamp runs amazing but at that point why am I using my mac?

let me know if you get it working! also a comment from staff would be so amazing. Love the project thanks again for your hard work.
Reply With Quote
  #8  
Old 11-13-2020, 11:11 PM
freezzo freezzo is offline
Aviak


Join Date: Mar 2010
Posts: 72
Default

I agree. I tried parallels, but the mouse issues make it uncomfortable. I have a mac and don't really want to dual boot. I had it working on High Sierra fine. I assume the same issues are true on Big Sur. It would be interesting to see a full debug from wine if possible? `WINEDEBUG=all` around the part where it loads the DSETUP.dll and see if its the same issue.

I will continue trying to see if I can do anything, but at this point, I'm to the point where I think DSETUP.dll has to get compiled differently? to support work properly in this case, and I don't know if there is much incentive for them to do that?

Staff reply would be amazing, and I am willing to help however I can. Thanks
Reply With Quote
  #9  
Old 11-14-2020, 01:05 PM
Eldini Eldini is offline
Kobold


Join Date: Nov 2014
Posts: 172
Default

Try to file a petition yet? not sure what amount of technical support we can expect for a emulated server like this run by volunteers.. I am just grateful it exists.

This is an old game and they can't touch the client. Also the person who made the DLL isn't affiliated with P99 AFAIK, but he's around.

We don't know the metrics of what OS'es people use but I am willing to bet it's mostly Windows! Probably some linux too given that EQ has nerdy fans. rogan pls, metrics? graphs? open source some datasets and have the public make them for you?

I think accessibility is overall very important to a server and community like this; it can be its greatest asset.
You can be in-game in less than 2 minutes (make account on website, DL already set up thin-client approx 1gb total) and boom - you are in Brad's world now...

No payment barriers, no bullshit - the biggest barrier is the technical issues in running it and setting it up properly for performance.
The game could run on your smartphone, no doubt. People are already playing P99 on Chromebooks and this can be done on a phone as well.

For now I'll settle for getting it on my Mac... :3
Reply With Quote
  #10  
Old 11-14-2020, 01:50 PM
Izmael Izmael is offline
Planar Protector

Izmael's Avatar

Join Date: Jul 2015
Posts: 2,289
Default

DSETUP.DLL is packed with anti-hax0r software called Themida. It's likely to create issues with running it under unintended conditions such as in Wine, moreover under MacOS.

First of all, I'd recommend trying the latest Wine builds, stable and dev.

If this doesn't work, try some kind of virtualization software for Mac, hoping your Mac is powerful enough that it will not kill P99 performance.

If all fails, honestly I'd just get a $300 Windows laptop that will run P99 just fine.
Reply With Quote
Reply


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 -4. The time now is 02:27 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.