# 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.