misc. > アタリ仕様ジョイスティック研究 > コントローラ側の仕様 > PC-6001/MSX/ローランド/SVI用タブレット

PC-6001/MSX/ローランド/SVI用タブレット

板状の本体に指やペンで触れて座標を検出する、いわゆるペンタブレット。当時はタッチパネル(NEC)、Graphic Tablet(Spectravideo)、デジタイザタブレット(ローランド)等様々な名前で呼称されていた。PC-6001MSXローランド用のタブレットは、互換性のある端子を備えた他の機器[1]でも利用可能である。

最初に登場したのはNEC PC-6001用のPC-6051であり、その後ピン配置をSpectravideo SV-318/328向けに変更したSV-105や、スイッチ付きペン(有線でタブレットに接続されている)を追加した各種MSXローランドのサンプラー用のものなどが登場している[2]

座標の検出はNECのA/DコンバータμPD7001によって行われる。制御に用いられる信号はパソコン側から見て出力信号である/SCK(Serial clock signal)、SI(Serial data input)、/CS(Chip select)と、入力信号である/SENSE(Touch sense signal)、EOC(A/D conversion end)、SO(Serial data output)の計6端子を用いる。より具体的な構成についてはRoger's Spectravideo pageに収録されているSVI-105(SV-105の後継機)のサービスマニュアル(回路図)を参照のこと。

検出手順は以下の通り。

  1. /CSをHに、SIをLにする

  2. EOCがHになるまで待機

  3. /CSをLにする

  4. 12.5マイクロ秒以上待機

  5. /SCKをLにする

  6. SOを読み出して保存

  7. /SCKをHにする

  8. 5.〜7.を7回繰り返し、8ビットのY座標データを得る(先に読み出したデータが上位ビット、Hが1でLが0)

  9. /CSをHに、SIをHにする

  10. EOCがHになるまで待機

  11. 31.2マイクロ秒以上待機

  12. /CSをLにする

  13. /SENSEを読み出し

  14. 12.5マイクロ秒以上待機

  15. /SCKをLにする

  16. SOを読み出して保存

  17. /SCKをHにする

  18. 15.〜17.を7回繰り返し、8ビットのX座標データを得る(先に読み出したデータが上位ビット、Hが1でLが0)

  19. 13.で読み出した/SENSEがLならパネルに何も触れていない状態で検出した座標値は無意味なので1.からやり直し

  20. 上記の処理を2回繰り返し、各座標の値の差が3を超えていた場合はやはり誤検出なのでやり直し

ピンアウトは以下の通り。

function

pin# for PC-6051

pin# for MSX&Roland Tablet

pin# for SV-105

/SENSE

1

5

EOC

2

9

SO

3

6

/SW (L=Button pressed)

NC

4

NC

VCC

5

7

/SCK

6

1

SI

7

2

/CS

8

3

GND

9

8

MSXではBIOSコールGETPADが用意されており、テクハンWikiの解説ページに記載されているように、Z80のAレジスタに装置IDを記憶させてアドレス00DBHをコールし、Aレジスタの内容(返り値)を参照することでタブレットの情報を検出可能である。装置IDと返り値の対応は以下の通りである。

装置ID

装置

返り値

0

端子1に接続されたタブレット

パネル面に触っていればFFH、いなければ00H

1

X座標

2

Y座標

3

ボタンが押されていればFFH、いなければ00H

4

端子2に接続されたタブレット

パネル面に触っていればFFH、いなければ00H

5

X座標

6

Y座標

7

ボタンが押されていればFFH、いなければ00H


コメント(0)


Note

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

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