はじめに
ゲーム機を端末に使うプロジェクトがいろいろ公開されているのを見て、手元にあるマシンでもできないかと情報を集めていました。
手元にあるマシンのうち、セガ製メガドライブとPS/2キーボードを組み合わせて、シリアルターミナルを作成した例(以降、smdt)がありましたので、再現実験を行ってみました。
この記事の内容の一部は、2025年11月8日にKansai Open Forum内で行われた「東海道らぐのアフター鹿博ライトニングトーク大会@大阪南港」の内容を含みます。
メガドライブ
メガドライブ(MEGA DRIVE)は、セガ・エンタープライゼスが1988年10月29日に日本で発売した16ビットの家庭用ゲーム機。
メインCPUとしてMC68000、サブCPUおよびセガ・マスターシステムの互換性を担当するZ80の2つのCPUが搭載しています。
RAM
メインメモリ(68000用):64KB
サブメモリ(Z80用):8KB
VRAM:デュアルポートDRAM 64KB(32KB×2)
テラドライブのVDP用VRAMは倍の128KBが搭載されている。
VDP(315 - 5313)
ヤマハ製のメガドライブ専用カスタムチップ。
接続端子
コントロール端子:2ポート
ACアダプタ端子:1ポート
UARTとPS2キーボードをコントロール端子に接続するアダプタの作製
紹介されているプロジェクトでは、シリアル通信に必要なRXとTX、文字入力に必要なPS/2用のCLKとDATAをメガドライブ(以降、MD)のコントロール端子に設定しています。
コントロール端子はDsub9ピンなので、接続用の変換アダプタを作る必要があります。
smdtでのピンアサインは、以下の通り。
MD端子1ピン = PS/2デバイス1のクロック(CLK1)
MD端子2ピン = PS/2デバイス1のデータ(DATA1)
MD端子3ピン = PS/2 デバイス2 のクロック(CLK2)
MD端子4ピン = PS/2デバイス2 のデータ (DATA2)
MD端子5ピン = VCC (+5V)
MD端子6ピン = シリアルのTX
MD端子7ピン = 予約 (CP3)
MD端子8ピン = GND
MD端子9ピン = シリアルのRX
ブログラム用カートリッジ
プログラムを起動するためのカートリッジは、Mega Everdrive X5です。
マイクロSDカードにgithubページでリリースされている「smdt.bin」を保存して、使用します。
UARTの接続先
今回の実験では、USBシリアル変換器を介して、windows上のTeratermに接続しました。
起動画面
ROM、SRAM_DISKのマウント、設定のロード、PS/2キーボード検出が行われ、UARTの準備が完成したことがわかります。
シェル
メニュー表示

ゲームポート2のPS/2キーボードとUARTを認識を認識しています。
ターミナルの種類

ターミナルの種類:Xterm, ANSI, VT100, MegaDrive, 不明

シリアル通信の速度:4800, 2400, 1200, 300 Baud
シリアル通信の実際
メガドライブから入力すると

USBシリアルアダプタで接続したWindowsマシン上のシリアルターミナルに

文字が表示されました。
おわりに
メガドライブ用PS/2キーボード、UART接続アダプタを作製し、メガドライブのシリアルターミナルが動作しました。
文字入力、シリアル通信ともに成功しています。
今後、アダプタの動作安定化を行い、インターネット接続の実現を目指します。


