Jump to content

PSXfin.exe and DaemonTools


vincelatello

Recommended Posts

Posted

Does anyone have a script for this to work?

I tried using it with the build in script but im getting an error on some games that says. "cd not usable: Failed to open file." Same thing happens if I just try it on the emulator.

If I mount it in daemon tools first though, it works no problem.

I am not sure why this is happening, but maybe someone has some insight?

Posted

Small update, this seems to happen to games that have multiple bin files. Single bin and cue files work fine. Any idea what the solution is for this?

Posted

Is there any chance you can post your script and other various settings when you get a chance. I was trying epsxe today but was also having issues.

Posted

Another update. I tried epsxe like garwil mentioned. While it works I run into the same type of issue as psxfin. If I have a cue that has multiple bin files. (two examples I have are, Castlevania and destruction derby) I get an error from epsxe that says it cant read the iso file. There is no iso file involved so I am stumped.

Here is an example of my Castlevanie .cue file.

FILE "Castlevania - Symphony of the Night (USA) (Track 1).bin" BINARY

TRACK 01 MODE2/2352

INDEX 01 00:00:00

FILE "Castlevania - Symphony of the Night (USA) (Track 2).bin" BINARY

TRACK 02 AUDIO

INDEX 00 00:00:00

INDEX 01 00:02:00

The file names of the bin files are correct. The cue is called Castlevania - Symphony of the Night (USA).cue

Also it works fine if I mount the games in daemon tools first. Just not if I run the cue directly. So anyone that can offer any help would be appreciated, even a script that has it mounting in daemon tools would be perfect.

Posted

i believe sega saturn hyperlaunch has the code to run daemon tools, you could copy and paste the relevant lines between the saturn and playstation ank's. Also if you can mount the image, you could probably convert it using something like magic iso. (im not sure if nero supports standard iso files) psxfin is compatible with standard iso, cloneCD image format (.img) alcohol and a bunch of others so you should be able to convert to a format that works.

If your using epsxe, you could also try a different cdrom plugin, im using a moby plugin and it seems to run everything fine

Posted

Ok I made some progress

This is my current script.

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

Runwait, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%"

hideDesktop()

Hotkey, %exitEmulatorKey%, CloseProcess

Sleep, 3000

epsxeParams = -nogui

Runwait, %Executable% %epsxeParams% "%romPath%%romName%%romExtension%", %EmuPath%, Hide UseErrorLevel

DetectHiddenWindows, on

Run, %DAEMONTOOLS% -unmount 0,UseErrorLevel

}

These are my ini setting as well

[exe info]

path=D:\HyperSpin 1.0\HyperSpin Install 1.0 Final\Emulators\Sony Playstation 1\

rompath=D:\HyperSpin 1.0\HyperSpin Install 1.0 Final\Roms\Sony Playstation\

userompath=true

exe=ePSXe.exe

romextension=cue

parameters=

searchsubfolders=true

pcgame=false

winstate=HIDDEN

hyperlaunch=true

it seems like I am having an issue loading epsxe in -nogui mode.

When I run epsxe.exe -nogui from a command prompt with the image loaded in daemon tools, it works perfectly. I just need help translating that into the script. I would think my use of epsxeparams is incorrect but I am not sure how to fix it.

I tried to remove the line ""%romPath%%romName%%romExtension%", %EmuPath%, Hide UseErrorLevel" so it would seem to only run epsxe and no gui, but it just returns an error.

Posted

I have made some headway and I am able to get the emulator to run 1 game. Once you quit that game the screen stays black and I have to ctrl alt del, to kill hyperspin and hyperlaunch and espxe if it is still running.

This is my script that allows it to work.

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

Run, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%"

Hotkey, %exitEmulatorKey%, CloseProcess

Sleep, 3000

epsxeParams = -nogui

Run, %Executable% %epsxeParams%, %EmuPath%

DetectHiddenWindows, on

}

I am trying to add in unloading of the iso at exit and somehow come up with a way for the espxe process to def be closed and the main hyperspin window to be brought back to the front.

I made this script to do that.

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

Run, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%"

Hotkey, %exitEmulatorKey%, CloseProcess

Sleep, 3000

