[TUTO] Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Tous les tutos concernant RocketLauncher.

Modérateurs: Nabubokon, Porko, Thesalan, Modérateurs

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar mich01 » 13 Nov 2016 - 13:51

tu doit avoir un problème quelque part parce que 2 version d'Emulateurs qui ne fonctionne pas c'est louche.

Malheureusement Guiguicar pour la 15khz je ne serais pas t'aider, faudrait attendre qu'un spécialiste de la box en question se manifeste.
Avatar de l’utilisateur
mich01
Mentor
Mentor
 
Messages: 2099
Inscription: 08 Nov 2015 - 01:54

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar Guiguicar » 13 Nov 2016 - 13:54

Merci tout de même, je vais essayer de creuser cette histoire d'OPENGL.
Game is never over
Avatar de l’utilisateur
Guiguicar
Gourou
Gourou
 
Messages: 972
Âge: 42
Inscription: 31 Oct 2012 - 00:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar nobobo » 16 Nov 2016 - 14:52

Guiguicar a écrit:Cela ne peut pas venir du module puisque cela plante même en dehors de RL du moment que je choisi le plugin Pete's openGL2 drives 2.9. J'utilise le dernier module en date donc le 2.1.3 je crois.

Je suis en 15khz sous calamity drivers et je me demande si je n'ai pas un problème avec opengl tout simplement car sous daphne les vidéo restent noirs sous opengl, même si j'entends le son. J'ai été obligé de désactiver l'accélération matérielle pour que cela fonctionne.

Je n'y connais pas grand chose a opengl. Est-ce indépendant des calimity drivers. Une idée ?


Salut Guiguicar,

Je viens à ton secours :mrgreen:

Peux tu décrire ta configuration Pc et indiquer ce que tu as dans le répertoire 'Plugins' de ePSXe ?

J'ai testé avec la ePSXe 1.9.25 et la 2.0.5 sur ma borne en 15hz (avec W7 et Calamity drivers 2.0) et tout fonctionne correctement avec le plugin Pete's openGL2 drives 2.9 dans ePSXe et RL.

Quand tu lances ePSXe.exe puis dans 'Configuration|Plugins|Vidéo' et que tu sélectionnes [Pete's openGL2 drives 2.9], tu as un bouton 'Tester', qu'est ce que ça te dit ?
Normalement ça doit t'afficher : Le Plugin fonctionne correctement.

Il semblerait que tu aies un problème d'installation car daphne tourne également pour moi correctement avec l'accélération matériel activée.
Image
Avatar de l’utilisateur
nobobo
Gourou
Gourou
 
Messages: 547
Âge: 46
Inscription: 04 Déc 2013 - 00:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar Guiguicar » 16 Nov 2016 - 20:46

Merci de ton assistance Nobobo.

Je penche comme toi sur un problème d'installation et plus précisément sur OPENGL. J'ai du boutiquer un truc car auparavant DAPHNE fonctionnait sans problème sous OPENGL ce qui n'est plus le cas aujourd'hui puisque le jeux se lance, j'entends le son mais pas d'image. Si je désactive l'accélération matérielle OPENGL sous daphne, tout fonctionne.

Pour répondre à tes questions :
- Ma config est classique i5, 8GO de ram et radeon 4890, seven et Calamity drivers
- quand je teste, le message est bien que le Plugin fonctionne correctement.

Tous les plugins semblent présents :

Image
Game is never over
Avatar de l’utilisateur
Guiguicar
Gourou
Gourou
 
Messages: 972
Âge: 42
Inscription: 31 Oct 2012 - 00:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar nobobo » 17 Nov 2016 - 19:03

Par rapport à ton dernier message je pense que ça ne vient pas des émulateurs mais d'un problème système.
J'ai re-testé Daphne avec et sans accélération matériel et j'ai toujours les vidéos qui s'affichent.
Dans tous les cas, je te conseille de laisser l'accélération matériel activée car sinon tu auras des problèmes avec les jeux qui solliciteront directx.

A mon avis, tu as dû toucher à quelques choses au niveau des drivers / VMMaker.
Normalement, tu devrais avoir ~48 modelines (avec Calamity Driver 2.0 en super résolution).
Regardes de ce côté là et régénères tes modelines sinon dernier recours désinstaller/réinstaller les drivers ...
Image
Avatar de l’utilisateur
nobobo
Gourou
Gourou
 
Messages: 547
Âge: 46
Inscription: 04 Déc 2013 - 00:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar Guiguicar » 24 Nov 2016 - 13:45

Bon, j'ai trouvé la solution pour ceux qui ne peuvent ou ne veulent utiliser le plugin vidéo Pete's openGL2 drives 2.9 ; il fait planter l'émulateur à chaque fois chez moi. Voici le module modifié qui permet d'utiliser n'importe quel plugin vidéo. Maintenant ça tourne nickel sous RL et le plugin Pete's openGL2 GPU CORE 2.0.0.

ePSXe.ahk
MEmu = ePSXe
MEmuV = v2.0.0
MURL = http://www.epsxe.com/
MAuthor = djvj,Shateredsoul,brolly,robbforce (ePSXe v2.0 updates and GamepadType modifications by slizzap)
MVersion = 2.1.4
MCRC = 1F6DC70F
iCRC = 97B121A8
MID = 635038268888210842
MSystem = "Sony PlayStation"
;----------------------------------------------------------------------------
; Notes:
; epsxe can't deal with bin/cue dumps with more than one audio track if you load the cue file directly.
; For these to work you must mount the cue on Virtual Drive and let epsxe boot the game from there.
; You need to make sure you have a SCSI virtual drive on Daemon Tools, NOT a DT one.
; On first time use, 2 default memory card files will be created called _default_001.mcr and _default_002.mcr in emuPath\memcards
;
; Extract all your BIOS files to the bios subfolder. Then goto Config->Bios and select the bios you wish to use.
;
; Go to Config->Video then choose a plugin. Pete's OpenGL line is preferred
; Click Configure (under video plugin) and choose fullscreen and set your desired resolution. Video options/results will vary based on the plugin you choose.
;
; If you are using images with multiple tracks, set your extension to cue (make sure all your cues are correctly pointing to their tracks).
; Go to Config->Cdrom->Configure button and select the drive letter associated with your Virtual Drive virtual drive.
;
; ePSXe will ONLY close via Escape, it will bug out with all other forms of closing a normal program. Do not edit CloseProcess!
;
; Requires at least Libs\Shared.ahk v1.1.3
;
; ePSXe stores its settings in the registry @ HKEY_CURRENT_USER\Software\epsxe\config
; Video plugins store their settings in the registry @ HKEY_CURRENT_USER\Software\epsxe\config\ogl2
;----------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()

settingsFile := modulePath . "\" . moduleName . ".ini"

; Settings (Global)
slowBoot := IniReadCheck(settingsFile, "Settings", "Slow_Boot","false",,1) ; If true, force emulator to show bios screen at boot
hideEpsxeGUIs := IniReadCheck(settingsFile, "Settings", "Hide_ePSXe_GUIs","true",,1)
perGameMemCards := IniReadCheck(settingsFile, "Settings", "Per_Game_Memory_Cards","true",,1)
memCardPath := IniReadCheck(settingsFile, "Settings", "Memory_Card_Path", emuPath . "\memcards",,1)
memCardPath := AbsoluteFromRelative(emuPath, memCardPath)

; Settings (Overridable per ROM)
GfxPlugin := IniReadCheck(settingsFile, "Settings|" . romName, "Video_Plugin","GPUCOREGL2",,1) ; Use the gfx plugin name
Widescreen := IniReadCheck(settingsFile, "Settings|" . romName, "Widescreen","false",,1) ; Widescreen hack.
GamepadTypePlayer1 := IniReadCheck(settingsFile, "Settings|" . romName, "GamepadType_Player1","4",,1) ; Set Gamepad type for Player 1. Allows for setting of different analog or digital controllers since not all games support analog controllers. Default is "4" (DualShock).
GamepadTypePlayer2 := IniReadCheck(settingsFile, "Settings|" . romName, "GamepadType_Player2","4",,1) ; Set Gamepad type for Player 2. Allows for setting of different analog or digital controllers since not all games support analog controllers. Default is "4" (DualShock).
GamepadTypePlayer3 := IniReadCheck(settingsFile, "Settings|" . romName, "GamepadType_Player3","4",,1) ; Set Gamepad type for Player 3. Allows for setting of different analog or digital controllers since not all games support analog controllers. Default is "4" (DualShock).
GamepadTypePlayer4 := IniReadCheck(settingsFile, "Settings|" . romName, "GamepadType_Player4","4",,1) ; Set Gamepad type for Player 4. Allows for setting of different analog or digital controllers since not all games support analog controllers. Default is "4" (DualShock).
MultitapPort1 := IniReadCheck(settingsFile, "Settings|" . romName, "Multitap_Port1","false",,1) ; Enable Multitap for Port 1
enableFlightStick := IniReadCheck(settingsFile, "Settings|" . romName, "EnableFlightStick","false",,1) ; If true, GamepadType_Player1 and GamepadType_Player2 are forced to DualAnalog and enables Flight Stick mode at game start (Presses F5 twice).
enableAnalogDelay := IniReadCheck(settingsFile, "Settings|" . romName, "EnableAnalog_Delay","3",,1) ; Delay in seconds before Analog mode is enabled. This is set to 3 seconds by default, which works for the majority of games. Some games re-initialize at the loading screen and need to have a custom delay to enable analog afterwards (Colin McRae Rally = 30s, for example)
disableMemoryCard1 := IniReadCheck(settingsFile, romName, "DisableMemoryCard1","false",,1) ; If true, disables memory card 1 for this game. Some games may not boot if both memory cards are inserted.
disableMemoryCard2 := IniReadCheck(settingsFile, romName, "DisableMemoryCard2","false",,1) ; If true, disables memory card 2 for this game. Some games may not boot if both memory cards are inserted.

; Video plugin settings (global)
Fullscreen := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Fullscreen","true",,1)
DesktopResolutionX := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Desktop_Resolution_X",,,1)
DesktopResolutionY := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Desktop_Resolution_Y",,,1)
WindowSizeX := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Window_Size_X",,,1)
WindowSizeY := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Window_Size_Y",,,1)
ColorDepth := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Color_Depth","32",,1)
WindowSizeInFullscreen := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Window_Size_In_Fullscreen","false",,1)
Scanlines := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Scanlines","false",,1)
ScanlineBrightness := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "Scanline_Brightness",,,1)
MDECFilter := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin", "MDEC_Filter","false",,1)

