- Following up on the DualShock 4 (DS4) PlayStation 4 / PS4 Controller Teardown
, today PlayStation 4 developer InhexSTER
has made available a DS4 to XInput Wrapper alongside a video of the PS4 DualShock 4 Controller on PC in action followed by samples to use DualShock 4 and DualShock 3 Controllers on a PS2 by xerpi
Download: [Register or Login to view links]
/ [Register or Login to view links]
(DualShock Samples) / [Register or Login to view links]
(DualShock 3 on PS2) / [Register or Login to view links]
(DualShock 4 on PS2) / [Register or Login to view links]
(PS2InfoGB - with DS3 / DS4 Support)
To quote: Hello guys, i am new here but i want to share a tool I made for Dualshock 4 controllers. I was inspired by the tool made by Scarlet.Crush for DS3.
My tool works in similar fashion and is based on source code from DS3 Scp Tool.
It works though without messing with the original drivers for DS4. Uses DirectInput to XInput mapping. You still need to install drivers for SCP virtual bus device and possible X360 Controller drivers.
Currently all buttons/Axis work like they should. No support for rumble and controlling light to indicate controller number.
Shortly I will make a video demonstrating the tool.
DS4 to XInput Mapping tool (Play any game with DS4 on PC)
: After looking into disabling original controller, so it wouldn't show up in games / do double input, I think it's not possible with using default windows drivers. Rumble and lightbar also require some more reverse engineering of USB communication.
So first thing it would require actually capturing data sent between PS4 and DS4, so we need to wait until it's released.
Second thing I most likely will not be able to capture that data myself, I don't have any means to do it.
Third this approach would require installing custom drivers for USB and Bluetooth, just like with DS3 (unsigned drivers install is a bit tricky)
I also don't mind people with Computer Engineering skills joining in. I myself have only basic knowledge of hardware, my degree focuses on software.
Finally, in related news CronusDEV
announced (via cronusmax.com/forums/showthread.php?t=140586&p=959762&viewfull=1#post959762) that CronusMAX FW v1.34 is released and includes DualShock 4 fully working XBox 360, PS3 and PC.
To quote: After a hard weekend of development we are happy to release the world's first fully working DualShock 4 Controller mod. All features are currently available in wired mode. Wireless mode is unlocked too but currently only includes the main button inputs (no rumble, led bar, gyro, ACCX, ACCY, ACCZ Support)
Make sure you have the latest version of Gtuner Update (v2.06 at time of writing) and then update your CronusMAX firmware to v1.34 now.
We are also currently working on the XBOX ONE Controller, Dualshock 4 Full Wireless Support, Keyboard & Mouse Support for the PS4 and XBOX ONE. Very busy times ahead
2013-11-25, Ver 1.34
- Dualshock 4 Controller Support for PS3, Xbox 360 & PC
- Dualshock 4 LED Bar Support
- Dualshock 4 Rumble Support
- Dualshock 4 Touchpad Support
- Dualshock 4 ACCX, ACCY, ACCZ Support
- Dualshock 4 Gyroscope (X, Y, Z) Support
- Dualshock 4 PS Home, Share, Options Buttons Support
- All Modpacks fully working - worlds first modded PS4 controller !
- All Modpacks Working with LED bar Display
- Extended implementation of HCI protocol
[xerpi] just wanted to say that I've got Dualshock3 and Dualshock4 working on the Playstation2
[xerpi] if you are interested feel free to contact me
[xerpi] here's an early version of the dualshock4 driver+library: github.com/xerpi/libds4ps2
[xerpi] I'll upload the ps3 driver now
[xerpi] that's it: [Register or Login to view links]
READ ME: INSTALLATION
- Copy ds4ps2.irx and ds4ps3.irx to the root of your usb flash drive.
- Load the .elf with an ELF loader (uLaunchELF for example).
- That's it
AUTHOR: Made by xerpi
[xerpi] I've solved PS2infoGB with ds3/ds4 bug, if you wanna try it
--------------------------- PS2InfoGB Note ---------------------------
This is PS2InfoGB rev. 6c continued by KarasQ. It's based on dlanor's
source of PS2InfoGB rev. 4
libds3ps2 and libds4ps2 support by xerpi
PS2 port of InfoGB 0.5J by '7not6'
Revision Date: 2010.10.06
------------------------- Changes history -------------------------
==== InfoGB continued by KarasQ ====
=> Rev.6c with libds3ps2 and libds4ps2
- Added: libds3ps2 and libds4ps2 support
- Fixed: No-sound issue with some ROMs
- Fixed: Sound buffer overloading issue
- Added: Ability to remember position on browser list, after back to menu
- Added: Possibility to run ROM with longer file name than 32 characters, if
save device is set to MASS
- Removed: Save and Load config option from ingame-menu (all configuration files
will be saved automatically)
- Changed: Turbo config on/off option. Now it will force setting
buttons configuration after switching to ON
- Added: Show FPS option in menu
- Added: 64K RAM size support
- Fixed: sound issue (not property synchronized)
- Fixed: sound timing for ROMs which works in Double Speed Mode
- Optimized: sound processing function (reduced function calls,
which caused low rate FPS in ROMs which work in CPU Double Speed Mode)
- Added: Access to mc1:/ device
- Added: Support for sub-directories
- Added: Sorting list (separately for folders and files)
- Added: Possibility to change buttons configuration
- Added: New In-browser menu with options (push start in browser)
- Added: Load and Save Game State (beta)
- Improved: CPU core (minor changes)
- Improved: Real Time Clock
- Improved: Preselected ROM option
- Changed: GUI - the way of selecting devices, some warning boxes etc.
- Removed: File gb.brm (what that file was for?)
And a lot of changes invisible for users
- Fixed bug: program stop on white-screen when folder PS2GB already
exists, but the file gb.brm dosen't exist in the same time (hopefully)
- Improved: MBC3 controller - should resolve problem with battery-backed save game
- Added: USB Mass Storage Support
- Added: Real Time Clock support for MBC3 controller
- Added: ability to back to browser when ROM can't be loaded
- Added: ability to run cardridge type:
==== InfoGB by dlanor ====
- Added pad Triangle reponse like 'Return' and 'BROWSE' entries
(Use it to exit from ROM folders or switch between MC/CDROM)
- Moved 'Return' entry from end of ROM list to its start instead
- Improved fast scroll (D-pad Left/Right now repeats faster)
- Fixed a bug that caused duplicate ROM entries for CD listings
- Fixed a bug that caused overly long ROM listings to be trashed
- Added auto_ROM CNF variable, to start a ROM automatically
- Restructured the release package to include full source code
- Added ability to exit from emu to user defined console manager.
- Fixed missing support for GBC extensions on CD.
- Added PS2GB folder with icon setup suitable for use on MC
- Major overhaul of emu configuration and user interface.
--------------------- Changes Notes and others ---------------------
[*] USB MASS Support
That was my major goal for my release. This PS2InfoGB uses USBHDFSD.IRX rev. 1534
and USBD.IRX rev. 1494 modules (source code from http://svn.ps2dev.org/)
USB Mass Support also extended ability added by dlanor in rev. 2 (I mean about
to exit from emu to user defined console manager). Now it's possible to run
your ELF file from USB mass storage. You can edit your INFOGB.CNF placed
on mc0:/PS2GB/. All you have to do is just change line:
"boot_ELF = mc0:/BOOT/BOOT.ELF"
"boot_ELF = mass:/PATH/YOUR_FILE.ELF"
and save changes.
There is possibility that your USB device can be not recognized by PS2InfoGB!
I don't guarantee correctly work!
[*] Real Time Clock
In revision 5c I've made mistake. Now it's fixed, but SOME SAVE GAMES, WHICH USE REAL
TIME CLOCK (ROM type ROM+MBC3+TIMER+RAM+BATT and ROM+MBC3+TIMER+BATT) MIGHT BE
NOT COMPATIBLE WITH THIS REVISION (IT'S ACTUALLY RANDOM). THE ONLY WAY TO FULLY FIX
IT YOU HAVE TO REMOVE OLD SAVE AND START GAME AGAIN.
Well, probably you will be able to continue game but without real time clock.
Sometimes games offer to set real time clock (e.g. Pokemon Crystal), but you will
set it evry time you load battery backed save.
But as I said, it's random, so it doesn't always happen.
[*] New In-browser menu with options
You can enter this menu only from browser by press start button. You can change here:
- Current Save Device - This is device where saves (*.srm and *.sav) will be stored.
You can change it from default MC0 device to MC1 or MASS. "PS2GB" folder will be
created automatically on this device (if not exists yet). If device will be not
available on the next reboot than current save divice will be set to default
MC0 debvice, PS2InfoGB will let you know about that fact.
Notice that saves are not copied from one device to another, so when you change
save device, than saves from previouse device will be not available (if you don't
copy them yourself).
Also remember that config file is always save to MC0 so if you run program without
memorycard in MC0 than default config will be loaded and Current Save Device will be
set to default (MC0) device.
- Preselected ROM - in In-browser menu you can only turn off preselected ROM. The option
will be set to "Turn off" if any ROM is currently preselected. When you choose this
option than it will switch to "Not defined", which means that preselected ROM is
More details below in paragraph "Preselecting ROM".
- Screen Adjustment - by selecting this option you can adjust screen X, Y offsets.
You can move screen by pressing DPAD (arrows) buttons. When you done just press
- Buttons configuration - see paragraph "Possibility to change buttons configuration"
- Turbo buttons - On/Off turbo buttons
- Show FPS - On/off current FPS rate info
- Boot ELF - saves current config and run ELF follow ELF Path.
[*] Preselecting ROM
This option dlanor has added in Rev.3. Since this revision preselecting ROM is easier
to use. You don't have to edit your config every time you would like to preselect a new
ROM. All you have to do is choose the option called "Preselect this ROM" (In-game menu).
When you choose it the name of this option should change to "This ROM is preselected".
It means, since now every time you reboot PS2InfoGB, message box will appear and if you
agree then preselected ROM will be loaded, if not than you will return to browser.
You can turn off this option anytime you want. Just open In-browser menu (push start in
browser) and turn it off.
I DON'T WARRANT BACKWARD COMPATIBILITY WITH PREVOUSE REVISIONS. I RECOMMEND TO REMOVE OR MAKE
A COPY OF ALL .srm AND .sav FILE BEFORE YOU RUN A NEW REVISION. SOMETIMES THERE IS NEED TO CHANGE
SAVE FILE STRUCTURE SO IT MAY BE NOT COMPATIBILE WITH PREVIOUSE ONE! DON'T FORGET THIS FUNCTION IS
STILL IN BETA TESTING
[*] Possibility to change button configuration
Now you can freely change your button configuration. Enter In-browser menu and find option
called "Button configure". You will be asked for pressing buttons. If option "Turbo Buttons"
is "On" you will be asked for 4 more buttons.
Every single gameboy or turbo button can be assign only to one PS2 PAD button, cause you
can't assign e.g. A and B button to X at the same time, so chosen button will be blocked
to avoid this situation.
DPAD (ARROWS) buttons are not changeable and you can't assign any gameboy or turbo button
to DPAD buttons.
Configuration is saved to file BUTTONS.DAT (located in mc0:/PS2GB/) This file is not
readable for human being so don't try to open it)
[*] Save and Load Game State
"Save State to [device]" and "Load State of [device]" options are finally implemented.
But! It has been tested with three ROMs so I'm not really sure how it will work with
This method take about 50kB per game state on memory card (so it's pretty much, sorry
for that, but this emu is not adapted for such things, but maybe I will add zip compression
in future revision)
The location of save state and battery backed save depends on which current device is set.
Basically it's [device]:/PS2GB/. You can change "Current Save Device" in In-browser menu
to MC0, MC1 and MASS.
I DON'T WARRANT BACKWARD COMPATIBILITY WITH PREVOUSE REVISIONS. I RECOMMEND TO REMOVE
ALL .srm AND .sav FILE WHEN YOU RUN A NEW REVISION. SOMETIMES THERE IS NEED TO CHANGE
SAVE FILE STRUCTURE SO IT MAY BE NOT COMPATIBILE WITH PREVIOUSE ONE!
[*] Sorting List
Since this release list with ROM entries and directories will be sorted. There is
implemented algorithm QuickSort. First are listing folders following by this pattern
0-9A-Za-z, then files in the same way.
[*] Other notes
- Please be careful with names of your ROM files and folders. They will be not longer
than 31 characters (or 64 if save device is set to MASS). If you use longer file
name, it may cause some problemslike missing save game and other failures, so since
this release emulator will not run kind of files anymore - it will let you know by
show you the warning message box
- In one folder you can put up to 256 files and up to 128 folders. Don't magnify
with folder depth either!
- "Important reminder for saved games:
If you are playing a game that saves to the GB 'battery RAM', make
sure that you never turn off the PS2 while the game screen is showing.
You need to make sure that the 'battery RAM' of the emulator is also
transferred to a separate *.sav file in the save folder 'mc0:/PS2GB/'
so that the correct saves can be restored the next time you play the
same game. This is NOT done at the time when you save game as part of
the gameplay. That only saves to the internal RAM of the emulator.
The only time when such saves are transferred to mc0 is when you break
off playing by using the submenu command "Back to the main menu". This
takes you back to the ROM browser where you originally started the game.
When you see that browser appear on screen, your saves are saved to the
memory card, so you can then turn off the PS2 without 'losing place' in
the GB game"
For more info about previous changes please read dlanor's release note