epsxeParams = -nogui

Run, %Executable% %epsxeParams%, %EmuPath%

DetectHiddenWindows, on

Run, %DAEMONTOOLS% -unmount 0,UseErrorLevel

WinWait ahk_class epsxe

hideDesktop()

WinWaitClose, ahk_class epsxe

}

I am not sure at all about those "Winwait" lines those could be completely wrong, but even with out them and only having in that unmout daemon tools line the script no longer plays any games at all.

Hopefully I am one step closer to mastering this one. Thanks!

Also perhaps this all stems to how I implemented the -nogui switch. Once the game is loaded in daemon tools I just need to run the command line espxe.exe -nogui and that will load the game. Nothing else is needed. I am no sure if thats what I accomplished there or not.

Posted

One thing im noticing with epsxe, sometimes it wont shut down properly, yesterday i was using it to make snap videos, stopped for a minute to check my task manager as my fps were dropping, and low and behold i had six little epsxe's running. This was also causing havok with HS till i shut them all down. Hope this helps

Posted

Thanks Volumetric. I noticed that too. Thats why I tried to solve with this part of the script

WinWait ahk_class epsxe

hideDesktop()

WinWaitClose, ahk_class epsxe

I really hope someone with much more script knowledge then me can check this out and point out the error of my ways. Thanks again!

  • 3 weeks later...
Posted
Anyone?

Whats the problem exactly?

Are you trying to mount an image in Dtools then launch the emu?

Have you looked at a config for Sega Saturn, it would be very similar.

You must defeat Sheng Long to stand a chance.

Posted

It lets me run a rom one time. Then when I quit and try to load another rom it just gives me a black screen. Seem like the process doesnt exit properly. So I have been trying to make the script kill the process correctly after you exit the rom. I also have to reboot my system in order to play a new game

This is my current script

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

Run, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%"

Sleep 3000

Hotkey, %exitEmulatorKey%, CloseProcess

Run, %Executable% -nogui, %EmuPath%

}

Posted

This should:

- Load iso (no DaemonTools)

- Close Down "epsxe.exe" cleanly (no TaskManager remnants)

To verify shutdown of "epsxe.exe"

- wait 10 secs after emu\rom loads before exiting)

- Double check TaskManager.

- remove ";" to activate msgbox if needed for testing

(this is to make sure the msgbox PID matches "epsxe.exe" PID)

If the PID, doesnt match:

- try increasing or decreasing the "sleep" command depending on your computers speed\performance. (10000=10secs)

(Doesnt affect the loading speed of the emu\rom)

Add to:

[HyperLaunch.ahk]

save\compile

;********************************Sony 
Playstation*******************************
else if (systemName = "Sony Playstation" && executable = "epsxe.exe")
{
hideDesktop()
Hotkey, %exitEmulatorKey%, CloseProcess
Run, %Executable% -nogui -loadiso "%romPath%%romName%%romExtension%", %
EmuPath%, UseErrorLevel
sleep, [color=lime]10000[/color] 
WinGet, NewPID, PID, A
Process, priority, %NewPID%, High
[color=red];[/color][color=purple]MsgBox, 1, , The Newly Launched PID is %NewPID%,[/color]
WinActivate, %NewPID%
Process, waitClose, %NewPID%
}

Posted

I feel dumb but what the heck is PID and NewPID.

Also will this -loadiso will work since I am using bin and cue files? I thought -nogui automaticaly loaded up iso files? I am using version 1.7.0 btw.

Edit:

I simply increased the sleep to 10000 and that totally works and now I can launch multiple roms BUT.. when I press escape hyperlaunch turns the screen stays frozen on the screen. I have to task manager hyperlaunch then I can choose a new game. Any idea why this would happen?

Posted

version 1.7.0 here also.

when I press escape hyperlaunch turns the screen stays frozen on the screen. I have to task manager hyperlaunch then I can choose a new game. Any idea why this would happen?

It exits very cleanly for me so if I could re-create your problem I might be able to fix it.

So here is a shot in the dark...

-Double check TaskManager to verify there are no other previous instances of epsxe and kill them if there are.

(they would most likely cause conflicts)

