Windows, macOS y Linux
123 archivos
-
ePSXe
A Sony PlayStation Emulator for the PC.
Many of you sent us mails wondering how they can get the emu configured correctly. So, in order to help you configuring it for the first time, We added this section to the FAQ. 1) Getting all necessary files First off, you need the emulator, all plugins you want to use and the BIOS itself. You can get the first two combined in a nice Installer from PSXEmu.com (browse to http://www.psxemu.com/epsxe-download.shtml). We won't supply you with URL's for the BIOS as it is copyrighted by Sony. But you should find it easily by browsing the web. Now you need to get the plugins configured properly. 2) Choosing the best GPU plugin When going after compatibility, you should use Pete's Soft GPU plugin, it's the one with the highest compatibility. When that one doesn't work with a game others have gotten working, you've probably made a configuration error. You should also use this plugin when you've got troubles getting certain game situations to display properly (for example the FF8 battle menus). Now here's a list for the best plugins for the most popular graphic cards: 3dfx Voodoo 2 --> Lewpy's Glide plugin (could crash with certain drivers) 3dfx Voodoo 3 --> Pete's D3D (DirectX 7) or Lewpy's Glide plugin 3dfx Voodoo 4/5 --> Pete's D3D (DirectX 7) or Lewpy's Glide plugin ATI Radeon --> Pete's OpenGL plugin ATI Rage 128/Expert --> Pete's D3D (DirectX 7) plugin nVidia GeForce 1/2 --> Pete's OpenGL plugin nVidia TNT/TNT2 --> Pete's OpenGL plugin Matrox G200/G400 --> Pete's D3D (DirectX 6) plugin ... the rest --> Pete's D3D (DirectX 7) plugin 3) Choosing and configuring the CD-ROM plugin Windows 9x/ME + IDE CD-ROM --> ePSXe CDR ASPI Core 1.2.0 (Requires an ASPI layer, Win9x/ME comes with one.) Windows NT/2000 + IDE/SCSI CD-ROM --> ePSXe CDR WNT/W2K Core 1.2.0 (Does not require an ASPI layer.) Remember that you need an ASPI layer to get ePSXe reading CDs with OTHER plugins using Windows 2000. You can get more infos on this further on in this FAQ! When those settings aren't working for you, one thing you can do is to create an ISO from the original CD using a burning app like CDRWin or WinOnCD. Keep in mind that you should get better performance using an ISO, compared to running a game from a CD. 4) Selecting the best sound plugin ePSXe SPU Core 1.2.0 --> Good & fast sound, but still has some problems left. Pete's MIDAS SPU 1.7 --> A good sound plugin which uses the latest SPU API. Null2's SPU 1.35 --> Slowly became one of the best SPU plugins, recommended. 5) Choosing the correct BIOS ePSXe has been mainly tested with the SCPH-1001 and the SCPH-7502 BIOS files, which are therefor the BIOS files we mostly recommend. 6) Getting through the other settings Now that you've selected and configured the plugins of your choice, here's a list of the rest of the settings and how we recommend you to set them. Still, some game require different settings. Options --> SIO IRQ Always Enabled --> [DISABLED] - (F4 to toggle on/off) Config --> CD-ROM --> Enable Accurate CD-ROM Timing --> [DISABLED] - (See notes in the GUI) Config --> CD-ROM --> Disable CD-ROM Status --> [DISABLED] - (See notes in the GUI) Config --> CD-ROM --> Disable Real-Time CD-ROM Status --> [DISABLED] - (See notes in the GUI) Config --> MDEC --> Enable MDEC --> [ENABLED] Config --> MDEC --> Enable MDEC Timing --> [ENABLED] - (See notes further down) Config --> Sound --> Enable Sound --> [ENABLED] Config --> Sound --> Enable CDDA Sound --> [ENABLED] Config --> Sound --> Enable XA Sound --> [ENABLED] Config --> Sound --> Enable XA Read --> [ENABLED] - (Needs a fast system, F6) Config --> Sound --> Enable SPU IRQ hack --> [DISABLED] - (Needs a fast system) And now you should be able to enjoy one of the best free emulators out there. When you still have problems or suggestions for this FAQ, feel free to post them on our message board or mail us! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |G|e|n|e|r|a|l| |Q|u|e|s|t|i|o|n|s| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Q: Who are the developers of this great application? A: The programmers aren't new to the scene. The one you all have probably already heard of is _Demo_, one of the authors of the best SNES emulator out there: ZSNES! The other two are calb, experienced programmer from emulators like ESNES, and Galtor, who is new to the emu scene, but still is a skilled programmer. When you want to learn more about them, make sure to check out the interview with Galtor at http://www.psxemu.com! Q: Game X doesn't run. What can I do to get it running? A: There are certain things to do before giving up on a non-working game. First off, you could use another plugin, since not all plugins work with every game. We suggest you use Pete's plugins for GPU (OpenGL, D3D or Soft), since they provide the best compatibility ... see the plugins section for more plugin troubleshooting. Then, you could try to disable MDECs, since some games crash when they try to show the opening movie. In case you're running the game from an ISO file, try Daemon Tools, since some games only work properly with that tool. Some people also informed us that using a different BIOS version has helped them getting the emu working. Now, check if your CD-ROM drive at least TRIES to read the game CD ... when it does nothing on start, try another plugin (see plugins section for more help). If this isn't the problem, you can try to load the game patches using the "Cheat" option in ePSXe. Some games have special workarounds found in these patches with allow them to run, or fix some in-game bug. And last but not least, you should try to start the emulator with the option '-cdtiming' or activate the "Enable Accurate CD-ROM Timing" option in the CD-ROM configuration screen. If all this didn't help, you just need to wait for the next version, but hey, this emulator is free so please don't send any E-Mails to the authors asking for game X to work in the next release. Q: Which BIOS files are the best to use with ePSXe? A: After the testing stage, we found out that the SCPH-1000, SCPH-5000 and SCPH-5005 don't seem to work with ePSXe. We suggest you to use the SCPH-1001 and SCPH-7502 BIOS, since they've worked great during our tests! Q: Can I use those Region X patches for the Region Y versions of the games as well? A: Nope, sorry... each patch is designed for a certain region of the game, and will most likely not work with another region. Q: Does ePSXe support changing discs in multi-disc games? A: ePSXe (version 1.0.1 and on) includes a "Change Disc" option, which can be found by going to Load -> Change Disc! This function still has some bugs, but could work for several games. Another way to get past the disc changes is to check if the game creates a savegame at the beginning of the next disc (games like Parasite Eve and Final Fantasy usually do that). In that case, simply save, exit the current game, load ePSXe again with the next CD and continue playing with the created savegame. Q: How can I show the frames per second (FPS)? A: Just press the "Del" key, this should work with most (not all) GPU plugins. Q: Can you actually play audio CDs in the "Run BIOS" option? A: Nope, that isn't supported. Q: For VGS, I used Daemon Tools to play ISOs, What should I use for ePSXe? A: Nothing like that. ePSXe comes with a built in "Run ISO" function, which easily allows you to run a .bin (CDRWin format), or .iso file from your HDD! But, Daemon Tools can have a higher compatibility rate, so you may want to still try it. Q: Can I play backups with ePSXe? A: Well, it has been proved several times now: It's nearly impossible to provide 100% protection of backup's! And since Sony isn't even able to prevent the PSX console from being used to play backups themselves, why should emulators be any different? And, since ePSXe uses the PSEmu Pro plugin system, you're even able to play ISO's directly from your hard disc! Q: During certain games (for example Driver, Ridge Racer, X-Men Vs. Street Fighter etc.), I can press whatever I want to, the emulator doesn't react. Can this be fixed? A: Yes, to get the controller working again, you just need to enable "SIO IRQ always on" in the misc menu or simply press F4 during emulation! Q: ePSXe keeps crashing on me at different locations, what can I do? A: One thing that ePSXe seems to be really sensitive to is bus speeds which are out of spec. This means you most probably overclocked your PC. If you are experiencing problems with ePSXe crashing constantly, but never at the same location, then it could be pointing to this problem. The only way that your bus speeds would be out of spec would be if you are overclocking, so if you are then you might want to try setting your processor back to its default settings with the PCI bus being at 33mhz and the AGP bus being at 66mhz. During testing the bus speeds only seemed to effect Final Fantasy IX, but it might also effect other games as well, so if you are having random crashing problems with any game, this would be something to give a try. Q: I keep getting some strange errors in the command line box in ePSXe...something about MCI? A: If you're having troubles with errors related to mci, or an empty black screen, upgrade your ePSXe and use one of the internal CD-ROM plugins, depending on your OS. If you don't wish to upgrade, or want to use another external plugin, then disable CDDA under Config > Sound. Q: ePSXe just gives me a black screen! A: See the previous question relating to CDDA. Q: Yay! ePSXe 1.2.0 supports save states! But, how do I use them? A: In order to use save states, you must get used to the keys which allow you to take advantage of them. First, F1 is to save to the current slot, F2 to increase the slot number (You can see the current slot in most GPU's on-the-fly menus), but there is a max of five slots. And finally, press F3 to load the savestate in the current slot. Also, Save States are only supported with the following plugins, and their future revisions: GPU --- Kazzuya's Software GPU 1.6 Alpha Knack's Software GPU 0.84 Beta Lewpy's Glide GPU 1.31 Pete's Direct3D GPU 1.47 Pete's OpenGL GPU 1.47 Pete's Software GPU 1.47 SPU --- ePSXe SPU Core 1.2.0 Null2's SPU 1.35 Pete's MIDAS SPU 1.7 This list will be added to as authors update their plugins to support ePSXe's save state function. Q: I'm so excited about ePSXe 1.2.0 including Force Feedback support, but there's one problem, it won't work! What am I doing wrong? A: (Answer provided by Wormie, owner of PSXFanatics.com) "I have seen some people having troubles getting Force Feedback to work for them. I don't think it was ever mentioned before, but during testing I found this feature it only seems to work when the controller is set as analog/digital in the controller setup for ePSXe. Also when setting up the analog controlls, I personally didn't mess with the options at the very bottom of the controller ... I just setup the 4 way directional pad area (or whatever it's called) with the analog stick instead of the directional pad." Q: Are there any command-line switches I should know of that are not mentioned in ePSXe's docs? A: There are quite a bit of undocumented switches, even some that aren't mentioned when using the '-help' switch! For your reading pleasure, here is a list of all known command-line switches in ePSXe 1.2.0 and their function(s): -adsrtrick - Returns a random ADSR value. -analog - Enables Analog Pad Emulation. -anamous - Enables Analog Pad Emulation via Mouse. -bios <file> - Loads the specified PlayStation BIOS file. -c - Enables the Dynarec core.* -cddmairq3 - Enables CD-ROM IRQ3 in DMA.** -cdfast - Enables Fast CD-ROM Emulation. -cdrom <letter> - Selects a CD-ROM Drive Letter -cdslow - Enables Slow CD-ROM Emulation. -cdtiming - Enables Accurate CD-ROM Timing. -debug - Enables Debugging.*** -dmairqclear - Forces DMA IRQ to always be cleared. -f - Disables BIOS Logo. (Fast Boot) -ff9pal - Enables Final Fantasy IX PAL cheat. -fl - Enables the internal framelimiter.** -forcepad - Forces SIO IRQ to always be enabled. -forcespu - Forces SPU IRQ to always be enabled. -gun - Enables Namco Gun Emulation.** -h - Displays some (not all) command-line switches. -hdev - Displays a list of debug options. -help - Displays some (not all) command-line switches. -i - Loads the Interpreter core.* -legaia - Enables Legend of Legaia cheat. -lib - Loads libpsx.exe. -loadbin <file> - Loads a specified ISO image file. -loadcheat <file> - Loads a specified .cht file. -loadfake - Loads a fake file.**** -loadmemc0 <file> - Loads a specified memory card file in the first slot (0). -loadmemc1 <file> - Loads a specified memory card file in the second slot (1). -mouse - Enables Mouse Emulation. -noaudiocd - Disables CDDA. -noauto - Disables automatically applied patches. -nocd - Disables CD-ROM Emulation. -nocdcmd11 - Disables CD-ROM command 11. -nocdstatus - Changes some CD-ROM status outputs. -nocdrtstatus - Disables CD-ROM RT status -nogui - Runs ePSXe without the GUI. -nolog - Disables log files. -nomdec - Disables MDEC. -nomdectiming - Disables MDEC Timing. -nomemcard - Disables Memory Card Emulation. -noseekinxa - Disables seeking during XA playback. -nosound - Disables Sound Emulation. -p <num> - Adds penalty cycles to memory access.***** -paddual - Enables a pad workaround* -savefake <file> - Saves a fake file.**** -v - Shows the current version of ePSXe -xaread - Enables XA Read. -xasound - Enables XA Sound Emulation. [psx exe] - Runs the specified PSX Executable (can be a .pll, zipped) * - No longer functional in ePSXe 1.2.0 ** - Not functional in ePSXe 1.2.0 *** - Not functional in public releases. **** - Mostly used by developers/testers. ***** - You can try '-p 12' to increase speed in some games, but it will normally produce input problems. Q: After I upgrade ePSXe, my controller no longer works! A: First, make sure you are running DirectX 7.0a or 8.0a, as versions 7.0 and 8.0 have DInput problems which were fixed in their 'a' counterparts. You can get the lastest DirectX from http://www.microsoft.com/directx If that doesn't fix your problem, delete the ePSXe Configuration registry entry under 'HKEY_CURRENT_USER\Software\Epsxe\Config' using Microsoft RegEdit, if you find that too hard, I suggest a powerful, yet easy to use registry editor, RegCleaner (www.jv16.org). After deleting the entry, reconfigure your controller (and everything else =P) in ePSXe. Q: ePSXe doesn't work with my controller, but I've seen others with the same use it with no problems! What am I doing wrong? A: See the first part of the previous question pertaining to DirectInput problems experienced when upgrading ePSXe. Q: ePSXe is way too fast! How can I slow it down? A: If you're using Pete's GPU plugins, check off the 'Use FPS Limit' checkbox, and select 'FPS Limit (10-200)', and manually define your FPS limit, it is recommend you input 60fps for NTSC J and U/C games, and 50fps for PAL games. If you need a little speed boost, try incrementing the fps by a bit, maybe by 10 or so. If you're using Lewpy's Glide GPU plugin, select the 'FrameRate Limit' option, choose 'Custom', and put 60fps for NTSC J and U/C, and 50fps for PAL. If you feel it's a bit slow, try boosting the speed a bit by incrementing the fps a bit, I suggest 10fps or so, but your mileage may vary. If you're using Knack's Software GPU Plugin, select the 'fps limit only' option under the 'Framerate > Adjustment Type' menu. It's automatic, as far as I know, there's no way to customize it, yet ;) Q: When I save my game using the memory cards after loading a save state, it saves fine, but the save data is missing/older when I play it the next time, what gives? A: ***WARNING: This answer has yet to be confirmed by the authors, although our tests verify it*** (Answer provided by Lewpy, developer of Lewpy's Glide GPU plugin) Here's a step-by-step of what I believe happens: 1) You start the game in ePSXe and the memcards you have selected in the GUI are used. 2) You make a SaveState - this includes PSX RAM, GPU VRAM, SPU RAM, and memcards (<- important!) 3) You quit ePSXe, go do something really important in RealLife™, and then come back 4) You start the game in ePSXe and the memcards you have selected in the GUI are used. 5) You load the SaveState - here is the problem: what should happen to the memcards? They need to be restored from the SaveState, but should they overwrite the ones that you have selected in the GUI? That _could_ trash some important saves! So the safe route is taken: some memcards called temp.000 & temp.001 are created from the SaveState, and ePSXe then uses those for the rest of the game, until closed. What does this mean? 1) Your original memcards are not overwritten by the SaveState 2) Your saves _are_ being recorded after the SaveState load 3) You have to manually recover the memcards once you quit ePSXe, BEFORE you load another SaveState (as this will overwrite the previous temp.000 & temp.001 files) To recover the memcards, go to the memcards directory and rename temp.000 & temp.001 to whatever you like. Then, in the ePSXe GUI, point it at these memcards. There may be a more sensible way around this quandary, but at least at the moment ePSXe plays it the "safe" way: imagine the "knee-jerk" reaction that would happen if ePSXe started overwritting memcards with the ones from SaveStates ;) Q: Can I use ePSXe's 'Cheat' option to use GameShark/Pro Action Replay/etc. codes? A: With some outside tools, it is possible, but that's not what ePSXe's 'Cheat' engine was meant for. It is meant for the usage of loading memory addresses which can be used as workarounds for bugs, without having to update the ePSXe executable. If you wish to use GS Codes and the like with ePSXe, we suggest you use [pec]. You can learn more about and download [pec] at http://pec.emucheater.com. Q: Does [pec] work with ePSXe 1.2.0? A: As of this writing, the external version of [pec] (version 1.2) DOES NOT work with version 1.2.0 of ePSXe. If you want to use GameShark codes in ePSXe, you should use JNS's new creation, [pec] The Plugin. [pec] the plugin uses the PSEmu Pro Plugin interface, which allows for extended compatibility, faster execution, and more! The latest version is 1.3, and can be downloaded from http://pec.emucheater.com. Please consult the [pec] documentation if you have any trouble with the program. Q: I made a save state with a multi-disc game on one of the later discs, after switching discs during play. When I started off the disc I was currently on when I went back, the save state would not load, what gives? A: Each time you wish to load your state on another CD, you must insert the first CD you made a save state on (typically Disc One), switch to the current disc you're on, and load the save state. I know this seems tedious, but at the moment, it's the only workaround known to help with this issue. NOTE: This has only been tested on FF9, if the bug does/does not occur in other multi-disc games, please mail us. Also, some people think that renaming the save state file _may_ be another solution, but this is untested. If you test this solution, and find that it works/does not work, e-mail us ASAP. Q: Some games (only a few), are giving me trouble saving, what's up, I thought this was fixed? A: Just use the old F4 trick used for ePSXe 1.0.1, for more info, check out the 'Legacy Support' section of this FAQ below. I don't know exactly which games this effects, but if anyone can clue me in, please send an e-mail, you can find our contact e-mail in the 'Credits' section. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P|l|u|g|i|n| |P|r|o|b|l|e|m|s| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Q: What's the best plugin to use for graphics (GPU)? A: Use Pete's OpenGL plugin for best graphics, if your card supports OpenGL, and use Pete's Software GPU plugin for highest compatibility. You can get both from our ePSXe plugins page. Q: I'm using Tratax's ASPI 1.2 plugin. When I start a game from CD-ROM, my computer just sits there and does nothing. What's wrong? A: Just wait around 30-60 seconds and let it load, the CD-ROM should boot afterwards. Q: I own a Voodoo 3, and I'm using Pete's GPU plugins. I configured the plugin,and selected "Nice" in order to get nice graphics. But then emulator crashes. Why? A: It's simple: Pete's plugin activated 32-bit color when you press "Nice", and the Voodoo 3 doesn't support anything more than 16-bit color. You need to lower the color depth in order to fix this problem! Q: I'm using Lewpy's Glide plugin for my 3dfx card. But every time I try to run a game, the emulator crashes. A: Download the latest version of Lewpy's plugin from our plugins section, it should be fixed in the latest version now! Also make sure you're using the latest ePSXe! Q: I'm using Win2k and can't get the CD-ROM working, no matter which plugin I try! A: In the latest version, two new CD-ROM plugins have been added. For more details about those changes, take a look at the "Getting Started" part included above in this FAQ! Q: I've downloaded and extracted Null2's SPU to my Plugins directory, but it's not showing up as a choice under SPU Plugins in ePSXe, please help! A: Null2's popular SPU plugin requires the Visual Basic 6 runtimes in order to function properly, and won't even be listed unless they are installed. Win2K, WinMe, and Win98SE(?) already come with them, but Win95 and Win98 do not. You can grab yourself a copy of the runtimes at: http://download.microsoft.com/download/vb60pro/Redist/sp4/win98/EN-US/VBRun60sp4.exe +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S|p|e|c|i|f|i|c| |G|a|m|e|s| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Q: How can I get Resident Evil 3 PAL working? A: You need to use a patched backup version, the original one is not working. Q: How can get Final Fantasy 8 PAL working? A: You need to use a patched backup version, the original one is not working. Q: Chrono Cross locks up when I use the teleporter, is there a way to fix this? A: Both 1.0.0, 1.0.1, and 1.2.0 freeze when you use the teleporter in the game, but you can unfreeze it and get past this point by hitting F3 in ePSXe 1.0.0/1.0.1, and F7 in ePSXe 1.2.0. Q: How can I get Final Fantasy 9 US/JAP working? A: It isn't playable in ePSXe 1.0.0 due to an emulation bug. Anyway, this bug has been fixed in 1.0.1 and higher :). When using Pete's hardware (D3D/OGL> plugins, remember to set Offscreen Drawing to standard in order see the battle menus, and set Framebuffer Textures to Gfx Card Buffer (If your video card supports it, check Pete's docs) or Full VRam Primitives (Note: Full VRAM Primitives WILL slow down ePSXe immensely), so you can see the effect which occurs every time you enter a battle. Q: I saw screenshots of ePSXe running Spiderman/THPS1/THPS2, but I can't seem to get them to work without messed up graphics. A: In order to play these three games on ePSXe, you must have Pete's (D3D/OGL/Soft) 1.41 (or higher) plugin revision(s). Q: What's this?!?! The ePSXe docs say FFIX PAL is supported, but my version does not work!? A: Final Fantasy IX PAL needs a patch to be applied to an ISO image of an original CD before it can work with ePSXe 1.2.0. Many people from the UK aren't able to locate a patch for their region yet, simply because there one doesn't exist yet! As of this writing, there are only patches for the german, the french and the spanish versions released. You can grab the PPF patches, and the engine to apply them with at PSXEmu.com Q: Help!! The '-legaia' switch doesn't seem to fix the problems in Legend of Legaia in ePSXe 1.2.0! A: This was an error on the authors' part, the correct switch to use via command line is '-cdtiming -legaia'. NOTE: Enabling Accurate CD-ROM Timing in options may produce the same effect, but to be safe, it's best to use the switch. Q: I can't seem to get Saga Frontier 2 PAL working, is there anything I can do? A: In order to play Sage Frontier 2 PAL in ePSXe, you must remove it's protection by patching an ISO image, you can find the patch by surfing the web. Also, you must run ePSXe with the '-auto' command-line switch. Q: ARGH! FF7 worked fine in ePSXe 1.0.0 and 1.0.1, but in 1.2.0, it crashes when I choose 'New Game', what's going on? A: The authors are aware of this bug, and it's going to be looked into. Until then, a quick fix is to either use an earlier version of ePSXe, or get a save file for FF7 at the beginning of the game, since the 'Continue' option is still working fine ;) Q: How can I get Soul Reaver functioning in ePSXe 1.2.0? A: The answer is quite simple really, simply check off the option 'Disable Real-Time CD-ROM Status' under Config > CD-ROM in ePSXe. Q: How can I get Cool Boarders 2001 working properly? A: This bug popped up somewhere in ePSXe 1.0.1, and remains in 1.2.0, to get Cool Boarders 2001 working, start ePSXe with the '-nogui' command-line switch. Q: How can I get Front Mission 3 going? A: Use the same method as the one for Cool Boarders 2001, start ePSXe with the '-nogui' command-line switch. Q: How can I get Breath of Fire 3 PAL started? A: Use the same method as the one for Cool Boarders 2001, start ePSXe with the '-nogui' command-line switch. Q: Gran Turismo 2 locks up after the intro screens, is there any way to fix this? A: Sure, simple enable 'Accurate CD-ROM Timing' under Config > CD-ROM, or start ePSXe with the '-cdtiming' command-line switch. Q: Dino Crisis locks up after a few screens, how can I get it to work? A: Well, the US (NTSC U/C) version has anti-mod protection, which needs to be removed in order for it to work with ePSXe. This can be done via a PPF patch for the game, which you can obtain by searching the web. Q: Dino Crisis 2 locks up after a few screens, similiar to Dino Crisis, what's up? A: As with Dino Crisis 1, the US (NTSC U/C) version of this game has anti-mod protection, which needs to be removed inorder for it to work with ePSXe. This can be done via a PPF patch for the game, which you can obtain by searching the web. Q: When a character joins my party in Chrono Cross, ePSXe locks up, is there a workaround for this? A: When this happens, simply press F7 on your keyboard, and ePSXe should return to normal, and you may continue your game of Chrono Cross ;) Q: How can I stop Breath of Fire 4 NTSC U/C from crashing when I enter the town of Kyria? A: Load the breath_of_fire_4_usa.cht cheat file in ePSXe's /cheats directory. You can do so under Cheats > Edit Cheat Codes. Load the cheat by selecting it after pressing the 'Load' button. Q: How can I stop the backround music from looping in Megaman X4/Rockman X4, like it does in MMX5/RMX5? A: In order to have the music playback properly, start ePSXe with the command-line switch, '-noseekinxa'. Q: How can I stop the backround music from looping in Megaman X5/Rockman X5? A: As with MMX4/RMX4, in order to have the music playback properly, start ePSXe with the command-line switch, '-noseekinxa'. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |T|e|c|h|n|i|c|a|l| |Q|u|e|s|t|i|o|n|s| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Q: Which 3D API's does ePSXe take advantage of? A: Since ePSXe uses the PSEmu Pro plugin system, it provides support for all important APIs: OpenGL, Direct3D, 3Dfx's Glide and pure software mode. For more info about the plugins and downloads, refer to our ePSXe plugins page! Q: Can ePSXe use VGS/Bleem memory cards? A: Yes, from ePSXe 1.0.1 on, you can use memory cards in VGS' or bleem!'s format. Simply select the memory card what you want to use in the specific slot using config -> memcards, start the game and play :) Q: Does ePSXe support hardware anti-aliasing? A: (Answer provided by Lewpy, PSEmu Pro plugin developer) "Since ePSXe uses PSEmu Pro GPU plugins, then you have full access to the hardware anti-aliasing that your hardware/drivers combo provides, as long as you use a hardware accelerated GPU plugin. Smoothing (i.e. bilinear filtering) is possible, but not without glitches, since the PSX games were not designed to allow for filtering. Increased screen resolution is also possible, but it doesn't allow for increased model accuracy within the PSX game. You can notice this within racing games as distant cars draw closer, there resolution is still very low. Only some kind of HLE could improve that (extracting the game data away from the actual PSX hardware .... funky stuff!)." Q: How do I dump a PlayStation BIOS? A: To dump a PlayStation BIOS, you need a GameShark or Action replay and a PC comms link. To start, you need either a real Caetla module or go to altavista and search for "Caetla" (it's a BIOS replacement for your module, so properly read the included documentation before installing it!!). Now upload "Caetla", and use use the caetla commands for downloading a binary memory image from the region 0x0bfc00000 - 0x0bfc7ffff! Now save the image as SCPHxxxx.bin, where xxxx is your PSX's model number, and ePSXe will recognise it and use it from now on. Q: How do I find out what version of the PlayStation BIOS I have? A: Open the PlayStation Bios file in WordPad or any other text editor, go down to the bottom and you will see System ROM Version X.X YY/YY/YY (Z). X is the number of the BIOS, e.g. 2.2 Y is the date of the BIOS, e.g. 12/04/95 Z is what region the BIOS is from, e.g. J for Japan, +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |A|n|n|o|y|i|n|g| |Q|u|e|s|t|i|o|n|s| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Q: Why doesn't my favorite game, X run with ePSXe? A: Well, this emulator is done in the authors FREE time, so they don't have to get any game running just for you. Certain emu authors like to have poll's on their page to see which game you'd like to work the most. If they do not, please don't mail them, they'll probably just ignore you. Same goes with us, we didn't code the emu, we can't change anything about that. Q: Can you get game X working in the next version? And when will you release it? A: See the previous answer above! Q: Where can I find the PSX BIOS? The emu asks me for it every time. A: Please neither ask us nor the emu authors for the PSX BIOS file, we simply won't give it to you since we're legally not allowed to. Search the web (I recommend www.metacrawler.com), and you should find it quite easily. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L|e|g|a|c|y| |S|u|p|p|o|r|t| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ePSXe 1.0.1 ----------- Q: With ePSXe 1.0.1, my MDECs are actually running slower than 1.0.0! What can I do to fix this? A: A simple solution to this is to just locate the ePSXe Configuration registry entry found in KEY_CURRENT_USER\Software\epsxe in your windows registry, and delete it. Restart ePSXe, reconfigure, and play! Q: Help! Some of my memcards have gotten deleted for no apparent reason! What's wrong? A: The ePSXe team recommends to backup your memory cards before using them with ePSXe. This is because some NTSC games have problems with the current NTSC timing which can result in the deletion of memcards. One suggestion is to try enabling PAL timing by setting the timing to PAL with Options > Country > PAL. As usual, the best solution is to upgrade to ePSXe 1.2.0 and higher, the problem has pretty much been resolved. Q: Ok, I got FF9 working, but I get some weird sound bugs before entering a battle and during the battle itself, is there a way to fix this? A: This is a known bug in the SPU core in ePSXe 1.0.1, to rectify this problem, upgrade to version 1.2.0 or higher. ePSXe 1.0.0 ----------- Q: The ISO function doesn't run some games my friend can play from his CDs ... Why? A: Upgrade your copy of ePSXe! In 1.0.0 the ISO function didn't apply patches yet to ISOs, this has been fixed in 1.0.1 and future versions, and should work well now! +-+-+-+-+-+-+-+ |C|r|e|d|i|t|s| +-+-+-+-+-+-+-+ Authors: Bobbi - Bobbi@psxemu.com CDBuRnOuT - CD@psxemu.com Contributors: calb Galtor _Demo_ Lewpy Pete Bernert Wormie Aldo Vargas Ryos Phuzzi dabods yazoo EmuForums' Users (If you think you should be on this list, mail us.) +-+-+-+-+-+-+ |T|h|a|n|k|s| +-+-+-+-+-+-+ CDBuRnOuT: Wormie - Thanks for being such a good friend, and for several bits of Info. Sandie - Thanks listening when I needed someone to listen, and for being a good friend, of course :) Bgnome - For being insightful, and actually giving a damn. Phuzzi - comic relief =P mathew2 - What can I say, it's m2 :D calb, Galtor, & _Demo_ - For coding such a great emu, and being really cool, down to earth devs ;) Bobbi: The PSXEmu Crew - For making this all so much fun! CDBuRnOuT - For staying with us no matter what shit we went through :) Wormie & Sandie - For always being around when I needed someone to talk to Thorgal - Being one of the biggest helpers in PSXEmu's creation! calb, Galtor, & _Demo_ - For spending so much time on this wonderous project -
Extreme Injector
A powerful and advanced injector in a simple GUI! If you're wondering, this was coded in C#.
Features:
Colourful and customizable GUI Process List Multi-DLL injection (with options to enable/disable DLLs to inject) Auto-Inject Stealth Inject Close on inject DLL Scrambling (scrambles DLLs on injection to make hacks harder to detect and make detected hacks work again) 'Un-inject' DLLs Mutiple injection methods (Standard, LdrLoadDll Stub, LdrpLoadDll Stub, Thread Hijacking and Manual Map) Drag and drop support 64-bit injection support Automatic Visual C++ depedency installer Execute exported functions after injection
How to use:
Download and extract the attachment Run Extreme Injector v3.exe (optional) Click Settings and then Start in Secure Mode to avoid Anti-Cheat detection of the injector itself. Type in a process name into the box (including the extension). If you want to target a specific process or select by window name, use the Select button. (Note) If you are injecting into Combat Arms, make sure to type in Engine.exe Add the DLLs you want by clicking on the Add DLL button. You can also drag and drop them into the DLL list. You can disable/enable which DLLs to inject so you can keep your favourite DLLs without needing to find them each time. Go into Settings and customise the settings to your liking. Everything should be straight forward (do not mess around with Advanced settings unless you know what you are doing). (Note) If you are injecting into Combat Arms, make sure to tick Auto-Inject and start the game. Click Inject and enjoy! (or wait for the process to start and let it auto-inject if you ticked auto-inject) Please explain the Injection Methods!
This version of the injector introduces 2 new injection techniques.
Standard - This is the injection technique used in nearly every injector out there. It uses CreateRemoteThread and LoadLibrary and is the most reliable injection technique. LdrLoadDll Stub - This is similar to the Standard injection technique except it goes 1 level deeper into LoadLibrary. LdrpLoadDll Stub - This goes even another level deeper into LdrLoadDll. It may crash or cause errors on OSes newer than Windows 10 as it can change. Thread Hijacking - This is a pretty stable method of injection that takes over already executing code to inject your DLL and is not used by many injectors. Manual Map - This is the most secure injection technique. So secure that even Windows won't even know about the injected DLL. It may not work properly on OSes newer than Windows 10, you will be told what to do by the injector in that case. Please explain the Scramble Options!
With the new version of Extreme Injector v3, there are way too many options to explain so I've created handy presets to make things easier:
None - As the name implies, this means that DLL scrambling is disabled completely. Basic - This applies basic scrambling that should work with most DLLs. Standard - This applies even more scrambling options that should work with most DLLs. Extreme - Applies all scrambling options (the best/strongest preset) that could break some DLLs but should work with most. Please explain the Post-Inject Options!
These post-inject techniques are often seen within hacks to try prevent detection from anti-cheats but this injector can do it externally if the hack doesn't do it already.
Erase PE - This erases the PE headers at the start of the injected DLL, making it hard for anti-cheats to identify that a DLL exists at a specific location. Hide Module - This hides the DLL from the process' module list so if an anti-cheat were to search through a process' module list, it would not appear. Warning: Most modern anti-cheats these days can still easily detect DLLs even with these options enabled. The most secure method would be using manual map.
Known bugs/limitations:
Thread Hijacking is not supported at all on XP 64-bit. LdrpLoadDll has only been tested on XP, Vista, 7, 8, 8.1 and 10. It will probably not work on anything newer than that. "Create new entrypoint" under scrambling advanced options does not support 64-bit DLLs. When using 'Start in Secure Mode'....
If your anti-virus detects a threat/virus when you click on it, please ignore it or temporarily disable your anti-virus, it's a false positive. I would never infect any users with anything. Note that you should NOT add an exclusion to the Temp folder as any REAL viruses that emerge there might get through.
Injection failed...?
Try another injection method and see what happens. Feel free to take a screenshot or copy and paste the error message here so I can look into it. Make sure to mention what OS you are running.
OMG, why is the injector connecting to the internet?
So people can stay up to date, I've added a simple update check which connects to GitHub. It does not offer any direct links or download anything by itself.
Requirements:
.NET Framework 4 by master131.
-
FB Alpha (FBA)
Arcade and Console Emulator supporting the following platforms:
Capcom CPS-1 Capcom CPS-2 Capcom CPS-3 Cave Data East DEC-0, DEC-8 and DECO IC16 based games Galaxian based hardware Irem M62, M63, M72, M90 and M92 hardware Kaneko 16 Konami Neo-Geo Pacman based hardware PGM Psikyo 68EC020 and SH-2 based hardware Sega System 1, System 16 (and similar), System 18, X-Board and Y-Board Toaplan 1 Toaplan 2 Taito F2, X, Z and others Miscellaneous drivers for lots of other hardware FB Alpha also has a WIP console drivers for Sega Megadrive/Genesis and also PC-Engine/TurboGrafx 16/SuperGrafx.
by barry65536.
-
FIFA 15 Stadium Server
This server tool will allow you to add and assign unlimited stadiums in FIFA 15, aswell overlays and intro match movies.
Features
========
Stadium Server:
Allows you to add an infinite number of stadiums to your FIFA 15 and assign them to specific teams and tournament rounds.
Overlays/Scoreboard Server:
Allows you to assign unlimited overlays (scoreboards + popups) to tournaments
Movies Server:
Allows you to assign specific intro movie files to teams or tournaments before a match
Additional Files:
Fir Park Stadium (Motherwell)
BBC Sport Intro
Three HD TV Logos
Install Instructions
============
1) Place the exe file in your FIFA 15 directory
2) Create a desktop shortcut of the stadiumserver.exe
3) Open the exe and go to About and select Help
4) You MUST read the Help/Documentation file in order to make this tool work!
Notes
==========
The tool doesn't modifies the database and therefore it's safe to use it on your saved career/tournament modes!
Tool is not compatible with online modes! (FUT, Seasons, etc)
Credits
=======
Pao4ever - Nova HD TV Logo
Razvanultra55 - BT Sport TV Logo
SG-Cesc Fabregas - Sky Sport HD1 TV Logo
Support
=======
FIFA-Infinity
http://www.fifa-infinity.com/
FIFA-Infinity Forum
http://www.fifa-infinity.com/board/
3dgamedevblog
http://3dgamedevblog.com
========================================
Made by Shawminator
========================================
COPYRIGHT
This software is provided "as is" without any warranties of any kind, either expressed or implied. Under no circumstance may the programmer(s) or the hosts of this software be held liable for any direct, indirect, incidental, special or consequential damages a rising out of the use of or inability of use of this software. You use this software at your own risk.
All trademarks are property of their respective organization.
Distribution only under author's permission and credit.
Copyright (c) 2009 - 2014 | Shawminator - FIFA INFINITY Modder. All rights reserved.
-
FIFA 20 Live Editor
FIFA Live Editor (previously known as Career Mode Cheat Table) is a tool created in cheat engine which allows you to edit players, managers, transfer budget, scouts, job offers and many other things in your FIFA Career Mode.
Current Features available in the latest version of FIFA 20 Live Editor
Non-CM Related Dont Pause Game on AltTab Free Fly Camera Game Settings Camera Play As Player Positive decision on transfer request Create Transfer Offer Accomplishments FIFA Database Tables Players Table (Allowing you to edit players) TeamPlayerLinks Table Teams Table Manager Table Teamkits Table LeagueTeamLinks Table TeamStadiumLinks Table Career_ManagerPref Table Career_PresignedContract Table Career_ManagerInfo Table Career_Users Table Career_PlayerContract Table Career_Calendar Table Career_Scouts Table Career_ScoutMission Table Unique Player Movement Unique Run Style Sterling Robben Messi Fernando Torres Yaya Toure Jordi Alba Luis Suarez Kante Salah De Bruyne Lukaku Dybala Pogba Unique Sprint Style Messi Cristiano Ronaldo Robben Yaya Toure Bale Pogba Mbappe Neymar Lukaku Aubameyang Aguero A.Sanchez Dybala De Bruyne Salah Jordi Alba Alphonso Davies Editing Player Unlock "Edit Player" in career menu Player Data First Name Last Name Known As Kit Name Birth Year Birth Month Birth Day Kit Number Players Training Unlimited Training Sessions More efficient training Training Everyday Training sim - A Manager Manager Rating - 99 seasoncount = 1 Club Finances Transfer Budget pointer Hire Scouts Free 5/5 Scouts Detailed Info Job Offers Club Team National Team Global Transfer Network Reveal player data (scouting players not needed) Morale Disable Morale Happier Players Form Disable players form (May not work at all this year) Side Changer CPU vs CPU Control Home Team Control Away Team Youth Academy Generate new report Generate players with custom ID Send scout to any country Set up multiple scouting networks in the same country 15 Players per scout report Reveal ovr and pot (of players found by your scout) PRIMARY_ATTRIBUTES_RANGE SECONDARY_ATTRIBUTES_RANGE Min player age for promotion = 12 YOUTH_PLAYER_AGE_RANGE = [12, 16] Youth Player Retire At Age = 30 95 Potential 100% chance for 5* weak foot 100% chance for 5* skill moves Match Settings Change Stadium Time Of Day Half Length Weather Sim Match Settings Max_cards = 0 Max_injuries = 0 Don't lose stamina Transfer HUB Change Release Clause value to 1$ Allow Transfer approach Allow Loan approach Player Contract Contract Negotiation Disable negotiation status checks Free & Unlimited Releasing Players Gameplay Unlimited SUBS (USER) Home/Away Unlimited subs (CPU) Home/Away Disable subs (CPU) Match Timer Home & Away team score Injured players 5 stars skill moves Never Tired players Tired players by xAranaktu.
-
FIFA 20 Revo Pitch Color Tweaker
Aplicación para el FIFA 20 de PC que permite cambiar el color del cesped.
by Fidel Gameplay & Rinaldo.
-
FIFA 20 Setup Mod
Aplicación para modificar la configuración inicial de FIFA 20.
by Doctor+ Productions.
-
FIFA 20 Ultra High Frostbite Lod Tweaker
Aplicación para editar la tecnología GFX de FIFA 20.
by Doctor+ Productions.
-
FIFA Revolution DB Master 20 (RDMB)
Editor de FIFA 20 para PC.
by Fidel Gameplay & Rinaldo.
-
fixNES
This is yet another NES Emulator which was written so I can learn about the NES, right now it is not in the most "complete" or cleanest state.
If you want to check it out for some reason I do include a windows binary in the "Releases" tab, if you want to compile it see the compiling infos below.
Loading Files:
NTSC and PAL .nes ROMs are supported, it also creates .sav files if the chosen game supports saving. If you are starting a PAL NES title then make sure it has (E),(Europe),(PAL),(Australia),(France),(Germany),(Italy),(Spain) or (Sweden) in the filename to be started in PAL mode. You can also play FDS titles if you have the FDS BIOS named disksys.rom in the same folder as your .fds/.qd files. You can also listen to .nsf music files, changing tracks works by pressing left/right. To start a file, simply drag and drop it into the fixNES Application or call it via command line with the file as argument. You can also load from a .zip file, the first found supported file from that .zip will be used. Supported .nes Mappers:
0,1,2,3,4,5,7,9,10,11,12,13,15,19,21,22,23,24,25,26,28,30,31,32,33,34,36,37,38,40,41,43,44,45,46,47,48,49,50,52,57,58,60,61,62,64,65,66,67,68,69,70,71,73,75,76,77,78,79,80,82,85,87,88,89,93,94,95,97,101,107,112,113,118,119,132,133,136,137,138,139,140,141,144,145,146,147,148,149,152,154,155,156,158,162,163,164,172,173,174,180,184,185,193,200,201,202,203,205,206,207,210,212,221,224,225,226,228,229,230,231,232,235,237,240 and 242.
Supported Audio Expansions (for both ROMs and NSF Files):
VRC6, VRC7, FDS, MMC5, N163, Sunsoft 5B Controls right now are keyboard only and do the following:
Y/Z is A X is B A is Start S is select Arrow Keys is DPad Keys 1-9 integer-scale the window to number P is Pause Ctrl+R is Soft Reset B is Disk Switching (for FDS) O is Enable/Disable vertical Overscan If you really want controller support and you are on windows, go grab joy2key, it works just fine with fixNES (and fixGB).
by FIX94.
-
Flycast
Flycast es un emulador multiplataforma de Sega Dreamcast, Naomi y Atomiswave para Windows, macOS, Android, iOS y Nintendo Switch.
¿Qué es lo que puedes hacer con Flycast?
Flycast, de momento, tiene soporte para lo siguiente:
Juegos de SEGA Dreamcast (en formatos CHD, CDI, GDI y CUE), incluídos los juegos basados en Windows CE Juegos de Sega Naomi (en format o.zip, .7z y .dat/.lst) Juegos de SEGA NAOMI GD-ROM (en formato .zip, .7z, .dat/.lst y .chd) Juegos de Sammy Atomiswave (en format o.zip y .7z) Aplicación creada por flyinghead.
-
fMSX-Windows
fMSX is a program that emulates MSX, MSX2, and MSX2+ 8bit home computers. It runs MSX/MSX2/MSX2+ software on many different platforms including Windows, Android, Symbian, MacOS, Unix, MSDOS, AmigaOS, etc. I started developing fMSX in 1993 when there were only two other MSX emulators available, both exclusively for MSDOS.
From the very beginning, I developed fMSX as a portable program able to run on many different computers.
by Marat Fayzullin.
-
Game Miner
Game Miner es un conjunto de herramientas que alivia la carga de administrar y agregar juegos que no son de Steam al cliente de Steam. Administra una lista de carpetas dadas que de ahora en adelante llamaremos "La biblioteca de juegos del usuario" (UGL) que contiene juegos que no son de Steam o cualquier otro tipo de aplicación externa que el usuario quiera agregar y ejecutar desde el cliente de Steam.
Por otro lado, Game Miner proporciona las herramientas necesarias para administrar datos de aplicaciones que no son de Steam, como compatdata, shaderdata y carpetas de ilustraciones que no se eliminan cuando el juego o la aplicación se eliminan del cliente de Steam.
Game Miner fue creado con Steam Deck en mente, pero debería funcionar en cualquier distribución de Linux. Si hay suficiente interés, podría lanzarse una versión para Windows en el futuro.
-
GeForce Experience
Captura y comparte vídeos, capturas de pantalla y transmisiones en directo con tus amigos. Mantén actualizados los controladores y optimiza tu configuración de juegos. GeForce Experience te permite hacerlo todo, por lo que es el complemento esencial para tu tarjeta gráfica GeForce.
COMPARTE TUS MEJORES MOMENTOS
Ya puedes grabar y compartir tus vídeos y transmisiones en directo de juegos a través de YouTube, Twitch y Facebook. La tecnología NVIDIA ShadowPlay te permite transmitir con muy poco impacto en el rendimiento para que no te pierdas ni un detalle del juego. El módulo GeForce Experience hace que sea rápido y sencillo.
CONSIGUE LOS CONTROLADORES GAME READY
Cada vez que aparece una versión importante de un juego, NVIDIA colabora estrechamente con sus desarrolladores para mejorar el rendimiento, corregir errores y, en definitiva, ofrecerte la mejor experiencia de gaming. Las tecnologías como NVIDIA GameWorks™ te ofrecen las herramientas necesarias para optimizar tus juegos y obtener estas mejoras mediante las actualizaciones de controladores Game Ready. GeForce Experience te informará automáticamente cuando se publiquen nuevos controladores y te permite actualizar con un solo clic, sin salir del escritorio.
CONSIGUE FOTOS INCREIBLES MIENTRAS JUEGAS CON NVIDIA ANSEL
El potente modo fotográfico de NVIDIA Ansel te permite hacer fácilmente fotos profesionales de tus juegos y compartirlas directamente a través de Facebook, Google Fotos e Imgur. Elige entre superresolución, 360, HDR y estéreo en los juegos compatibles. Más información >
PERSONALIZA TU JUEGO CON LOS FILTROS FREESTYLE
Los filtros de juego NVIDIA Freestyle son la nueva característica beta de GeForce Experience con la que puedes aplicar filtros de posprocesamiento mientras juegas. Cambia el aspecto de tu juego con el color y la saturación, o aplica filtros espectaculares, como HDR, desde el módulo de juego. Freestyle se integra en el nivel de controlador para ofrecerte total compatibilidad con los juegos admitidos.
OPTIMIZA TU CONFIGURACIÓN DE JUEGOS
GeForce Experience simplifica el gaming en PC configurando automáticamente tus ajustes óptimos. ¿No sabes qué nivel de filtro de textura seleccionar en Overwatch? No te preocupes. NVIDIA recurre a su centro de datos en la nube para probar miles de configuraciones de hardware de PC y encontrar el mejor equilibrio entre rendimiento y calidad de imagen. Después, configura automáticamente los ajustes óptimos para la GPU, CPU y pantalla de tu sistema.
-
GeForce Now
Cliente para Windows y macOS de GeForce Now, la plataforma de juego en streaming de Nvidia.
LO COMPRASTE, TE PERTENECE
Conéctate a tus tiendas favoritas y transmite tu biblioteca de juegos. Tú haces la compra en tu cuenta de tienda personal, los juegos siempre te pertenecerán.
COMPARTE LAS VICTORIAS
Desde victorias masivas hasta fracasos épicos, todos tus mejores momentos en la partida se guardan automáticamente con NVIDIA Highlights y se comparten fácilmente con el mundo.
PONTE A JUGAR
Únete a GeForce NOW y empieza a jugar de forma gratuita. O bien, actualiza tu suscripción para saltarte la espera y seguir jugando.
-
Greenlight
Greenlight es un cliente de código abierto para xCloud y xHome streaming, que están dentro de la suscripción Xbox Game Pass Ultimate, hecho en Javascript y Typescript. El cliente es una aplicación que envuelve xbox-xcloud-player. La aplicación funciona en Linux, mac, Windows y Steam Deck.
Principales características de Greenlight
Transmisión de vídeo y audio desde Xbox One y Xbox Series Compatibilidad con controles de gamepad Compatible con rumble en xCloud Controles de teclado Lista de amigos en línea integrada
Controles del teclado
Las siguientes teclas están asignadas de la siguiente forma:
Dpad: Controles de dirección del teclado Botones: A, B, X, Y, Retroceso (mapeado como B), Intro (mapeado como A) Nexus (botón Xbox): N Parachoques izquierdo: [ Parachoques derecho: ] Gatillo izquierdo: - Gatillo derecho: = Vista: V Menú M Estadísticas de streaming
Durante el stream puedes mostrar estadísticas extra de depuración que contienen datos extra sobre las colas de búfer y otra información. Para mostrar esto tienes que pulsar ~ en tu teclado.
En la parte inferior izquierda puedes ver el estado (aunque no siempre es exacto). En la parte superior derecha puedes encontrar los FPS de los decodificadores de video y audio incluyendo la latencia. En la parte inferior derecha se puede encontrar información de depuración sobre las colas de búfer y otra información que es útil para fines de depuración.
Siempre que sea posible, proporciona esta información con tu incidencia (si está relacionada).
Lista de amigos en línea
La aplicación también proporciona una forma de ver cuáles de tus amigos están conectados. Esto puede ser útil cuando quieras comprobar rápidamente si hay alguien conectado con quien jugar 🙂
Configuración de Steam Deck
Se informa de que esta aplicación funciona en el Steam Deck con algunos pequeños errores y efectos secundarios. Puedes asignar uno de los botones traseros de Steam Deck a la tecla 'N' para simular el botón Xbox.
Greenlight es una aplicación creada por unknownskl.
-
GTA: San Andreas - Project Texture Overhaul
Este mod para Grand Theft Auto: San Andreas cambia muchas texturas antiguas a HD completamente nuevas, pero conserva algunas del mismo estilo visual.
Este mod no tendrá como objetivo cambiar todas y cada una de las texturas del juego, sino mejorar las que puedan llamar tu atención mientras juegas.
La versión actual es TRABAJO EN CURSO, Así que probablemente habrá algunos problemas.
En esta primera versión de WIP hay 85 texturas completamente nuevas + (nuevos mapas normales y mapas de rugosidad).
Nuevas carreteras principales, LV y algunas partes de la carretera aún no se han actualizado. Nuevos pavimentos y alicatados alrededor de SF y LS. Todavía hay mucho más por hacer. Pocas texturas nuevas de arena, tierra, barro, hormigón, roca, etc. El 90% de las texturas son 4k, pero eso probablemente cambiará para reducir el tamaño del archivo más adelante.
Instalación:
Copie todos los archivos .pak del archivo a GTASA \ Gameface \ Content \ Paks \ ~ mods.
Desinstale eliminando los archivos de su carpeta de mods.
Mod creado por nigeez.
-
iCenhancer
Icenhancer para GTA IV de PC.
+ READ ME - IMPORTANT :
PLEASE BACKUP YOUR GAME IF YOU USE THE MANUAL INSTALLATION
I'M NOT RESPONSIBLE FOR ANY DAMAGE CAUSED OR WHATEVER CAN HAPPEN LIKE A TORNADO OR A NUCLEAR DISASTER
YOU INSTALL ICENHANCER 3.0 AT YOUR OWN RISK
/////////////////////////////////////////////////
+ INSTALLATION :
1. Extract everything somewhere.
2. Know what version you have of the game.
(If updated game on Steam then 1070.)
2 bis. You can also downgrade your game to 1040 for best graphics if you don't mind about MP.
3. Copy the content of the folder you choose depending of your version
4. Paste it in the root of your game.
5. Replace if it asks ( BE CAREFUL THAT YOU SHOULD HAVE BACKUP YOUR GAME BEFORE YOU DO SO)
6. Launch your game.
/////////////////////////////////////////////////
+ OPTIONAL :
This release contains a file called.
**icenhancer_config.txt**
Take a look at it if you're curious.
+ To disable the DOF in-game or during cutscenes.
HOLD 1 (NOT THE NUMPAD) then HOLD PAGE DOWN.
+ To enable the DOF
HOLD 1 (NOT THE NUMPAD AGAIN) then HOLD PAGE
+ If lens distortion enabled.
HOLD 7 then USE PAGE UP / DOWN.
+ To move the DOF in MANUAL_DOF SETTINGS
HOLD 2 (NOT THE NUMPAD) then HOLD PAGE UP/DOWN.
/////////////////////////////////////////////////
+ THANKS TO :
- For the iCEnhancer 3.0 release :
Boris Vorontsov : Thank you for doing and updating ENB for our lovely GTA4.
Sibs44 : Thank you for everything, all the feedback given and all and for supporting me.
BisonSales : Thank you mate for the sexiest trees texture ever and the feedback provided.
Jeroen Van Schijndel : Thank you for the help on the DOF my dear colleague.
Naboo : Thank you for the installer and config tool !
Dax1 : Thank you man for the 1070 shaders and still updating them.
- For the rest
Yi Ling : Thank you my darling for supporting me with all of this.
Ceejay.DK : Thanks for SweetFX, pretty AA!
Alexander Blade : Thanks for Xliveless and others, GTA4 modding is non-existant without this guy
DKT70 : Timecyc master that helped me a lot years ago and created the best road textures ever.
Dpeasant3 & gp65cj04 : Two good friends that left IV community since awhile now. We all owe you!
// IF YOU NEED INSTANT HELP OR WHATEVER.
// USE FACEBOOK OR TWITTER TO CONTACT ME.
// I DO NOT REPLY TO MAILS ANYMORE.
// THANK YOU.
-hk
-
JoyShockLibrary
El DualShock 4 de Sony PlayStation, el DualSense, los Joy-Cons de Nintendo Switch (usados por parejas) y el mando Pro de Nintendo Switch tienen mucho en común. Tienen muchas de las características que se esperan de los mandos de juego modernos. También tienen una entrada increíblemente versátil e infrautilizada que su mayor rival (el mando de la Xbox One de Microsoft) no tiene: el giroscopio.
El objetivo con JoyShockLibrary es permitir a los desarrolladores de juegos soportar DS4, DS, Joy-Cons, y Pro Controllers de forma nativa en los juegos de PC. He compilado la biblioteca para Windows, pero utiliza herramientas agnósticas, y espero que otros desarrolladores puedan hacerla funcionar en otras plataformas (como Linux o Mac) sin demasiados problemas.
Reference
JoyShockLibrary.h has everything you need to use the library, but here's a breakdown of everything in there.
Structs
struct JOY_SHOCK_STATE - This struct contains the state for all the sticks, buttons, and triggers on the controller. If you're just using JoyShockLibrary to be able to use JoyCons, Pro Controllers, and DualShock 4s similarly to how you'd use other devices, this has everything you need to know.
int buttons contains the states of all the controller's buttons with the following masks: 0x00001 - d-pad up 0x00002 - d-pad down 0x00004 - d-pad left 0x00008 - d-pad right 0x00010 - + on Nintendo devices, Options on DS4 0x00020 - - on Nintendo devices, Share on DS4 0x00040 - left-stick click on Nintendo devices, L3 on DS4 0x00080 - right-stick click on Nintendo devices, R3 on DS4 0x00100 - L on Nintendo devices, L1 on DS4 0x00200 - R on Nintendo devices, R1 on DS4 0x00400 - ZL on Nintendo devices, L2 on DS4 0x00800 - ZR on Nintendo devices, R2 on DS4 0x01000 - the South face-button: B on Nintendo devices, ⨉ on DS4 0x02000 - the East face-button: A on Nintendo devices, ○ on DS4 0x04000 - the West face-button: Y on Nintendo devices, □ on DS4 0x08000 - the North face-button: X on Nintendo devices, △ on DS4 0x10000 - Home on Nintendo devices, PS on DS4 0x20000 - Capture on Nintendo devices, touchpad click on DS4 0x40000 - SL on Nintendo JoyCons 0x80000 - SR on Nintendo JoyCons float lTrigger - how far has the left trigger been pressed? This will be 1 or 0 on Nintendo devices, which don't have analog triggers float rTrigger - how far has the right trigger been pressed? This will be 1 or 0 on Nintendo devices, which don't have analog triggers float stickLX, stickLY - left-stick X axis and Y axis, respectively, from -1 to 1 float stickRX, stickRX - right-stick X axis and Y axis, respectively, from -1 to 1 struct IMU_STATE - Each supported device contains an IMU which has a 3-axis accelerometer and a 3-axis gyroscope. IMU_STATE is where you find that info.
float accelX, accelY, accelZ - accelerometer X axis, Y axis, and Z axis, respectively, in g (g-force). float gyroX, gyroY, gyroZ - gyroscope angular velocity X, Y, and Z, respectively, in dps (degrees per second), when correctly calibrated. Functions
All these functions should be thread-safe, and none of them should cause any harm if given the wrong handle. If they do, please report this to me as an isuse.
int JslConnectDevices() - Register any connected devices. Returns the number of devices connected, which is helpful for getting the handles for those devices with the next function.
int JslGetConnectedDeviceHandles(int* deviceHandleArray, int size) - Fills the array deviceHandleArray of size size with the handles for all connected devices, up to the length of the array. Use the length returned by JslConnectDevices to make sure you've got all connected devices' handles.
void JslDisconnectAndDisposeAll() - Disconnect devices, no longer polling them for input.
JOY_SHOCK_STATE JslGetSimpleState(int deviceId) - Get the latest button + trigger + stick state for the controller with the given id.
IMU_STATE JslGetIMUState(int deviceId) - Get the latest accelerometer + gyroscope state for the controller with the given id.
int JslGetButtons(int deviceId) - Get the latest button state for the controller with the given id. If you want more than just the buttons, it's more efficient to use JslGetSimpleState.
float JslGetLeftX/JslGetLeftY/JslGetRightX/JslGetRightY(int deviceId) - Get the latest stick state for the controller with the given id. If you want more than just a single stick axis, it's more efficient to use JslGetSimpleState.
float JslGetLeftTrigger/JslGetRightTrigger(int deviceId) - Get the latest trigger state for the controller with the given id. If you want more than just a single trigger, it's more efficient to use JslGetSimpleState.
float JslGetGyroX/JslGetGyroY/JslGetGyroZ(int deviceId) - Get the latest angular velocity for a given gyroscope axis. If you want more than just a single gyroscope axis velocity, it's more efficient to use JslGetIMUState.
float JslGetAccelX/JslGetAccelY/JslGetAccelZ(int deviceId) - Get the latest acceleration for a given axis. If you want more than just a accelerometer axis, it's more efficient to use JslGetIMUState.
float JslGetStickStep(int deviceId) - Different devices use different size data types and different ranges on those data types when reporting stick axes. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's analog sticks.
float JslGetTriggerStep(int deviceId) - Some devices have analog triggers, some don't. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's triggers, or 1.0 if they're actually just binary inputs.
float JslGetTriggerStep(int deviceId) - Some devices have analog triggers, some don't. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's triggers, or 1.0 if they're actually just binary inputs.
float JslGetPollRate(int deviceId) - Different devices report back new information at different rates. For the given device, this gives how many times one would usually expect the device to report back per second.
void JslResetContinuousCalibration(int deviceId) - JoyShockLibrary has helpful functions for calibrating the gyroscope by averaging out its input over time. This deletes all calibration data that's been accumulated, if any, this session.
void JslStartContinuousCalibration(int deviceId) - Start collecting gyro data, recording the ongoing average and using that to offset gyro output.
void JslPauseContinuousCalibration(int deviceId) - Stop collecting gyro data, but don't delete it.
void JslGetCalibrationOffset(int deviceId, float& xOffset, float& yOffset, float& zOffset) - Get the calibrated offset value for the given device's gyro. You don't have to use it; all gyro output for this device is already being offset by this vector before leaving JoyShockLibrary.
void JslSetCalibrationOffset(int deviceId, float xOffset, float yOffset, float zOffset) - Manually set the calibrated offset value for the given device's gyro.
void JslSetCallback(void(*callback)(int, JOY_SHOCK_STATE, JOY_SHOCK_STATE, IMU_STATE, IMU_STATE, float)) - Set a callback function by which JoyShockLibrary can report the current state for each device. This callback will be given the deviceId for the reporting device, its current button + trigger + stick state, its previous button + trigger + stick state, its current accelerometer + gyro state, its previous accelerometer + gyro state, and the amount of time since the last report for this device (in seconds).
int JslGetControllerType(int deviceId) - What type of controller is this device?
Left JoyCon Right JoyCon Switch Pro Controller DualShock 4 int JslGetControllerSplitType(int deviceId) - Is this a half-controller or full? If half, what kind?
Left half Right half Full controller int JslGetControllerColour(int deviceId) - Get the colour of the controller. Only Nintendo devices support this. Others will report white.
void JslSetLightColour(int deviceId, int colour) - Set the light colour on the given controller. Only DualShock 4s support this. Players will often prefer to be able to disable the light, so make sure to give them that option, but when setting players up in a local multiplayer game, setting the light colour is a useful way to uniquely identify different controllers.
void JslSetPlayerNumber(int deviceId, int number) - Set the lights that indicate player number. This only works on Nintendo devices.
void JslSetRumble(int deviceId, int smallRumble, int bigRumble) - DualShock 4s have two types of rumble, and they can be set at the same time with different intensities. These can be set from 0 to 255. Nintendo devices support rumble as well, but totally differently. They call it "HD rumble", and it's a great feature, but JoyShockLibrary doesn't yet support it.
Known and Perceived Issues
Bluetooth connectivity
JoyShockLibrary doesn't yet support setting rumble and light colour for the DualShock 4 via Bluetooth.
JoyCons and Pro Controllers can only be connected by Bluetooth. Some Bluetooth adapters can't keep up with these devices, resulting in laggy input. This is especially common when more than one device is connected (such as when using a pair of JoyCons). There is nothing JoyShockMapper or JoyShockLibrary can do about this.
Gyro poll rate on Nintendo devices
The Nintendo devices report every 15ms, but their IMUs actually report every 5ms. Every 15ms report includes the last 3 gyro and accelerometer reports. When creating the latest IMU state for Nintendo devices, JoyShockLibrary averages out those 3 gyro and accelerometer reports, so that it can best include all that information in a sensible format. For things like controlling a cursor on a plane, this should be of little to no consequence, since the result is the same as adding all 3 reports separately over shorter time intervals. But for representing real 3D rotations of the controller, this causes the Nintendo devices to be slightly less accurate than they could be, because we're combining 3 rotations in a simplistic way.
In a future version I hope to either combine the 3 rotations in a way that works better in 3D, or to add a way for a single controller event to report several IMU events at the same time.
Credits
I'm Jibb Smart, and I made JoyShockLibrary.
JoyShockLibrary uses substantial portions of mfosse's JoyCon-Driver, a vJoy feeder for most communication with Nintendo devices, building on it with info from dekuNukem's Nintendo Switch Reverse Engineering page in order to (for example) unpack all gyro and accelerometer samples from each report.
JoyShockLibrary's DualShock 4 support would likely not be possible without the info available on PSDevWiki and Eleccelerator Wiki. chrippa's ds4drv was also a handy reference for getting rumble and lights working right away.
This software also relies on and links signal11's HIDAPI to connect to USB and Bluetooth devices. Since HIDAPI is linked statically, .objs are included. Since .objs may need to be compiled with the same compiler version as the dll itself, HIDAPI itself is included in a .zip.
-
JoyShockMapper
El DualShock 4 de Sony PlayStation, los JoyCons de Nintendo Switch (usados en pares) y el Pro Controller de Nintendo Switch tienen mucho en común. Tienen muchas de las características que se esperan de los controladores de juegos modernos. También tienen una entrada increíblemente versátil y subutilizada que su mayor rival (el controlador Xbox One de Microsoft) no tiene: un giroscopio de 3 ejes (de aquí en adelante, "gyro").
El objetivo de JoyShockMapper es permitirte jugar juegos de PC con DS4, JoyCons y Pro Controllers incluso mejor que en sus respectivas consolas, y demostrar que más juegos deberían usar estas características de estas maneras.
JoyShockMapper funciona en Windows y usa JoyShockLibrary para leer las entradas de los controladores, que solo está compilada para Windows. Pero JoyShockLibrary no usa características específicas de Windows, y JoyShockMapper solo usa código específico de Windows para crear eventos de teclado y mouse, y aísla el código específico de Windows en inputHelpers.cpp, por lo que mi esperanza es que otros desarrolladores puedan lograr que JoyShockLibrary y JoyShockMapper funcionen en otras plataformas (como Linux o Mac) sin demasiados problemas.
Installation for Players
All you have to do is run JoyShockMapper.exe.
Included is a folder called GyroConfigs. This includes templates for creating new configurations for 2D and 3D games, and configuration files that include the settings used for simple Real World Calibration.
Quick Start
Connect your DualShock 4 by USB or Bluetooth, or your JoyCons or Pro Controller by Bluetooth. Run the JoyShockMapper executable, and you should see a console window welcoming you to JoyShockMapper. If you want to connect your controller after starting JoyShockMapper, you can use the command RECONNECT_CONTROLLERS to connect these controllers. Drag in a configuration file and hit enter to load all the settings in that file. Configuration files are just text files. Every command in a text file is a command you can type directly into the console window yourself. See "Commands" below for a comprehensive guide to JoyShockMapper's commands. Example configuration files are included in the GyroConfigs folder. If you're using a configuration that utilises gyro controls, the gyro will need to be calibrated (to be told what "not moving" is). See "Gyro Mouse Inputs" under "Commands" below for more info on that, but here's the short version: Put all controllers down on a still surface; Enter the command RESTART_GYRO_CALIBRATION to begin calibrating them; After just a couple of seconds, enter the command FINISH_GYRO_CALIBRATION to finish calibrating them. A good configuration file has also been calibrated to map sensitivity settings to useful real world values. This makes it easy to have consistent settings between different games that have different scales for their own sensitivity settings. See Real World Calibration below for more info on that. JoyShockMapper can automatically load a configuration file for your games each time the game window enters focus. Drop the file in the AutoLoad folder, next to the executable. JoyShockMapper will look for a name based on the executable name of the program that's in focus. When it goes into focus and AUTOLOAD is enabled (which it is by default), JoyShockMapper will tell you the name of the file it's looking for - case insensitive. You can turn it off by entering the command AUTOLOAD = OFF. You can enable it again with AUTOLOAD = ON. Games that have native support for your controller, such as Apex Legends with DualShock 4, sometimes don't have the option to ignore your controller. Projects like HIDGuardian / HIDCerberus allow you to mask devices from all application except those that you whitelist. If you do have HIDCerberus installed and running, JoyShockMapper can be added to the whitelist by entering the command WHITELIST_ADD, removed with the command WHITELIST_REMOVE, and you can display the HIDCerberus configuration page in your browser by entering WHITELIST_SHOW. Commands
Commands can be executed by simply typing them into the JoyShockMapper console windows and hitting 'enter'. You can also put a bunch of commands into a text file and, by typing in the path to the file in JoyShockMapper (either the full path or the path relative to the JoyShockMapper executable) and hitting 'enter', execute all those commands. I refer to such a file as a "configuration file". In Windows, you can also drag and drop a file from Explorer into the JoyShockMapper console window to enter the full path of that file.
A configuration file can also contain references to other configuration files. This can simplify sharing settings across different games -- if you have preferred stick and gyro settings, you can keep them in a separate file, and have all other configuration files reference that file instead of copying all the stick and gyro settings themselves.
Commands can mostly be split into 4 categories:
Digital Inputs. These are the simplest. Map a button press or stick movement to a key or mouse button. There are many binding options available, such as tap & hold, simultaneous press and chorded press. Analog Triggers. The Dualshock 4 controller has 2 analog triggers: L2 and R2. JoyShockMapper can set different bindings on both "soft pull" and "full pull" of the trigger, maximizing use of those triggers. This feature is unavailable to controllers that have digital triggers, like the Nintendo Pro and Joycons. Stick Mouse Inputs. You can move the mouse with stick inputs and/or gyro inputs. Stick mouse has two different modes: Aim stick. This is your traditional/legacy stick aiming. Flick stick. Map the flick or rotation of a stick to the same rotation in game. More on that later. Gyro Mouse Inputs. Controlling the mouse with gyro generally provides far more precision than controlling it with a stick. Think of a gyro as a mouse on an invisible, frictionless mousepad. The mousepad extends however far you're comfortable rotating the controller. For games where you control the camera directly, stick mouse inputs provide convenient ways to complete big turns with little precision, while gyro mouse inputs allow you to make more precise, quick movements within a relatively limited range. Real World Calibration. Calibrating correctly makes it possible for flick stick to work correctly, for the gyro and aim stick settings to have meaningful real-life values, and for players to share the same settings between different games. Modeshifts. Various settings can be reconfigured depending on the controller's current button presses, in a way akin to chorded presses. This is handy to handle weapon wheels for example. These are called modeshifts to echo the Steam Input naming convention. Miscellaneous Commands. These don't fit in the above categories, but are nevertheless useful. So let's dig into the available commands.
1. Digital Inputs
Digital inputs are really simple. They are structured mostly like the following:
[Controller Input] = [Key or Mouse Button] For example, to map directional pad LEFT to the F1 key, you'd enter:
LEFT = F1 One important feature of JoyShockMapper is that a configuration that works for the DualShock 4 works the same for a pair of JoyCons or a Pro Controller. Because JoyCons can have slightly more inputs than the DualShock 4 (the SL and SR buttons are unique to the JoyCons), the button names are mostly from the Nintendo devices. The main exceptions are the face buttons and the stick-clicks. Because they are named more concisely, the stick-clicks are named after the DualShock 4: L3 and R3.
The face buttons are a more complicated matter.
The Xbox layout has become the defacto layout for PC controllers. Most PC gamers who use some sort of controller will be familiar with the Xbox layout, whether from Xbox controllers, Steam controller, or other 3rd party controllers that can be interpreted by a game as an Xbox controller. Even DualShock 4 users will be somewhat used to interpreting Xbox face button names. Nintendo devices have the same face buttons in a different layout. X and Y are swapped, and so are A and B. Nintendo's layout has also been around for longer, but is less familiar to PC players.
So the best solution, in my opinion, is to use neither layout, and use an unambiguous layout with button names that aren't used by any controller, but still have obvious positions: the cardinal layout. North, East, South, West, denoted by N, E, S, W, respectively.
So, here's the complete list of digital inputs:
UP: Up on the d-pad DOWN: Down on the d-pad LEFT: Left on the d-pad RIGHT: Right on the d-pad L: L1 or L, the top left shoulder button ZL: L2 or ZL, the bottom left shoulder button (or trigger) R: R1 or R, the top right shoulder button ZR: R2 or ZR, the bottom right shoulder button ZRF: Full pull binding of right trigger, only on DS4 ZLF: Full pull binding of left trigger, only on DS4 -: Share or - +: Options or + HOME: PS or Home CAPTURE: Touchpad click or Capture SL: SL, only on JoyCons SR: SR, only on JoyCons L3: L3 or Left-stick click R3: R3 or Right-stick click N: The North face button, △ or X E: The East face button, ○ or A S: The South face button, ⨉ or B W: The West face button, □ or Y LUP: Left stick tilted up LDOWN: Left stick tilted down LLEFT: Left stick tilted left LRIGHT: Left stick tilted right LRING: Left ring binding, either inner or outer. RUP: Right stick tilted up RDOWN: Right stick tilted down RLEFT: Right stick tilted left RRIGHT: Right stick tilted right RRING: Right ring binding, either inner or outer. These can all be mapped to the following keyboard and mouse inputs:
0-9: number keys across the top of the keyboard N0-N9: numpad number keys F1-F29: F1, F2, F3... etc A-Z: letter keys UP, DOWN, LEFT, RIGHT: the arrow keys LCONTROL, RCONTROL, CONTROL: left Ctrl, right Ctrl, generic Ctrl, respectively LALT, RALT, ALT: left Alt, right Alt, generic Alt, respectively LSHIFT, RSHIFT, SHIFT: left Shift, right Shift, generic Shift, respectively TAB: Tab ENTER: Enter LMOUSE, MMOUSE, RMOUSE: mouse left click, middle click and right click respectively BMOUSE, FMOUSE: mouse back (button 4) click and mouse forward (button 5) click respectively SCROLLUP, SCROLLDOWN: scroll the mouse wheel up, down, respectively PAGEUP, PAGEDOWN, HOME, END, INSERT, DELETE, BACKSPACE NONE: No input CALIBRATE: recalibrate gyro when pressing this input GYRO_ON, GYRO_OFF: Enable or disable gyro GYRO_INVERT, GYRO_INV_X, GYRO_INV_Y: Invert gyro, or in just the x or y axes, respectively ; ' , . / \ [ ] + - For example, in a game where R is 'reload' and E is 'use’, you can do the following to map □ to 'reload' and △ to 'use':
W = R N = E 1.1 Tap & Hold
Since a keyboard has many more inputs available than most controllers, console games will often map multiple actions to the same button while the PC version has those actions mapped to different keys. In order to fit keyboard mappings onto a controller, JoyShockMapper allows you to map taps and holds of a button to different keyboard/mouse inputs. So let's take that same game and make it so we can tap □ to 'reload' or hold □ to 'use':
W = R E If you want □ to 'reload' when tapped, but do nothing at all when held, you can do the following:
W = R NONE Gyro-related tap bindings will apply for about half a second from releasing the tap, but other bindings will simulate a very quick button tap.
1.2 Simultaneous Press
JoyShockMapper additionally allows you to map simultaneous button presses to different mappings. For example you can bind character abilities on your bumpers and an ultimate ability on both like this:
L = LSHIFT # Ability 1 R = E # Ability 2 L+R = Q # Ultimate Ability To enable a simultaneous binding, both buttons need to be pressed within a very short time of each other. Doing so will ignore the individual button bindings and apply the specified binding until either of the button is released. Simultaneous bindings also support tap & hold bindings just like other mappings. This feature is great to make use of the dpad diagonals, or to add JSM specific features like gyro calibration and gyro control without taking away accessible buttons.
1.3 Chorded Press
Chorded press works differently from Simultaneous Press, despite being similar at first blush. A chorded press mapping allows you to override a button mapping when the chord button is down. This enables a world of different practical combinations, allowing you to have contextual bindings. Here's an example for Left 4 Dead 2, that would enable you to equip items without lifting the thumb from the left stick.
W = R E # Reload / Use S = SPACE # Jump E = CONTROL # Crouch N = T # Voice Chat L = Q NONE # Other weapon, hold to select with face button. L,W = 3 # Explosives L,S = 4 # Pills L,E = 5 # Medpack L,N = F # Flashlight
A button can be chorded with multiple other buttons. In this case, the latest chord takes precedence over previous chords. This can be understood as a stack of layers being put on top of the binding each time a chord is pressed, where only the top one is active. Notice that you don't need to have NONE as a binding. The chord binding could very well be bound to a button that brings up a weapon wheel for example.
1.4 Double Press
You can also assign the double press of a button to a different binding. Double press notation is the same as chorded button notation, except the button is chorded with iteself. It supports taps and holds like all previous entries.
N = SCROLLDOWN # Cycle weapon N,N = X # Cycle weapon fire mode
The double press binding is applied when a down press occurs within a fifth of a second from a first down press. In that period of time no other binding can be assumed, so regular taps will have the delay introduced. At this point in time the time window cannot be changed.
1.5 Gyro Button
Lastly, there is one digital input that works differently, because it can overlap with any other input. Well, two inputs, but you'll use at most one of them in a given configuration:
GYRO_OFF GYRO_ON When you assign a button to GYRO_ON, gyro mouse only work while that button is pressed. GYRO_OFF disables the gyro while the button is pressed. This is a really important feature absent from most games that have gyro aiming -- just as a PC gamer can temporarily "disable" the mouse by lifting it off the mousepad in order to reposition it, a gyro gamer should be able to temporarily disable the gyro in order to reposition it. This binding doesn't affect other mappings associated with that button. This is so that the gyro can be enabled alongside certain in-game actions, or so that the gyro can be disabled or enabled instantly regardless of what taps or holds are mapped to that button.
For games that really need to use all the buttons available on the controller, but one of those inputs is rarely used and can be toggled easily (like crouching, for example), it might make sense to make that input tap-only, and make it double as the gyro-off button when held:
E = LCONTROL NONE GYRO_OFF = E Or if you really can't spare a button for disabling the gyro, you can use LEFT_STICK or RIGHT_STICK to disable the gyro while that input is being used:
GYRO_OFF = RIGHT_STICK # Disable gyro while aiming with stick
I prefer to be able to use stick aiming (or flick stick) at the same time as aiming with the gyro, but this can still be better than having no way to disable the gyro at all if your game doesn't have an obvious function to tie to enabling gyro aiming (like a dedicated "aim weapon" button as is common in third-person action games).
GYRO_ON is really useful for games where you only sometimes need to aim precisely. If ZL causes your character to aim their bow (like in Zelda: Breath of the Wild or Shadow of Mordor), maybe that's the only time you want to have gyro aiming enabled:
ZL = RMOUSE # Aim with Bow GYRO_ON = ZL # Turn on gyro when ZL is pressed GYRO_ON and GYRO_OFF can also be bound as an action to particular buttons. Contrary to the command above, this takes the spot of the action binding. But you can still find creative ways with taps & holds or chorded press to bind the right gyro control where you need it.
Take note that taps apply gyro-related bindings for half a second. Another option is inverting the gyro input with GYRO_INVERT. Such a binding can be handy if you play with a single joycon because you don't have a second stick. When that action is enabled, the inversion makes it so that you can recenter the hands by continuing to turn in the opposite direction!
SL + SR = GYRO_OFF GYRO_INVERT # Disable for .5s / Invert axis on simultaneous bumper hold Bound gyro actions like those have priority over the assigned gyro button should they conflict.
The command NO_GYRO_BUTTON can be used to remove the gyro-on or gyro-off mapping, making gyro always enabled. To have it always disabled, just set GYRO_ON = NONE or leave GYRO_SENS at 0.
2. Analog Triggers
The following section only applies to the DS4 controller because it is the only supported controller that has analog triggers.
Analog triggers report a value between 0% and 100% representing how far you are pulling the trigger. Binding a digital button to an analog trigger is done using a threashold value. The button press is sent when the trigger value crosses the threashold value, sitting between 0% and 100%. The default threashold value is 0, meaning the slightest press of the trigger sends the button press. This is great for responsiveness, but could result in accidental presses. The threashold can be customized by running the following command:
TRIGGER_THRESHOLD = 0.5 #Send Trigger values at half press The same threashold value is used for both triggers. A value of 1.0 or higher makes the binding impossible to reach, and a value below 0 makes it always pressed.
JoyShockMapper can assign different bindings to the full pull of the trigger, allowing you to have up to 4 bindings on each trigger when considering the hold bindings. The way the trigger handles these bindings is set with the variables ZR_MODE and ZL_MODE, for R2 and L2 triggers. Once set, you can assign keys to ZRF and ZLF to make use of the R2 and L2 full pull bindings respectively. In this context, ZL and ZR are called the soft pull binding because they activate before the full pull binding at 100%. Here is the list of all possible trigger modes.
NO_FULL (default): Ignore full pull binding. This mode is enforced on controllers who have digital triggers like the Pro Controller. NO_SKIP: Never skip the soft pull binding. Full pull binding activates anytime the trigger is fully pressed. MUST_SKIP: Only send full pull binding on a quick full press of the trigger, ignoring soft pull binding. MAY_SKIP: Combines NO_SKIP and MUST_SKIP: Soft binding may be skipped on a quick full press, and full pull can be activated on top of soft pull binding. MUST_SKIP_R: Responsive version of MUST_SKIP. See below. MAY_SKIP_R: Responsive version of MAY_SKIP. See below. For example, in Call of Duty you have a binding to hold your breath when aiming with a sniper. You can bind ADS on a soft trigger press and hold breath on the full press like this:
ZL_MODE = NO_SKIP # Enable full pull binding, never skip ADS ZL = RMOUSE # Aim Down Sights ZLF = LSHIFT # Hold breath Using NO_SKIP mode makes it so that LSHIFT is only active if RMOUSE is active as well. Then on the right trigger, you can bind your different attack bindings: use the skipping functionality to avoid having them conflict with eachother like this:
ZR_MODE = MUST_SKIP # Enable full pull binding, soft and full bindings are mutually exclusive ZR = LMOUSE # Primary Fire ZRF = V G # Quick full tap to melee; Quick hold full press to unpin grenade and throw on release
Using MUST_SKIP mode makes sure that once you start firing, reaching the full pull will not make you stop firing to melee.
The "Responsive" variants of the skip modes enable a different behaviour that can give you a better experience than the original versions in specific circumstances. A typical example is when the soft binding is a mode-like binding like ADS or crouch, and there is no hold or simultaneous press binding on that soft press. The difference is that the soft binding is actived as soon as the trigger crosses the threshold, giving the desired responsive feeling, but gets removed if the full press is reached quickly, thus still allowing you to hip fire for example. This will result in a hopefully negligeable scope glitch but grants a snappier ADS activation.
3. Stick Mouse Inputs
Each stick has 7 different operation modes:
AIM: traditional stick aiming FLICK: flick stick FLICK_ONLY: flick stick without rotation after tilting the stick ROTATE_ONLY: flick stick rotation without the initial flick MOUSE_RING: stick angle sets the mouse position on a circle directly around the center of the screen MOUSE_AREA: stick position sets the cursor in a circular area around the neutral position NO_MOUSE: don't affect the mouse, use button mappings (default) The mode for the left and right stick are set like so:
LEFT_STICK_MODE = NO_MOUSE RIGHT_STICK_MODE = AIM Regardless of what mode you're in, you can have additional input bound to a partial or full tilt of either stick. For example, you might want to always be pressing LSHIFT when the stick is fully tilted:
LEFT_RING_MODE = OUTER # OUTER is default, so this line is optional LRING = LSHIFT
Or you might want to always be pressing LALT when the stick is only partially tilted:
LEFT_RING_MODE = INNER LRING = LALT For backwards compatibility reasons, there are two extra options for LEFT_STICK_MODE and RIGHT_STICK_MODE that set the corresponding STICK_MODE and RING_MODE at the same time:
INNER_RING: Same as _STICK_MODE = NO_MOUSE and _RING_MODE = INNER OUTER_RING: Same as _STICK_MODE = NO_MOUSE and _RING_MODE = OUTER Let's have a look at all the different operations modes.
When using the AIM stick mode, there are a few important commands:
STICK_SENS (default 360.0 degrees per second) - How fast does the stick move the camera when tilted fully? The default, when calibrated correctly, is 360 degrees per second. STICK_POWER (default 1.0) - What is the shape of the curve used for converting stick input to camera turn velocity? 1.0 is a simple linear relationship (half-tilting the stick will turn at half the velocity given by STICK_SENS), 0.5 for square root, 2.0 for quadratic, etc. Minimum value is 0.0, which means any input beyond STICK_DEADZONE_INNER will be treated as a full press as far as STICK_SENS is concerned. STICK_AXIS_X and STICK_AXIS_Y (default STANDARD) - This allows you to invert stick axes if you wish. Your options are STANDARD (default) or INVERTED (flip the axis). STICK_ACCELERATION_RATE (default 0.0 multiplier increase per second) - When the stick is pressed fully, this option allows you to increase the camera turning velocity over time. The unit for this setting is a multiplier for STICK_SENS per second. For example, 2.0 with a STICK_SENS of 100 will cause the camera turn rate to accelerate from 100 degrees per second to 300 degrees per second over 1 second. STICK_ACCELERATION_CAP (default 1000000.0 multiplier) - You may want to set a limit on the camera turn velocity when STICK_ACCELERATION_RATE is non-zero. For example, setting STICK_ACCELERATION_CAP to 2.0 will mean that your camera turn speed won't accelerate past double the STICK_SENS setting. This has no effect when STICK_ACCELERATION_RATE is zero. STICK_DEADZONE_INNER and STICK_DEADZONE_OUTER (default 0.15 and 0.1, respectively) - Controller thumbsticks can be a little imprecise. When you release the stick, it probably won't return exactly to the centre. STICK_DEADZONE_INNER lets you say how much of the stick's range will be considered "centre". If the stick position is within this distance from the centre, it'll be considered to have no stick input. STICK_DEADZONE_OUTER does the same for the outer edge. If the stick position is within this distance from the outer edge, it'll be considered fully pressed. Everything in-between is scaled accordingly. When using the FLICK stick mode, there is less to configure. There are no deadzones and no sensitivity. When you press the stick in a direction, JoyShockMapper just takes the angle of the stick input and translates it into the same in-game direction relative to where your camera is already facing, before smoothly moving the camera to point in that direction in a small fraction of a second. Once already pressed, rotating the flick stick X degrees will then instantly turn the in-game camera X degrees. This provides a very natural way to quickly turn around, respond to gun-fire from off-screen, or make gradual turns without moving the controller.
Since flick stick only turns the camera horizontally, it's generally only practical in combination with gyro aiming that can handle vertical aiming.
Flick stick will use the above-mentioned STICK_DEADZONE_OUTER to decide if the stick has been pressed far enough for a flick or rotation. Flick stick relies on REAL_WORLD_CALIBRATION to work correctly (covered later, as it affects all inputs that translate to mouse-movements). This is because JoyShockMapper can only point the camera in a given direction by making the right mouse movement, and REAL_WORLD_CALIBRATION helps JoyShockMapper calculate what that movement should be. A game that natively implements flick stick would have no need for calibration. Flick stick has a few settings if you really want to mess with it:
FLICK_TIME (default 0.1 seconds) - When you tilt the stick a direction, how long does it take the camera to complete its turn to face that direction? I find that 0.1 seconds provides a nice, snappy response, while still looking good. Set the value too low and it may look like you're cheating, instantly going from one direction to facing another. Keep in mind that, once tilted, rotating the stick will rotate the camera instantly. There’s no need to smooth it out*; the camera just needs to make the same movement the stick is. FLICK_TIME only affects behaviour when you first tilt the stick. FLICK_SNAP_MODE (default none) - Without practice, sometimes you'll flick to a different angle than you intended. If you want to limit the angles you can flick to, FLICK_SNAP_MODE gives you three options. The default, NONE, is no snapping at all. With practice, I expect players will find this most useful, as surprises can come from any angle. But your other options are 4, which snaps the flick to the nearest of directly forward, directly left, directly right, or directly backwards. These are 90° intervals. If you want to be able to snap to 45° intervals, too, you can set FLICK_SNAP_MODE to 8. FLICK_SNAP_STRENGTH (default 1.0) - If you have a snap mode other than NONE set, this value gives you the strength of its snapping, ranging from 0 (no snapping) to 1 (full snapping). *Developer note: The DualShock 4's stick input resolution is low enough that small flick stick rotations can be jittery. JoyShockMapper applies some smoothing just to very small changes in the flick stick angle, which is very effective at covering this up. Larger movements are not smoothed at all. This is more thoroughly explained for developers to implement in their own games on GyroWiki. JoyShockMapper automatically calculates different smoothing thresholds for the DualShock 4 and Switch controllers, but you can override the smoothing threshold by setting ROTATE_SMOOTH_OVERRIDE any small number, or to 0 to disable smoothing, or to -1 to return to the automatically calculated threshold.
The FLICK_ONLY and ROTATE_ONLY stick modes work the same as flick stick with some features blocked out. The former means you'll get the initial flick, but no subsequent rotation when rotating the stick. The latter means you won't get the initial flick, but subsequent rotations will work.
When using the MOUSE_RING stick mode, tilting the stick will put the mouse cursor in a position offset from the centre of the screen by your stick position. This mode is primarily intended for twin-stick shooters. To do this, the application needs to know your screen resolution (SCREEN_RESOLUTION_X and SCREEN_RESOLUTION_Y) and how far you want the cursor to sit from the centre of the screen (MOUSE_RING_RADIUS). When this mode is in operation (i.e. the stick is not at rest), all other mouse movements are ignored.
When using the MOUSE_AREA stick mode, the stick value directly sets the mouse position. So moving the stick rightward gradually all the way to the edge will move the cursor at the same speed for a number of pixel equal to the value of MOUSE_RING_RADIUS ; and moving the stick back to the middle will move the cursor back again to where it started. Contrary to the previous mode, this mode can operate in conjunction with other mouse inputs, such as gyro.
When using stick mode NO_MOUSE, JSM will use the stick's UP DOWN LEFT and RIGHT bindings in a cross gate layout. There is a small square deadzone to ignore very small stick moves.
# Left stick moves
LLEFT = A LRIGHT = D LUP = W LDOWN = S LEFT_RING_MODE = INNER LRING = LALT # Walk 4. Gyro Mouse Inputs
The first thing you need to know about gyro mouse inputs is that a controller's gyro will often need calibrating. This just means telling the application where "zero" is. Just like a scale, the gyro needs a point of reference to compare against in order to accurately give a result. This is done by leaving the controller still, or holding it very still in your hands, and finding the average velocity over a short time of staying still. It needs to be averaged over some time because the gyro will pick up a little bit of "noise" -- tiny variations that aren't caused by any real movement -- but this noise is negligible compared to the shakiness of human hands trying to hold a controller still.
When you first connect controllers to JoyShockMapper, they'll all begin "continuous calibration" -- this just means they're collecting the average velocity over a long period of time. This accumulated average is constantly applied to gyro inputs, so if the controller is left still for long enough, you should be able to play without obvious problems.
If you have gyro mouse enabled and the gyro moves across the screen (even slowly) when the controller is lying still on a solid surface, your device needs calibrating. That's okay -- I do it at the beginning of most play sessions, especially with Nintendo devices, which seem to need it more often.
To calibrate your gyro, place your controller on solid surface so that it's not moving at all, and then use the following commands:
RESTART_GYRO_CALIBRATION - All connected gyro devices will begin collecting gyro data, remembering the average collected so far and treating it as "zero". FINISH_GYRO_CALIBRATION - Stop collecting gyro data for calibration. JoyShockMapper will use whatever it has already collected from that controller as the "zero" reference point for input from that controller. It should only take a second or so to get a good calibration for your devices. You can also calibrate each controller separately with buttons mapped to CALIBRATE. This is how you using them assuming you use the built-in mappings:
Tap the PS, Touchpad-click, Home, or Capture button on your controller to restart calibration, or to finish calibration if that controller is already calibrating. Hold the PS, Touchpad-click, Home, or Capture button to restart calibration, and it'll finish calibration once you release the controller. Warning: I've found that touching the Home button interferes with the gyro input on one of my JoyCons, so if I hold the button to calibrate it, it'll be incorrectly calibrated when I release the button. If you encounter this, it's better to rely on the tapping toggle shortcuts above for each controller, or calibrate all controllers at the same time using the commands above. The reason gyros need calibrating is that their physical properties (such as temperature) can affect their sense of "zero". Calibrating at the beginning of a play session will usually be enough for the rest of the play session, but it's possible that after the controller warms up it could use calibrating again. You'll be able to tell it needs calibrating if it appears that the gyro's "zero" is incorrect -- when the controller isn't moving, the mouse moves steadily in one direction anyway.
The second thing you need to know about gyro mouse inputs is how to choose the sensitivity of the gyro inputs:
GYRO_SENS (default 0.0) - How does turning the controller turn the in-game camera? A value of 1 means turning the controller will turn the in-game camera the same angle (within the limits of two axes). A value of 2 means turning the controller will turn double the angle in-game. Increasing the GYRO_SENS gives you more freedom to move around before turning uncomfortably and having to disable the gyro and reposition the controller, but decreasing it will give you more stability to hit small targets. For games where you don't turn the camera directly, but instead use the mouse to control an on-screen cursor, a GYRO_SENS of 1 would mean the controller needs to turn around completely to get from one side of the screen to the other. For games like these, you'll be better off with a GYRO_SENS of 8 or more, meaning you only need to turn the controller 360/8 = 45 degrees to move from one side of the screen to the other. A single GYRO_SENS setting may not be enough to get both the precision you need for small targets and the range you need to comfortably navigate the game without regularly having to disable the gyro and reposition the controller.
JoyShockMapper allows you to say, "When turning slowly, I want this sensitivity. When turning quickly, I want that sensitivity." You can do this by setting two real life speed thresholds and a sensitivity for each of those thresholds. Everything in-between will be linearly interpolated. To do this, use MIN_GYRO_THRESHOLD, MAX_GYRO_THRESHOLD, MIN_GYRO_SENS, and MAX_GYRO_SENS:
MIN_GYRO_THRESHOLD and MAX_GYRO_THRESHOLD (default 0.0 degrees per second); MIN_GYRO_SENS and MAX_GYRO_SENS (default 0.0) - MIN_GYRO_SENS and MAX_GYRO_SENS work just like GYRO_SENS, but MIN_GYRO_SENS applies when the controller is turning at or below the speed defined by MIN_GYRO_THRESHOLD, and MAX_GYRO_SENS applies when the controller is turning at or above the speed defined by MAX_GYRO_THRESHOLD. When the controller is turning at a speed between those two thresholds, the gyro sensitivity is interpolated accordingly. The thresholds are in real life degrees per second. For example, if you think about how fast you need to turn the controller for it to turn a quarter circle in one second, that's 90 degrees per second. Setting GYRO_SENS overrides MIN_GYRO_SENS and MAX_GYRO_SENS to be the same value. You can set a different vertical sensitivity by giving two values to the command separated by a space, instead of just one. Finally, there are a bunch more settings you can tweak if you so desire:
GYRO_AXIS_X and GYRO_AXIS_Y (default STANDARD) - This allows you to invert the gyro directions if you wish. Want a left- gyro turn to translate to a right- in-game turn? Set GYRO_AXIS_X to INVERTED. For normal behaviour, set it to STANDARD. MOUSE_X_FROM_GYRO_AXIS and MOUSE_Y_FROM_GYRO_AXIS (default Y and X, respectively) - Maybe you want to turn the camera left and right by rolling your controller about its local Z axis instead of turning it about its local Y axis. Or maybe you want to play with a single JoyCon sideways. This is how you do that. Your options are X, Y, Z, and NONE, if you want an axis of mouse movement unaffected by the gyro. GYRO_CUTOFF_SPEED (default 0.0 degrees per second) - Some games attempt to cover up small unintentional movements by setting a minimum speed below which gyro input will be ignored. This is that setting. It's never good. Don't use it. Some games won't even let you change or disable this "feature". I implemented it to see if it could be made good. I left it in there only so you can see for yourself that it's not good, or for you to perhaps show me how it can be. It might be mostly harmless for interacting with a simple UI with big-ish buttons, but it's useless if the player will ever intentionally turn the controller slowly (such as to track a slow-moving target), because they may unintentionally fall below the cutoff speed. Even a very small cutoff speed might be so high that it's impossible to move the aimer at the same speed as a very slow-moving target. One might argue that such a cutoff is too high, and it just needs to be set lower. But if the cutoff speed is small enough that it doesn't make the player's experience worse, it's probably also small enough that it's actually not doing anything. GYRO_CUTOFF_RECOVERY (default 0.0 degrees per second) - In order to avoid the problem that GYRO_CUTOFF_SPEED makes it impossible to move the cursor at the same speed as a very slow-moving target, JoyShockMapper smooths over the transition between the cutoff speed and a threshold determined by GYRO_CUTOFF_RECOVERY. Originally intended to make GYRO_CUTOFF_SPEED not awful, it ends up doing a good job of reducing shakiness even when GYRO_CUTOFF_SPEED is set to 0.0, but I only use it (possibly in combination with smoothing, below) as a last resort. GYRO_SMOOTH_THRESHOLD (default 0.0 degrees per second) - Optionally, JoyShockMapper will apply smoothing to the gyro input to cover up shaky hands at high sensitivities. The problem with smoothing is that it unavoidably introduces latency, so a game should never have any smoothing apply to any input faster than a very small threshold. Any gyro movement at or above this threshold will not be smoothed. Anything below this threshold will be smoothed according to the GYRO_SMOOTH_TIME setting, with a gradual transition from full smoothing at half GYRO_SMOOTH_THRESHOLD to no smoothing at GYRO_SMOOTH_THRESHOLD. GYRO_SMOOTH_TIME (default 0.125s) - If any smoothing is applied to gyro input (as determined by GYRO_SMOOTH_THRESHOLD), GYRO_SMOOTH_TIME is the length of time over which it is smoothed. Larger values mean smoother movement, but also make it feel sluggish and unresponsive. Set the smooth time too small, and it won't actually cover up unintentional movements. 5. Real World Calibration
Flick stick, aim stick, and gyro mouse inputs all rely on REAL_WORLD_CALIBRATION to provide useful values that can be shared between games and with other players. Furthermore, if REAL_WORLD_CALIBRATION is set incorrectly, flick stick flicks will not correspond to the direction you press the stick at all.
Every game requires a unique REAL_WORLD_CALIBRATION value in order for these other settings to work correctly. This actually really simplifies sharing configuration files, because once one person has calculated an accurate REAL_WORLD_CALIBRATION value for a given game, they can share it with anyone else for the same game. GyroWiki has a database of games and their corresponding REAL_WORLD_CALIBRATION (as well as other settings unique to that game). You can use this to avoid having to calculate this value in games you want to play with JoyShockMapper, or if a game isn't in that database, you can help other players by calculating its REAL_WORLD_CALIBRATION yourself and contributing it to GyroWiki!
For 3D games where the mouse directly controls the camera, REAL_WORLD_CALIBRATION is a multiplier to turn a given angle in degrees into a mouse input that turns the camera the same angle in-game.
For 2D games where the mouse directly controls an on-screen cursor, REAL_WORLD_CALIBRATION is a multiplier to turn a given fraction of a full turn into a mouse input that moves the same fraction of the full width of the screen (at 1920x1080 resolution in games where resolution affects cursor speed relative to the size of the screen).
Before we get into how to accurately calculate a good REAL_WORLD_CALIBRATION value for a given game, we first need to address two other things that can affect mouse sensitivity:
In-game mouse settings Windows mouse settings Even if REAL_WORLD_CALIBRATION is set correctly, your in-game mouse settings will change how the camera or cursor responds to mouse movements:
If you are playing with mouse acceleration enabled (a setting only a few games have, and they will usually have it disabled by default), you’ll need to disable it in-game for JoyShockMapper to work accurately. Most games have a mouse sensitivity setting, which is a simple multiplier for the mouse input. JoyShockMapper can't see this value, so you need to tell it what that value is so it can cancel it out. You can do this by setting IN_GAME_SENS to the game’s mouse sensitivity. For example, for playing with keyboard and mouse, my Quake Champions mouse sensitivity is 1.8. So in my Quake Champions config files for JoyShockMapper, or whenever I use someone else’s config file, I include the line: IN_GAME_SENS = 1.8 so that JoyShockMapper knows to cancel it out. There’s one other factor that some games need to deal with. Windows mouse settings:
In your Windows mouse settings, there’s an “Enhance pointer precision” option that JoyShockMapper can’t accurately account for. Most gamers play with this option disabled, and it’s preferable for using JoyShockMapper that you disable it, too. Windows’ pointer speed setting will also often affect the way the mouse behaves in game, but JoyShockMapper can detect Windows’ pointer speed setting and account for it. This is done with the simple command: COUNTER_OS_MOUSE_SPEED. The only complication is that some games aren’t affected by Windows’ pointer speed settings. Many modern shooters use “raw input” to ignore Windows’ settings so the user is free to use “Enhance pointer precision” and whatever sensitivity settings they want in the operating system without it affecting the game. If you’ve used COUNTER_OS_MOUSE_SPEED and realised you shouldn’t have, the command IGNORE_OS_MOUSE_SPEED restores default behaviour, which is good for games that use raw input. In summary, when preparing to share a configuration file for others to use, please consider whether COUNTER_OS_MOUSE_SPEED should be included. When using someone else’s configuration file, please remember to set the file’s IN_GAME_SENS to whatever your in-game mouse sensitivity is.
Once you've done this, you're ready to calculate your game's REAL_WORLD_CALIBRATION value.
For 3D games where the mouse directly controls the camera, the most accurate way to calculate a good REAL_WORLD_CALIBRATION value is to enable flick stick along with a first-guess REAL_WORLD_CALIBRATION value like so:
RIGHT_STICK_MODE = FLICK REAL_WORLD_CALIBRATION = 40 Now, in-game, use your mouse to fix your aimer precisely on a small target in front of you. Press your right stick forward, and rotate it until you've completed a full turn, releasing the stick once your aimer is in the same position it started before you pressed the stick.
JoyShockMapper remembers the last flick stick flick and rotation you did, so now you can simply enter the following command:
CALCULATE_REAL_WORLD_CALIBRATION This tells JoyShockMapper that your last flick and rotation was exactly one full in-game turn, and that you'd like to know what REAL_WORLD_CALIBRATION value you should have. JoyShockMapper will respond with something like, "Recommended REAL_WORLD_CALIBRATION: 151.5" (for example). Now you can verify that everything worked correctly by changing your REAL_WORLD_CALIBRATION setting like so:
REAL_WORLD_CALIBRATION = 151.5 (or whatever value JoyShockMapper gave you). Now check in-game if this value works by completing a flick stick rotation again. The angle you turn in-game should match the angle you turned the stick.
If you want to be even more precise, you can do more than one turn. If, for example, you complete 10 turns in a row without releasing the stick in order to average out any imprecision at the point of releasing the stick, you can add the number of turns after the CALCULATE_REAL_WORLD_CALIBRATION command:
CALCULATE_REAL_WORLD_CALIBRATION 10
You can do this with non-integer turns, as well, such as 0.5 for a half turn.
For 2D games where the mouse directly controls an on-screen cursor, flick stick doesn't have a practical use in general gameplay, but it's still the most useful way to calculate your REAL_WORLD_CALIBRATION value. Again, make sure your IN_GAME_SENS and COUNTER_OS_MOUSE_SPEED are set as needed, and then we'll start by enabling flick stick alongside a first guess at the REAL_WORLD_CALIBRATION.
RIGHT_STICK_MODE = FLICK REAL_WORLD_CALIBRATION = 1 Notice that this time, our first guess REAL_WORLD_CALIBRATION value is 1 instead of 40. 2D cursor games tend to have a much lower REAL_WORLD_CALIBRATION value than 3D camera games, and it's better to underestimate your first guess than overestimate, so you can complete more stick turns and get a more accurate result.
For 2D cursor games, one full rotation of the flick stick should move the cursor from one side of the screen to the other. Unlike with 3D camera games, the edges of the screen clamp the mouse position, and will interfere with the results if we try to go through them. When calibrating 3D camera games, it's OK if we overshoot our rotation, because we can still move the stick back the way it came until we precisely land on our target, and it'll work fine. But when calibrating 2D cursor games, overshooting in either direction means that some stick input goes through JoyShockMapper, but the corresponding mouse input is ignored in-game.
So, start by manually moving the mouse to the left edge of the screen, then press your right stick forward but slightly to the right, so as to avoid accidentally going slightly to the left (and pressing against the left of the screen). Now rotate the stick clockwise until you barely touch the other side of the screen, and then release the right stick. As before, you can now ask JoyShockMapper for a good REAL_WORLD_CALIBRATION as follows:
CALCULATE_REAL_WORLD_CALIBRATION JoyShockMapper will then give you your recommended REAL_WORLD_CALIBRATION. It might be something like: "Recommended REAL_WORLD_CALIBRATION: 5.3759".
You don't have to tell JoyShockMapper whether you're calibrating for a 2D game or a 3D game. Flick stick and other settings rely on a REAL_WORLD_CALIBRATION calculated this way for 3D games, but there's no direct translation between the way 3D games work (in angles and rotational velocity) to the way 2D games work (across a 2D plane), so calibrating 2D cursor games as described is simply convention.
With such a calibrated 2D game, you can choose your GYRO_SENS or other settings by thinking about how much you want to turn your controller to move across the whole screen. A GYRO_SENS of 1 would require a complete rotation of the controller to move from one side of the screen to the other, which is quite unreasonable! But a GYRO_SENS of 8 means you only have to turn the controller one eighth of a complete rotation (45 degrees) to move from one side of the other, which is probably quite reasonable.
6. Modeshifts
All settings described in previous sections that are assignations (i.e.: uses an equal sign '=') can be chorded like a regular button mapping. This is called a modeshift because you are reconfiguring the controller when specific buttons are enabled. The only exceptions are AUTOLOAD=[ON|OFF] command which is excluded since it is not related to the controller mapping, and NO_GYRO_BUTTON because it's the same as GYRO_OFF = NONE.
For example in DOOM (2016), this can enable you to use the right stick when you bring up a weapon wheel:
RIGHT_STICK_MODE = FLICK # Use flick stick GYRO_OFF = R3 # Use gyro, disable with stick click R = Q # Last weapon / Bring up weapon wheel R,GYRO_ON = NONE # Disable gyro when R is down R,RIGHT_STICK_MODE = MOUSE_AREA # Select wheel item with stick Other ideas include changing the gyro sensitivity when aiming down sights, or only when fully pulling the trigger.
GYRO_SENS = 1 0.8 # Lower vertical sensitivity ZL_MODE = NO_SKIP # Use full pull ZL = RMOUSE # ADS ZLF = NONE # No binding on full pull ZLF,GYRO_SENS = 0.5 0.4 # Half sensitivity on full pull
These commands function exactly like chorded press bindings, whereas if multiple chords are active the latest has priority. Also the chord is active whenever the button is down regardless of whether a binding is active or not. It is also worth noting that a special case is handled on stick mode changes where upon returning to the normal mode by releasing the chord button, the stick input will be ignored until it returns to the center. In the DOOM example above, this prevents an undesirable flick upon releasing the chord.
To remove an existing modeshift you have to assign NONE to the chord.
ZLF,GYRO_SENS = NONE 7. Miscellaneous Commands
There are a few other useful commands that don't fall under the above categories:
RESET_MAPPINGS - This will reset all JoyShockMapper's settings to their default values. This way you don't have to manually unset button mappings or other settings when making a big change. It can be useful to always start your configuration files with the RESET_MAPPINGS command. The only exceptions to this are the calibration state and AUTOLOAD. RECONNECT_CONTROLLERS - Controllers connected after JoyShockMapper starts will be ignored until you tell it to RECONNECT_CONTROLLERS. When this happens, all gyro calibration will reset on all controllers. JOYCON_GYRO_MASK (default IGNORE_LEFT) - Most games that use gyro controls on Switch ignore the left JoyCon's gyro to avoid confusing behaviour when the JoyCons are held separately while playing. This is the default behaviour in JoyShockMapper. But you can also choose to IGNORE_RIGHT, IGNORE_BOTH, or USE_BOTH. # comments - Any line or part of a line that begins with '#' will be ignored. Use this to organise/annotate your configuration files, or to temporarily remove commands that you may want to add later. Troubleshooting
Some third-party devices that work as controllers on Switch or PS4 may not work with JoyShockMapper. It only officially supports first-party controllers. Issues may still arise with those, though. Reach out, and hopefully we can figure out where the problem is.
But first, here are some common problems that are worth checking first.
The JoyShockMapper console will tell you how many devices are connected, and will output information with most inputs (button presses or releases, tilting the stick). However, the only way to test that the gyro is working is to enable it and see if you can move the mouse. The quickest way to check if gyro input is working without loading a config is to just enter the command GYRO_SENS = 1 and then move the controller. Don't forget that you might need to calibrate the gyro if the mouse is moving even when the controller isn't.
Many users of JoyShockMapper rely on tools like HIDGuardian to hide controller input from the game. If JSM isn't recognising your controller, maybe you haven't whitelisted JoyShockMapper.
In some circumstances, the JoyShockMapper console is responding to controller input and the mouse is responding to gyro movements, but the game you're playing isn't responding to it. This can happen when the you launch the game as an administrator. JoyShockMapper must also be launched with administrator rights in order to send keyboard and mouse events to the game.
Some users have found stick inputs to be unresponsive in one or more directions. This can happen if the stick isn't using enough of the range available to it. In this case, increasing STICK_DEADZONE_OUTER can help. In the same way, the stick might be reporting a direction as pressed even when it's not touched. This happens when STICK_DEADZONE_INNER is too small.
Known and Perceived Issues
Polling rate
New mouse and keyboard events are only sent when JoyShockMapper gets a new message from the controller. This means if your game's and display's refresh rates are higher than the controller's poll rate, sometimes the game and display will update without moving the mouse, even if you'd normally expect the mouse to move. The DualShock 4 sends 250 messages a second, which is plenty for even extremely high refresh rate displays. But JoyCons and Pro Controllers send 66.67 messages a second, which means you might encounter stuttering movements when playing (and displaying) above 66.67 frames per second. A future version of JoyShockMapper may work around this problem by repeating messages up to a desired refresh rate.
Bluetooth connectivity
JoyCons and Pro Controllers can only be connected by Bluetooth. Even when connected by USB, they currently still only communicate by Bluetooth. Some Bluetooth adapters can't keep up with these devices, resulting in laggy input. This is especially common when more than one device is connected (such as when using a pair of JoyCons). There is nothing JoyShockMapper or JoyShockLibrary can do about this.
Bluetooth support for the DualShock 4 is new in JoyShockMapper, and isn't working for everyone. Please let me know if you encounter any issues with it.
Credits
I'm Julian "Jibb" Smart, and I made JoyShockMapper. As of version 1.3, JoyShockMapper has benefited from substantial community contributions. Huge thanks to the following contributors:
Nicolas Bryan Rumsey Al. Lopez Have a look at the CHANGELOG for a better idea of who contributed what. Nicolas, in particular, regularly contributes a lot of work. He is responsible for a lot of the cool quality-of-life and advanced mapping features.
JoyShockMapper relies a lot on JoyShockLibrary, which it uses to read controller inputs.
-
JoyToKey
JoyToKey (or Joy2Key) enables PC game controllers to emulate the keyboard and mouse input, so that windows applications and web games can be controlled with your favorite joysticks! Whenever buttons and sticks are pressed on the controllers, JoyToKey converts them into keyboard strokes and/or mouse movements so that the target application will work as if a real keyboard and a mouse were used.
Version 6.3 includes the following changes:
To be more friendly for new users, JoyToKey is packaged and distributed with an installer, instead of a ZIP file format Tab names in the button assignment window are made clearer (e.g. "Keyboard 2" -> "Keyboard (Multi)") UI layout for assigning the mouse cursor movement is made simpler User configuration data will be by default stored in "JoyToKey" folder in user's "Documents" folder. In case you upgrade JoyToKey from an older version, please copy (or move) the old "JoyToKey" folder into your "Documents" folder so that you can continue to access your configuration data. Minor bug fixes Besides, following changes are included in recent releases:
Support up to max 50 joysticks (previously 32 joysticks) Support up to max 128 buttons (previously 32 buttons) Enhanced an execution of an external program to be able to pass command parameters specify the starting working directory In case JoyToKey is started when no controller is connected, JoyToKey tries to automatically detect devices until one controller is connected. From this version, users can change this behaviour such that JoyToKey continues the auto detection until two controllers are connected, or completely disable this auto detection feature. For more details, please refer to this page. Single click a task tray icon to refresh joystick connections When you connect a new joystick to the PC, you can just click the task tray icon to get it recognized (either left click or right click). Supported multiple screens for the absolute movement of a mouse cursor. Supported additional key-code emulations such as the volume control (up / down / mute), media control (prev / next / play / stop), and SCROLL_LOCK key. Changed the default key emulation code for arrow keys, R-Alt and R-Ctrl, to fix some compatibility issue with recent Windows 10. In case it causes a problem for certain old games and you want to use the old key code, in the button assignment window, please select an equivalent key (from right-click menu) which is labeled as "for DirectInput". Ability to re-process the key emulation event when the same key continues during the processing of Input1-Input4 sequence (Keyboard 2). By default, when processing the sequence of key emulation through Input1 to Input4, if the same key assignment continues, it's emulated only once. This behaviour can be changed from "Options" tab by enabling the following checkbox: "Re-process when the same key continues in sequence"
System Requirement
Operating System: Windows 10, 8, 7, Vista, XP.
by JKSoft.
-
Kyty - PS4 & PS5 Emulator
Kyty es un emulador de PS4 y PS5 para Windows, y actualmente se encuentra en sus primeras etapas de desarrollo.
Notas:
Los gráficos para PS5 aún no están implementados Es posible ejecutar algunos juegos sencillos para PS4 Puede haber fallos gráficos, cuelgues, congelaciones y bajos FPS. Por ahora está bien. Características que no están implementadas: Entrada/salida de audio Vídeo MP4 Red Multi-usuario La ruta de acceso a la carpeta Savedata está codificada y no se puede configurar. Los parámetros del sistema (idioma, formato de fecha, etc.) también están codificados.
Kyty está siendo creado por Vladimir M.
-
Logitech G Hub para macOS
Logitech G HUB te ofrece un único portal para optimizar y personalizar todos los dispositivos y accesorios Logitech G compatibles: ratones, teclados, auriculares, altavoces y cámaras Web.
Aquí puedes el Logitech G Hub para Windows.
RECONOCE DISPOSITIVOS Y ACCESORIOS AUTOMÁTICAMENTE
G HUB reconoce tus dispositivos y accesorios Logitech G compatibles y te ofrece acceso total a sus características de personalización. Mantiene actualizado el firmware automáticamente.
INTERFAZ DE ARRASTRAR Y COLOCAR
Elige características, asigna macros y enlaces de teclas, crea interrupciones y animaciones de colores, todo ello con una interfaz sencilla e intuitiva.
GESTIONA Y CAMBIA DE PERFIL
Ahora puedes guardar varios perfiles de personajes en tus juegos y cambiar de uno a otro al instante. Así que los poderes y habilidades que necesitas están siempre disponibles.
CONFIGURAR. COMPARTIR. GANAR.
Descarga perfiles de tus compañeros de juego, profesionales de los juegos y streamers populares. Es una forma fácil de probar nuevas combinaciones de teclas y macros de ratón para mejorar el juego.
CONTROLA TU STREAM
Programa botones con acciones dentro de la aplicación y crea tus propias macros para iniciar medios y cambiar de escena. Usa tus dispositivos y accesorios para gaming para tomar el mando de OBS Studio y obtener un stream más rápido y fluido.
COLOREA Y SINCRONIZA TUS DISPOSITIVOS Y ACCESORIOS
Elige entre numerosos efectos de animación, descarga perfiles de iluminación de la comunidad y crea tus propios efectos avanzados con Logitech G LIGHTSYNC para teclados, ratones, auriculares con micrófono y altavoces.
-
Logitech G Hub para Windows
Logitech G HUB te ofrece un único portal para optimizar y personalizar todos los dispositivos y accesorios Logitech G compatibles: ratones, teclados, auriculares, altavoces y cámaras Web.
Aquí puedes encontrar el Logitech G Hub para macOS.
RECONOCE DISPOSITIVOS Y ACCESORIOS AUTOMÁTICAMENTE
G HUB reconoce tus dispositivos y accesorios Logitech G compatibles y te ofrece acceso total a sus características de personalización. Mantiene actualizado el firmware automáticamente.
INTERFAZ DE ARRASTRAR Y COLOCAR
Elige características, asigna macros y enlaces de teclas, crea interrupciones y animaciones de colores, todo ello con una interfaz sencilla e intuitiva.
GESTIONA Y CAMBIA DE PERFIL
Ahora puedes guardar varios perfiles de personajes en tus juegos y cambiar de uno a otro al instante. Así que los poderes y habilidades que necesitas están siempre disponibles.
CONFIGURAR. COMPARTIR. GANAR.
Descarga perfiles de tus compañeros de juego, profesionales de los juegos y streamers populares. Es una forma fácil de probar nuevas combinaciones de teclas y macros de ratón para mejorar el juego.
CONTROLA TU STREAM
Programa botones con acciones dentro de la aplicación y crea tus propias macros para iniciar medios y cambiar de escena. Usa tus dispositivos y accesorios para gaming para tomar el mando de OBS Studio y obtener un stream más rápido y fluido.
COLOREA Y SINCRONIZA TUS DISPOSITIVOS Y ACCESORIOS
Elige entre numerosos efectos de animación, descarga perfiles de iluminación de la comunidad y crea tus propios efectos avanzados con Logitech G LIGHTSYNC para teclados, ratones, auriculares con micrófono y altavoces.
-
Mame
MAME es un framework de emulación multi-propósito.
El propósito de MAME es preservar décadas de historia del software. A medida que la tecnología electrónica sigue avanzando, MAME evita que este importante software "antiguo" se pierda y se olvide. Esto se logra al documentar el hardware y cómo funciona.
El hecho de que el software sea utilizable sirve principalmente para validar la precisión de la documentación (¿de qué otra manera puede probar que ha recreado fielmente el hardware?). Con el tiempo, MAME (originalmente significaba Multiple Arcade Machine Emulator) absorbió el proyecto hermano MESS (Multi Emulator Super System), por lo que MAME ahora documenta una amplia variedad de computadoras (en su mayoría antiguas), consolas de videojuegos y calculadoras, además de la videojuegos arcade que fueron su enfoque inicial.