ePSXe - Shark enhanced (by Tapeq)

Discussion in 'ePSXe Discussion' started by tapeq, Jan 12, 2013.

  1. tapeq

    tapeq Member

    Messages:
    537
    Likes Received:
    74
    This thread is about new version of discontinued tool called "ePSXe 1.7.0 updater - shark tool" by shalma, original thread is here: ePSXe 1.7.0 updater - shark tool.

    NOTE: All my ePSXe related files are located here: http://dev.tapek.shst.pl/ePSXe/

    Shark 1.8.0:
    http://dev.tapek.shst.pl/ePSXe/shark180.zip
    Symbols for current release (for debugging):
    http://dev.tapek.shst.pl/ePSXe/shark180_pdb.zip
    source code:
    http://dev.tapek.shst.pl/ePSXe/shark180_src.zip

    P.E.Op.S SPU 1.10b (framelimiter disabled by default, as it should be):
    2013-05-22: Fixed settings save/load (note: don't use fopen_s, use _fsopen!, and also ReadConfig() must be done outside DLGPROC).
    2013-05-24: PhantomPostPad was always used (even when PhantomPad was off).
    http://dev.tapek.shst.pl/ePSXe/peopsspu110b.zip
    source code:
    http://dev.tapek.shst.pl/ePSXe/peopsspu110b_src.zip
    P.E.Op.S SPU 1.10b original thread is here: PEOPS DSound 1.10b
    NOTE: Internal SPU in ePSXe 1.9.25 is much better than before, it also features fremelimiter etc. I recommend using it!

    All features of original "Shark tool" are included, please read old thread.
    NOTE: Tools are build in Visual Studio 2012 Update1 using toolset "Visual Studio 2012 - Windows XP (v110_xp)" so Windows XP SP3 or never is required.
    NOTE: From 2013-01-31 Shark require Visual C++ Redistributable for Visual Studio 2012 Update 1 (x86)
    This tool works different from original one, it does not use loader executable, instead it patches ePSXe.exe to load shark.dll.
    That solution have some pros, like you can use unmodified version of ePSXeCutor, and no known cons.
    Deleting shark.dll from ePSXe directory will not cause ePSXe to crash, will only not load shark.dll so it will work as normal.

    Main features for ePSXe 1.8.0:
    • Pad plug-in support.
    • Configurable APU Cycles (ie. "speed" of calling SPU plugin).
    • SPU based frame limiter
    • CDDA Play trough SPU Plugin
    • CDDA and XA Attenuation

    Usage: Copy to ePSXe directory (ie. to directory with ePSX.exe) and run patch.cmd. Then run ePSXe.exe as normal.
    You can run created unpatch.cmd to revert patch and back to standard ePSXe.
    NOTE: When Shark is running title of ePSXe should be changed to "ePSXe - Shark enhanced" if not, please report bug to me.
    WARNING: Do not use "Program Files" for ePSXe directory and do not run patch.cmd as Administrator!

    Changelog:

    2013-01-06:
    • Pad plugin support
    • Configurable APU Cycles
    • Fast boot (fps boost on emu startup)
    • SPU based frame limit
    • CDDA playing trough SPU.

    2013-01-08:
    • Removed unused code from build (ie. comment out)
    • WriteCode now uses memcpy
    • Added FlushInstructionCache to WriteCode and ApplyJmpHook
    • Replaced all unsafe CRT functions with safe ones
    • Other things that I do not remember ...
    • Fixed crash on reset
    • shark_patcher is now "bulletproof", it will not modify anything if does not find expected data in file, also added size check.
    • patcher now adds code to end of .text section
    • Added #defines to shark_patcher, this will allow to easy modify patch locations, OEP etc.
    • Replaced runme.cmd with patch.cmd, it will create unpatch.cmd on run - useful to restoring backup file.
    • Tweaked VS projects.

    2013-01-10:
    • Added requested slow_boot option to ini, please note that in slow boot mode PAL bios in unable to boot NTSC games, and vice versa.
    • shark_patcher stub code is now in its own pe section
    • implemented GPUshowScreenPic_Wrapper_180, MMIO_Write_180 and SPU_PlayXA_180.
    • Creating thread in DllMain is not good idea, also creating it for code patching is even worse idea, in some conditions ePSXe code can be executed before it's patched. Now code should be patched always before ePSXe run.
    • shark_cheater added, cheats should work - not tested!
    • re-enabled all patches for older versions
    • shark_patcher now can patch ePSXe 1.8.0, 1.7.0, 1.6.0 and 1.5.2.

    2013-01-10:
    • Fixed SPU based framelimit.
    • Added P.E.Op.S SPU 1.10b with framelimiter disabled by default to thread.
    • Added option "spu_framelimit" to ini file.
    • Tweaked VS projects.

    2013-01-13:
    • Fix: crash on Run-> Continue
    • Fix: SPU based frame limiter switch off after Run-> Continue (moved code from SPUInit to SPUopen)
    • shark_patcher extended to patch any file name by using "shark_patcher.exe filename".

    2013-01-14:
    • Added VRAM auto detection fix for gpuPeteOpenGL2 plugin.
    • Added option "opengl2_vramauto" to switch on/off VRAM auto detection fix.

    2013-01-31:
    • Fixed crash.
    • Disabled VRAM auto detection by default.
    • Disabled DirtyPatch check in release build.
    • Change to dynamic runtime (/MD switch).

    2013-03-02:
    • Fixed second pad polling.
    Last edited: Jul 11, 2015
    zygatearrive and CrsFan like this.
  2. NGEmu.com Advertisement

  3. Cittidel

    Cittidel New Member

    Messages:
    2
    Likes Received:
    0
  4. tapeq

    tapeq Member

    Messages:
    537
    Likes Received:
    74
    Works fine for me, but here is mirror: [was here]

    EDIT: Old link removed.
    Last edited: Feb 1, 2013
  5. Cittidel

    Cittidel New Member

    Messages:
    2
    Likes Received:
    0
  6. ewertonpires

    ewertonpires New Member

    Messages:
    12
    Likes Received:
    0
    Tomb Raider 2 still won't looping CDDA tracks with this shark, the problem with Tomb 2 remains. I remember that in 1.7.0 version some levels repeat the CDDA tracks properly, but isn't works at the right version. How can I fix it?
  7. tapeq

    tapeq Member

    Messages:
    537
    Likes Received:
    74
    TR2 hacks are not implemented to 1.8.0 (yet).
  8. 5247846

    5247846 Member

    Messages:
    60
    Likes Received:
    0
    When booting a japanese game on ePSXe 1.8.0 (shark enhanced), the PS logo screen should say SCEI™.
  9. Lerianis

    Lerianis New Member

    Messages:
    9
    Likes Received:
    0
    Having problem with this on Windows 8. I downloaded the Shark files and the Sound driver, put them both where they should be, but ePSXe just keeps on crashing out when I try to run an ISO or even when I just try to run a mounted image from a drive. If I remove the patch? It runs like it should.

    Edit: tested renaming the shark.dll file to shark. to test whether that would fix the problem by not loading the shark.dll and it did. So apparently I'm either missing something that shark.dll needs to work on Windows 8 or there is a bug with Windows 8 and shark.
    Last edited: Jan 23, 2013
  10. Squall-Leonh@rt

    Squall-Leonh@rt Maybe I'm a Lion

    Messages:
    4,961
    Likes Received:
    108
  11. jimartin

    jimartin Member

    Messages:
    119
    Likes Received:
    2
    Windows 8 is with increased security and most of the apps that are not explicitly targeted\ written for it would cause a BEX (Buffer Overflow Exception) error if this is the case, probably wont work on Win 8 and you should wait for update.
  12. ewertonpires

    ewertonpires New Member

    Messages:
    12
    Likes Received:
    0
    When the shark tool be updated, there are some tracks of CDDA that wasn't added at the tomb 2 hack in the ini file.
    It's the track 54, 55 and 56.
  13. 5247846

    5247846 Member

    Messages:
    60
    Likes Received:
    0
    Verified here.
  14. Lerianis

    Lerianis New Member

    Messages:
    9
    Likes Received:
    0
    With all due respect, that is a bunch of bullplop and a cop-out. I've used many many many programs with Windows 8 that have not had a rewrite and had absolutely no problems with it.

    I could buy that something is 'missing' from Windows 8 that shark.dll needs to function properly or that ePSXe patched with shark needs to function, but I doubt to the highest levels that I can express that it is a problem with Windows 8 itself intervening.

    Yes, there are more security functions in Windows 8, but it's not Windows Defender closing this nor is it the NX functionality in Windows 8.

    It's just a regular crash.
  15. Shendo

    Shendo Moderator Staff Member Moderator

    Messages:
    5,154
    Likes Received:
    45
    It should not. That doesn't depend on the game but the region of the console itself.
    If you have a modded Japanese unit which is booting an American game it will still write SCEI. ePSXe is set to American region regardless of the BIOS.
    Last edited: Jan 25, 2013
  16. Squall-Leonh@rt

    Squall-Leonh@rt Maybe I'm a Lion

    Messages:
    4,961
    Likes Received:
    108
    unfortunately, NX on certain processors (without a certain microcode update) can cause applications to crash in DEP protected windows libraries. And the worst part is it will just show as a standard BEX, it won't popup a DEP notification in the tray.
  17. Azary1977

    Azary1977 Member

    Messages:
    509
    Likes Received:
    34
    Thanks for the program. :)
  18. Lerianis

    Lerianis New Member

    Messages:
    9
    Likes Received:
    0
    Again... epsxe runs just fine without shark installed. It's only when Shark is installed that it doesn't run correctly.

    Please stop with the cop-out. This is NOT because of processor nor is it because of Windows 8, since I just tried running this on my parent's computer which has Windows 7 on it.

    Crash city. It's something with the Shark.dll thing. Either it's not patching correctly or I am somehow not running it correctly.

    The computer I am running this on is a P-7811FX. PCSX2 doesn't have a problem on it nor does any other emulator. Is there a separate package of some kind that I have to install? I notice that this was made in Visual Studio 2012 according to the first post, should I install that?
    Last edited: Jan 27, 2013
  19. 5247846

    5247846 Member

    Messages:
    60
    Likes Received:
    0
    I just want ePSXe 1.8.0 (shark enhanced) not to be set to American region regardless of the BIOS.
  20. Roman0

    Roman0 New Member

    Messages:
    1
    Likes Received:
    0
    When I use this tool I end up with "ePSXe.exe stopped working" error every time I try to run the emulation (run the ISO or even BIOS). Everything works fine with clean ePSXe.

    OS: Windows 7 Ultimate 64-bit
    CPU: AMD Athlon 64 X2 4000+
    RAM: 4GB
    GPU: GeForce 9800GT
  21. Squall-Leonh@rt

    Squall-Leonh@rt Maybe I'm a Lion

    Messages:
    4,961
    Likes Received:
    108
    Windows Vista, 7 and 8 all suffer from this if the cpu microcode is the issue. Both Intel Core 2 and AMD Athlon64/X2 processors suffer from it.

    An application will fail to start with a message indicating the missing file if it is a missing runtime issue.

    Now heres an idea - Attach the crash dmp file to your next reply, you can find it in %userprofile%\AppData\Local\CrashDumps\

    --edit--
    nvm, i reproduced the crash for you and done it myself

    Code:
    *******************************************************************************
    *                                                                             *
    *                        Exception Analysis                                   *
    *                                                                             *
    *******************************************************************************
    
    *** WARNING: Unable to verify checksum for ePSXe.exe
    *** ERROR: Module load completed but symbols could not be loaded for ePSXe.exe
    Unable to load image C:\Windows\System32\ieframe.dll, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for ieframe.dll
    Unable to load image C:\Windows\System32\nvoglv32.dll, Win32 error 0n2
    *** WARNING: Unable to verify timestamp for nvoglv32.dll
    *** ERROR: Module load completed but symbols could not be loaded for nvoglv32.dll
    GetPageUrlData failed, server returned HTTP status 404
    URL  requested:  http://watson.microsoft.com/StageOne/ePSXe_exe/0_0_0_0/509d0cdf/unknown/0_0_0_0/bbbbbbb4/c0000005/00000000.htm?Retriage=1
    
    FAULTING_IP: 
    +3796
    00000000 ??              ???
    
    EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
    ExceptionAddress: 00000000
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 00000000
       Parameter[1]: 00000000
    Attempt to read from address 00000000
    
    DEFAULT_BUCKET_ID:  NULL_INSTRUCTION_PTR
    
    PROCESS_NAME:  ePSXe.exe
    
    ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
    
    EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
    
    EXCEPTION_PARAMETER1:  00000000
    
    EXCEPTION_PARAMETER2:  00000000
    
    READ_ADDRESS:  00000000 
    
    FOLLOWUP_IP: 
    shark+3796
    03ba3796 8bf0            mov     esi,eax
    
    FAILED_INSTRUCTION_ADDRESS: 
    +3796
    00000000 ??              ???
    
    MOD_LIST: <ANALYSIS/>
    
    NTGLOBALFLAG:  0
    
    APPLICATION_VERIFIER_FLAGS:  0
    
    FAULTING_THREAD:  00004d00
    
    PRIMARY_PROBLEM_CLASS:  NULL_INSTRUCTION_PTR
    
    BUGCHECK_STR:  APPLICATION_FAULT_NULL_INSTRUCTION_PTR_NULL_POINTER_READ
    
    LAST_CONTROL_TRANSFER:  from 03ba3796 to 00000000
    
    STACK_TEXT:  
    WARNING: Frame IP not in any known module. Following frames may be wrong.
    0018fa4c 03ba3796 00000000 00000000 090b48b0 0x0
    0018fa74 03ba38b2 755d10ff 011f08a4 76d26110 shark+0x3796
    0018fa9c 03ba3a44 00001db1 00000002 00000000 shark+0x38b2
    0018fad0 00433d5d 011f08a4 b373c9bc 00402cb9 shark+0x3a44
    0018ff88 755d33aa 7efde000 0018ffd4 778a9ef2 ePSXe+0x33d5d
    0018ff94 778a9ef2 7efde000 c594800a 00000000 kernel32!BaseThreadInitThunk+0xe
    0018ffd4 778a9ec5 00458800 7efde000 00000000 ntdll!__RtlUserThreadStart+0x70
    0018ffec 00000000 00458800 7efde000 00000000 ntdll!_RtlUserThreadStart+0x1b
    
    
    STACK_COMMAND:  ~0s; .ecxr ; kb
    
    SYMBOL_STACK_INDEX:  1
    
    SYMBOL_NAME:  shark+3796
    
    FOLLOWUP_NAME:  MachineOwner
    
    MODULE_NAME: shark
    
    IMAGE_NAME:  shark.dll
    
    DEBUG_FLR_IMAGE_TIMESTAMP:  50f400f5
    
    FAILURE_BUCKET_ID:  NULL_INSTRUCTION_PTR_c0000005_shark.dll!Unknown
    
    BUCKET_ID:  APPLICATION_FAULT_NULL_INSTRUCTION_PTR_NULL_POINTER_READ_NULL_IP_shark+3796
    
    WATSON_STAGEONE_URL:    http://watson.microsoft.com/StageOne/ePSXe_exe/0_0_0_0/509d0cdf/unknown/0_0_0_0/bbbbbbb4/c0000005/00000000.htm?Retriage=1
    
    Followup: MachineOwner
    ---------
    
    
    Last edited: Jan 28, 2013

Share This Page