Hardware pinouts information and cables schemes

PC Gameport+MIDI pinout

connector or cable wiring scheme

bookmark this page

The game port is the traditional connection for video game input devices on an x86-based PCs. The game port is usually integrated with a PC I/O or sound card, either ISA or PCI, or as an on-board feature of some motherboards.



Game ports use DB-15 connectors, and usually double as connectors for MIDI instruments. To use a game port with MIDI instruments, one had to obtain an unusual cable with both DB-15 and 5-pin DIN connectors (similar to old-style pre-PS/2 keyboard connectors known as Baby AT or AT5 connectors).

Pin Name Dir Description
1+5V-->+5 VDC
2/B1<--Button 1
3X1<--Joystick 1 - X
4GND---Ground
5GND---Ground
6Y1<--Joystick 1 - Y
7/B2<--Button 2
8+5V-->+5 VDC
9+5V-->+5 VDC
10/B4<--Button 4
11X2<--Joystick 2 - X
12MIDITXD-->MIDI Transmit
13Y2<--Joystick 2 - Y
14/B3<--Button 3
15MIDIRXD<--MIDI Receive

About MIDI Signals


How this document describe signals

MIDI Signals are like ASM instructions :
First a byte gives the instruction, if there is parameters, they follow the instruction byte using data bytes.

For exemple, "Note off event (Key, Velocity)" for channel 0 will be send as "Note off event" byte, then Key data byte, then Velocity data byte: "1000 0000 - 0kkk kkkk - 0vvv vvvv"
where kkkkkkk is the Key value and vvvvvvv is the Velocity value.
Data are always 7 bits, to allow the 0 beginning the data byte, when a parameter need more than 7 bits, it uses 2 data bytes, again like in ASM: LSB followed by MSB.

Bytes table

Type Command Byte
7 6 5 4 3 2 1 0
DataData0Data
ChannelNote off event1000Channel
Note on event1001Channel
Polyphonic key pressure1010Channel
Control change1011Channel
Program change1100Channel
Channel pressure1101Channel
Pitch wheel change1110Channel
System ExclusiveSystem Exclusive Header1111 0000
System Common(Undefined)1111 0001
Measure Information1111 0010
Song Select1111 0011
(Undefined)1111 0100
(Undefined)1111 0101
Tune Request1111 0110
System ExclusiveSystem Exclusive End of block1111 0111
System Real TimeTiming Clock In Play1111 1000
Measure End1111 1001
Start From 1st Measure1111 1010
Continue Start1111 1011
Timing Clock In End1111 1100
?1111 1101
Active Sensing1111 1110
System ResetSystem Reset1111 1111

Channel Signals

The 4 highest bits of a channel status byte is the instruction, the 4 lowest ones is the channel number.

Note off event (key, velocity)
Note on event (key, velocity)
Polyphonic key pressure (key, after-touch)
Control change (command address, command value)
Program change (program number)
Channel pressure (after-touch)
Pitch wheel change (value lsb, value msb)

System Exclusive

These two instructions are used to send special instructions to a MIDI device, the instruction is made of a 2 bytes header, followed by data block(s) (as many as needed) and then finish by an end of block byte.

System Exclusive Header + Data (Identification code) + Data block(s) + System Exclusive End of block

System Real Time

Instructions for synchronisation and rythm boxes control, send for all channels.

Timing Clock In Play
This clock is send while the system is in "play" mode.
There are 24 clock impulsions for 1 black note.

Measure End
Replace the Timing Clock In Play signal at the end of every measure.

Start From 1st Measure
This signal is send when the master "play" key is pressed.
The first Timing Clock In Play must be send in the next 5ms following this signal.

Continue Start
This signal is send directly when the master "continue" key is pressed.
The next Timing Clock In Play must be send in the next 5ms following this signal.

Timing Clock In End
This signal is send when the master is in wait-mode and is used to lock a PLL during a pause.

Active Sensing
no information available.

System Common

Measure Information (measure number lsb, measure number msb)
Song Select (song number)
Tune Request

System Reset

System Reset
Restart the whole system.

Parameters

Channel
Channel number from 0 to 15.

Key
Key number from 0 to 127, the central A is always number 60.

Velocity
Velocity from 0 to 127 (0=Note off).
If the keyboard doesn"t have velocity, 64 is send as default.

After touch
After-touch from 0 to 127.

Command address
Address from 0 to 127.
Except for the "Pitch bender", which is 0, there is no specification for these.

Command value
For controllers, from 0 to 127.
For switches, 0=off, 127=on (other ore ignored).

Program number
Program number from 0 to 127.

Identification code
Society code from 0 to 127.

01000 0001Sequential Systems
40100 0000Kawai
41100 0001Roland
42100 0010Korg
43100 0011Yamaha

Measure number
Measure number in 14 bits.
The value is divided into 7 msb bits and 7 lsb bits to be able to send them as data blocks.

Note: Direction is Computer relative joystick.
Note: Use 100 kohm resistor.


This information should be correct, but may be not. Please, help us to improve this document!
Is this document CORRECT or INCORRECT? Your opinion will be used to establish document status (showed at the bottom).
15 pin D-SUB male connector diagram

15 pin D-SUB male connector
at the joystick cable

Related Links:
Pinouts.ru > Input devices (keyboards, mices, joysticks) pinouts >  Pinout of PC Gameport+MIDI and layout of 15 pin D-SUB female connector and 15 pin D-SUB male connector
Document status: correct
Source(s) of this and additional information: Joysticks and game controllers, from Hardware Book, parts by technick.net, en.wikipedia.org 1 reports
Last updated at Mon May 29 2006. Submit additions or corrections for this document. Is this document correct or incorrect? What is your opinion?
[Discuss at the forum] [Back to index] [SUBMIT new pinout]
This page contain parts under Copyright © 2000-2007 by pinouts.ru team.
No any portion of this webpage may be reproduced in any form without visible direct link to this page provided. Webmaster permission required in any other cases.
Efforts have been made to ensure this page is correct, but it is the responsibility of the user to verify the data is correct for their application.
20498 hits since March 4, 2005