MSX Datapack wiki化計画

3章 インターフェイスの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。

,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[2章 主要ユニット]]                                                               ,{BSIZE:0|RIGHT}[[4章 カートリッジ]]                                                              →
,{BSIZE:0}←[[2章 主要ユニット]],{BSIZE:0|RIGHT}[[4章 カートリッジ]]→

!!3.1 カセットインターフェイス

,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:110},{BSIZE:0|COLS:2},{BSIZE:0}
,入力      ,カセット側のイヤホン端子に接続,
,出力      ,カセット側のマイクロホン端子に接続,
,同期方法  ,調歩同期(非同期)方式{COLS:2},
,転送レート,1200bps{COLS:1},(1200Hz-1波「0」、4800Hz-2波「1」)
,          ,       {COLS:1},デフォルト
,          ,2400bps{COLS:1},(2400Hz-1波「0」、4800Hz-2波「1」)
,          ,       {COLS:1},ソフトウェア切り替え
,          ,       {COLS:1},2400bpsはレコーダーの機種指定が必要(各メーカーで対応)
,変調方式  ,FSK方式,
,復調方式  ,ソフトウェアコントロール。BIOSルーチンを使用することで、ボーレートは自動的に選択される。{COLS:2},
,リモート機能,あり ,
,コネクタ  ,DIN45326(8ピン),
,SAVEレベル,SAVE回路の定数は、以下の仕様を満たすように設定される。
,         ,
,          ,出力レベル{COLS:1},-45dBm±5dBm (0dBm = 0.755V)
,          ,1200Hz信号時に 22mVp-p〜7mVp-p の振幅が必要



,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0}
,端子番号,信号名,方向,ピンコネクション
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1,GND,  ,{ROWS:8}{{svg 図1.10.svg}}
,2,GND,  ,
,3,GND,  ,
,4,CMTOUT,出力,
,5,CMTIN ,入力,
,6,REMOTE+,出力,
,7,REMOTE-,出力,
,8,GND,  ,
図1.10 カセットインターフェイスの信号線
!!3.2 フロッピーディスクインターフェイス

 フロッピーディスクインターフェイスのシステムソフトウェアは4000H〜7FFFHの16KバイトのROM内に置かれ、以下のモジュールを含みます。

MSX-DOSカーネル
MSX Disk BASIC
DISK I/Oドライバ (各メーカーが作成)

 インターフェイスのハードウェアについては、特に規定を設けません。各ディスクドライブのメーカーによって作成されるI/Oドライバがハードウェア上の差異を吸収します。

 また、ディスクドライブはメディアの交換をハード的に検出できるディスク装置を推奨します。ディスクの入れ換えが検出できれば、ディスクのアクセスに要求される時間が短くなります。ハード的にフロッピーディスクの入れ換えが検出できない場合は、I/Oドライバは一定時間アクセスがないと、フロッピーディスクが交換されたものとみなします。そのため、次のディスクアクセスの際は、ディスクの入れ換えがないときでも再度ファイルの情報(FATのセクタ1など)を読むので時間がかかります。
 フロッピーディスクのフォーマットは以下のとおりです。

,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0},{BSIZE:1 0|SIZE:20},{BSIZE:1 0}
,メディア,記録密度,フォーマット,,備 考
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0|RIGHT},{BSIZE:0},{BSIZE:0|CENTER}
,8 inch*   ,単密度,128 Byte/Sector  ,,MS-DOS コンパチブル
,8 inch*   ,倍密度,1024 Byte/Sector ,,〃
,5.25 inch*,単密度,512 Byte/Sector  ,,〃
,3.5 inch  ,CFD   ,512 Byte/Sector  ,,〃
 *商品化はされていません。



!!3.3 プリンタインターフェイス
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:110},{BSIZE:0|COLS:2},{BSIZE:0}
,規格    ,8ビットパラレル
,        ,BUSYとSTROBE信号によるハンドシェイク
,レベル  ,TTL
,コネクタ,アンフェノール14ピン(本体側メス)

,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0}
,端子番号,信号名,ピンコネクション
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1 ,PSTB,{ROWS:14}{{svg 図1.11.svg}}
,2 ,PDB0,
,3 ,PDB1,
,4 ,PDB2,
,5 ,PDB3,
,6 ,PDB4,
,7 ,PDB5,
,8 ,PDB6,
,9 ,PDB7,
,10,NC  ,
,11,BUSY,
,12,NC  ,
,13,NC  ,
,14,GND ,
'''図1.11 プリンタインターフェイスの信号線'''
!!3.4 汎用入出力インターフェイス
,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:110},{BSIZE:0|COLS:2},{BSIZE:0}
,仕様IC  ,AY-3-8910 相当品
,入出力  ,入力4bit、出力1bit、双方向2bit(1ポートにつき)
,レベル  ,TTL
,コネクタ,AMP9ピンコネクタ相当品(本体側オス)

