Byte 15 of the NES 2.0 header names the
controller or other peripheral the game expects, so an emulator can connect it without
asking the player. Bits 0 to 6 hold the code; bit 7 is zero. The list is the NESdev
Wiki’s; addresses such as $4016 and $4017 are the console’s two
controller ports.
Device codes
| Code | Device |
|---|---|
0x00 | Unspecified |
0x01 | Standard NES/Famicom controllers |
0x02 | NES Four Score/Satellite with two additional standard controllers |
0x03 | Famicom Four Players Adapter with two additional standard controllers using the “simple” protocol |
0x04 | Vs. System (1P via $4016) |
0x05 | Vs. System (1P via $4017) |
0x06 | NES Four Score on $4016/$4017 bit 0 plus Hori 4-player Adapter on bit 1, for 8-player input |
0x07 | Vs. Zapper |
0x08 | Zapper ($4017) |
0x09 | Two Zappers |
0x0A | Bandai Hyper Shot Lightgun |
0x0B | Power Pad Side A |
0x0C | Power Pad Side B |
0x0D | Family Trainer Side A |
0x0E | Family Trainer Side B |
0x0F | Arkanoid Vaus Controller (NES) |
0x10 | Arkanoid Vaus Controller (Famicom) |
0x11 | Two Vaus Controllers plus Famicom Data Recorder |
0x12 | Konami Hyper Shot Controller |
0x13 | Coconuts Pachinko Controller |
0x14 | Exciting Boxing Punching Bag (Inflatable Boxer) |
0x15 | Jissen Mahjong Controller |
0x16 | 米澤 (Yonezawa) Party Tap |
0x17 | Oeka Kids Tablet |
0x18 | Sunsoft Barcode Battler |
0x19 | Miracle Piano Keyboard |
0x1A | Pokkun Moguraa Tap-tap Mat (Whack-a-Mole Mat and Mallet) |
0x1B | Top Rider Bike |
0x1C | Double-Fisted (requires or allows use of two controllers by one player) |
0x1D | Famicom 3D System |
0x1E | Doremikko Keyboard |
0x1F | R.O.B. Gyromite |
0x20 | Famicom Data Recorder (“silent” keyboard) |
0x21 | ASCII Turbo File |
0x22 | IGS Storage Battle Box |
0x23 | Family BASIC Keyboard plus Famicom Data Recorder |
0x24 | 东达 (Dōngdá) PEC Keyboard |
0x25 | 普澤 (Pǔzé, also Bit Corp.) Bit-79 Keyboard |
0x26 | 小霸王 (Xiǎobàwáng, also Subor) Keyboard |
0x27 | 小霸王 (Subor) Keyboard plus Macro Winners Mouse |
0x28 | 小霸王 (Subor) Keyboard plus Subor Mouse via $4016 |
0x29 | SNES Mouse ($4016) |
0x2A | Multicart |
0x2B | Two SNES controllers replacing the two standard NES controllers |
0x2C | RacerMate Bicycle |
0x2D | U-Force |
0x2E | R.O.B. Stack-Up |
0x2F | City Patrolman Lightgun |
0x30 | Sharp C1 Cassette Interface |
0x31 | Standard Controller with swapped Left-Right/Up-Down/B-A |
0x32 | Excalibur Sudoku Pad |
0x33 | ABL Pinball |
0x34 | Golden Nugget Casino extra buttons |
0x35 | 科达 (Kēdá) Keyboard |
0x36 | 小霸王 (Subor) Keyboard plus Subor Mouse via $4017 |
0x37 | Port test controller |
0x38 | Bandai Multi Game Player Gamepad buttons |
0x39 | Venom TV Dance Mat |
0x3A | LG TV Remote Control |
0x3B | Famicom Network Controller |
0x3C | King Fishing Controller |
0x3D | Croaky Karaoke Controller |
0x3E | 科王 (Kēwáng, also Kingwon) Keyboard |
0x3F | 泽诚 (Zéchéng) Keyboard |
0x40 | 小霸王 (Subor) Keyboard plus L90-rotated PS/2 mouse in $4017 |
0x41 | PS/2 Keyboard in UM6578 PS/2 port, PS/2 Mouse via $4017 |
0x42 | PS/2 Mouse in UM6578 PS/2 port |
0x43 | 裕兴 (Yùxìng) Mouse via $4016 |
0x44 | 小霸王 (Subor) Keyboard plus 裕兴 (Yùxìng) Mouse in $4016 |
0x45 | Gigggle TV Pump |
0x46 | 步步高 (Bùbùgāo, also BBK) Keyboard plus R90-rotated PS/2 mouse in $4017 |
0x47 | Magical Cooking |
0x48 | SNES Mouse ($4017) |
0x49 | Zapper ($4016) |
0x4A | Arkanoid Vaus Controller (Prototype) |
0x4B | TV 麻雀 Game (TV Mahjong Game) Controller |
0x4C | 麻雀激闘伝説 (Mahjong Gekitou Densetsu) Controller |
0x4D | 小霸王 (Subor) Keyboard plus X-inverted PS/2 mouse in $4017 |
0x4E | IBM PC/XT Keyboard |
0x4F | 小霸王 (Subor) Keyboard plus Mega Book Mouse |
0x50 | Hori Track |
When this page was written (November 2026) the NESdev list ended at
0x50.
Sources
- NES 2.0 – NESdev Wiki: the “Default Expansion Device” list for byte 15