FCS計画−第2部−

発動編
〜 Serial EEP-ROM(Flash) Module, SCPH-1020 とも、メモカとも言う、 [Read/Writ]er の製作〜
1.はじめに
第1部にて、ディスプレイ変換ケーブルを作りましたが、次に必要な物(?)は、データ の保存,改造ツールです。その為に、メモリーカードリーダー/ライター,及びそれを使 用する為のソフトウェアを製作しましょう。
まずは web で調べた所、普及している物が2系統有るようです。
1つ目は、PSX ハードウェア関連の、公開され現存する最古の資料と思われる「文献1」 、およびそれに基づく回路図,ソフトウェアです(以下、psm と略す)。これの前に、NI FTY のみで公開された資料が有る様ですが、定かでは有りません。こちらは、PC-98x1 / AT compati. /X68000 (各機種毎に実行ファイルが別れている)での MS-DOS / PC-DOS, DOS/V / Human68K で動作する物で、プリンタポートに接続し、PC-9801 の片方向プリン タポート(入力が BUSY の1本しか無い)でも使用出来る物です。
2つ目は、psm を参考に作られた(とマニュアルに書いて有る)、「文献5」です(以 下、wpsm と略す)。こちらは、MS-Windows95 / NT で動作する物で、同様にプリンタポ ートに接続する物ですが、こちらは PC-9801 の片方向プリンタポートでは使用出来ない (BUSY だけでは無く、ACK 入力も使用する為。環境設定を変更し ACK を不使用にすれば 使用出来ますが)物です。また、某月と提携したらしく、秋某でキットが販売されていま す(1999年第1四半期現在、たしか¥2800-)。
これら2つの間では、wpsm にて psm 互換データで保存すれば、データの互換性は有り ますが、ハードウェアの互換性は有りません。その他にも、数種類あるようですが、どれ も以上2つのどちらかと互換のデータ形式,互換のハードウェアを使用する様です。
さて、上記の背景に基づき、psm と wpsm の回路図と解説を読んでみました。
まず、メモリーカードは +3.5V 系であり、プリンタポートは +5V 系なのですが、どち らもレベルコンバータが入っていません。
次に、psm の方は、メモリーカードからのアクノリッジを確実に受信する為に、Flip-F lop が入っていますが、その分、素子数が増えています。
それから、動作機種の問題があります。また、私は、MS-DOS(PC-DOS, DOS/V) 用のソフ トウェアを作る事は出来ますが、MS-Windows 用のソフトウェアを作る事が出来ません。 (NetBSD 版 psm?)
以上の事から、気になる点を改良した、新しいハードウェア,ソフトウェアを作成する 事にしました。要点は、
  • ハードウェアは、普及率の高そうな wpsm 互換にする。
  • 3.5V 系,5V 系の間には、レベルコンバーターを入れる。
  • 回路はなるべく安く簡単に。Flip-Flop は使用しない。
  • だからと言って、ソフトウェアの負担が増える事はしない。メモリーカードからのアクノリッジは受信せず、時間待ちで対応する。
  • ソフトウェアは MS-DOS 用の物を作る。
    と言った所です。
    2.ハードウェア
    2.1.資料
    まず、プリンタポートと、メモリーカードの I/F の資料が必要です。
    プリンタポートの資料は、簡単に入手出来ます(参考文献参照)。
    メモリーカードの資料は、必要な物全てが、「文献1」に書かれています。


    表1.メモリーカード用カードエッジ風コネクタ

    pin名称 方向内容
    DAT データ(OC)
    CMD コマンド
    +7V 電源(動力用)
    GND グランド
    Vcc(+3.5V)電源(回路用)
    SEL 選択信号
    CLK クロック
    ACK 応答(OC)
    F FGND フレームグランド

    方向
    →:本体→メモリーカード
    ←:本体←メモリーカード


    2.2.コネクタ
    プリンタポート側は、通常のセントロニクス36Pなので、簡単に入手出来ます。
    メモリーカード側コネクタは、2.54mm ピッチカードエッジコネクタ(メス)、逆刺防 止切り込み付き、なので、自作しなければなりません。今回は、アンフェノールハーフコ ネクタが安売りしており、カードエッジコネクタよりやすかった為、アンフェノールハー フコネクタから改造して作りました。
    第1部同様、コネクタの図面を清書するのが面倒になった為、御自分で計測して下さい (^^;。
    2.3.回路
    添付図面参照。いたって簡単で、部品数も少ない回路です。
    +5V 系から +3.5V 系へのレベルコンバートは、DIODE と Pull-UP 抵抗を使用した、い たって簡単な物です。+3.5V 系から +5V 系へのレベルコンバートは、オープンコレクタ に、Pull-UP 抵抗を付けた物です。今回は、7805 とその周辺コンデンサをけちり、+5V 電源を作らなかった為、+3.5V からの Pull-UP となっていますが、正式には +5V 電源か ら Pull-UP しなければなりません。+3.5V からの Pull-UP ではマージンぎりぎり(マー ジン越えているかも)となるので、こだわり派の方は +5V からの Pull-UP に直して下さ い。
    なお、PC-98x1 では、プリンタポートの入力ピンは、500Ω前後での Pull-Down となっ ているので、こちらのハードウェア側で、Pull-UP を付けなければなりませんが、AT Com pati. の場合、どうやら Pull-UP となっている様です(明記された資料未発見)。その 場合は、こちらのハードウェア側では、Pull-UP 抵抗を付ける必要は有りません。したが って、+5V 電源を作る必要は有りません。PC-98x1 でも Pull-UP ならよかったのに。(当 初、Pull-UP だと思っていた為、Pull-UP 抵抗を付けていませんでした。この問題に気付 き、後から慌てて Pull-UP 抵抗を入れた為、+5V への Pull-UP をすべき所、+3.5V への Pull-UP となっています)
    メモリーカードへの出力は、正式に(?)、オープンコレクタとして有ります。「文献1」 によると、PSX本体の、メモリーカードコネクタ,PADコネクタは、オープンコレク タとなっているそうです。
    全てのコネクタには、保護用に抵抗(のみ)を入れて有ります。
    電源は、毎度お馴染み、WALL CUBE(6〜7V以上である事)から取ります。昔は、外 側+が標準でしたが、最近は、芯線+が標準になっている様ですので、自分の都合に合わ せて、どちらを+にするか選んで下さい。ブリッジを入れるのが一番安全でしょう。
    こういう所でダイオードをけちっても、後で使用する際に面倒なだけです。最悪の場合、 壊してしまいますし。
    電源用レギュレータは、LM317T を使いましたが、LM317H でも平気でしょう、たぶん。 分圧抵抗の値ですが、LM317 の規格表によると、推奨抵抗はもっと小さい値の様です(OU T 〜 ADJ 間 120Ω。変える時は ADJ 〜 GND 間も変えましょう。)。コンデンサは、タ ンタルなら1μF、アルミ電解なら25μFとなります。私は豪勢に(手持ちがそれだけ だった、とも言う)、タンタル1μとアルミ電解47μをパラに入れました。タンタルは、 死亡した時にショートモードで破壊されるのが、恐いといえば恐いですが、LM317 も WAL L CUBE も、出力保護が入っているので、まぁ、平気でしょう。
    2.4.ケース
    ケースは、今回の回路がぎりぎり収まる最小のタカチアルミケースを、griff さんから 頂きました、ので、それを使いました。添付図面を参照して下さい。但し、毎度お馴染み、 ぎりぎりの詰め込みなので、腕に「全くもって自信が無い」方は、大きめのケースにした 方が良いかもしれません。
    ケースの上蓋を止めるネジが、プリンタ用コネクタにぶつかる、ぎりぎりの位置なので、 直した方が良いかもしれません(このパターンは前もやったな……)。
    プリンタ用コネクタ,メモリーカード挿入口,は、変わらないでしょうが、電源コネク タ,電源SW,は、物によって違うので、自分の買った物に合わせて、ケース加工して下 さい。私は、電源SWに LED 付きの物を使用しましたが、これはいいものですね。値が 張りますが。(ジャンクで安く入手しましたけど、いつも入手出来るとは限りませんし… …。)
    底面の基板取り付け用のネジ穴,LM317T 固定ネジ穴,は、使用する基板,基板上の部 品配置,等により変わると思います。また、本回路は百mAも消費しない筈ので、入力電 圧が大きくなければ、LM317T をケースに固定しなくても(放熱器を付けなくても)平気 でしょう。
    3.ソフトウェア
    ハードウェアは wpsm 互換なので、MS-Windows 95/NT では、ソフトウェアを作成する 必要は無く、wpsm を使えばすみます。しかしながら、MS-DOS / PC-DOS / DOS/V 用のソ フトウェアは無いので、作らなければなりません。当初は自分で一から作ろうかとも思い ましたが、面倒になったので、psm を解析し、実際にプリンタポートの操作を行っている 部分だけを書き換える事にしました。結果としては、自分で作っても変わらないのではな いだろうか、という気もしないでも無いですが、完成したからまぁいいや。
    また、オリジナルの psm や、wpsm などには、複数のブロックを使用しているデータが、 何番のブロックを使用しているか、とか、削除されたデータはどうなっているのか、など を見る事は出来ませんが、psm を作り替えた際に、その様な機能を追加しました。その他 にも、表には出てこない部分を大幅に改造して有ります。
    さらに、多ページのメモリーカード(SCEI 非公認の、サードパーティー製)にて、ペ ージ切換を行える様にしようかとも思いましたが、ページ切換はメモリカード管理画面で しか行えない様になっており、メモリーカード側でメモリカード管理画面をどのように判 別しているかが判らなかった為、諦めました。ロジアナでも有れば探索する事も出来るか も知れませんが。
    最後に、1つのプログラムで、PC-98x1 / AT Compati. 両方で動く様にしました。しか も、機種の自動判別付きです(Thanks to thomas仙人 & FEZ師匠)。
    4.評価
    費用の方は、某秋月キットが ¥2800- (多分)に対し、今回製作の物は、
    7407 @30-
    LM317T @150-
    CENTRONICS connecter @350-
    アンフェノールハーフコネクタ @200-
    DIODE @3- * 7 = ¥21-
    抵抗 @5- * 13 = ¥65-
    集合抵抗 @20-
    コンデンサ @20- * 3 = ¥60-
    基板 @150-
    電源コネクタ @150-
    電源スイッチ @200-
    ケース 約500-
    ------------------------------------------------
    合計 ¥2000- くらい
    となりました。但し、これはデバッグ中に修正した部品も含まれています。
    製作時間は、資料探索に数日、製作,ケース作成に3日、デバッグに数日、ソフトウェ ア製作,デバッグに3週間くらい(毎日やっていた訳では無い)、でした。
    実際に、自作の psm2(仮称)や、wpsm で使用してみましたが、正常に動作しました。 ディレクトリ一覧に1秒未満、1ブロック読み書きに1〜3秒、ボリューム読み書きに 20〜30秒、と言った所でしょうか。
    5.後書き
    さて、第1部同様、かなりいいかげんな書き方で、それなりの基礎知識が有る事を前提 とした様な内容になってしまいました。UnDocumented な部分や、行間(図面の空白)が 語る部分も多いし……。まぁ、判らない所がありましたら、fenix.ne.jp ででも、聞いて 下さい。けっこうなげやり。タイムスタンプの通り、年度代わりの奇妙な忙しさの時に、 現実逃避で書いているもので……。しかも、BBS 文体(ナニソレ)にるし……。
    それから、SCEI 非公認サードパーティー製多ページメモリーカード(K▲R▲Tだけ かな)は、立ち上げ時/ページ切換時に、奇妙な使用不能な時間帯(10秒くらいかな) があり、この間はメモリーカードが故障である、とのステータスが返って来ます。その時 にメモリ管理画面に入ったり抜けたりすると、ディレクトリ領域(のみ)が消去されてし まう模様です。異常ステータス返したからって、いきなりフォーマットする事もあるまい に。そもそも、立ち上げ/ページ切換時にそれだけの時間が必要なアルゴリズムを使う必 要があるのかな。
    最後に、この第2部と、先の第1部は、本来、20号に投稿する予定の物でした。見事 に落としました。御免なさい>書記様。
    # 自分で書記をやった事が有り、苦労が判っているだけに、たちが悪い>私
    第3部飛翔編(仮称)へ続く……といいな……、……。
    追記:すまぬ、21号の原稿落とした。

    参考資料
    文献1
    「プレイステーション・PAD/メモリ・インターフェースの解析」
    (1996/3/21, 3/27, PSX.lzh, Vector より)
    Nifty−ID:HFB03536 藤田
    文献2
    PSM.COM Ver0.1 (PC98) (c) 1996.3 OLDMAN
    文献3
    「新版 PC-9800シリーズ テクニカルデータブック」(1990/4/1,1991/2/1 1版5刷)
    アスキー出版局テクライト
    文献4
    「PC-9801 スーパーテクニック」 (1992/ 4/ 1,1993/ 6/21 1版5刷)
    小高 輝真,清水 和文,速水 祐 アスキー出版局
    文献5
    wpsm ver 1.2 (99.02.26) 添付ヘルプ GDH00232 伊津 朗(高山 一郎)
    http://member.nifty.ne.jp/TAKAYAMA
    Special Thanks to thomas仙人 & FEZ師匠

  • 回路図(CE+LIB LZH 3KB)
  • 回路図(PNG 7KB)
  • 回路図(GIF 12KB)
  • ケース図面(PNG 8KB)
  • ケース図面(GIF 14KB)
  • ケース図面(DXF+GZ 3KB)

  • SCPH-1020 access protocol(?)(8KB)
    海外から、私も同じ様な方面の物を作りたいが、日本語が読めない、 英訳してもらえないだろうか、と言う e-mail が来たので、気紛れで 上記文献1を英訳してみました。

  • PSX MemoryCard Reader/Writer "PSM2"(7KB)
    PC-98x1 / AT Compatible(NX 含む) 両用。
    使用法は、"psm /?" とすると表示されます。 後は体で覚えて下さい(爆)。なお、機種は自動判別します。
    取り敢えず、この手のソフトの中では、かなり高速(最速を狙ってはいます)で あると思います。

  • DirectPadPro(DPP) PSM2 対応差分(11KB)
    MS-Windows 4.00.95 / 4.10.1998 用。
    上記の回路にて、DPP が使える様になります。 マルチ接続対応にもしてありますが、ドライバの上位部分が対応していないので、 意味が無かったりします。

    執筆:第1部:1999年3月22日〜1999年4月19日
    加筆:1999年11月7日
    PSM2 update:2000年2月17日
    加筆:2000年12月03日
    加筆:2002年11月09日

  • Last modified on Sat,09 Nov,2002.
    This contents was founded in Sun,25 Apr,1999.
    FENIX HomePage
    G-HAL HomePage
    ハードヱアに関するウダウダ
    Mail to, メールはこちらへ
    Suggestion Box, 投書箱
    BBS, 掲示板 UserName:BBS、Password:BBS
    (C) 1999 G-HAL