Yo!!
How will I only use joysticks in RETROCUBE as you would to exchange game consoles in the case of CD that has more than one disk, such as:
- SEGA CD
- SEGA SATURN
- 3DO
- PS1
Anyone have any ideas?
N13770.U2
Change disc (RETROCUBE)
Marcelo Nietto
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
Nope, I had same problem with psx emulator. Long time ago I have start to search a script for epsxe, but I have give up this project because.
1 - I don't want to use Daemon
2 - With the command line -nogui, we can't acess to the menu to chnage disk
3 - Can't load iso without the command line -nogui
Perhaps I can retry with Pcx (pcxfin) but IDK if this one support the swap disk (never tried this one), if you can confirm that to me ?
I can make a script that do alt + enter then select the first menu "use iso", paste the new rom name, press enter, and alt + enter again (like for tempest emulator). But this command suite need to work in normal mode too.
1 - I don't want to use Daemon
2 - With the command line -nogui, we can't acess to the menu to chnage disk
3 - Can't load iso without the command line -nogui
Perhaps I can retry with Pcx (pcxfin) but IDK if this one support the swap disk (never tried this one), if you can confirm that to me ?
I can make a script that do alt + enter then select the first menu "use iso", paste the new rom name, press enter, and alt + enter again (like for tempest emulator). But this command suite need to work in normal mode too.
Yo!!
Hello Aeliss!!!
So, the only solution for now, is to go with the keyboard + mouse set whenever you are using multi disc games. Unfortunately.
Hello Aeliss!!!
So, the only solution for now, is to go with the keyboard + mouse set whenever you are using multi disc games. Unfortunately.
Marcelo Nietto
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
Not necessarily.
I don't have enought time to check pcxfin, but if this one support swapping disk, we can make a script, with autoit we can simulate a copy/paste from clipboard and a menu selection, wait for a message in a windows, ect ....
But for the moment I m using only epsxe, so I need to play a game up to a disk changement wanted by the game with pcxfin to check if it 's possible.
Take a look on the tempest script http://www.mgalaxy.com/forum/index.php?topic=434.0 to see an exemple of the possibility.
I don't have enought time to check pcxfin, but if this one support swapping disk, we can make a script, with autoit we can simulate a copy/paste from clipboard and a menu selection, wait for a message in a windows, ect ....
But for the moment I m using only epsxe, so I need to play a game up to a disk changement wanted by the game with pcxfin to check if it 's possible.
Take a look on the tempest script http://www.mgalaxy.com/forum/index.php?topic=434.0 to see an exemple of the possibility.
Yo!!
Interesting that psxfin ... but, I have no knowledge of autoit / script.
I need to learn autoit.
N13770.U2
Interesting that psxfin ... but, I have no knowledge of autoit / script.
I need to learn autoit.
N13770.U2
Marcelo Nietto
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
I haven't finished yet, but this one working for pCXfin, I just need to press "F1" (with xpadder on a pad) and the script swap disk itself (cd 1 > cd 2 > cd 3 > cd 1 > cd 2 > ....)
But to test you need to edit it, I m waiting for french title in window, like "ouvrir".
But to test you need to edit it, I m waiting for french title in window, like "ouvrir".
Code: Select all
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Misc.au3>
Opt("WinTitleMatchMode", 1)
;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0
;Special parsing
$count = StringInStr($command, "-f", 0 , 1, 1)
local $filename = StringTrimLeft( $command, $count + 3 )
$filename = StringTrimright( $filename, 1 )
local $ext = StringTrimLeft($filename, StringInStr($filename, ".", 1, -1) - 1)
local $file = StringLeft($filename, StringInStr($filename, ".", 1, -1) - 1 )
$file = StringTrimLeft($file, StringInStr($file, "\", 1, -1) )
;check for CD
local $maxCD = 1
local $curCD = 1
if StringInStr($filename,"CD1") Then
If FileExists(StringReplace($filename,'CD1','CD2')) Then
$maxCD = 2
EndIf
If FileExists(StringReplace($filename,'CD1','CD3')) Then
$maxCD = 3
EndIf
endif
HotKeySet("{F1}", "CDchange")
local $PID = Run ( '"' & $app & '" ' & $command )
While ProcessExists ( $PID )
sleep(100)
WEnd
Exit 0
;Functions
Func CDchange()
if ($maxCD = 1) then Return
$curCD = $curCD + 1
if ($curCD > $maxCD) then $curCD = 1
$filename = StringTrimright($filename,7) & 'CD' & $curCD & '.cue'
;load the newCD
Send("!{ENTER}")
WinWaitActive ( "pSX" , "", 5 )
Send("!{f}")
Send("{ENTER}")
WinwaitActive("Ouvrir","",5)
Sleep (3000) ; bug here
send($filename & ' ', 1)
send("{enter}")
WinwaitActive("pSX")
Send("!{ENTER}")
EndFunc
A new version.
This one work with name "iso name CDX.cue" and "iso name (Disk X).cue"
the Cd changement is invisible on my RetroCube, the display is slower than the manipulation, just some strange noise.
3 Problems left.
1 - Need to use other key than F1 because this one is used by emulator
2 - this version work only for french, need to chnage "ouvrir" by "open" this is not because of emulator but system language on windows
3 - Need to had a temporisation somewhere, you can have resize problem, sometime it's mGalaxy that have bad size after the return to front end ^^.
This one work with name "iso name CDX.cue" and "iso name (Disk X).cue"
the Cd changement is invisible on my RetroCube, the display is slower than the manipulation, just some strange noise.
3 Problems left.
1 - Need to use other key than F1 because this one is used by emulator
2 - this version work only for french, need to chnage "ouvrir" by "open" this is not because of emulator but system language on windows
3 - Need to had a temporisation somewhere, you can have resize problem, sometime it's mGalaxy that have bad size after the return to front end ^^.
Code: Select all
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Misc.au3>
Opt("WinTitleMatchMode", 1)
;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0
;Special parsing
$count = StringInStr($command, '"', 0 , 1, 1)
local $filename = StringTrimLeft( $command, $count )
$filename = StringTrimright( $filename, 1 )
;local $ext = StringTrimLeft($filename, StringInStr($filename, ".", 1, -1) - 1)
;local $file = StringLeft($filename, StringInStr($filename, ".", 1, -1) - 1 )
;$file = StringTrimLeft($file, StringInStr($file, "\", 1, -1) )
local $autchange = 1
local $oldCD = 1
;check if there is CD number
local $maxCD = 1
local $curCD = 1
local $type = 0
;look for CDX
local $aArray = StringRegExp ( $filename, "CD(\d)\.cue" , 1 )
if (UBound($aArray) > 0) then
$type = 1
else
;look for (Disk X)
$aArray = StringRegExp ( $filename, "\(Disk (\d)\)\.cue" , 1 )
if (UBound($aArray) > 0) then $type = 2
Endif
if (UBound($aArray) > 0) then
;ok there is the tag
;active the function
HotKeySet("{F1}", "CDchange")
;set current CD number
$curCD = $aArray[0]
;look for max cd Number
for $i = 2 to 10
If (($type = 1) AND FileExists(StringReplace($filename,'CD' & $curCD,'CD' & $i))) OR (($type = 2) AND FileExists(StringReplace($filename,'Disk ' & $curCD,'Disk ' & $i))) Then
$maxCD = $maxCD + 1
Else
ExitLoop
Endif
next
Else
;only 1 CD
endif
local $PID = Run ( '"' & $app & '" ' & $command )
ProcessWaitClose($PID)
Exit 0
;***********************************************************************************
;Functions
Func CDchange()
if ($maxCD = 1) then Return
if $autchange = 0 then return
$autchange = 0
$oldCD = $curCD
$curCD = $curCD + 1
if ($curCD > $maxCD) then $curCD = 1
;set new filename
if $type = 1 then $filename = StringReplace($filename,'CD' & $oldCD,'CD' & $curCD )
if $type = 2 then $filename = StringReplace($filename,'Disk ' & $oldCD,'Disk ' & $curCD)
;load the newCD
Send("!{ENTER}")
WinWaitActive ( "pSX" , "", 5 )
Send("!{f}")
Send("{ENTER}")
;Need to change here
WinwaitActive("Ouvrir","",5)
send($filename & ' ', 1)
send("{enter}")
WinwaitActive("pSX")
Send("!{ENTER}")
$autchange = 1
EndFunc
A new version.
It works on all language
I m using the "²" key to chnage CD
Less mGalaxy bug.
It tell the swapping cd. How to use it :
Use an online Text to Speech system to make mp3 file called "CD1.mp3" "CD2.mp3" ect .... put them on a folder called "sound" at same place than the script.
Every time you press the "²" key the script play the mp3 and swap disk.
It works on all language
I m using the "²" key to chnage CD
Less mGalaxy bug.
It tell the swapping cd. How to use it :
Use an online Text to Speech system to make mp3 file called "CD1.mp3" "CD2.mp3" ect .... put them on a folder called "sound" at same place than the script.
Every time you press the "²" key the script play the mp3 and swap disk.
Code: Select all
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <Misc.au3>
Opt("WinTitleMatchMode", 1)
;Parsing
Local $count = StringInStr($CmdLineRaw, ".exe", 0 , 1, 1)
local $app = StringLeft ( $CmdLineRaw, $count + 4 )
local $command = StringTrimLeft( $CmdLineRaw, $count + 4 )
if not $command then exit 0
;Special parsing
$count = StringInStr($command, '"', 0 , 1, 1)
local $filename = StringTrimLeft( $command, $count )
$filename = StringTrimright( $filename, 1 )
;local $ext = StringTrimLeft($filename, StringInStr($filename, ".", 1, -1) - 1)
;local $file = StringLeft($filename, StringInStr($filename, ".", 1, -1) - 1 )
;$file = StringTrimLeft($file, StringInStr($file, "\", 1, -1) )
local $autchange = 1
local $oldCD = 1
;check if there is CD number
local $maxCD = 1
local $curCD = 1
local $type = 0
;look for CDX
local $aArray = StringRegExp ( $filename, "CD(\d)\.cue" , 1 )
if (UBound($aArray) > 0) then
$type = 1
else
;look for (Disk X)
$aArray = StringRegExp ( $filename, "\(Disk (\d)\)\.cue" , 1 )
if (UBound($aArray) > 0) then $type = 2
Endif
if (UBound($aArray) > 0) then
;ok there is the tag
;active the function
HotKeySet("{²}", "CDchange")
;set current CD number
$curCD = $aArray[0]
;look for max cd Number
for $i = 2 to 10
If (($type = 1) AND FileExists(StringReplace($filename,'CD' & $curCD,'CD' & $i))) OR (($type = 2) AND FileExists(StringReplace($filename,'Disk ' & $curCD,'Disk ' & $i))) Then
$maxCD = $maxCD + 1
Else
ExitLoop
Endif
next
Else
;only 1 CD
endif
local $PID = Run ( '"' & $app & '" ' & $command )
ProcessWaitClose($PID)
Exit 0
;***********************************************************************************
;Functions
Func CDchange()
if ($maxCD = 1) then Return
;to prevent multiple call
if ($autchange = 0) then return
$autchange = 0
$oldCD = $curCD
$curCD = $curCD + 1
if ($curCD > $maxCD) then $curCD = 1
;set new filename
if $type = 1 then $filename = StringReplace($filename,'CD' & $oldCD,'CD' & $curCD )
if $type = 2 then $filename = StringReplace($filename,'Disk ' & $oldCD,'Disk ' & $curCD)
;say CD name
if FileExists("sound/CD" & $curCD & ".mp3") then SoundPlay ( "sound/CD" & $curCD & ".mp3",1 )
;load the newCD
Send("!{ENTER}")
WinWaitActive ( "pSX" , "", 5 )
sleep(1000);tempo for mGalaxy
Send("!{f}")
Send("{ENTER}")
;Need to change here
;WinwaitActive("Ouvrir","",5)
WinWaitActive("[CLASS:#32770]", '', 5)
send($filename & ' ', 1)
send("{enter}")
WinwaitActive("pSX")
Send("!{ENTER}")
$autchange = 1
EndFunc
Yo!!
Aeliss,
This emulator is better than the epsxe?
Runs all the games?
Aeliss,
This emulator is better than the epsxe?
Runs all the games?
Marcelo Nietto
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
N13770 TV - Carros, Games, Cinema, Brinquedos, Rock'n'Roll e Diversos
https://www.youtube.com/user/N13770
I can't say if it's better, I haven't found comparative for compatibility.
Epsxe have more options, the picture is really better, PCX is an "accurate" emulator, so you will have same resolution than real PSX.
I have the compatibility list for PCX if you want it but for the moment I haven't see differences, I have some games that work better on one, and others better on the other one. On my Retrocube (c) I m using PCX since just 2 week, I used Epsxe before, not enought time to be sure, but I don't see how making swapping disk on epsxe.
Epsxe have more options, the picture is really better, PCX is an "accurate" emulator, so you will have same resolution than real PSX.
I have the compatibility list for PCX if you want it but for the moment I haven't see differences, I have some games that work better on one, and others better on the other one. On my Retrocube (c) I m using PCX since just 2 week, I used Epsxe before, not enought time to be sure, but I don't see how making swapping disk on epsxe.
-
- Newbie
- Posts: 2
- Joined: Sun Mar 15, 2015 10:25 am
Hi, sorry if I'm intruding on your post but I have a question concerning Pcxfin.. I really love mGalaxy because of it's simplicity to set everything up but I can't get Pcxfin to run on it (works fine stand-alone).. (Runway only gives me the option to use Epsxe or PCSX-Reloaded) but I would really like to use your AutoIt script for changing discs.. I already changed the systems.xml file to include PCXFIN but I don't know the command lines it uses to launch a game (neither the ones from the other 2 work, the give an error "the specified executable is not a valid application for this OS platform")
The command line for psxfin is
This system is already planned to be added by default to the next mGalaxy version.
Code: Select all
-f "%path\%file%ext"
Last edited by mgalaxy on Mon Mar 16, 2015 2:45 pm, edited 1 time in total.