Introduction
What is PPJoy?
PPJoy is a joystick device driver for Windows 2000 and later. There is also limited support for Windows
98 and Windows Me. PPJoy was designed for joysticks connected to the parallel port but it also supports
other devices via the virtual joystick interface
Supported devices are:
- Digital joysticks for the Commodore 64, Atari, ZX Spectrum and other computers of that era.
- Playstation controllers.
- NES, SNES and Virtual Gameboy controllers
- Sega Genesis controllers
- PPM Radio Control transmitters
- Joystick emulation using the keyboard
Windows will treat these devices just like any other joystick and they can be used in any game or
application that accepts joystick input.
Why PPJoy?
There are lots of USB joysticks out there that are a lot less hassle to install and configure. So here is why
you may want to use PPJoy:
- PPJoy is free for non-commercial use and you may already have a perfectly good controller supported
by PPJoy.
- Use the original controllers along with an emulator for a more authentic experience.
- Use your all-time favourite controller with PC games.
- Use PPJoy instead of a keyboard encoder in a game cabinet.
- You want to emulate joystick input from another application.
On the other hand you still need to buy or build the proper adapter to connect your controller to your computer.
Supported Operating Systems
PPJoy was designed for Windows 2000, Windows XP and later but will also work on Windows 98 and
Me with a few restrictions.
Windows 98 and Me restrictions:
- PPJoy cannot claim exclusive access to the parallel port and may interfere with other
applications (like printing) that use the same port. The PPJoy driver needs to be disabled
(In Device Manager) when you need to use a port for something else.
- The PPJoy setup cannot automatically install the required device drivers. They have to be
manually installed after the setup application exits.
- PPJoy may lack some features under Windows 98/Me; or some things may not work as smoothly.
- Note: PPJoy is not as well tested as under Windows 98 or Me as under Windows 2000/XP.
There is (always) a small risk that PPJoy may crash or bluescreen your computer. Use it at
your own risk.
Windows NT 4 or Windows 95 is not supported.
What's new
Version 0.78
- Configurable timing parameters for selected joystick interfaces
- Add 19200 baud FMS PIC protocol to PPJoyCOM
- Optional beep on IRQ for FMS PPM interface
- New PPJoyDLL mini-driver to read PCM R/C transmitters using SmartPropo DLLs
- Added extra support for buttons to PPJoyKey
- New-look documentation
- Additional error checking and messages during setup
- Corrected incorrect ACK timing bug with PSX interfaces
- Changed the default axis types for PPM R/C and Virtual (IOCTL) Joysticks
Version 0.77
- Eventlog entries for Windows 2000/XP
- NES PowerPad controller support
- Beta FMS PPM R/C support
- Keyboard to joystick mini-driver
- FMS Serial interface (FMSLead) mini-driver
Version 0.75
- Playstation controller support
- SNES/NES controller support
- Sega Genesis support
- Linux gamecon.c joystick interface
- User-mode joystick mini-drivers (IOCTL).
- Remapping of buttons and axes.
Upgrading from an older version
In general you can install a new version of PPJoy over an older version without uninstalling
it first. Windows 98/Me users will need to reboot after the installation to activate the new
version of the drivers.
PPJoy v0.78 changes the definition (and order) of axes for the PPM R/C and virtual joystick (IOCTL)
devices to better accommodate Windows 98/Me and non-DirectX joystick applications. You must delete
device or interface mappings you created in previous versions of PPJoy to take advantage of this
change.
PPJoy v0.75 has undergone major internal changes. If you are upgrading from an earlier version
your old joystick definitions will be deleted as part of the installation process. You will need
to add the joysticks again after the install is finished. Also, for Windows 98/Me you need to add
the Joystick Bus again (see Additional installation steps
for Windows 98 and Me).
Planned features
The following are a list of thing that I hope to get around to (if and when time permits):
- Optimised scan routines that scan many joysticks in parallel.
- Force feedback for playstation controllers.
- DualShock2 analog buttons support.
- POV Hat emulation/support.
- Better documentation / tutorials.
- Changing the number of axes and buttons that a PPJoy device reports.
- Integration into the "Game Controllers" Control Panel applet.
- Visual Basic 6 and Delphi sample code for IOCTL (virtual joystick) interface.
- Dead-zone and sensitivity configuration.
Licensing
Personal use
PPJoy is free for personal non-profit use. But please send me a postcard or email if
you are using the driver - this is your way to say thank you.
Commercial licensing
If you derive an income from PPJoy, either directly or indirectly, you are required to pay
a license fee per copy of PPJoy.
Selling adapters with PPJoy bundled, or a direct download from the website where you sell
the adapters are examples of using PPJoy to indirectly generating income.
Please contact me for terms.
Virtual joystick functions
All applications using the PPJoy Virtual Joystick functions are required to display the
following notice along with your copyright: " This application makes us of the
PPJoy virtual joystick functions. PPJoy is copyrighted by Deon van der Westhuysen"
If you charge money for your application, or use the application in conjunction with
a product you sell, you require a commercial license.
Linking to PPJoy
Direct linking to the PPJoy setup package from other websites are expressly prohibited. Links
from non-commercial sites to the PPJoy homepage are very welcome.