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 and PIC interface Radio Control transmitters
- Joystick emulation using the keyboard or mouse
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. A small donation will however be appreciated.
- 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. It is recommended that you install at least DirectX 9.
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.83
- PPM radio transmitters are now listed under their own device type (Radio control TX) in the Add Joysticks dialog box.
Version 0.82
- Added POV hat support to PPJoy.
- Fixed bug in PPortJoy.cpl - adding more than one PPM interfaces per port
- Fixed bug in PPortJoy.cpl - fixed "Unable to verify IRQ" error message
- PPJoyCOM now detects and displays only installed COM ports
- PPJoyCOM now supports the RC AeroChopper (by Ambrosia) controller
- MiniDrivers (PPJoyXXX) now detects and displays only configured Virtual Joysticks
- MiniDrivers (PPJoyXXX) now prompt for confirmation before exit
- Virtual joysticks are reset (centered and off buttons off) when application exits
- PPJoy option registry entries no longer cause PPJoyBus warnings in EventLog.
- PPJoyBus now writes the name of invalid registry entries to EventLog.
Version 0.80
- Added Sega Genesis interface as found in DirectPad Pro v6
- Updated Mapping and Timing wizard layouts
- Can now set PPM and Playstation debug options via PPJoy control panel
- Added minimize button to PPJoyDLL
- Ability to change the number and type of axes and buttons (DirextX 9 required)
- Added new DLL type to PPJoyDLL
- Added new 8 channel input DLLs to PPJoyDLL
- Added PPJoyMouse mini-driver to mouse-to-joystick emulation
- Fixed integer overflow bug for PPM interface that resulted in reduced range
- Internal fixes to PPJoyKey (DX initialisation)
- Fixed default extension for INI files saved by PPJoyCOM, PPJoyDLL and PPJoyKey
- Added option to stop PPJoy from allocating parallel port when in operation
- Modified PPJoyCOM to accept more generic 9600 baud PIC protocols
- Slight web page layout modifications
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.81 changes the default mapping of playstation controllers. The [],/\,O and X buttons are
now mapped to the POV hat by default rather than to fire buttons.
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.
- Better documentation / tutorials.
- 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.
It is unlikely however that any of these features will be implemented as I have decided to suspend PPJoy development.
See A personal note.
Licensing
Personal use
PPJoy is free for personal non-profit use but a donation is requested towards further
development of PPJoy.
Commercial licensing
If you derive an income from PPJoy, either directly or indirectly, you are required to pay
a license fee for PPJoy. PPJoy may not be bundled with any item you sell.
Including a copy of PPJoy with an adapters you sell, 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 (or mirroring) the PPJoy setup package from other websites are expressly
prohibited. Links from non-commercial sites to the PPJoy homepage are very welcome.
A personal note
I have decided to stop PPJoy development.
Why? Firstly I can no longer afford to spend the many hours and days it takes to develop
PPJoy and maintain the documentation.
Secondly, people on the Internet today seem to be an ungrateful bunch. I have received
about 5 postcards and 4 donations. And thank-you emails have been few and far between...
Hardly worth the effort I put into PPJoy! Instead I get emails mindlessly asking questions
already answered in the manual.
Will there be a next version of PPJoy? I don't know. Probably not any time soon. And if
there is a new version is will no longer be free. So Long, and Thanks for All the Fish.