XHE-3 adapter for PC Engine

Introduction

Le XHE-3

Le XHE-3

The XHE-3 is an adapter designed for using MSX controllers and joysticks on a PC Engine console. It also supports the analog mode offered by controllers such as the XE-1 AP when used with a compatible game. According to the enclosed documentation, those are:
  • Outrun
  • After Burner
  • Operation Wolf
Also, according to a forum post and this blog post, the following games also work:
  • Thunder Blade
  • Forgotten Worlds
  • After Burner II
The enclosed documentation states "After Burner", but sources above and even the PC Engine Frequently Asked Questions (in japanese) only mention "After Burner II". Are both games supported? Unfortunately I don't own those yet so I can't test. I did however test Thunder Blade. It works, but there is no difference between digital and analog modes. (Past a certain threshold of deflection, the helicopter simply starts moving at constant speed).

The XHE-3 does not support Megadrive controllers.

This adapter appears to be a bit rare, is generally fairly expensive and there seems to be very little information about it on the net. Having a unit on hand, I decided to do something about it by creating this page.

Face inférieure

Face inférieure

Connecteur DB9

Connecteur DB9




The box

Box, front face

Box, front face

Compatible with analog joysticks
XHE-3
Joystick adapter for PC Engine

Standard price: 2500 yens (plus taxes)

Box, back face

Box, back face

XHE-3 (for PC Engine) [Operating instructions]
  • An adapter to use PC joysticks [1] on a PC Engine console.
    Makes it possible to enjoy PC Engine games with PC joysticks.
  • Compatible joysticks:
    Atari-style joysticks with a connector as illustrated are supported.
    Examples: XE-1PRO, XE-1ST2, XE-1AP, XE-1AJ, etc.
    Note: The XE-1AP and XE-1AJ in analog mode are also supported by some games.
    Note: Megadrive joysticks are not supported.
  • Connects to the PC Engine
  • SELECT button
  • RUN button
    The RUN and SELECT buttons function as they do on a PC Engine gamepad.
  • Atari-style joystick connection
Standard price 2500 yens (plus taxes)
[1] Translation note: The term PC here does not refer to an IBM PC (with a DB15 joystick port) but rather to japanese home computer series such as the X68000, MSX, PC-8800, etc.
Box, left side

Box, left side

An adapter for using PC joysticks (see opposite face) on the PC Engine.

Box, right side

Box, right side

  • About analog compatibility
    Games supporting analog joysticks can be played by connecting a compatible joystick such as the XE-1AP (one of our products) to the adapter.

    At the moment (January 92), games compatible with analog joysticks are "Outrun", "After Burner" and "Operation Wolf", sold by Nec Avenue.

    More analog-compatible games are planned.
    XE-1AP
    Sold separately: Standard price of 13800 yens (plus taxes)

Box, top side

Box, top side

Adapter to use PC joysticks on PC Engine. (see opposite face)
Compatible with analog joysticks.



Instruction sheet

The instruction sheet included with the product gives some details about how the XHE3 can be used with the XE-1AP analog controller.

About analog compatibility

About analog compatibility

  • About analog compatibility (Information supplement)
    At the moment (January 92) 3 games with analog joystick support are available:
    "Outrun", "After Burner" and "Operation Wolf" (all sold be Nec Avenue)
    The controls for each game, when an analog joystick is used, are as described below.
    The START and SELECT buttons on the analog joystick function as the RUN and SELECT buttons. The RUN and SELECT button on the XHE-3 are not used.
    Warning: Switching between analog and digital mode may confuse the game. Be sure to always turn the power off when changing mode.

After burner controls

After burner controls

After Burner
Joystick: Up/down/left/right movement. Note however that up/down is the opposite of a regular control pad.
A button: Air-air missile
B button: Vulcan canon
Throttle: Speed control. Fires the after burners in response to sudden speed demands.
SELECT: Pause (stops the game temporarily). Triggers a reset when pressed together with START.
START: Used to start the game.

Operation wolf controls

Operation wolf controls

Operation Wolf
The game's title screen shows "ANALOG PUSH START" confirming an analog joystick is connected.
Joystick: Aim
A button: Rocket laucher
B button: Machine gun
Throttle: not used
START: Start or pause the game.
SELECT: Triggers a reset when pressed together with START.

Outrun controls

Outrun controls

Outrun
Joystick: Left-Right: Direction, Up-down: Gear change.
A and B buttons: Brakes
Throttle: Accelerator, speed control.
START: Start or pause the game.
SELECT: Triggers a reset when pressed together with START.




Inside the adapter

Getting inside is a simple matter of removing two philips screws, revealing a single layer PCB with through-hole components.




Schematic

I drew a schematic which I expect to be functionally equivalent to the original XHE-3. Here are a few observations:
  • The adapter is basically a standard (2 button) PC Engine gamepad but without rapid fire, and where signals from the DB9 connector replace most physical switches.
  • Unlike standard controllers, the OE (multiplexer pin 15) pin is kept low.
  • The OE signal (from mini-din pin 7), instead of being connected to the multiplexer, goes to DB9 pin 8.
  • This adapter supports analog controller such as the XE-1AP. Given this simple (and entirely digital) design, we can of course conclude that the analog to digital conversion is taking place inside the joystick. How are the resulting values transmitted? More on this below.




DIY adapter

Using the above schematic, I designed and ordered a few circuit boards.
PCB design

PCB design

Bare PCB

Bare PCB


Here are a few pictures of the assembled board:


Note: The mini-din cable comes from a broken PC Engine controller.

Component list:
QuantityDesignatorDescriptionManufacturer and part number
9 R1, R2, R3, R4, R5, R6, R7, R8, R9 47k resistor Yageo CFR-25JB-52-47K
4 R10, R11, R12, R13 330 ohm resistor Yageo CFR-25JB-52-330R
1 J1 DB9 connector, male, right-angle Norcomp 182-009-113R531
2 S1, S2 Push button, SPST-NO E-Switch KS-01Q-01
1 U1 Integrated circuit SN74HC157N Texas Instruments SN74HC157N
1 C1 .1uF capacitor AVX SR205C104KAR
1 C2 10uF capacitor Nichicon UVR1C100MDD1TD


PCB + Component kit

The PCB as well as the required components for building this project are available in the online store.




How the XE-1AP analog controller works

The XE-1AP controller uses DB9 pins 1 to 4 as a 4-bit data bus, and pins 6 and 7 (Trig1/Trig 2) as a clock to transfer 6 bytes, as illustrated below:


Reading the data can be done like this:
  1. The console generates a logic low pulse on OE for 2.24uS.
  2. The console waits for a logic low level on TRIG2.
  3. The console reads the most significant nibble on pins 1-4
  4. The console waits for a logic high level on TRIG1.
  5. The console reads the least significant nibble on pins 1-4
  6. Steps 2 to 5 are repeated 5 other times, for a total of 6 received bytes
Here is how the button and axis data are organized in those 6 bytes:

Bit
Byte76543210
0A/A'B/B'CDE1E2STARTSELECT
1Y <7:4>X <7:4>
2THROTTLE<7:4>0000
3Y <3:0>X <3:0>
4THROTTLE<3:0>0000
5ABA'B'1111
By the way, here are some pictures of the XE-1AP:





Disclaimer

I cannot be held responsible for any damages that could occur to you or your equipment while following the procedures present on this page. Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability of the informations on this page. Please note, however, that the procedures above have worked in my case without any damages or problems.

Now you cannot say that I did not warn you :)