misc. > アタリ仕様ジョイスティック研究 > コントローラ側の仕様 > セガタップ

セガタップ

概要

1993年4月(日本国内)に登場したメガドライブ用のマルチプレイヤー用コントローラ分配器。コントローラ端子1つに付き4つのコントローラを接続できるようにするものである。日本では「セガタップ」(型番HAA-2652)、北米では"Team Player"(型番MK-1654)、欧州では"4-Player Adaptor"(型番MK-1654-50)という名前で販売された1。分配器本体には、A〜D、MULTIを選択するスライドスイッチがついており、スイッチがA〜Dを指している状態ではコントローラ切替器としても使える。

北米及び欧州ではケーブルが二本ついている後期バージョンがある(型番は北米がMK-1647、欧州がMK-1647-44)。後期バージョンは4 Way Play2というサードパーティー製の分配器と互換性をもたせたものである3

1

Sega Retroの記事より

2

1993年9月にElectronic Artsから発売されたもの。分配器本体に2つのメスコネクタがついており、分配器を直接差し込むようになっている。EAのスポーツゲームがこの分配器に対応していた。

3

ケーブル2本のうち1本のみを本体に差し込むことで、前期バージョンと同様の使い方をすることも可能。

ハードウェア特性

以下の説明では、前期版のみのモードを「セガモード」、後期版で追加された4 Way Play互換モードを「EAモード」とする。セガモードについてはRaphael Assenat氏による説明を、EAモードについてはHugues Johnson氏による説明 を参考にしている。メガドライブ本体に差し込む端子のピンアウトは以下の通り。

pin#

Sega Mode

EA Mode (Controller 2)

1

Data Bit 0 (in)

Command Bit 0 (out)

2

Data Bit 1 (in)

Command Bit 1 (out)

3

Data Bit 2 (in)

Command Bit 2 (out)

4

Data Bit 3 (in)

Command Bit 3 (out)

5

VCC

6

Data Ready (in)

Command Bit 4 (out)

7

Scan Start/End (out)

Command Bit 6 (out)

8

GND

9

Clock (out)

Command Bit 5 (out)

読み取り手順

セガモード

セガモードでの読み取り手順は以下の通り。

  1. コントローラ端子のピン7と9を出力に、ピン1〜4、6を入力に設定する

  2. ピン7と9をHレベルにする

  3. ピン7をLレベルにする

  4. ピン9をLレベルにする

  5. ピン6がLレベルになるまで待つ

  6. ピン1〜4を読み取る

  7. ピン9をHレベルにする

  8. 必要な回数だけ4.〜7.を繰り返す

  9. ピン7をHレベルにする。この時点で4端子につながったコントローラの状態が得られる

  10. 再度コントローラの状態を得るには、2.〜9.を再び繰り返す

得られるデータのフォーマットは以下の通り

8 bit

4bit x 4

0, 8, or 12bit x 4

$FF(fixed)

Controller Type

Status of Each Controller

コントローラータイプは、各端子につながっているコントローラの種類を指す。$Eなら6ボタンコントローラ、$Fなら標準コントローラ、$0ならコントローラの接続なし。つまり、セガモードで使えるコントローラは6ボタンコントローラか標準コントローラのみである。コントローラ切替器として使う場合はこの制限はなく、マウスなども接続可能である。

コントローラのステータスは、以下の通り。コントローラが標準コントローラの場合は3回目のデータ送信は省略される。コントローラがつながっていなければデータ送信そのものが省略される。例えば6ボタンコントローラが2つ、標準コントローラが1つ接続される場合は、コントローラのステータスは32ビット(送信8回)となる。

Transfer Order

BIT

3

2

1

0

1

UP

DOWN

RIGHT

LEFT

2

Button B

Button C

Button A

START Button

3

Button Z

Button Y

Button X

MODE Button

EAモード

EAモードでの読み取り手順は以下の通り。

  1. コントローラ1端子の入出力指定を、「ピン7のみ出力、それ以外は入力」にする

  2. コントローラ2端子の入出力指定を、「ピン1、2、7を出力、それ以外を入力」にする

  3. コントローラ2に$7Cを出力4

  4. コントローラ2端子の入出力指定を、「全てのピンを出力」にする

  5. コントローラ2端子に$7Cを出力

  6. コントローラ2端子に読み取るコントローラを指定5

  7. コントローラ1端子を使って、6.で指定したコントローラの読み取りを行う

4

2.の設定だと$72と等価では?とも思うが参照サイトにそう書いてあるし、サンプルコードもそうなっているので

5

コントローラ1なら$0C、コントローラ2なら$1C、コントローラ3なら$2C、コントローラ4なら$3Cをコントローラ2端子に書き込み


コメント(0)

コメントを投稿する際はここをクリック

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。