-if you have "sleep, 10000" be sure to wait 10 seconds before exiting

-if you have "sleep, 5000" be sure to wait 5 seconds before exiting but that might not be enough time to get the actual PID of epsxe. (computer speed\performance)

When all else fails reboot then try it again. (I hate when you have to do this but...)

+++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++++++++++

"-nogui" removes the little gui window and then goes to full screen automatically.

epsxe should load the following with the parameter "-loadiso"

bin,iso,img,cue,ccd,mds ( i only tested with iso though)

make sure you have all those rom formats in your,

\hyperspin\settings\Sony Playstation.ini -file

romextension=bin,iso,img,cue,ccd,mds

Also, to see the list of files supported by the "-loadiso" parameter,

-run epsxe, (outside HyperSpin)

-select \file\run iso\

and youll see the supported files

PID = the process ID, in this case its for epsxe.

TaskManager will list the PID (fingerprint) of everthing running on your computer. no two are alike and evertime you run epsxe it will be different.

NewPID is the newest process started (after selecting your rom and running it in HyperSpin), also in this case for epsxe.

(you could change all references of "NewPID" to "epsxePID" or "whatever" if you wanted its just an arbitrary name I gave it)

all the code after "sleep, 10000" (including "sleep, 10000") could also be added to other systems if needed for better shutdown. (if this works for you)

Posted

Thanks for your help with this. Your code def does work properly. I am able to load files no problem. The reason I switched to using daemon tools was because of an error I was receiving with a smilar script to this one. It works great if I have a game that is one bin and one cue file. But for a game like destruction derby or Castlvanie symphony of the night that I have, which contains multiple bin files I get an error that says "error loading isofile destruction derby.iso" which is funny cause it should be destruction derby.bin.

so I am still stuck a bit im afraid.

I feel like if there was a way for me to have the script close the HyperLaunch.exe process when i press exit as well as close the emulator that would fix it all for me.

Posted

for shutdown, try adding either,

winactivate, HyperSpin

process, close, HyperLaunch.exe

or

winactivate, HyperSpin

exitapp

or some combination of the above to the bottom of the script (just below)

Process, waitClose, %NewPID%

These are a last resort (hard) shutdowns of Hyperlaunch cuz it bypasses the Hyperlaunch "closeprocess"

Posted

Another update I tried working with your code some more.

This is what I have, some tweaks to make multiple bin files run properly.

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

hideDesktop()

Hotkey, %exitEmulatorKey%, CloseProcess

Run, %Executable% -nogui, %EmuPath%

sleep, 8000

WinGet, NewPID, PID, A

Process, priority, %NewPID%, High

;MsgBox, 1, , The Newly Launched PID is %NewPID%,

WinActivate, %NewPID%

Process, waitClose, %NewPID%

}

Problem is when I click exit epsxe doesnt unload the game. So when I choose another game it just plays the same game everytime. Even if I close out and come back. Any ides where it is storing that?

Posted

I GOT IT!!!!

This is my final code for anyone else who encounters this problem

;********************************Sony Playstation*******************************

else if (systemName = "Sony Playstation" && executable = "epsxe.exe")

{

Run, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%"

Sleep 10000

Hotkey, %exitEmulatorKey%, CloseProcess

Run, %Executable% -nogui, %EmuPath%

winactivate, HyperSpin

process, close, HyperLaunch.exe

}

Adjust the sleep as necessary.

Chillenwater THANK YOU a million times over!!!

  • 3 weeks later...
Posted

Guys this thread is going to make my day, cant wait to get home and get my epsxe emulator working with hyperspin. I also have psx games with multiple bins and they only work with epsxe if I run with daemon tools, I will report back with my results. I will follow the instructions in this thread.

:)

Posted

Followed the instructions and everything works with no issues.

Just takes about 10 seconds for daemon tools to mount image with the cue file and for the game to start. IS THAT normal?

How can I speed the mounting of image and for game to load? Do I reduce PID to 5000 instead of 10000?

Posted

I am not sure how to speed mounting of the image. You could reduce the PID but thats more for how long the eumlator shoudl wait to load. If you have a fast computer with a fast hard drive, lower the value cant hurt. Worst that would happen is it wont work.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...