セガ メガアンサー
- 公開日: 2022/09/19
- 更新日: 2022/09/20
概要
メガアンサーはメガドライブ用のモデム(メガモデム)とテンキーパッド、カートリッジ、プリンタ(オプション)のセットで、メガドライブを使って電話回線で銀行のサーバに接続し、口座の各種操作を行う、一種のネットバンキングシステムである[1]。テンキーパッドは端子1、プリンタを端子2、メガモデムはExt端子に接続する。
本項ではテンキーパッドとプリンタについて説明する(メガモデムはコントローラ端子とはオスメス逆のExt端子に接続するもので「アタリ仕様」には該当しないため)。なお、アルファベット表記は「Mega Anser」である(Answerではない)。
テンキーパッド
テンキーパッドの回路図およびピンアウトを以下に示す。使用するICはセレクタICの74HC257[2]と、シリアル入力型ラインデコーダのHC4017[3]。
SELECT端子の入力に応じてA,Bいずれかに入力された信号をYに送る
0~9端子の一つのみをH、それ以外をLで出力する。Hを出力する端子は出力クロック入力の立ち上がりに応答して順次切り替わる
pin# |
function |
---|---|
1 |
DATA 1 (in) |
2 |
DATA 2 (in) |
3 |
DATA 3 (in) |
4 |
DATA 4 (in) |
5 |
VCC |
6 |
N/A(GND) |
7 |
ENABLE/RESET (out) |
8 |
GND |
9 |
SELECT/CLOCK (out) |
読み取りは以下の手順となる。
ピン1~4を入力、ピン7、9を出力に設定する
ピン7をH、ピン9をHにする
ピン1~4を読み取る
ピン9をLにする
ピン1~4を読み取る
ピン7をLにする
ピン9をHにする
ピン1~4を読み取る
ピン9をLにする
ピン1~4を読み取る
7~10を8回繰り返し、計80ビットのデータを得る
得られたデータとキーの対応は以下の通り
2回目の読み取り: ピン3→キャンセル、ピン4→削除
6回目の読み取り: ピン2→カナ漢字、ピン4→前頁
8回目の読み取り: ピン1→通信終了、ピン3→漢字変換、ピン4→実行
9回目の読み取り: ピン1→0、ピン2→1、ピン3→2、ピン4→3
10回目の読み取り: ピン1→4、ピン2→5、ピン3→6、ピン4→7
11回目の読み取り: ピン1→8、ピン2→9
12回目の読み取り: ピン4→#
13回目の読み取り: ピン1→*、ピン4→次頁
15回目の読み取り: ピン2→右、ピン3→上
19回目の読み取り: ピン1→左
20回目の読み取り: ピン2→下
プルダウン回路であるため、ボタンが押されている時に対応するピンがHとなる。
プリンタ
プリンタはアダプタ部とプリンタ本体から構成されている。アダプタはコントローラ端子からの信号をセントロニクスインターフェースに変換するものである。プリンタの制御方法はPlutiedev に詳説されている。私が理解した範囲での制御手順を以下に概説する。
端子2のピン7を出力に、それ以外を入力に設定する
ピン7にHを出力
ピン1~4を読み取る(H=1、L=0として。以下同じ)
ピン3と4のORをIDビット3、ピン1と2のORをIDビット2とする
ピン7にLを出力
ピン1~4を読み取る
ピン3と4のORをIDビット1、ピン1と2のORをIDビット0とする
4.と7.で得たIDビットが%1010であればプリンタが接続されている
端子2のピン1~3を出力に、それ以外を入力に設定する
端子2のピン1~3にHを出力する
ピン4がLになるまで待機
ピン3:H、ピン2:Lでピン1でデータを送信する
12と同じデータをピン3:H、ピン2:Hで送信する
12.~13.を7回繰り返す。これによって8ビットのデータがセントロニクス端子から出力される。なお、最初に送信したビットが上位ビットとなる。
メガアンサーのソフトにおいて出力されているのはESC/Pプロトコルとのことである。