,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0}
,端子番号,信号名,方向,ピンコネクション
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1,FWD  ,入力  ,{ROWS:9}{{svg 図1.12.svg}}
,2,BACK ,入力  ,
,3,LEFT ,入力  ,
,4,RIGHT,入力  ,
,5,+5V* ,      ,
,6,TRG1 ,入出力,
,7,TRG2 ,入出力,
,8,COM  ,出力  ,
,9,GND  ,      ,
図1.12 汎用入出力インターフェイスの信号線

,{CENTER|SIZE:100}注 意
 *電気容量は50mA以上とします。

 汎用入出力インターフェイス回路は、「7章 MSX2+回路例」を参照して下さい。
!!3.5 ジョイスティック

 ジョイスティックには以下の2タイプがあります。

,{t},{BSIZE:0}
,{c},{BSIZE:0|SIZE:110|TOP},{BSIZE:0|COLS:2},{BSIZE:0}
,Aタイプ  ,1個のトリガボタンを持つか、複数のトリガボタンを備えていてもソフトウェアでその信号を区別することができないタイプ。
,Bタイプ  ,2個のトリガボタンを持ち、どちらのボタンが押されているかソフトウェアで判別できるタイプ。

 市販のジョイスティックは、ほとんどがBタイプで、ソフトウェアもBタイプが前提となっています。したがって、Aタイプのジョイスティックを市販するときは、注意が必要です。
{{svg 図1.13.svg}}
'''図1.13 ジョイスティック回路接続図'''
!!3.6 パドル
 PDL関数がコールされると、汎用入出力ポートの8ピンにトリガパルスが送られます。このパズルがパドル内の単安定マルチバイブレータを起動します。マルチバイブレータは、パドルに接続された可変抵抗の値によって長さの異なるパルスを発生し、ポートに返してきます。1ポートにつき、最大6個のパドルが接続可能です。

,{SIZE:100|CENTER|TOP}注 意
 パドルはMSX turbo R以降のMSXでは、システムソフトウェアによるサポートがなくなる予定です。

{{svg 図1.14.svg}}
'''図1.14 パドルのタイミング図'''

{{svg 図1.15.svg}}
'''図1.15 パドルの回路接続図'''

!!3.7 マウス
!3.7.1 概要

 MSX用のマウスは本体側の負担が軽く、接続が簡単であるように汎用入出力インターフェイスに接続します。また、マウスをサポートしないソフトウェアでもマウスが使用できるように、カウンターモード(マウスモード)とジョイスティックモードの2つのモードを持ちます。

'''表1.3 マウスの信号線一覧'''
,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:150},{BSIZE:1 0}
,ピン番号,信号名,ジョイスティック
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1,データビット1 ,前
,2,データビット2 ,後
,3,データビット3 ,左
,4,データビット4 ,右
,5,+5V           ,
,6,左ボタン      ,トリガ1
,7,右ボタン      ,トリガ2
,8,STROBE        ,GND
,9,GND           ,
!3.7.2 カウンタモード

 カウンタモードはマウス本来のモードです。マウスはX・Y方向の移動を検出し、それを8ビットの内部カウンタに保存します。そして、CPUからの要求があれば、MSX本体にデータを転送します。データ転送シーケンスは以下のとおりです。
{{svg 図1.16.svg}}
'''図1.16 座標のデータ型式'''

 マウスの座標の読み出しは、BIOSのGETPADで行います。BIOSは以下のタイミングでマウスのデータを獲得しているので、ハードウェアはこのタイミングでデータを送ります。
{{svg 図1.17.svg}}
'''図1.17 マウスのタイミング図'''
!3.7.3 ジョイスティックモード
 MSXのパワーON時に、マウスの左ボタンを押していると、ジョイスティックモードになります。このモードではマウスをジョイスティックとして使用できます。
{{svg 図1.18.svg}}
'''図1.18 ジョイスティックモードのタイミング図'''
!!3.8 コネクタ
,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:150},{BSIZE:1 0}
,端子名,仕 様
,{c},{BSIZE:0|TOP},{BSIZE:0}
,ビデオ出力 ,
,●RGB信号      ,決まっていないが、MSX2+ではDIN 8ピンコネクタ(DIN-45326)が一般的
,●複合映像信号 ,DIN 5ピンコネクタ
, (ビデオ信号) ,RCA 2ピンコネクタ
,●RF変調信号   ,RCA 2ピンコネクタ
,カセット       ,DIN 8ピンコネクタ DIN-45326
,汎用入出力ポート,AMP 9ピンコネクタ相当品
,プリンタ        ,アンフェノール14ピンコネクタ相当品
,カートリッジバス,2.54ピッチ、50ピンコネクタ
,オーディオ出力,RCA 2ピンコネクタ


