#1
|
|||
|
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. | ||
#2
|
|||
|
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 | ||
#3
|
|||
|
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 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 | ||
#4
|
|||
|
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 Code:
Extern11 0x1000b810 0x0000b810 11 (0xb) dsetup.dll Exported Function | ||
#5
|
|||
|
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.
| ||
#6
|
|||
|
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?
| ||
#7
|
|||
|
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. | ||
#8
|
|||
|
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 | ||
#9
|
|||
|
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 | ||
#10
|
|||
|
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. | ||
|
|