; Video plugin settings (Overridable per ROM)
HiresX := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Internal_X_Resolution",1,,1)
HiresY := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Internal_Y_Resolution",1,,1)
KeepRatio := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Stretching_Mode",0,,1)
NoRenderTexture := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Render_Mode",0,,1)
FilterType := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Texture_Filtering",0,,1)
HiResTextures := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Hi_Res_Textures",0,,1)
VRamSize := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Gfx_Card_Vram",0,,1)
TWinShader := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Pixel_Shader","false",,1)
OffscreenDrawing := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Offscreen_Drawing",1,,1)
FrameTexType := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Framebuffer_Effects",0,,1)
FrameUpload := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Framebuffer_Upload",1,,1)
FullscreenBlur := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Screen_Filtering",0,,1)
FullscreenShader := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Shader_Effects",0,,1)
ShaderDir := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Shader_Directory",,,1)
FSShaderLevel := IniReadCheck(settingsFile, "Pete's OpenGL2 GPU Plugin|" . romName, "Shader_Level",1,,1)

; dialogOpen := i18n("dialog.open") ; Looking up local translation
dialogOpen := "Open" ; apparently ePSXe doesnt support multiple languages, forcing this until it does

BezelStart()

; Set the GPU plugin and it's settings.
WriteReg("SZ", "epsxe\config", "VideoPlugin", GfxPlugin)

; Set general video options
Widescreen := If Widescreen = "true" ? 3 : 4
WriteReg("SZ", "epsxe\config", "GTEWidescreen", Widescreen)