,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:100},{BSIZE:1 0}
,端子番号,信号名,ピンコネクション
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1 ,GND,{ROWS:8}{{svg 図1.19.svg}}
,2 ,AUDIO,
,3 ,AV,
,4 ,SYNC,
,5 ,YS,
,6 ,R,
,7 ,G,
,8 ,B,
'''図1.19 RGB信号 DIN 8ピンコネクタの信号線'''

,注 意{SIZE:100|CENTER}
これはMSX2+、MSX2のほとんどの機種で採用されているRGB信号の信号線表であり、MSXの仕様として決められているわけではありません。



,{t},{BSIZE:2 0}
,{c},{BSIZE:1 0|SIZE:100},{BSIZE:1 0|SIZE:200},{BSIZE:1 0}
,端子番号,信号名,ピンコネクション
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,1 ,+5V,{ROWS:5}{{svg 図1.20.svg}}
,2 ,GND,
,3 ,AUDIO,
,4 ,MONITOR VIDEO,
,5 ,RF VIDEO,
'''図1.20 複合映像信号 DIN 5ピンコネクタの信号線'''

,注 意{SIZE:100|CENTER}
これはMSX2の一部の機種で採用されている複合映像信号の信号線表であり、MSXの仕様として決められているわけではありません。
!!3.9 スロット
!3.9.1 スロットの概念
 この章で使われる「スロット」は、ひとつの64Kバイトのメモリ空間を構成するという点においては、「メモリバンク」という概念に近いものですが、CPUが番号を指定して選択することができるという点で、カートリッジを挿入するスロットに近いと考えられます。また、カートリッジバス上のこのスロットを選択する信号は、スロットセレクト信号と呼ぶのが最も自然であるので「スロット」と呼ぶことになりました。

 この「スロット」の概念はソフトウェアの観点からとらえたものなので、実際のハードウェア(50ピンコネクタ)を示しているわけではありません。(実際のハードウェアは、「カートリッジバス」もしくは「カートリッジスロット」と呼びます)。

!3.9.2 「スロット」構造をとることの利点
 従来の共通バス構造で複数のメモリバンクを持つ場合には、バスにつながる各デバイスに与えられる選択信号(スロットセレクト信号)に区別がないので、同じメモリ空間を占めるデバイスが複数個バスに接続された場合は、信号の衝突が起きてしまいシステムが正しく動作せず、場合によっては、ハードウェアの劣化をまねく恐れがあります。しかし、スロットセレクト信号により、各デバイスが個別に選択される場合には、その心配はありません。さらに、同一アドレスを占めるプログラムが同時に存在できるので、システムの柔軟性・拡張性が高くなるという利点があります。
{{svg 図1.21.svg}}
'''図1.21 基本スロット'''

{{svg 図1.22.svg}}
'''図1.22 拡張スロット(オプション)'''

{{svg 図1.23.svg}}
'''図1.23 メモリマッパー(オプション)'''

!3.9.3 スロットのタイミング
 スロットは以下のタイミングで動作します。
{{svg 図1.24.svg}}
'''図1.24 M1 サイクル(基本スロット)'''

{{svg 図1.25.svg}}
'''図1.25 M1 サイクル(拡張スロット)'''

{{svg 図1.26.svg}}
'''図1.26 メモリサイクル(基本スロット)'''

{{svg 図1.27.svg}}
'''図1.27 メモリサイクル(拡張スロット)'''

{{svg 図1.28.svg}}
'''図1.28 I/Oサイクル(基本スロット)'''

{{svg 図1.29.svg}}
'''図1.29 I/Oサイクル(拡張スロット)'''

,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[2章 主要ユニット]]                                                               ,{BSIZE:0|RIGHT}[[4章 カートリッジ]]                                                              →