RIP-Felix Posted October 25, 2012 Posted October 25, 2012 I've been trying to get MuDIGUI set up. I downloaded the Autoit app, and conpiled the file I asked about in post #68. It does work, but fails to launch the game. It says, "The disc for the game could not be found. Make sure your ISO path is set correctly." That is easier said than done, considering the ISO's are ePSXecutor files. It might not be recognizing them as ISO's when it goes to load them.I don't mean to clutter this thread with this, but don't know if I should start a new thread or post back into the MuDiGUI release forum: http://www.gameex.info/forums/topic/8483-release-mudigui-a-multiple-disc-game-selector-gui-for-playstation/It's been like a year since the last post, but I'll give it a try.I do like the way it consoladates the multi disc ISO's so GameEx only displays one entery. Also, I like that it only prompts you to choose a disc when you start a game with multple discs. I would like to change the default disc artwork and background based on the game that is selected, but it is open source, so it could be added if someone wanted to take on a project. I'd do it, but I'm inept. Quote
Draco1962 Posted October 25, 2012 Posted October 25, 2012 (edited) You might want to PM Chesko directly. He hasn't been here in a while and might not get watch notifications for that thread, but may get an email notification from a PM. Edited October 25, 2012 by Draco1962 User name correction Quote
RIP-Felix Posted October 25, 2012 Posted October 25, 2012 Ok guys, take a deep breath, and stick that one on hold for a while. Maybe we should take a break from getting GameEx to work with ePSXecutor for awhile. We are giong to blow a gasket, or an x-box controller if you will (I had a friend who went through them like every week playing Halo 2).Lets move on to Null DC, I'm running 1.0.4 r50, r136 won't launch (says it's not a valid win32 application.) I now have a few dual disc games for it (Skies of Arcadia, Resident Evil CODE Veronica, and Resident Evil 2) and was wondering if switchdisc could be used for this? On a side note, does anyone know why dreamcast games come zipped with multiple parts (re2d1-part01, 02, 03, 04, and so on?)I imagine this should be a fairly simple setup, but hey, that was said about the last one I tried to setup. I will try to get it going myself, but will probably need some help with the commands. In any case it will give us something else to talk about untill that eureaka idea, or painstakenly implemented fix, makes an appearance. Quote
nullPointer Posted October 25, 2012 Author Posted October 25, 2012 Don’t worry I’m still working to address the ePSXecutor issue. This will probably take the form of an external wrapper that’s separate from SwitchDisc. That way it will be of more utility to those that want to use ePSXecutor (particularly with a Launch After command), but could care less about SwitchDisc. As far as SwitchDisc goes I’m also working on a means to control this behavior natively from SwitchDisc (We discussed this in PM – thanks by the way!).I’ll put nullDC as the next emulator on my radar. I stand by my statement that if you can change discs within the emulator using a combination of key presses and/or commands, you can change discs in SwitchDisc. I’ll try to put together a working config for nullDC.Regarding your Dreamcast disc images … erm … my guess is that you must have ripped the images from your discs and subsequently compressed the images in parts using WinRAR. Boy if I could count the times I did this to my disc images without remembering having done so … well admittedly I'd not be counting for very long . Any hoo, I imagine you’ll want to use WinRAR to recombine those pieces into (what’s probably) an iso in order to operate with nullDC. Here’s a brief guide on how to do that:How to Combine Parts of RAR FilesI'm not saying that's definitely the case, but to me it would seem to be the most likely scenario. Quote
RIP-Felix Posted October 26, 2012 Posted October 26, 2012 Ok, it looks like they were broken up into parts for transfering/storage purposes. When one is unzipped the other parts are automatically recombined to reconstruct the whole image (as long as they are in the same folder when extracted). Just threw me for a loop.BTW:I'm done two timing Switchdisc for MuDiGUI, it requires some significant code alterations to make it work. Would probably take a week of programming and testing to get it working right. It doesn't support changing discs in ePSXe with the -nogui command, and there are half a dozen sets of code that need to be edited, plus new error handling strings. I played around a little, but its beyond my experiance level, and it seems to be abandonware at this point- no one seems to want (or has time) to take the project over. Quote
nullPointer Posted October 26, 2012 Author Posted October 26, 2012 I do like the way [MuDIGUI] consoladates the multi disc ISO's so GameEx only displays one entery. Also, I like that it only prompts you to choose a disc when you start a game with multple discs.I’ve been meaning to mention it for a few posts, but you can (basically) make GameEx do the same thing. Just set Merge Sets to Yes in the Setup Wizard. When you do that you’ll end up with one “Main Entry” in your game list (i.e. for example you’ll have one entry for Final Fantasy VII in the list). That way when you select the single game entry form the main list it will take you to the “Game Specific” screen in which you’ll have an entry for each disc in the set. This will allow you to launch any game in that set directly from GameEx. Merge Sets is one of my favorite features of GameEx! I use it on everything. Quote
RIP-Felix Posted October 26, 2012 Posted October 26, 2012 It's reserved for the unlocked version which I haven't yet donated yet to get. How does that work, do you get a code and put it in? If I factory reset my computer do I have to repay to get it to unlock, or can I reinstall it and unlock it then? Also, does that apply to just one computer or anything I want to put it on, without limit to number?EDIT:Ok so I have setup nullDC 1.0.4 r50 in switchdisc. It recognizes switchdisc and launcehes it from the also launch command just fine. It is active and comes up on demand. the disc change operation is not functional yet as I have not set the command. I will test that now and edit after a restart, (for some reason if I run a game in GameEx my computer can't get on the internet until I reboot)...Ok, done. I used the same command and send keys before as the ePSXecutor setup (See switchdisc config). It does close nullDC, but the disc I selected does not load. GameEx just comes back into focus and switchdisc has closed. Almost forgot to mention, I modified the nullDC config file to add nullDC and switchdisc to the watchd processes (necessary to get the before/after/also commands working). Worked like a charm. This proves that ePSXecutor is causing an issue with the order of operations process we previously talked about. I tried every iteration of adding ePSXecutor to the watched processes and it just won't work. Bring on the wrapper!Switchdisc Config:<Emulator z:Id="i34" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">emu-2</ItemID> <EmulatorName>NullDC 1.0.4 r50</EmulatorName> <WorkingPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Emulator\Emulators\nullDC_104_r50</WorkingPath> <ArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Cartridge</ArtworkPath> <RomPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Roms</RomPath> <RomsInSubDir>false</RomsInSubDir> <SwitchDiscCmd>"[DISCPATH}\[DISCFILE]"</SwitchDiscCmd> <KeysBeforeGUI></KeysBeforeGUI> <KeysBeforeSwitch><TASK_KILL></KeysBeforeSwitch> <KeysAfterSwitch></KeysAfterSwitch> <UseVirtualDrive>false</UseVirtualDrive> <VirtualDrive i:nil="true" /> <MultiDiscSets> <MultiDiscSet z:Id="i35"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-8</ItemID> <Emulator z:Ref="i34" /> <SetName>Resident Evil CODE Veronica</SetName> <Discs> <Disc z:Id="i36"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-24</ItemID> <MultiDiscSet z:Ref="i35" /> <DisplayName>Resident Evil CODE Veronica (Disc 1)</DisplayName> <FileName>Resident Evil CODE Veronica (Disc 1).cdi</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i37"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-25</ItemID> <MultiDiscSet z:Ref="i35" /> <DisplayName>Resident Evil CODE Veronica (Disc 2)</DisplayName> <FileName>Resident Evil CODE Veronica (Disc 2).cdi</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i38"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-9</ItemID> <Emulator z:Ref="i34" /> <SetName>Skies of Arcadia</SetName> <Discs> <Disc z:Id="i39"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-26</ItemID> <MultiDiscSet z:Ref="i38" /> <DisplayName>Skies of Arcadia (Disc 1)</DisplayName> <FileName>Skies of Arcadia (Disc 1).cdi</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i40"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-27</ItemID> <MultiDiscSet z:Ref="i38" /> <DisplayName>Skies of Arcadia (Disc 2)</DisplayName> <FileName>Skies of Arcadia (Disc 2).cdi</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> </MultiDiscSets> </Emulator> </Emulators></SwitchDisc>Emmulator Settings:[Emulator]lastgame=VideoSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Snaps\VideoBakSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Snaps\BackgroundCDCheckFile=CDCheck=FalseRandomMostPlayed=TrueShowMostPlayed=TruePlayInScreenSaver=FalseGamesIn7Zips=FalsePCGame=FalseSelectionMusicFolder=PlaySelectionMusic=FalseDontShowInfo=PlayMusic=FalseCustomBackground=ExcludedFiles=LaunchAfter="C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\SwitchDisc-1.0.3\SwitchDisc.exe" -qLaunchBefore="C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\DS3_Tool_Enabler.exe"OLDatZip=AlsoLaunch="C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\SwitchDisc-1.0.3\SwitchDisc.exe" -w "[WORKINGPATH]" -f "[ROMFILE]"Debug=FalseShowDesktop=TrueRemoveBrackets=TrueCapitals=FalseReplaceUnder=TrueReplaceDash=FalseSendKeys=WaitBeforeKeys=MapKeys=TrueWorkingPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Emulator\Emulators\nullDC_104_r50ControlPanelPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Sega Dreamcast\ControlsManualPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\ManualsCartPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\CartridgeBoxPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Box ArtTitlePath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Snaps\TitleSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Snaps\ImageRomPath=E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\RomsMapFile=ConfigFile=[Mapping On] Exit nullDC_Switchdisc (Process Close)Database=[Console] Sega DreamcastRomFilter=*.cdi;*.gdiCommand=nullDC_Win32_Release-NoTrace.exe -config ImageReader:DefaultImage="[ROMPATH]\[ROMFILE]"StartPageLogo=Sega DreamcastStartPageName=Sega DreamcastTitleText=Sega DreamcastInfo=Sega Dreamcast emulatorWebsite=http://code.google.com/p/nulldc/RequiredFiles=dc_boot.bin, dc_flash.bin, d3d9.dll, d3dx9_42.dll, msvcr100.dllDownloadUrl=http://www.gamesdbase.com/setupwizard/emulators/download/nullDC.7zRating=8.1Version=1.0.4Emulator=nullDCCategory=ConsoleSystem=Sega DreamcastEnabled=TrueMergeSets=False[Mapping On] Exit nullDC_Switchdisc (Process Close).ini# This is an advanced emulator configuration file. It does things such as allow keyboard only emulators to be operated by a gamepad, wait for additional processes to exit and map keys. If this file is used it overrides the MAPKeys setting for the emulator.[GENERAL]# Enabled. Use this.Enabled=True#Make MCE Back button and X-ARCADE Escape and SlikStik Escape to close emulator processMapBack=True#Make Escape key close emulator processMapEscape=True#When exiting an emulator via the above mappings, you can specify keys in the send keys format to send instead of having GameEx close the process to cleanly exit the emulator. Such as the Q Key or ALT F4 which is %{F4}KeysToSendOnExit=#Wait for keys to be processed by the emulatorEmuWaitForKeys=True#Additional processes to wait to exit or close on exit. Dont include the .exe. Leave blank not to use.Process1=nullDC_Win32_Release-NoTraceProcess2=switchdiscProcess3=Process4=[JOYMAPPING]# For mapping a GamePad to keys# Specify a virtual key code to send when the specific joystick control is pressed. Look at vkcodes.htm for codes.JoymappingEnabled=FALSELeft=up=Right=Down=Button1=Button2=Button3=Button4=Button5=Button6=Button7=Button8=Button9=Button10=Button11=Button12=[GAMEPADEXIT]#MAP Gamepad controls to exit and make controls exit processMapGamePadExit=True#Flag the controls that exit a game by placing True next to each control. To not use the control as part of the combination use a 0Left=TrueDown=Right=Up=TrueButton1=Button2=Button3=Button4=TrueButton5=TrueButton6=TrueButton7=Button8=Button9=Button10=Button11=Button12=[MOUSEMAPPING]# For registered users, the ability to control the mouse with a gamepad and/or directional keys.# For example for PC strategy games.# Apparantly this functionality is similar to the software Pinnacle profiler. Remember you can setup an emulator# as one PC game. Specify enabled, and mousespeed 0-20. 20 Being fastest. This setting overrides the directional# mapping for the above and buttons 1 and 2 Button 1/CTRL becomes left mouse. Button 2/ALT Right mouseMouseMappingEnabled=False MouseSpeed=0[BLOCKKEYS]# Use this section to disable and block key presses and mouse clicks.# To disable the mouse clicks use code 1 for left mouse button,# 2 for right button and 4 for middle buttonEnabled=FalseBlockKey_1=1BlockKey_2=2BlockKey_3=4BlockKey_4=BlockKey_5=[KEYBOARDREMAP]# Remap Keys for the emulator. Specify from the from key, which is the key you wish to replace the to key# This should be good enough for real time gaming. Registered version feature. Look at VKCodes.htm for codes.Enabled=FalseRemap_1_From_VK=Remap_1_To_VK=Remap_2_From_VK=Remap_2_To_VK=Remap_3_From_VK=Remap_3_To_VK=Remap_4_From_VK=Remap_4_To_VK=Remap_5_From_VK=Remap_5_To_VK=OH...Talk about epifanys...I'm trying not to get my hopes up, but I remembered where I saw the send keys after option! It is in the advanced emulator config (KeysToSendOnExit=). We can just use the send before command and leave the after empty. This will allow the order of operations to complete correctly and as long as switchdisc is able to recieve the send keys from the ePSXecutor.ini config, it can close itself. This might save us the trouble of making a wrapper!Bushido… Die Ninja Gremlin , diiiiiieeeeeeeee...HI YAH...FWACK...SLICE...SHING...PLOP Quote
RIP-Felix Posted November 10, 2012 Posted November 10, 2012 I am now the proud owner of the registered version of GameEx, nice! Merge Sets is just what I needed. There is one thing, though. Is there a way to display the disc art for the multiple discs without changing the box art displayed on the set? Quote
nullPointer Posted November 15, 2012 Author Posted November 15, 2012 I am now the proud owner of the registered version of GameEx, nice! Merge Sets is just what I needed. There is one thing, though. Is there a way to display the disc art for the multiple discs without changing the box art displayed on the set?Awesome! Congratulations man, you won't regret it. Splitting out artwork for merged sets is functionality that's been discussed before, but currently it's not possible. That is one trade off to using merged sets. For me the trade off is worth it in terms of having nice clean game lists, but others may feel differently natch.I've completed work on a wrapper for ePSXecutor for use in GameEx. The wrapper can be found right here for those that are interested. For those that have been following the whole sordid tale, this wrapper should make it a bit easier to use SwitchDisc in combination with ePSXecutor through GameEx. Even if you're not using SwitchDisc, this wrapper will allow you to use ePSXecutor in GameEx without the need for an advanced emulator config. Thanks! Quote
KRC Posted November 15, 2012 Posted November 15, 2012 As promised a short while ago, I will get round to giving this a whirl within the next 24hrs. Quote
RIP-Felix Posted November 16, 2012 Posted November 16, 2012 Got the wrapper, Sweet! However, I'm a little confused how to use it?Here is what I tried:1) In the "Emulator Setup" screen within the GameEx wizard I put the following into the "Command line"ePSXecutor_wrapper.exe --cmd "<QUOTE>[ROMPATH]\[ROMFILE]<QUOTE>"2) In the Advanced Emulator Setup" I put the following into the "Launch Before" C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\ePSXecutor_wrapper.exeGameEx lost focus and waited for the game to start, nothing happened, GameEx reappeared. The readme did not explain how to setup the wrapper in GameEx, just what commands to use.Emulator Config:[Emulator]MergeSets=TrueCDCheckFile=CDCheck=FalseRandomMostPlayed=FalseShowMostPlayed=FalsePlayInScreenSaver=FalseGamesIn7Zips=FalsePCGame=FalseSelectionMusicFolder=PlaySelectionMusic=FalseDontShowInfo=PlayMusic=FalseCustomBackground=ExcludedFiles=LaunchAfter=LaunchBefore=C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\ePSXecutor_wrapper.exeAlsoLaunch=Debug=FalseShowDesktop=TrueRemoveBrackets=TrueCapitals=FalseReplaceUnder=TrueReplaceDash=FalseSendKeys=WaitBeforeKeys=MapKeys=TrueWorkingPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\Game ShortcutsControlPanelPath=C:\Assets\Sony Playstation\ControlsManualPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\ManualsCartPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\CartridgeBoxPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Box ArtTitlePath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Snaps\TitleSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Snaps\ImageRomPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\Game ShortcutsMapFile=ConfigFile=[Mapping Off] Exit (ESC)Database=[Console] Sony PlaystationRomFilter=*.lnkCommand=ePSXecutor_wrapper.exe --cmd "<QUOTE>[ROMPATH]\[ROMFILE]<QUOTE>"StartPageLogo=Sony PlaystationStartPageName=Sony PlaystationTitleText=Sony PlaystationInfo=Sony Playstation EmulatorWebsite=http://www.epsxe.com/RequiredFiles=scph1001.bin (512kb)DownloadUrl=http://www.gamesdbase.com/setupwizard/emulators/download/epsxe.7zRating=8.3Version=1.70Emulator=ePSXeCategory=ConsoleSystem=Sony PlaystationEnabled=Truelastgame=BakSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Snaps\BackgroundVideoSnapPath=E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Snaps\Video Quote
nullPointer Posted November 16, 2012 Author Posted November 16, 2012 Hi Felix!In this case your Launch Before parameter should be SwitchDisc (if you're using it) or nothing (if you're not). The wrapper is acting as a surrogate for the emulator, so it is the emulator as far as GameEx is concerned. That's why you're getting the black screen. The wrapper needs to have some sort of parameter passed into it. Quote
RIP-Felix Posted November 16, 2012 Posted November 16, 2012 Better:The focus left gameEx, the desktop appeared (without the start bar at the bottom, wierd), nothing else until I pressed ESC. Then focus went back to GameEx. Switchdisc meanwhile had been running all the time and did not close until I closed it.Would you mind posting a working config? Quote
nullPointer Posted November 16, 2012 Author Posted November 16, 2012 You bet. I just need to get my little ones in bed first. Quick note though, you'll need to set your working path to the directory containing the wrapper. Remember that it's acting as the emulator in this case. Quote
RIP-Felix Posted November 16, 2012 Posted November 16, 2012 Much closer. Problem:1) When GameEx looses focus it waits for switchdisk to close before starting the game. Quote
nullPointer Posted November 16, 2012 Author Posted November 16, 2012 I honestly don't know what would cause that. It might help to note that I started from scratch when adding a slot for the wrapper in GameEx (I used the default ePSXe settings as a starting point). Also note that you shouldn't need a custom Advanced Emulator Config anymore. Here's my working config for the wrapper (using SwitchDisc).[Emulator]Enabled=TrueSystem=Sony PlaystationCategory=ConsoleEmulator=ePSXeVersion=1.70Rating=8.3DownloadUrl=http://www.gamesdbase.com/setupwizard/emulators/download/epsxe.7zRequiredFiles=scph1001.bin (512kb)Website=http://www.epsxe.com/Info=Sony Playstation EmulatorTitleText=Sony PlaystationStartPageName=[Console] Sony Playstation (ePSXecutor_wrapper)StartPageLogo=Sony PlaystationCommand=ePSXecutor_wrapper.exe --cmd "<QUOTE>[ROMPATH]\[ROMFILE]<QUOTE>"RomFilter=*.lnkDatabase=[Console] Sony PlaystationConfigFile=[Mapping Off] Exit (Process Close)MapFile=RomPath=E:\Emulation\Emulators\ePSXe v1.7.0\shortcutsSnapPath=E:\Emulation\Assets\Sony_Playstation\SnapTitlePath=E:\Emulation\Assets\Sony_Playstation\TitleBoxPath=E:\Emulation\Assets\Sony_Playstation\BoxCartPath=ManualPath=E:\Emulation\Assets\Sony_Playstation\ManualControlPanelPath=E:\Emulation\Assets\Sony_Playstation\ControlsWorkingPath=E:\Visual_Studio_2010\Projects\Build\ePSXecutor_wrapperMapKeys=TrueWaitBeforeKeys=SendKeys=ReplaceDash=FalseReplaceUnder=TrueCapitals=FalseRemoveBrackets=TrueShowDesktop=TrueDebug=FalseAlsoLaunch=LaunchBefore=start "" "E:\Visual_Studio_2010\Projects\Build\SwitchDisc\SwitchDisc.exe" -w "[WORKINGPATH]" -f "[ROMFILE]"LaunchAfter=start "" "E:\Visual_Studio_2010\Projects\Build\SwitchDisc\SwitchDisc.exe" -qExcludedFiles=CustomBackground=PlayMusic=FalseDontShowInfo=PlaySelectionMusic=FalseSelectionMusicFolder=PCGame=FalseGamesIn7Zips=FalsePlayInScreenSaver=FalseShowMostPlayed=TrueRandomMostPlayed=TrueCDCheck=FalseCDCheckFile=VideoSnapPath=E:\Emulation\Assets\Sony_Playstation\Video_MP4UseDbName=Trueimagenotfound=E:\Emulation\Assets\no_img.pngMergeSets=TrueTVAdPath=E:\Emulation\Assets\Sony_Playstation\Video_Advert_MP4CustomArtName1=Print AdvertCustomArtPath1=E:\Emulation\Assets\Sony_Playstation\AdvertCustomArtName2=DiscCustomArtPath2=E:\Emulation\Assets\Sony_Playstation\CDIf it continues to give you problems, it would be helpful to have a look at your runitgame.bat ("Run Last Game" under GameEx utilities in the start menu)Here's my runitgame.bat in the event that you'd like a point of comparisonchcp 65001E:CD "E:\Visual_Studio_2010\Projects\Build\ePSXecutor_wrapper"start "" "E:\Visual_Studio_2010\Projects\Build\SwitchDisc\SwitchDisc.exe" -w "E:\Visual_Studio_2010\Projects\Build\ePSXecutor_wrapper" -f "Final Fantasy VII (USA) (Disc 1).LNK"ePSXecutor_wrapper.exe --cmd "<QUOTE>E:\Emulation\Emulators\ePSXe v1.7.0\shortcuts\Final Fantasy VII (USA) (Disc 1).LNK<QUOTE>"start "" "E:\Visual_Studio_2010\Projects\Build\SwitchDisc\SwitchDisc.exe" -q Quote
RIP-Felix Posted November 17, 2012 Posted November 17, 2012 Thanks, null. I forgot to put Start "" before the lanuch before and after command. It works fine now. I can smell the finish line!1) The GUI come up fine, but doesn't select the screen [it won't move right or left until the mouse is clicked on the screen]. I have [MENU, RETURN] set in the cinfigureators "send keys before GUI" field. I thought this is supposed to solve that problem.2) When the next disc is selected, switchdisc GUI disappears and the ePSXe game is windowed. It does not switch the disk. So there is a setting inside the confugurator I still have to get right. When I hit ESC switchdisc closes and GameEx comes back correctly. This is an example cmd I use for the ePSXecutor links: "-loadbin "E:\Michael\GAMES\My Games\All Games (Files)\PSone\ISO\ePSXe (1.6.0)\Croc 1.img" -slowboot -nogui" I'm wondering if the nogui command takes away the disc switching ability. I mean if it is based on GUI navigation then the nogui command would undermine that approach, right?So All I need to do now is to get switchdisc to Switch Discs, and we're golden! Quote
nullPointer Posted November 17, 2012 Author Posted November 17, 2012 Hi FelixGlad to hear the wrapper is working out for you! When you have a moment would you mind posting your SwitchDisc config (and possibly your SwitchDisc log)? In order to get this firing on all cylinders we probably also need to tweak your SwitchDisc config (among other things we need to adjust your working path so that it matches the one in GameEx). Thanks man! Quote
RIP-Felix Posted November 17, 2012 Posted November 17, 2012 Switchdisc Log:11/16/2012 6:47:53 PM SwitchDisc logging initialized11/16/2012 6:47:53 PM Processing SwitchDisc command options...11/16/2012 6:47:53 PM Command options parsed successfully:11/16/2012 6:47:53 PM DiscID =11/16/2012 6:47:53 PM DiscFile = Chrono Cross (Disc 1).LNK11/16/2012 6:47:53 PM EmulatorID =11/16/2012 6:47:53 PM WorkingPath = C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.311/16/2012 6:47:53 PM ArtPath =11/16/2012 6:47:53 PM FullScreen = False11/16/2012 6:47:53 PM NoGUI = False11/16/2012 6:47:53 PM Exit = False11/16/2012 6:47:53 PM Parsing SwitchDisc configuration from file11/16/2012 6:47:53 PM Registering SwitchDisc HotKey11/16/2012 6:47:53 PM Registering SwitchDisc Interface Keys11/16/2012 6:47:53 PM Cannot locate emulator matching these parameters (ItemID = WorkingPath = C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3)11/16/2012 6:47:53 PM Searching for matching Multi-Disc Set via Disc File (Chrono Cross (Disc 1).LNK)11/16/2012 6:47:53 PM Found matching Multi-Disc Set via Disc File (Chrono Cross (Disc 1).LNK)11/16/2012 6:47:53 PM Total matching Multi-Disc Sets = 111/16/2012 6:48:05 PM Initializing SwitchDisc GUI11/16/2012 6:48:05 PM Initializing SwitchDisc Target Window: ePSXe - Enhanced PSX emulator11/16/2012 6:48:05 PM Invoking Send Keys Before GUI11/16/2012 6:48:05 PM Simulating modified key stroke: [MENU, RETURN]11/16/2012 6:48:05 PM Initializing SwitchDisc Target Window: ePSXe - Enhanced PSX emulator11/16/2012 6:48:05 PM SwitchDisc GUI: Custom default artwork path is invalid!: E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\SwitchDisc-1.0.0\SwitchDisc-1.0.0\images\DefaultDiscImg.png11/16/2012 6:48:05 PM SwitchDisc GUI: Initializing default artwork path: C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3\SwitchDisc-1.0.3\images\11/16/2012 6:48:05 PM SwitchDisc GUI: Initializing ePSXeCutor_1.7.0 artwork path: E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Cartridge11/16/2012 6:48:05 PM SwitchDisc GUI: Initializing currently loaded disc11/16/2012 6:48:05 PM SwitchDisc GUI: Found currently loaded disc. Updating GUI.11/16/2012 6:48:06 PM SwitchDisc GUI initialized sucessfully11/16/2012 6:48:06 PM Initializing SwitchDisc GUI11/16/2012 6:48:06 PM Initializing SwitchDisc GUI11/16/2012 6:48:06 PM Initializing SwitchDisc GUI11/16/2012 6:48:12 PM Invoking SwitchDisc11/16/2012 6:48:12 PM Missing necessary parameters for successful SwitchDisc invocation11/16/2012 6:48:12 PM EmulatorType is NULL - Cannot determine emulator11/16/2012 6:48:12 PM SwitchDisc invocation was flagged as unsuccessful. Some configuration settings are likely invalid11/16/2012 6:48:12 PM SwitchDisc GUI: Closing GUI11/16/2012 6:48:23 PM Processing SwitchDisc command options...11/16/2012 6:48:23 PM Command options parsed successfully:11/16/2012 6:48:23 PM DiscID =11/16/2012 6:48:23 PM DiscFile =11/16/2012 6:48:23 PM EmulatorID =11/16/2012 6:48:23 PM WorkingPath =11/16/2012 6:48:23 PM ArtPath =11/16/2012 6:48:23 PM FullScreen = False11/16/2012 6:48:23 PM NoGUI = False11/16/2012 6:48:23 PM Exit = True11/16/2012 6:48:23 PM Cleaning up image cache11/16/2012 6:48:23 PM Exiting SwitchDisc ... ByeThis is the error:EmulatorType is NULL - Cannot determine emulator.SwitchDisc invocation was flagged as unsuccessful. Some configuration settings are likely invalidSwitchDisc GUI: Closing GUISwitchdisc Config:<?xml version="1.0" encoding="utf-8"?><SwitchDisc xmlns:i="[url="http://www.w3.org/2001/XMLSchema-instance"]http://www.w3.org/2001/XMLSchema-instance[/url]" xmlns="urn:SwitchDisc"> <SwitchDiscVersion i:nil="true" /> <ApplicationSettings> <SwitchDiscKeys>Tab</SwitchDiscKeys> <PrevDiscKeys>Left</PrevDiscKeys> <NextDiscKeys>Right</NextDiscKeys> <SelectDiscKeys>Enter</SelectDiscKeys> <CancelKeys>Back</CancelKeys> <FullScreen>true</FullScreen> <ScreenNumber>0</ScreenNumber> <XWinRes>800</XWinRes> <YWinRes>600</YWinRes> <NoGUI>false</NoGUI> <DefaultArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\SwitchDisc-1.0.0\SwitchDisc-1.0.0\images\DefaultDiscImg.png</DefaultArtworkPath> <VirtualDrives i:nil="true" /> </ApplicationSettings> <Emulators> <Emulator z:Id="i1" xmlns:z="[url="http://schemas.microsoft.com/2003/10/Serialization/"]http://schemas.microsoft.com/2003/10/Serialization/[/url]"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">set-2</ItemID[/url]> <Emulator z:Ref="i1" /> <SetName>Chrono Cross</SetName> <Discs> <Disc z:Id="i3"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-8</ItemID[/url]> <MultiDiscSet z:Ref="i2" /> <DisplayName>Chrono Cross (Disc 2)</DisplayName> <FileName>Chrono Cross (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i5"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-0</ItemID[/url]> <MultiDiscSet z:Ref="i5" /> <DisplayName>Final Fantasy VII (Disc 1)</DisplayName> <FileName>Final Fantasy VII (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i7"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-2</ItemID[/url]> <MultiDiscSet z:Ref="i5" /> <DisplayName>Final Fantasy VII (Disc 3)</DisplayName> <FileName>Final Fantasy VII (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i9"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-3</ItemID[/url]> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 1)</DisplayName> <FileName>Final Fantasy VIII (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i11"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-5</ItemID[/url]> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 3)</DisplayName> <FileName>Final Fantasy VIII (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> <Disc z:Id="i13"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">set-6</ItemID[/url]> <Emulator z:Ref="i1" /> <SetName>Final Fantasy 9</SetName> <Discs> <Disc z:Id="i15"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-19</ItemID[/url]> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 2)</DisplayName> <FileName>Final Fantasy IX (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> <Disc z:Id="i17"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-21</ItemID[/url]> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 4)</DisplayName> <FileName>Final Fantasy IX (Disc 4).LNK</FileName> <DiscNumber>4</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i19"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-22</ItemID[/url]> <MultiDiscSet z:Ref="i19" /> <DisplayName>Grandia (Disc 1)</DisplayName> <FileName>Grandia (Disc 1).lnk</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i21"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">set-3</ItemID[/url]> <Emulator z:Ref="i1" /> <SetName>Metal Gear Solid</SetName> <Discs> <Disc z:Id="i23"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-10</ItemID[/url]> <MultiDiscSet z:Ref="i22" /> <DisplayName>Metal Gear Solid (Disc 2)</DisplayName> <FileName>Metal Gear Solid (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i25"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-11</ItemID[/url]> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 1)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i27"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-13</ItemID[/url]> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 3)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> <Disc z:Id="i29"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-15</ItemID[/url]> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 5)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 5).LNK</FileName> <DiscNumber>5</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i31"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-16</ItemID[/url]> <MultiDiscSet z:Ref="i31" /> <DisplayName>Star Ocean (Disc 1)</DisplayName> <FileName>Star Ocean (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i33"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">emu-2</ItemID[/url]> <EmulatorName>NullDC 1.0.4 r50</EmulatorName> <WorkingPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Emulator\Emulators\nullDC_104_r50</WorkingPath> <ArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Cartridge</ArtworkPath> <RomPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Roms</RomPath> <RomsInSubDir>false</RomsInSubDir> <SwitchDiscCmd>"[DISCPATH}\[DISCFILE]"</SwitchDiscCmd> <KeysBeforeGUI>[MENU, RETURN]</KeysBeforeGUI> <KeysBeforeSwitch><TASK_KILL></KeysBeforeSwitch> <KeysAfterSwitch></KeysAfterSwitch> <UseVirtualDrive>false</UseVirtualDrive> <VirtualDrive i:nil="true" /> <MultiDiscSets> <MultiDiscSet z:Id="i35"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-24</ItemID[/url]> <MultiDiscSet z:Ref="i35" /> <DisplayName>Resident Evil CODE Veronica (Disc 1)</DisplayName> <FileName>Resident Evil CODE Veronica (Disc 1).cdi</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i37"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">set-9</ItemID[/url]> <Emulator z:Ref="i34" /> <SetName>Skies of Arcadia</SetName> <Discs> <Disc z:Id="i39"> <ItemID xmlns="[url="http://schemas.datacontract.org/2004/07/"]http://schemas.datacontract.org/2004/07/">dsc-27</ItemID[/url]> <MultiDiscSet z:Ref="i38" /> <DisplayName>Skies of Arcadia (Disc 2)</DisplayName> <FileName>Skies of Arcadia (Disc 2).cdi</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> </MultiDiscSets> </Emulator> </Emulators></SwitchDisc> Quote
nullPointer Posted November 17, 2012 Author Posted November 17, 2012 Alright! We've got some ground to cover. First things first, I had to make a minor update to the wrapper to better support (and simplify) integration with SwitchDisc. So the first thing you'll want to do is grab the new version of the wrapper found here. Did you grab it? Good! Once you've got the updated wrapper the Switch Disc Config turns out to be exceedingly simple:Here's the long form if you're interested:<?xml version="1.0" encoding="utf-8"?><SwitchDisc xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:SwitchDisc"><SwitchDiscVersion i:nil="true" /><ApplicationSettings><SwitchDiscKeys>F9</SwitchDiscKeys><PrevDiscKeys>Left</PrevDiscKeys><NextDiscKeys>Right</NextDiscKeys><SelectDiscKeys>Enter</SelectDiscKeys><CancelKeys>Back</CancelKeys><FullScreen>false</FullScreen><ScreenNumber>0</ScreenNumber><XWinRes>640</XWinRes><YWinRes>480</YWinRes><NoGUI>false</NoGUI><DefaultArtworkPath></DefaultArtworkPath><VirtualDrives i:nil="true" /></ApplicationSettings><Emulators><Emulator z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"><ItemID xmlns="http://schemas.datacontract.org/2004/07/">emu-2</ItemID><EmulatorName>ePSXecutor_wrapper</EmulatorName><WorkingPath>E:\Visual_Studio_2010\Projects\Build\ePSXecutor_wrapper</WorkingPath><ArtworkPath>E:\Emulation\Assets\Sony_Playstation\Box</ArtworkPath><RomPath>E:\Emulation\Emulators\ePSXe v1.7.0\shortcuts</RomPath><RomsInSubDir>false</RomsInSubDir><SwitchDiscCmd>ePSXecutor_wrapper.exe --cmd "<QUOTE>[DISCPATH]\[DISCFILE]<QUOTE>"</SwitchDiscCmd><KeysBeforeGUI>[MENU, RETURN]</KeysBeforeGUI><KeysBeforeSwitch></KeysBeforeSwitch><KeysAfterSwitch></KeysAfterSwitch><UseVirtualDrive>false</UseVirtualDrive><VirtualDrive i:nil="true" /><MultiDiscSets><MultiDiscSet z:Id="i2"><ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-2</ItemID><Emulator z:Ref="i1" /><SetName>Final Fantasy VII (USA)</SetName><Discs><Disc z:Id="i3"><ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-7</ItemID><MultiDiscSet z:Ref="i2" /><DisplayName>Final Fantasy VII (USA) (Disc 1)</DisplayName><FileName>Final Fantasy VII (USA) (Disc 1).LNK</FileName><DiscNumber>1</DiscNumber></Disc><Disc z:Id="i4"><ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-8</ItemID><MultiDiscSet z:Ref="i2" /><DisplayName>Final Fantasy VII (USA) (Disc 2)</DisplayName><FileName>Final Fantasy VII (USA) (Disc 2).LNK</FileName><DiscNumber>2</DiscNumber></Disc><Disc z:Id="i5"><ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-9</ItemID><MultiDiscSet z:Ref="i2" /><DisplayName>Final Fantasy VII (USA) (Disc 3)</DisplayName><FileName>Final Fantasy VII (USA) (Disc 3).LNK</FileName><DiscNumber>3</DiscNumber></Disc></Discs></MultiDiscSet></MultiDiscSets></Emulator></Emulators></SwitchDisc>Works a treat on my rig. Let's address some questions.1) The GUI come up fine, but doesn't select the screen [it won't move right or left until the mouse is clicked on the screen]. I have [MENU, RETURN] set in the cinfigureators "send keys before GUI" field. I thought this is supposed to solve that problem.The [MENU, RETURN] send key operation isn't explicitly designed to steal focus from the emulator. It's simply the equivalent of pressing Alt+Enter while the emulator is running (i.e. it puts the emulator in windowed/fullscreen mode). Turns out it's nigh impossible to steal focus from a full screen application. So while putting the emulator in windowed mode makes it possible for SwitchDisc to steal focus it's not the mechanism for that functionality. If you're already running the emulator in windowed mode you definitely don't want to do this prior to displaying the SD GUI.Actually SwitchDisc is by default designed to (attempt to) steal focus when you bring up the GUI (although as I mentioned sometimes you need to put the emulator into windowed mode first). It's not a perfect process though. If both SwitchDisc and the Emulator are fighting to be top most there's always a possibility that the emulator will win. Having said that, I was fairly sure that I had ironed out any remaining wrinkles to that end at this point (I haven't had SD unsuccessfully bid for focus since early on in development). Best advice: be sure you're running the most recent version of SD.2) When the next disc is selected, switchdisc GUI disappears and the ePSXe game is windowed. It does not switch the disk. So there is a setting inside the confugurator I still have to get right. When I hit ESC switchdisc closes and GameEx comes back correctly. This is an example cmd I use for the ePSXecutor links: "-loadbin "E:\Michael\GAMES\My Games\All Games (Files)\PSone\ISO\ePSXe (1.6.0)\Croc 1.img" -slowboot -nogui" I'm wondering if the nogui command takes away the disc switching ability. I mean if it is based on GUI navigation then the nogui command would undermine that approach, right?You've hit the the nail on the head there laddie. I bill SwitchDisc as being able to change discs for any emulator (or frontend in this case) in which it's possible to change discs via a combination of keyboard input and/or command line input. Unfortunately ePSXecutor doesn't fall cleanly into that category. There are two methods of changing discs utilized in PlayStation games.In the first method the game will prompt you to save to the memory card, change discs, and reset the system. SwitchDisc can handle that method of changing discs just fine through ePSXecutor (since it's possible to kill and restart the emulator via the command line)In the second method the game will simply prompt you to change discs, and press a key. This creates an issue for SwitchDisc when using ePSXecutor (at least if you're using the -loadbin technique). The only way to pull this off in ePSXe is through the menu. SwitchDisc could handle that part just fine if ePSXecutor allowed you to access the ePSXe menu in a way that was manageable. Thus nogui command is out for ePSXe as you wisely noted. The trouble is that if you load the ePSXe GUI through ePSXecutor it doesn't load your game it only loads the GUI. That doesn't work very well when you're trying to create a seamless gaming experience (vis a vis GameEx). Thus there's not a lot SwitchDisc can do in this situation since it's a limitation of ePSXecutor.(There actually is a way that SD could still handle this specific operation, but it gets into some advanced usage, and is a fairly big departure from our current approach. Bonus points if you can see where I'm heading with that one. )Any hoo, hopefully the above config puts you on the right track. If not please post an updated version of your SwitchDisc config and log (Particularly the config. Not sure what happened but the one posted above is a bit of a hot mess. Not your fault though, it looks like some formatter tried to reformat all the URL namespace info with [url=] tags. It also appears to be missing a good chunk of emulator info for the first emulator).Thanks man! Quote
Draco1962 Posted November 17, 2012 Posted November 17, 2012 I might recommend zipping or RARing a copy of the log file and attach in reply within the thread as opposed to copy & paste. Likely the post format routines are trying to "cleanup" the entry. Quote
RIP-Felix Posted November 17, 2012 Posted November 17, 2012 (There actually is a way that SD could still handle this specific operation, but it gets into some advanced usage, and is a fairly big departure from our current approach. Bonus points if you can see where I'm heading with that one. )Send keys?I immagine if the GUI is launched then a combination of send keys could navigate the GUI to either change discs or load a game. Trouble is how to get it to load the game you want. That part would have to be passed from switich disc via the "[DISKPATH]\[DISKFILE]" command. I figure you have an idea how to acomplish that since you brought it up, unless I guesed wrong and lost the bonus points.Ok, I tried what you suggested but it seems even bugier than before. My first try to load a game from GameEx, the screen went black untill ESC was pressed. Second time, the game started without sound, switchdisc failed to switch the disc but sound came back when it windowed the game. Third try, I started the game and switchdisc outside of gameEx and it made the windows error sound and disappeared after ESC was pressed.Switchdisc Config: Should work this time<?xml version="1.0" encoding="utf-8"?><SwitchDisc xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:SwitchDisc"> <SwitchDiscVersion i:nil="true" /> <ApplicationSettings> <SwitchDiscKeys>Tab</SwitchDiscKeys> <PrevDiscKeys>Left</PrevDiscKeys> <NextDiscKeys>Right</NextDiscKeys> <SelectDiscKeys>Enter</SelectDiscKeys> <CancelKeys>Back</CancelKeys> <FullScreen>true</FullScreen> <ScreenNumber>0</ScreenNumber> <XWinRes>800</XWinRes> <YWinRes>600</YWinRes> <NoGUI>false</NoGUI> <DefaultArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\SwitchDisc-1.0.3\SwitchDisc-1.0.3\images\DefaultDiscImg.png</DefaultArtworkPath> <VirtualDrives i:nil="true" /> </ApplicationSettings> <Emulators> <Emulator z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">emu-1</ItemID> <EmulatorName>ePSXeCutor_wrapper</EmulatorName> <WorkingPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\Game Shortcuts</WorkingPath> <ArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Cartridge</ArtworkPath> <RomPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\Game Shortcuts</RomPath> <RomsInSubDir>false</RomsInSubDir> <SwitchDiscCmd>ePSXecutor_wrapper.exe --cmd "<QUOTE>[ROMPATH]\[ROMFILE]<QUOTE>"</SwitchDiscCmd> <KeysBeforeGUI>[MENU, RETURN]</KeysBeforeGUI> <KeysBeforeSwitch></KeysBeforeSwitch> <KeysAfterSwitch></KeysAfterSwitch> <UseVirtualDrive>false</UseVirtualDrive> <VirtualDrive i:nil="true" /> <MultiDiscSets> <MultiDiscSet z:Id="i2"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-2</ItemID> <Emulator z:Ref="i1" /> <SetName>Chrono Cross</SetName> <Discs> <Disc z:Id="i3"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-7</ItemID> <MultiDiscSet z:Ref="i2" /> <DisplayName>Chrono Cross (Disc 1)</DisplayName> <FileName>Chrono Cross (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i4"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-8</ItemID> <MultiDiscSet z:Ref="i2" /> <DisplayName>Chrono Cross (Disc 2)</DisplayName> <FileName>Chrono Cross (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i5"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-0</ItemID> <Emulator z:Ref="i1" /> <SetName>Final Fantasy 7</SetName> <Discs> <Disc z:Id="i6"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-0</ItemID> <MultiDiscSet z:Ref="i5" /> <DisplayName>Final Fantasy VII (Disc 1)</DisplayName> <FileName>Final Fantasy VII (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i7"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-1</ItemID> <MultiDiscSet z:Ref="i5" /> <DisplayName>Final Fantasy VII (Disc 2)</DisplayName> <FileName>Final Fantasy VII (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> <Disc z:Id="i8"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-2</ItemID> <MultiDiscSet z:Ref="i5" /> <DisplayName>Final Fantasy VII (Disc 3)</DisplayName> <FileName>Final Fantasy VII (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i9"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-1</ItemID> <Emulator z:Ref="i1" /> <SetName>Final Fantasy 8</SetName> <Discs> <Disc z:Id="i10"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-3</ItemID> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 1)</DisplayName> <FileName>Final Fantasy VIII (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i11"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-4</ItemID> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 2)</DisplayName> <FileName>Final Fantasy VIII (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> <Disc z:Id="i12"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-5</ItemID> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 3)</DisplayName> <FileName>Final Fantasy VIII (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> <Disc z:Id="i13"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-6</ItemID> <MultiDiscSet z:Ref="i9" /> <DisplayName>Final Fantasy VIII (Disc 4)</DisplayName> <FileName>Final Fantasy VIII (Disc 4).LNK</FileName> <DiscNumber>4</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i14"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-6</ItemID> <Emulator z:Ref="i1" /> <SetName>Final Fantasy 9</SetName> <Discs> <Disc z:Id="i15"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-18</ItemID> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 1)</DisplayName> <FileName>Final Fantasy IX (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i16"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-19</ItemID> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 2)</DisplayName> <FileName>Final Fantasy IX (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> <Disc z:Id="i17"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-20</ItemID> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 3)</DisplayName> <FileName>Final Fantasy IX (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> <Disc z:Id="i18"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-21</ItemID> <MultiDiscSet z:Ref="i14" /> <DisplayName>Final Fantasy IX (Disc 4)</DisplayName> <FileName>Final Fantasy IX (Disc 4).LNK</FileName> <DiscNumber>4</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i19"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-7</ItemID> <Emulator z:Ref="i1" /> <SetName>Grandia</SetName> <Discs> <Disc z:Id="i20"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-22</ItemID> <MultiDiscSet z:Ref="i19" /> <DisplayName>Grandia (Disc 1)</DisplayName> <FileName>Grandia (Disc 1).lnk</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i21"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-23</ItemID> <MultiDiscSet z:Ref="i19" /> <DisplayName>Grandia (Disc 2)</DisplayName> <FileName>Grandia (Disc 2).lnk</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i22"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-3</ItemID> <Emulator z:Ref="i1" /> <SetName>Metal Gear Solid</SetName> <Discs> <Disc z:Id="i23"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-9</ItemID> <MultiDiscSet z:Ref="i22" /> <DisplayName>Metal Gear Solid (Disc 1)</DisplayName> <FileName>Metal Gear Solid (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i24"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-10</ItemID> <MultiDiscSet z:Ref="i22" /> <DisplayName>Metal Gear Solid (Disc 2)</DisplayName> <FileName>Metal Gear Solid (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i25"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-4</ItemID> <Emulator z:Ref="i1" /> <SetName>Riven - The Sequel to Myst</SetName> <Discs> <Disc z:Id="i26"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-11</ItemID> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 1)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i27"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-12</ItemID> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 2)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> <Disc z:Id="i28"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-13</ItemID> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 3)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 3).LNK</FileName> <DiscNumber>3</DiscNumber> </Disc> <Disc z:Id="i29"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-14</ItemID> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 4)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 4).LNK</FileName> <DiscNumber>4</DiscNumber> </Disc> <Disc z:Id="i30"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-15</ItemID> <MultiDiscSet z:Ref="i25" /> <DisplayName>Riven (Disc 5)</DisplayName> <FileName>Riven - The Sequel to Myst (Disc 5).LNK</FileName> <DiscNumber>5</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i31"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-5</ItemID> <Emulator z:Ref="i1" /> <SetName>Star Ocean</SetName> <Discs> <Disc z:Id="i32"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-16</ItemID> <MultiDiscSet z:Ref="i31" /> <DisplayName>Star Ocean (Disc 1)</DisplayName> <FileName>Star Ocean (Disc 1).LNK</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i33"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-17</ItemID> <MultiDiscSet z:Ref="i31" /> <DisplayName>Star Ocean (Disc 2)</DisplayName> <FileName>Star Ocean (Disc 2).LNK</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> </MultiDiscSets> </Emulator> <Emulator z:Id="i34" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">emu-2</ItemID> <EmulatorName>NullDC 1.0.4 r50</EmulatorName> <WorkingPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Emulator\Emulators\nullDC_104_r50</WorkingPath> <ArtworkPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Artwork\Cartridge</ArtworkPath> <RomPath>E:\Michael\GAMES\My Games\All Games (Files)\Sega Dreamcast\Roms</RomPath> <RomsInSubDir>false</RomsInSubDir> <SwitchDiscCmd>"[DISCPATH}\[DISCFILE]"</SwitchDiscCmd> <KeysBeforeGUI>[MENU, RETURN]</KeysBeforeGUI> <KeysBeforeSwitch><TASK_KILL></KeysBeforeSwitch> <KeysAfterSwitch></KeysAfterSwitch> <UseVirtualDrive>false</UseVirtualDrive> <VirtualDrive i:nil="true" /> <MultiDiscSets> <MultiDiscSet z:Id="i35"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-8</ItemID> <Emulator z:Ref="i34" /> <SetName>Resident Evil CODE Veronica</SetName> <Discs> <Disc z:Id="i36"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-24</ItemID> <MultiDiscSet z:Ref="i35" /> <DisplayName>Resident Evil CODE Veronica (Disc 1)</DisplayName> <FileName>Resident Evil CODE Veronica (Disc 1).cdi</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i37"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-25</ItemID> <MultiDiscSet z:Ref="i35" /> <DisplayName>Resident Evil CODE Veronica (Disc 2)</DisplayName> <FileName>Resident Evil CODE Veronica (Disc 2).cdi</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> <MultiDiscSet z:Id="i38"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">set-9</ItemID> <Emulator z:Ref="i34" /> <SetName>Skies of Arcadia</SetName> <Discs> <Disc z:Id="i39"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-26</ItemID> <MultiDiscSet z:Ref="i38" /> <DisplayName>Skies of Arcadia (Disc 1)</DisplayName> <FileName>Skies of Arcadia (Disc 1).cdi</FileName> <DiscNumber>1</DiscNumber> </Disc> <Disc z:Id="i40"> <ItemID xmlns="http://schemas.datacontract.org/2004/07/">dsc-27</ItemID> <MultiDiscSet z:Ref="i38" /> <DisplayName>Skies of Arcadia (Disc 2)</DisplayName> <FileName>Skies of Arcadia (Disc 2).cdi</FileName> <DiscNumber>2</DiscNumber> </Disc> </Discs> </MultiDiscSet> </MultiDiscSets> </Emulator> </Emulators></SwitchDisc>Log:11/17/2012 1:43:52 PM SwitchDisc logging initialized11/17/2012 1:43:52 PM Processing SwitchDisc command options...11/17/2012 1:43:52 PM Command options parsed successfully:11/17/2012 1:43:52 PM DiscID =11/17/2012 1:43:52 PM DiscFile = Chrono Cross (Disc 1).LNK11/17/2012 1:43:52 PM EmulatorID =11/17/2012 1:43:52 PM WorkingPath = C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.311/17/2012 1:43:52 PM ArtPath =11/17/2012 1:43:52 PM FullScreen = False11/17/2012 1:43:52 PM NoGUI = False11/17/2012 1:43:52 PM Exit = False11/17/2012 1:43:52 PM Parsing SwitchDisc configuration from file11/17/2012 1:43:52 PM Registering SwitchDisc HotKey11/17/2012 1:43:52 PM Registering SwitchDisc Interface Keys11/17/2012 1:43:52 PM Cannot locate emulator matching these parameters (ItemID = WorkingPath = C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3)11/17/2012 1:43:52 PM Searching for matching Multi-Disc Set via Disc File (Chrono Cross (Disc 1).LNK)11/17/2012 1:43:52 PM Found matching Multi-Disc Set via Disc File (Chrono Cross (Disc 1).LNK)11/17/2012 1:43:52 PM Total matching Multi-Disc Sets = 111/17/2012 1:44:00 PM Initializing SwitchDisc GUI11/17/2012 1:44:00 PM Initializing SwitchDisc Target Window: ePSXe - Enhanced PSX emulator11/17/2012 1:44:00 PM Invoking Send Keys Before GUI11/17/2012 1:44:00 PM Simulating modified key stroke: [MENU, RETURN]11/17/2012 1:44:00 PM Initializing SwitchDisc Target Window: ePSXe - Enhanced PSX emulator11/17/2012 1:44:00 PM SwitchDisc GUI: Initializing default artwork path: E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\SwitchDisc-1.0.3\SwitchDisc-1.0.3\images\DefaultDiscImg.png11/17/2012 1:44:00 PM SwitchDisc GUI: Initializing ePSXeCutor_wrapper artwork path: E:\Michael\GAMES\My Games\All Games (Files)\PSone\Artwork\Cartridge11/17/2012 1:44:00 PM SwitchDisc GUI: Initializing currently loaded disc11/17/2012 1:44:00 PM SwitchDisc GUI: Found currently loaded disc. Updating GUI.11/17/2012 1:44:00 PM SwitchDisc GUI initialized sucessfully11/17/2012 1:44:04 PM Invoking SwitchDisc11/17/2012 1:44:04 PM Missing necessary parameters for successful SwitchDisc invocation11/17/2012 1:44:04 PM EmulatorType is NULL - Cannot determine emulator11/17/2012 1:44:04 PM SwitchDisc invocation was flagged as unsuccessful. Some configuration settings are likely invalid11/17/2012 1:44:04 PM SwitchDisc GUI: Closing GUI11/17/2012 1:44:19 PM Processing SwitchDisc command options...11/17/2012 1:44:19 PM Command options parsed successfully:11/17/2012 1:44:19 PM DiscID =11/17/2012 1:44:19 PM DiscFile =11/17/2012 1:44:19 PM EmulatorID =11/17/2012 1:44:19 PM WorkingPath =11/17/2012 1:44:19 PM ArtPath =11/17/2012 1:44:19 PM FullScreen = False11/17/2012 1:44:19 PM NoGUI = False11/17/2012 1:44:19 PM Exit = True11/17/2012 1:44:19 PM Cleaning up image cache11/17/2012 1:44:19 PM Exiting SwitchDisc ... Bye Quote
nullPointer Posted November 17, 2012 Author Posted November 17, 2012 Have no fear sir. We're getting closer. At the very least, I can see a couple different places where things are going wrong (thanks for reupping your SD config it's a lot easier to interpret this go round).Your log shows that the working path sent into SwitchDisc is11/17/2012 1:43:52 PM WorkingPath = C:\GameEx\CONFIG\Switchdisc\SwitchDisc-1.0.3Whereas your config is pointing to a different working path:<WorkingPath>E:\Michael\GAMES\My Games\All Games (Files)\PSone\ePSXe Emulator\ePSXecutor frontend\Game Shortcuts</WorkingPath>Ideally those paths should match up.This is the error:EmulatorType is NULL - Cannot determine emulator.SwitchDisc invocation was flagged as unsuccessful. Some configuration settings are likely invalidSwitchDisc GUI: Closing GUIGetting the Working Paths in order should fix the above issue. If SD can’t determine what emulator is running (which means it can’t determine what send key settings and commands to run), it won’t attempt to do anything in terms of a disc swap operation. But once it does attempt to change discs you might encounter the following issue.The command being send to SwitchDisc is not correct for the SwitchDisc placeholder notation:<SwitchDiscCmd>ePSXecutor_wrapper.exe --cmd "<QUOTE>[ROMPATH]\[ROMFILE]<QUOTE>"</SwitchDiscCmd>That command will work for GameEx (the < and > are XML placeholders for < and > respectively), but for the purposes of SwithDisc that command should be set to the following:ePSXecutor_wrapper.exe --cmd "<QUOTE>[DISCPATH]\[DISCFILE]<QUOTE>"I dunno maybe I should let ROMPATH and ROMFILE be allowable settings for SD. I’ve been resistant to the idea since disc images are technically not ROMs. Given that SD is designed to work with disc based emulation it just made more sense to me at the time.The above changes should help to some degree as far as SD goes, but your other comments lead me to believe there may be other issues happening here.Ok, I tried what you suggested but it seems even bugier than before. My first try to load a game from GameEx, the screen went black untill ESC was pressed. Second time, the game started without sound, SwitchDisc failed to switch the disc but sound came back when it windowed the game. Third try, I started the game and SwitchDisc outside of GameEx and it made the windows error sound and disappeared after ESC was pressedI hate to say it, but these issues sound like an ePSXe problem. The screen going black until ESC is pressed would indicate that ePSXe (and the wrapper by association) is running, but the game isn’t loading correctly. It sounds especially indicative of an ePSXe issue where the game is running but without sound. Neither the wrapper nor SwitchDisc has control over that. Best shot: I can take a look at your runitgame.bat (and if we’re being thorough your emulator config from GameEx), but my concern is that there’s something amiss with your plugin settings coming from ePSXecutor. The wrapper doesn’t provide a lot of feedback to the user, but it should pop an error message anytime it experiences a critical error (note that it doesn’t know too much about ePSXe itself other than to determine if it’s running or not).We’ll get there man. Thanks for your perseverance. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.