; TODO: The other video plugins might use the same settings and even if they don't, it probably won't hurt
; to have these values in the registry for the selected plugin.
; Only apply these settings if the user selected the OpenGL2 plugin.
If (GfxPlugin = "GPUCOREGL2") {
WriteReg("DWORD", "epsxe\config\ogl2", "ColDepth", ColorDepth)
WriteReg("DWORD", "epsxe\config\ogl2", "HiresX", HiresX)
WriteReg("DWORD", "epsxe\config\ogl2", "HiresY", HiresY)
WriteReg("DWORD", "epsxe\config\ogl2", "KeepRatio", KeepRatio)
WriteReg("DWORD", "epsxe\config\ogl2", "NoRenderTexture", NoRenderTexture)
WriteReg("DWORD", "epsxe\config\ogl2", "FilterType", FilterType)
WriteReg("DWORD", "epsxe\config\ogl2", "HiResTextures", HiResTextures)
WriteReg("DWORD", "epsxe\config\ogl2", "VRamSize", VRamSize)
TWinShader := If TWinShader = "true" ? 1 : 0 ; Convert texture shader bool into an int before writing to the registry
WriteReg("DWORD", "epsxe\config\ogl2", "TWinShader", TWinShader)
WriteReg("DWORD", "epsxe\config\ogl2", "OffscreenDrawing", OffscreenDrawing)
WriteReg("DWORD", "epsxe\config\ogl2", "FrameTexType", FrameTexType)
WriteReg("DWORD", "epsxe\config\ogl2", "FrameUpload", FrameUpload)
FullscreenBlur := If FullscreenBlur = "true" ? 1 : 0
WriteReg("DWORD", "epsxe\config\ogl2", "FullscreenBlur", FullscreenBlur)
Scanlines := If Scanlines = "true" ? 1 : 0
WriteReg("DWORD", "epsxe\config\ogl2", "UseScanlines", Scanlines)
If (Scanlines = "1") {
WriteReg("DWORD", "epsxe\config\ogl2", "ScanBlend", ScanlineBrightness)
}
MDECFilter := If MDECFilter = "true" ? 1 : 0
WriteReg("DWORD", "epsxe\config\ogl2", "UseMdecFilter", MDECFilter)

; If Shader_Effects is set to 3 or 5 and Shader_Directory is not set, disable Shader_Effects.
If (FullscreenShader = 3 or FullscreenShader = 5) {
If (ShaderDir = "") {
WriteReg("DWORD", "epsxe\config\ogl2", "FullscreenShader", 0)
} Else {
WriteReg("SZ", "epsxe\config\ogl2", "ShaderDir", ShaderDir . "\")
WriteReg("DWORD", "epsxe\config\ogl2", "FullscreenShader", FullscreenShader)
WriteReg("DWORD", "epsxe\config\ogl2", "FSShaderLevel", FSShaderLevel)

; Turn these settings off because they'll blur/alter the image before it gets to the shader.
WriteReg("DWORD", "epsxe\config\ogl2", "FilterType", 0)
WriteReg("DWORD", "epsxe\config\ogl2", "HiResTextures", 0)
WriteReg("DWORD", "epsxe\config\ogl2", "FullscreenBlur", 0)
}
} Else {
WriteReg("DWORD", "epsxe\config\ogl2", "FullscreenShader", FullscreenShader)
WriteReg("DWORD", "epsxe\config\ogl2", "FSShaderLevel", FSShaderLevel)
}
}

; Enable Fullscreen mode for the video plugin.
If (Fullscreen = "true") {
WriteReg("DWORD", "epsxe\config\ogl2", "WindowMode", 0)

If (WindowSizeInFullscreen = "true") { ; If true enable Window Size in Fullscreen mode.
WriteReg("DWORD", "epsxe\config\ogl2", "CenterFullScreen", 1)
If (WindowSizeX != "" or WindowSizeY != "") { ; If resolution configured, convert Window Resolution X and Y from decimal to hex, concatenate, then import into the registry as a single value.
SetFormat, integer, hex
WindowSizeX += 0
WindowSizeY += 0
SetFormat, integer, decimal
StringTrimLeft, WindowSizeX_Hex, WindowSizeX, 2
StringTrimLeft, WindowSizeY_Hex, WindowSizeY, 2
WindowSize := "0x0" . WindowSizeY_Hex . "0" . WindowSizeX_Hex
WriteReg("DWORD", "epsxe\config\ogl2", "WinSize", WindowSize)
}
} Else {
WriteReg("DWORD", "epsxe\config\ogl2", "CenterFullScreen", 0)

If (DesktopResolutionX != "" or DesktopResolutionY != "") {
WriteReg("DWORD", "epsxe\config\ogl2", "ResX", DesktopResolutionX)
WriteReg("DWORD", "epsxe\config\ogl2", "ResY", DesktopResolutionY)
}
}
} Else {
WriteReg("DWORD", "epsxe\config\ogl2", "WindowMode", 1)

If (WindowSizeX != "" or WindowSizeY != "") {
SetFormat, integer, hex
WindowSizeX += 0
WindowSizeY += 0
SetFormat, integer, decimal
StringTrimLeft, WindowSizeX_Hex, WindowSizeX, 2
StringTrimLeft, WindowSizeY_Hex, WindowSizeY, 2
WindowSize := "0x0" . WindowSizeY_Hex . "0" . WindowSizeX_Hex
WriteReg("DWORD", "epsxe\config\ogl2", "WinSize", WindowSize)
}
If (bezelEnabled = "true") {
winSize := bezelScreenHeight * 65536 + bezelScreenWidth ; convert desired windowed resolution to Decimal
WriteReg("DWORD", "epsxe\config\ogl2", "WinSize", winSize)
}
}

; Set Gamepad Type. If enableFlightStick is set to "true", GamepadType is forced to DualAnalog for Player 1 and Player 2.
If (enableFlightStick = "true") {
WriteReg("SZ", "epsxe\config", "Multitap1", "0") ; Disable Multitap if enableFlightStick is true
WriteReg("SZ", "epsxe\config", "GamepadType", "5,1,1,1,5,1,1,1")
} ELSE {
If (MultitapPort1 = "true") {
WriteReg("SZ", "epsxe\config", "Multitap1", "1")
WriteReg("SZ", "epsxe\config", "GamepadType", GamepadTypePlayer1 . "," . GamepadTypePlayer2 . "," . GamepadTypePlayer3 . "," . GamepadTypePlayer4 . ",4,4,4,4")
} Else {
WriteReg("SZ", "epsxe\config", "Multitap1", "0")
WriteReg("SZ", "epsxe\config", "GamepadType", GamepadTypePlayer1 . ",4,4,4," . GamepadTypePlayer2 . ",4,4,4")
}
}

; Memory Cards

defaultMemCard1 := memCardPath . "\_default_001.mcr" ; defining default blank memory card for slot 1
defaultMemCard2 := memCardPath . "\_default_002.mcr" ; defining default blank memory card for slot 2
memCardName := If romTable[1,5] ? romTable[1,4] : romName ; defining rom name for multi disc rom
romMemCard1 := memCardPath . "\" . memCardName . "_001.mcr" ; defining name for rom's memory card for slot 1
romMemCard2 := memCardPath . "\" . memCardName . "_002.mcr" ; defining name for rom's memory card for slot 2
memcardType := If perGameMemCards = "true" ? "rom" : "default" ; define the type of memory card we will create in the below loop
If !FileExist(memCardPath)
FileCreateDir, %memCardPath% ; create memcard folder if it doesn't exist
Loop 2
{ If !FileExist(%memcardType%MemCard%A_Index%)
{ FileAppend,, % %memcardType%MemCard%A_Index% ; create a new blank memory card if one does not exist
Log("Module - Created a new blank memory card in Slot " . A_Index . ":" . %memcardType%MemCard%A_Index%)
}
WriteReg("SZ", "epsxe\config", "Memcard" . A_Index, %memcardType%MemCard%A_Index%)

; Now disable a memory card if required for the game to boot properly
memcard%A_Index%Enable := ReadReg("epsxe\config", "Memcard" . A_Index . "Enable")
If (disableMemoryCard%A_Index% = "true")
WriteReg("SZ", "epsxe\config", "Memcard" . A_Index . "Enable", 0)
Else
WriteReg("SZ", "epsxe\config", "Memcard" . A_Index . "Enable", 1)
}

hideEmuObj := Object(dialogOpen . " PSX ISO ahk_class #32770",0,"ahk_class EPSXGUI",0,"ePSXe ahk_class EPSX",1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
7z(romPath, romName, romExtension, sevenZExtractPath)

epsxeExtension := InStr(".ccd|.cue|.mds|.img|.iso|.pbp",romExtension) ; the psx extensions supported by the emu

RomTableCheck() ; make sure romTable is created already so the next line can calculate correctly
noGUI := If romTable.MaxIndex() ? "" : " -nogui" ; multidisc games will not use nogui because we need to select an option in epsxe's gui to swap discs
slowBoot := If slowBoot = "true" ? " -slowboot" : ""

If (noGUI = "" && hideEpsxeGUIs = "true") { ; for multi disc games only
Log("Module - Starting the HideGUIWindow timer to prevent them from showing")
SetTimer, HideGUIWindow, 10 ; start watching for gui window so it can be completely hidden
}

; Mount the CD using Virtual Drive
If (epsxeExtension && vdEnabled = "true") {
Log("Module - Virtual Drive is enabled and " . romExtension . " is a supported Virtual Drive extension")

VirtualDrive("get") ; populates the vdDriveLetter variable with the drive letter to your scsi or dt virtual drive
currentCDRomAscii := ReadReg("epsxe\config", "CdromLetter") ; read the current setting for ePSXe's cdrom it is using
currentCDRomLetter := Chr(currentCDRomAscii) ; converts the ascii code to a letter

If (currentCDRomLetter = "")
Log("Module - " . MEmu . " is not configured with a CDRom Drive")
Else If (currentCDRomAscii = 48)
Log("Module - " . MEmu . " is configured to read from the FirstCdrom Drive and will be updated to a proper letter instead")
Else
Log("Module - " . MEmu . " is configured to read from Drive " . currentCDRomLetter . ":")

If (currentCDRomLetter != vdDriveLetter) {
newCDRomAscii := Asc(vdDriveLetter) ; converts the letter to an ascii code
WriteReg("SZ", "epsxe\config", "CdromLetter", newCDRomAscii)
Log("Module - Updated " . MEmu . " to use Drive " . vdDriveLetter . ": for all future launches.",2)
} Else
Log("Module - " . MEmu . " is configured to use the correct drive already")

VirtualDrive("mount",romPath . "\" . romName . romExtension)
HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait
errorLvl := Run(executable . noGUI . slowBoot, emuPath)
usedVD := 1
} Else {
If (romExtension = ".pbp") {
Log("Module - Sending rom to emu directly with the load binary directive.")
HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait
errorLvl := Run(executable . noGUI . slowBoot . " -loadbin """ . romPath . "\" . romName . romExtension . """", emuPath)
} Else {
Log("Module - Sending rom to emu directly as Virtual Drive is not enabled or " . romExtension . " is not a supported Virtual Drive extension.")
HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait
errorLvl := Run(executable . noGUI . slowBoot . " -loadiso """ . romPath . "\" . romName . romExtension . """", emuPath)
}
}
If errorLvl
ScriptError("Error launching " . executable . "`, closing module.")

epsxeLaunchType := If usedVD ? "CDROM" : "ISO" ; determines which command gets sent to epsxe

If (noGUI = "") { ; for multi disc games only
Log("Module - " . romName . " is a multi-disc game, so launching " . MEmu . " with GUI enabled so swapping can occur.")
WinWait("ePSXe ahk_class EPSXGUI")
If (epsxeLaunchType = "CDROM") {
Log("Module - Telling ePSXe to run a CDROM")
PostMessage, 0x111, 40001,,,ahk_class EPSXGUI ; Run CDROM
} Else {
Log("Module - Telling ePSXe to run an ISO")
PostMessage, 0x111, 40003,,,ahk_class EPSXGUI ; Run ISO
}
} Else
Log("Module - " . romName . " is not a multi-disc game, so launching " . MEmu . " with GUI disabled.")

If (!usedVD && noGUI = "") { ; for some reason, epsxe still shows an open psx iso box even though it was provided on the run command when we don't also send -nogui. This handles loading the rom.
Log("Module - " . MEmu . " GUI and DT support are both disabled. Loading rom via the Open PSX ISO window.")
OpenROM(dialogOpen . " PSX ISO ahk_class #32770", romPath . "\" . romName . romExtension)
}

WinWait("ePSXe ahk_class EPSX")
WinWaitActive("ePSXe ahk_class EPSX")

If (noGUI = "" && hideEpsxeGUIs = "true") { ; for multi disc games only
Log("Module - Stopping the HideGUIWindow timer")
SetTimer, HideGUIWindow, Off
}

BezelDraw()
HideEmuEnd()
FadeInExit()

; Enable Analog mode. During boot, presses F5 twice to enable Flight Stick mode if enableFlightStick is true. Presses F5 once for all other controllers except Digital.
If (enableFlightStick = "true") {
Sleep, enableAnalogDelay . "000"
Send, {F5 down}
Sleep, 250
Send, {F5 up}
Sleep, 500 ; Half second delay until second F5 keypress
Send, {F5 down}
Sleep, 250
Send, {F5 up}
} ELSE If (GamepadType_Port1 = "2,1,1,1" or "5,1,1,1" or "4,1,1,1" or "7,1,1,1" or "3,1,1,1" or "8,1,1,1") {
Sleep, enableAnalogDelay . "000"
Send, {F5 down}
Sleep, 250
Send, {F5 up}
}

Process("WaitClose", executable)

If usedVD
VirtualDrive("unmount")

7zCleanUp()
BezelExit()
FadeOutExit()
ExitModule()


ReadReg(var1, var2) {
RegRead, regValue, HKEY_CURRENT_USER, Software\%var1%, %var2%
Return %regValue%
}

WriteReg(type, var1, var2, var3) {
RegWrite, REG_%type%, HKEY_CURRENT_USER, Software\%var1%, %var2%, %var3%
}

HaltEmu:
If (Fullscreen = "true")
{ PostMessage, 0x111, 40001,,,ahk_class EPSXGUI ; Go fullscreen, same as alt+enter
Sleep, 200
}
Return

MultiGame:
; msgbox % "selectedRom = " . selectedRom . "`nselected game = " . currentButton . "`nmgRomPath = " . mgRomPath . "`nmgRomExt = " . mgRomExt . "`nmgRomName = " . mgRomName
SetKeyDelay(50)
If usedVD
{ VirtualDrive("unmount") ; Unmount the CD from Virtual Drive
Sleep, 500 ; Required to prevent your Virtual Drive app from bugging
VirtualDrive("mount",selectedRom) ; Mount the CD using Virtual Drive
}
ControlSend,, {ESC down}{ESC Up}, ahk_class EPSX ; this exits the game window and brings back ePSXe's gui menu window
If (hideEpsxeGUIs = "true")
{ Log("Module - Starting the HideGUIWindow timer to prevent them from showing")
SetTimer, HideGUIWindow, 10
}

If (epsxeLaunchType = "CDROM") {
Log("Module - Telling ePSXe to swap to another CDROM")
PostMessage, 0x111, 40005,,,ahk_class EPSXGUI ; Change Disc CDROM
} Else {
Log("Module - Telling ePSXe to swap to another ISO")
PostMessage, 0x111, 40006,,,ahk_class EPSXGUI ; Change Disc ISO
}

If usedVD
{ WinWait("Change Disc Option ahk_class #32770")
ControlSend,Button1,{Enter},Change Disc Option ahk_class #32770
} Else {
OpenROM(dialogOpen . " PSX ISO ahk_class #32770", selectedRom)
}
If hideEpsxeGUIs := "true"
{ Log("Module - Stopping the HideGUIWindow timer")
SetTimer, HideGUIWindow, off
}
; If BezelEnabled
; BezelDraw()
Return

RestoreEmu:
WinActivate, ahk_id %emulatorID%
If (Fullscreen = "true")
PostMessage, 0x111, 40001,,,ahk_class EPSXGUI ; Go fullscreen, same as alt+enter
Return

HideGUIWindow:
WinSet, Transparent, On, ePSXe ahk_class EPSXGUI
WinSet, Transparent, On, Open PSX ISO ahk_class #32770 ; when not using DT
WinSet, Transparent, On, Change Disc Option ahk_class #32770 ; when using DT
Return

CloseProcess:
FadeOutStart()
SetWinDelay, 50
Log("Module - Sending Escape to close emulator")
If (noGUI = "") { ; for multi disc games only
PostMessage, 0x111, 40007,,,ahk_class EPSX ; Exit ePSXe, only works when guis are used though, basically when multigame supported games are launched
WinWait("ePSXe ahk_class EPSXGUI")
WinClose("ePSXe ahk_class EPSXGUI")
} Else
ControlSend,, {Esc down}{Esc up}, ePSXe ahk_class EPSX ; DO NOT CHANGE
Return

; PostMessage, 0x111, 40008,,,ahk_class EPSXGUI ; Continue
; PostMessage, 0x111, 40009,,,ahk_class EPSXGUI ; Reset


ePSXe.isd
<?xml version="1.0" encoding="UTF-8"?>
<INISCHEMA>
<INIFILES>
<INIFILE name="%ModuleName%" required="false">
<INITYPE>Module</INITYPE>
<SECTIONS>
<SECTION name="Settings" required="false">
<SECTIONTYPE>Global</SECTIONTYPE>
<KEYS>
<KEY name="Video_Plugin" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Set this to the video plugin you would like to use for this emulator. (Default = Pete's OpenGL2 GPU core 2.0.0.)</DESCRIPTION>
<VALUES>
<VALUE description="ePSXe GPU core 2.0.0.">GPUCORE</VALUE>
<VALUE description="Pete's OpenGL2 GPU core 2.0.0.">GPUCOREGL2</VALUE>
</VALUES>
</KEY>
<KEY name="Widescreen" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Widescreen support is used to stretch the screen to 16:9 without modifying the aspect of 3D objects. Given it is a hack it will fail in some games, especially those combining 2D and 3D. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="GamepadType_Player1" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 1. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="GamepadType_Player2" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 2. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="Slow_Boot" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true, force emulator to show bios screen at boot. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Hide_ePSXe_GUIs" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Enables/Disables hiding of all ePSXe's GUI windows on load and disc change for multi-disc games. (Default = true)</DESCRIPTION>
</KEY>
<KEY name="Per_Game_Memory_Cards" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Enables/Disables Support for Per-Game Memory Card support. Make sure the first time you run with this option enabled, your current memory cards are formatted and blank. (Default = true)</DESCRIPTION>
</KEY>
<KEY name="Memory_Card_Path" required="false" nullable="false">
<KEYTYPE>FolderPath</KEYTYPE>
<FULLROW>true</FULLROW>
<DESCRIPTION>Full path to your memory card folder. (Default = %EmuPath%\memcards)</DESCRIPTION>
<BASEPATH>%EmulatorPath%</BASEPATH>
</KEY>
</KEYS>
</SECTION>
<SECTION name="Pete's OpenGL2 GPU Plugin" required="false">
<SECTIONTYPE>Global</SECTIONTYPE>
<KEYS>
<KEY name="Fullscreen" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true enables Fullscreen mode. If false enables Window mode. (Default = true)</DESCRIPTION>
</KEY>
<KEY name="Desktop_Resolution_X" group="Settings" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Horizontal resolution of Fullscreen mode.</DESCRIPTION>
</KEY>
<KEY name="Desktop_Resolution_Y" group="Settings" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Vertical resolution of Fullscreen mode.</DESCRIPTION>
</KEY>
<KEY name="Window_Size_X" group="Settings" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Horizontal size of Window mode.</DESCRIPTION>
</KEY>
<KEY name="Window_Size_Y" group="Settings" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Vertical size of Window mode.</DESCRIPTION>
</KEY>
<KEY name="Color_Depth" group="Settings" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Color Depth. (Default = 32 Bit)</DESCRIPTION>
<VALUES>
<VALUE description="16 Bit">16</VALUE>
<VALUE description="32 Bit">32</VALUE>
</VALUES>
</KEY>
<KEY name="Window_Size_In_Fullscreen" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true enables use of Window Size in Fullscreen mode. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Internal_X_Resolution" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls the image quality for the width of the screen. A sane value is "2" with modern cards. (Default = 1: High - Standard, enhanced display)</DESCRIPTION>
<VALUES>
<VALUE description="0: Low - Native PSX resolution">0</VALUE>
<VALUE description="1: High - Standard, enhanced display">1</VALUE>
<VALUE description="2: Very high - Needs a modern card, otherwise crashes are possible">2</VALUE>
</VALUES>
</KEY>
<KEY name="Internal_Y_Resolution" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls the image quality for the height of the screen. A sane value is "2" with modern cards. (Default = 1: High - Standard, enhanced display)</DESCRIPTION>
<VALUES>
<VALUE description="0: Low - Native PSX resolution">0</VALUE>
<VALUE description="1: High - Standard, enhanced display">1</VALUE>
<VALUE description="2: Very high - Needs MUCH gfx card vram... 128 MB cards will be fine">2</VALUE>
<VALUE description="3: Ultra high - A 256 MB card is recommended, VERY slow FB effects">3</VALUE>
</VALUES>
</KEY>
<KEY name="Stretching_Mode" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls how the image will be stretched for your display. Most users will be satisfied with "0". (Default = 0: Stretch to full window size (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: Stretch to full window size (standard)">0</VALUE>
<VALUE description="1: Scale to window size, keep aspect ratio">1</VALUE>
<VALUE description="2: Stretch on small heights, keep aspect ratio">2</VALUE>
<VALUE description="3: Try to keep pixel ratio">3</VALUE>
</VALUES>
</KEY>
<KEY name="Render_Mode" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Tells the plugin how to render the image internally, output is the same. (Default = 0: Render to pbuffer-texture (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: Render to pbuffer-texture (standard)">0</VALUE>
<VALUE description="1: Render to pbuffer, copy to texture (supported by most cards)">1</VALUE>
<VALUE description="2: Use framebuffer object (fastest mode, if supported)">2</VALUE>
</VALUES>
</KEY>
<KEY name="Texture_Filtering" required="false" nullable="false" minLength="0" maxLength="6">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>You can try to improve the texture look with texture filtering, but be aware that the real psx doesn't support filtering, which will result in glitches. Set this to 0 if you intend to use a shader. (Default = 0: None)</DESCRIPTION>
<VALUES>
<VALUE description="0: None">0</VALUE>
<VALUE description="1: Standard - Glitches will happen">1</VALUE>
<VALUE description="2: Extended - Removes black borders">2</VALUE>
<VALUE description="3: Standard w/o sprites - unfiltered 2D">3</VALUE>
<VALUE description="4: Extended w/o sprites - unfiltered 2D">4</VALUE>
<VALUE description="5: Standard + smoothed sprites">5</VALUE>
<VALUE description="6: Extended + smoothed sprites">6</VALUE>
</VALUES>
</KEY>
<KEY name="Hi_Res_Textures" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Hi-Res textures. (Default = 0: None (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: None (standard)">0</VALUE>
<VALUE description="1: 2xSal (much vram needed)">1</VALUE>
<VALUE description="2: Stretched (filtering needed)">2</VALUE>
</VALUES>
</KEY>
<KEY name="Gfx_Card_Vram" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Graphics card VRAM in MBytes. (Default = 0 (Autodetect))</DESCRIPTION>
<VALUES>
<VALUE description="0 (Autodetect)">0</VALUE>
<VALUE description="2">2</VALUE>
<VALUE description="4">4</VALUE>
<VALUE description="8">8</VALUE>
<VALUE description="16">16</VALUE>
<VALUE description="32">32</VALUE>
<VALUE description="64">64</VALUE>
<VALUE description="128">128</VALUE>
<VALUE description="256">256</VALUE>
<VALUE description="512">512</VALUE>
</VALUES>
</KEY>
<KEY name="Pixel_Shader" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Use pixel shader for a faster and more accurate emulation of the 'PSX texture window' ability. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Offscreen_Drawing" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Sometimes the real psx renders polygons not only into its display areas, but also to some other vram areas, to archive special effects like Crash Bandicoot's shadow in CB3. (Default = 1: Standard - OK for most games)</DESCRIPTION>
<VALUES>
<VALUE description="0: None - No offscreen polygon rendering">0</VALUE>
<VALUE description="1: Standard - OK for most games">1</VALUE>
<VALUE description="2: Extended - Can cause garbage">2</VALUE>
</VALUES>
</KEY>
<KEY name="Framebuffer_Effects" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>The highest setting (3=Full) is the most compatible one (you should get all of the effects by selecting it). (Default = 0: None - No framebuffer effects will be emulated)</DESCRIPTION>
<VALUES>
<VALUE description="0: None - No framebuffer effects will be emulated">0</VALUE>
<VALUE description="1: Minimum - Emulates most frame texture effects">1</VALUE>
<VALUE description="2: Standard - Emulates frame textures and buffer moves / reads">2</VALUE>
<VALUE description="3: Full - Emulates everything, causes overall slowdown">3</VALUE>
</VALUES>
</KEY>
<KEY name="Framebuffer_Upload" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Another ability of the real psx gpu is to upload pictures to any part of its vram, and to display such areas as needed. The standard "1" setting is the best choice for most games. (Default = 1: Standard - Uploads detected screen areas)</DESCRIPTION>
<VALUES>
<VALUE description="0: Minimum - Lazy upload detection, can cause missing screens">0</VALUE>
<VALUE description="1: Standard - Uploads detected screen areas">1</VALUE>
<VALUE description="2: Full - Uploads full vram area, can be slow - use only when screens are missing">2</VALUE>
</VALUES>
</KEY>
<KEY name="Screen_Filtering" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>A nice fullscreen filter. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Shader_Effects" required="false" nullable="false" minLength="0" maxLength="5">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Enables shader effects. Enabling 3 or 5 requires Shader_Directory to be set, and will disable Texture_Filtering, Hi_Res_Textures, and Screen_Filtering. (Default = 0: None)</DESCRIPTION>
<VALUES>
<VALUE description="0: None">0</VALUE>
<VALUE description="1: Fullscreen smoothing">1</VALUE>
<VALUE description="2: Black/white smoothing">2</VALUE>
<VALUE description="3: ARB program (gpuPeteOGL2.vp/fp)">3</VALUE>
<VALUE description="4: GLSlang smoothing">4</VALUE>
<VALUE description="5: GLSlang files (gpuPeteOGL2.slv/slf)">5</VALUE>
</VALUES>
</KEY>
<KEY name="Shader_Directory" required="false" nullable="true">
<KEYTYPE>FolderPath</KEYTYPE>
<DESCRIPTION>Directory where you store your shader files.</DESCRIPTION>
</KEY>
<KEY name="Shader_Level" required="false" nullable="false" minLength="1" maxLength="4">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Selects the shader intensity level. The intensity level will depend on the shader. (Default = 1: Minimum)</DESCRIPTION>
<VALUES>
<VALUE description="1: Minimum">1</VALUE>
<VALUE description="2: More">2</VALUE>
<VALUE description="3: Medium">3</VALUE>
<VALUE description="4: Maximum">4</VALUE>
</VALUES>
</KEY>
<KEY name="Scanlines" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>TV screen-like lines. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Scanline_Brightness" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Valid values are -1 (Monitor dot matrix) and 0-255.</DESCRIPTION>
</KEY>
<KEY name="MDEC_Filter" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Movies will look less pixelated. (Default = false)</DESCRIPTION>
</KEY>
</KEYS>
</SECTION>
<SECTION name="%RomName%" required="false">
<SECTIONTYPE>Rom</SECTIONTYPE>
<GROUPS>
<GROUP name="Settings"/>
<GROUP name="Pete's OpenGL2 GPU Plugin"/>
</GROUPS>
<KEYS>
<KEY name="Video_Plugin" group="Settings" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Set this to the video plugin you would like to use for this game. (Default = Pete's OpenGL2 GPU core 2.0.0.)</DESCRIPTION>
<VALUES>
<VALUE description="ePSXe GPU core 2.0.0.">GPUCORE</VALUE>
<VALUE description="Pete's OpenGL2 GPU core 2.0.0.">GPUCOREGL2</VALUE>
</VALUES>
</KEY>
<KEY name="Widescreen" group="Settings" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Widescreen support is used to stretch the screen to 16:9 without modifying the aspect of 3D objects. Given it is a hack it will fail in some games, especially those combining 2D and 3D. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="GamepadType_Player1" group="Settings" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 1. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="GamepadType_Player2" group="Settings" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 2. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="GamepadType_Player3" group="Settings" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 3. Multitap_Port1 must be enabled for this setting to take effect. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="GamepadType_Player4" group="Settings" required="false" nullable="false">
<KEYTYPE>String</KEYTYPE>
<DESCRIPTION>Use this setting to configure the Gamepad type for Player 4. Multitap_Port1 must be enabled for this setting to take effect. For example, change this to Digital for games that do not support analog controllers, or to neGcon for games that only support the neGcon controller for analog controls. (Default = DualShock)</DESCRIPTION>
<VALUES>
<VALUE description="[SXXX-0000] Disabled">0</VALUE>
<VALUE description="[SCPH-1080] Digital">1</VALUE>
<VALUE description="[SCPH-1090] Mouse/Digital">2</VALUE>
<VALUE description="[SCPH-1150] DualAnalog">5</VALUE>
<VALUE description="[SCPH-1200] DualShock">4</VALUE>
<VALUE description="[SLEH-0003] Namco Negcon/Digital">7</VALUE>
<VALUE description="[SLEH-0007] Namco G-con45/Digital">3</VALUE>
<VALUE description="[SLEH-0005] Konami Justifier/Digital">8</VALUE>
</VALUES>
</KEY>
<KEY name="Multitap_Port1" group="Settings" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true, enables Multitap on Port 1. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="EnableFlightStick" group="Settings" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true, will force "[SCPH-1150] DualAnalog" as your GamepadType for this game, and will press F5 twice during boot to enable Flight Stick Mode. Enabling this setting will override your GamepadType_Player1 and GamepadType_Player2 settings. Flight Stick setting is used for games that only support the Flight Stick as an analog controller such as Bogey: Dead 6 and Descent. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="EnableAnalog_Delay" group="Settings" required="false" nullable="false" minLength="1">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Delay in seconds before Analog mode is enabled. Some games re-initialize analog controls during the boot process. For example, Colin McRae Rally needs a 30 second delay (timed to enable after loading screen). (Default = 3)</DESCRIPTION>
</KEY>
<KEY name="DisableMemoryCard1" group="Settings" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true, disables memory card 1 for this game. Some games may not boot if both memory cards are inserted. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="DisableMemoryCard2" group="Settings" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>If true, disables memory card 2 for this game. Some games may not boot if both memory cards are inserted. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Internal_X_Resolution" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls the image quality for the width of the screen. A sane value is "2" with modern cards. (Default = 1: High - Standard, enhanced display)</DESCRIPTION>
<VALUES>
<VALUE description="0: Low - Native PSX resolution">0</VALUE>
<VALUE description="1: High - Standard, enhanced display">1</VALUE>
<VALUE description="2: Very high - Needs a modern card, otherwise crashes are possible">2</VALUE>
</VALUES>
</KEY>
<KEY name="Internal_Y_Resolution" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls the image quality for the height of the screen. A sane value is "2" with modern cards. (Default = 1: High - Standard, enhanced display)</DESCRIPTION>
<VALUES>
<VALUE description="0: Low - Native PSX resolution">0</VALUE>
<VALUE description="1: High - Standard, enhanced display">1</VALUE>
<VALUE description="2: Very high - Needs MUCH gfx card vram... 128 MB cards will be fine">2</VALUE>
<VALUE description="3: Ultra high - A 256 MB card is recommended, VERY slow FB effects">3</VALUE>
</VALUES>
</KEY>
<KEY name="Stretching_Mode" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Controls how the image will be stretched for your display. Most users will be satisfied with "0". (Default = 0: Stretch to full window size (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: Stretch to full window size (standard)">0</VALUE>
<VALUE description="1: Scale to window size, keep aspect ratio">1</VALUE>
<VALUE description="2: Stretch on small heights, keep aspect ratio">2</VALUE>
<VALUE description="3: Try to keep pixel ratio">3</VALUE>
</VALUES>
</KEY>
<KEY name="Render_Mode" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Tells the plugin how to render the image internally, output is the same. (Default = 0: Render to pbuffer-texture (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: Render to pbuffer-texture (standard)">0</VALUE>
<VALUE description="1: Render to pbuffer, copy to texture (supported by most cards)">1</VALUE>
<VALUE description="2: Use framebuffer object (fastest mode, if supported)">2</VALUE>
</VALUES>
</KEY>
<KEY name="Texture_Filtering" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="6">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>You can try to improve the texture look with texture filtering, but be aware that the real psx doesn't support filtering, which will result in glitches. Set this to 0 if you intend to use a shader. (Default = 0: None)</DESCRIPTION>
<VALUES>
<VALUE description="0: None">0</VALUE>
<VALUE description="1: Standard - Glitches will happen">1</VALUE>
<VALUE description="2: Extended - Removes black borders">2</VALUE>
<VALUE description="3: Standard w/o sprites - unfiltered 2D">3</VALUE>
<VALUE description="4: Extended w/o sprites - unfiltered 2D">4</VALUE>
<VALUE description="5: Standard + smoothed sprites">5</VALUE>
<VALUE description="6: Extended + smoothed sprites">6</VALUE>
</VALUES>
</KEY>
<KEY name="Hi_Res_Textures" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Hi-Res textures. (Default = 0: None (standard))</DESCRIPTION>
<VALUES>
<VALUE description="0: None (standard)">0</VALUE>
<VALUE description="1: 2xSal (much vram needed)">1</VALUE>
<VALUE description="2: Stretched (filtering needed)">2</VALUE>
</VALUES>
</KEY>
<KEY name="Gfx_Card_Vram" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Graphics card VRAM in MBytes. (Default = 0 (Autodetect))</DESCRIPTION>
<VALUES>
<VALUE description="0 (Autodetect)">0</VALUE>
<VALUE description="2">2</VALUE>
<VALUE description="4">4</VALUE>
<VALUE description="8">8</VALUE>
<VALUE description="16">16</VALUE>
<VALUE description="32">32</VALUE>
<VALUE description="64">64</VALUE>
<VALUE description="128">128</VALUE>
<VALUE description="256">256</VALUE>
<VALUE description="512">512</VALUE>
</VALUES>
</KEY>
<KEY name="Pixel_Shader" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>Use pixel shader for a faster and more accurate emulation of the 'PSX texture window' ability. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Offscreen_Drawing" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Sometimes the real psx renders polygons not only into its display areas, but also to some other vram areas, to archive special effects like Crash Bandicoot's shadow in CB3. (Default = 1: Standard - OK for most games)</DESCRIPTION>
<VALUES>
<VALUE description="0: None - No offscreen polygon rendering">0</VALUE>
<VALUE description="1: Standard - OK for most games">1</VALUE>
<VALUE description="2: Extended - Can cause garbage">2</VALUE>
</VALUES>
</KEY>
<KEY name="Framebuffer_Effects" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="3">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>The highest setting (3=Full) is the most compatible one (you should get all of the effects by selecting it). (Default = 0: None - No framebuffer effects will be emulated)</DESCRIPTION>
<VALUES>
<VALUE description="0: None - No framebuffer effects will be emulated">0</VALUE>
<VALUE description="1: Minimum - Emulates most frame texture effects">1</VALUE>
<VALUE description="2: Standard - Emulates frame textures and buffer moves / reads">2</VALUE>
<VALUE description="3: Full - Emulates everything, causes overall slowdown">3</VALUE>
</VALUES>
</KEY>
<KEY name="Framebuffer_Upload" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="2">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Another ability of the real psx gpu is to upload pictures to any part of its vram, and to display such areas as needed. The standard "1" setting is the best choice for most games. (Default = 1: Standard - Uploads detected screen areas)</DESCRIPTION>
<VALUES>
<VALUE description="0: Minimum - Lazy upload detection, can cause missing screens">0</VALUE>
<VALUE description="1: Standard - Uploads detected screen areas">1</VALUE>
<VALUE description="2: Full - Uploads full vram area, can be slow - use only when screens are missing">2</VALUE>
</VALUES>
</KEY>
<KEY name="Screen_Filtering" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false">
<KEYTYPE>Boolean</KEYTYPE>
<DESCRIPTION>A nice fullscreen filter. (Default = false)</DESCRIPTION>
</KEY>
<KEY name="Shader_Effects" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="0" maxLength="5">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Enables shader effects. Enabling 3 or 5 requires Shader_Directory to be set, and will disable Texture_Filtering, Hi_Res_Textures, and Screen_Filtering. (Default = 0: None)</DESCRIPTION>
<VALUES>
<VALUE description="0: None">0</VALUE>
<VALUE description="1: Fullscreen smoothing">1</VALUE>
<VALUE description="2: Black/white smoothing">2</VALUE>
<VALUE description="3: ARB program (gpuPeteOGL2.vp/fp)">3</VALUE>
<VALUE description="4: GLSlang smoothing">4</VALUE>
<VALUE description="5: GLSlang files (gpuPeteOGL2.slv/slf)">5</VALUE>
</VALUES>
</KEY>
<KEY name="Shader_Directory" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="true">
<KEYTYPE>FolderPath</KEYTYPE>
<DESCRIPTION>Directory where you store your shader files.</DESCRIPTION>
</KEY>
<KEY name="Shader_Level" group="Pete's OpenGL2 GPU Plugin" required="false" nullable="false" minLength="1" maxLength="4">
<KEYTYPE>Integer</KEYTYPE>
<DESCRIPTION>Selects the shader intensity level. The intensity level will depend on the shader. (Default = 1: Minimum)</DESCRIPTION>
<VALUES>
<VALUE description="1: Minimum">1</VALUE>
<VALUE description="2: More">2</VALUE>
<VALUE description="3: Medium">3</VALUE>
<VALUE description="4: Maximum">4</VALUE>
</VALUES>
</KEY>
</KEYS>
</SECTION>
</SECTIONS>
</INIFILE>
</INIFILES>
</INISCHEMA>
2 mercis !
(Veusti, keusti93)
Game is never over
Avatar de l’utilisateur
Guiguicar
Gourou
Gourou
 
Messages: 972
Âge: 42
Inscription: 31 Oct 2012 - 00:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar strblast » 26 Avr 2017 - 16:15

Moi je tourne avec epsxe 2.0.5. Les iso ce lancent mais mais en fullscreen et sa dépasse du bezel. J'ai beau modifier les valeurs dans l'emulateur, sa change rien. Je n'arrive pas à afficher l'image à la taille du bezel. De plus, je suis actuellement en vga en attendant mon hdmi et l'image est vraiment horrible.
La résolution est peut être enregistré dans un fichier?
De plus, lorsque je veux lancer un jeu avec l'extension rar, ça me bloque à l'écran où il y a une image, en haut à droite "Analogique (on/off)
Avatar de l’utilisateur
strblast
Habitué
Habitué
 
Messages: 93
Inscription: 30 Nov 2016 - 20:15

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar tetrafred » 25 Sep 2017 - 22:31

Merci pour letuto, fonctionne nickel et du coup ça m'a permis de capter les profils xpadder par system ^^
Image
Avatar de l’utilisateur
tetrafred
Gourou
Gourou
 
Messages: 894
Âge: 38
Inscription: 10 Oct 2013 - 01:00
Localisation: La Mothe Achard

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar fredo1274 » 12 Déc 2017 - 06:28

Merci pour le tuto , mais j'ai bien la hfsbox qui lance mais écran noir avec une manette en haut a droite de l'écran ??
Je galère .
Avatar de l’utilisateur
fredo1274
Apprenti
Apprenti
 
Messages: 11
Inscription: 11 Oct 2017 - 01:05

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar PiA » 06 Mar 2018 - 16:15

Amis du jeux vidéo bonjour !

Amoureux (entre autre )du jeux vidéo
depuis biiien fort longtemps ,
Console Univox 6in ,thomson ,nes ,Amiga 500,
console Néo geo ,ps1 ,Dreamcast(internet 56kb)
puis l'arrivée d'internet haut débit à bousculé le code de bonne conduite?? hummm
d'où l'acquisition d'un Personnel Computer Wxp était trop forte ...mmorpg....
Aujourd'hui Marc 35 ans ,habitant de la Bretagne, avec(entre autre ) son ordinateur pc windows 10
je viens sur HFSplay avec nostalgie!,questions et écoute.
-------------------------------------------

Je déterre ce topic ,
Parce que je rencontre presque le même problème que toi Fredo1274 ,
ayant bien suivi le super tuto de webyves merci ,
quand je lance ePSXe seul j'ai bien l'ecran noir et
l'image, en haut à droite "Analogique (on/off)
mais le jeu se lance aussitôt ! .
Sachant que j'utilise HyperSpin + RocketLauncher ,
je rencontre hélas un problème.. quand je lance le même jeu avec HyperSpin
rien ne se passe ..même pas un message d'erreur (j'ai bien suivi le tuto)
mais avec ePSXe 1.9.25 seul sa fonctionne...

Une idée ?

Cordialement ,
PiA.
PiA
noob
noob
 
Messages: 2
Âge: 35
Inscription: 21 Jan 2018 - 18:38
Localisation: Bretagne

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar lankou910 » 06 Mar 2018 - 17:36

bonjour @PiA

pourquoi utilise tu epsxe une raison particuliere ?

sinon essais avec retroarch et le core PCSX ReARMed fonctionne a la perfection ,mettre les bios psx dans le dossier system de retroarch ;)

ou PSXfin
Image

La différence entre Linux, Mac et Windows ? Windows bug tous le temps mais tu peux toujours réparer, Mac bug presque jamais, mais quand il bug, c'est fini, et quand Linux bug, c'est de ta faute^^
Avatar de l’utilisateur
lankou910
Gourou
Gourou
 
Messages: 653
Inscription: 16 Mai 2013 - 01:00

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar LoloZ » 07 Mar 2018 - 03:07

@PiA
Lankou à raison, si tu n'as pas d'intérêt à passer par EPSXE si ce n'est l'amélioration des graphismes il est plus compliqué à faire tourner avec rocket launcher sous windoxs 10.

J'ai pu le faire tourner après des centaines d'essais de réglages, alors qu'il tourne sans problème en direct, le problème vient du lecteur virtuel qui ne réagit pas pareil sous windows 10.

Si tu veut vraiment le faire tourner essai avec les réglages que j'ai envoyé sur ce post :

tutos-pour-rocketlauncher-f26/sega-saturn-rocketlauncher-t7952-20.html#p226688

Normalement avec se réglage et cette version de DTlite, tu pourras faire tourner tout les émulateurs qui tournent avec lecteur virtuel sous win 10, j'insiste ! ^^

Pour les autres sous win 7 j'ai pas mal taté EPSXE à l'époque, j'essaierai de vous envoyer mes réglages pour aider et profiter des meilleurs optimisations graphique sans gliches et le meilleur filtre autant dans les jeux 3D que 2D tout en dénaturant le moins les jeux, après c'est suivant les goûts de chacun ! :D

edit: voilà les réglages sous : Pete's OpenGL2 Driver 2.9 ceci sont valable pour win 7 et 10 pour moi ! enjoy !
Pour les faire tourner un intel P4 mini est conseillé et surtout une carte geforce 650 mini il me semble.

Image


On peut remplacer le shader (c'est ce qui va réellement améliorer l'aspect graphique notament sur un écran HD) là le "GL SLang files" par le "ShadX's Natural Vision Shader (Modded by SimoneT)"

Je les aurais bien inclus mais je sais pas encore comment partager un fichier sur le fofo dsl (oui la loose^^), mais je vais m'y pencher dessus promis ! :lol:
Avatar de l’utilisateur
LoloZ
Habitué
Habitué
 
Messages: 60
Âge: 39
Inscription: 04 Juin 2016 - 04:42
Localisation: Clermont-Ferrand

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar PiA » 07 Mar 2018 - 19:21

[email protected] Lankou910 , LoloZ
Merci pour votre aide !!

je viens aux nouvelles !

@LoloZ je vais voir ce lien après ce message merci .

@Lankou910 ,LoloZ
Alors pas de raison particulière ,
ma foi après plusieurs essais de version ePSXe + bios, plugins ça ne veut pas ça ne veut pas lol
par contre avec MAME pas soucis .

Alors je suis en plein test débutant de rétroArch , j'avoue que l'interface est chouette et complète ,


Oui Lankou910 , bios dans le system RetroArch ,


en suivant le tuto de Snuf 69


tutos-pour-rocketlauncher-f26/iso-psx-dreamcast-pour-hl3-rocketlauncher-t7928.html

et le tuto du wiki


http://wiki.hfsplay.fr/doku.php?id=tuto ... :retroarch


^^ hélas , j ai un message d'erreur....

your SystemName is Playstation
it is not one of the known suported systems for this retroarch module : retroarch

mais je continue mes recherches ! ^^;


Cordialement ,
PiA.
PiA
noob
noob
 
Messages: 2
Âge: 35
Inscription: 21 Jan 2018 - 18:38
Localisation: Bretagne

Re: Sony Playstation avec RocketLauncher + ePSXe + Xpadder

Messagepar LoloZ » 08 Mar 2018 - 18:34

Je pense que déjà pour la création du systeme il faut que tu renome et le crée avec le nom suivant, sinon ce ne seras pas supporté : "Sony Playstation"

et fait bien attention que tout soit nomé pareil dans ta database media ect... sinon tu aura une erreur
Avatar de l’utilisateur
LoloZ
Habitué
Habitué
 
Messages: 60
Âge: 39
Inscription: 04 Juin 2016 - 04:42
Localisation: Clermont-Ferrand

Précédente


Retourner vers Tutos pour RocketLauncher



Qui est en ligne

Utilisateurs parcourant ce forum: DarkTrooper et 1 invité