SFCコントローラをMSXで使う

時代も令和になると、昭和に発売されたMSXのコントローラは新品では当然手に入らないし、中古で手に入れるとしても結構なお値段がする。市場原理からすると段々現物が無くなってきているので当然だが、手軽な値段で楽しみたいので、ジャンク扱いなSFCのコントローラをMSX用に改造してみた。

SFCのコントローラは、配線コストの節約のためか、各部のボタンのON/OFF信号をシリアルのパルス信号で本体に送っており、ケーブルから直接MSXで使用する信号を取り出す事は出来ない。シリアル信号に変換しているICの端子に入力されている信号をMSXの端子に直結する。

MSXのジョイスティック端子の仕様については、詳しくはこちらを参照。

SFCのコントローラについては、お手頃な値段の見た目きれいなものをレトロ好きな人は、きっと大好きmercariから入手。

MSXのジョイスティックケーブルについては、いつも高品質なものを作っておられる家電のケンちゃんから入手。

各ボタンから信号を受取り、シリアル信号に変換しているのが、このIC(V520B、またはその相当品)で、各端子にボタンからのON/OFF信号が入力される。MSXのジョイスティックはパラレルで信号が送られるので、各端子に入力されているボタンがわかればそれをMSXの対応するボタンの端子に直結すれば良い。

ICは回路には必要ないものなので、除去してしまう。再利用したいのであれば、低融点半田を盛り、丁寧に剥がす必要があるが、私には必要ないものなのでニッパで足を切り、はんだ吸い取り線で足と半田を除去した。

今回作成したコントローラは、以下のような仕様としてみた。

SFCコントローラMSX端子
ATRG1
BTRG2

上記と端子への信号を元に以下のような接続とした。

X,Y,L,RボタンもそれぞれTRG1,TRG2に対応させると更に使い勝手が良くなると思うが、半田ごて修行中の身の為、今回は見送った。慣れている方は、やってみると面白いかもしれない。

参考にしたサイト

SFCのコントローラを調べてみる(の続き)http://ahoministrator.sakura.ne.jp/retrospective/archives/371

懐古主義者の暇つぶし

WordPressできれいな文章作るの難しい・・。

MSX Floppy Disk Manager(β版)の公開

Twitterで開発進捗をつぶやいていましたMSX Floppy Disk Managerのβ版を公開します。
テスターの皆さんのおかげで、β版までこぎ着ける事が出来ました。感謝いたします。

動作要件

  • OS:Windows7/8/8.1/10
  • .NET Framework Version 4.7.2以上

動作確認環境

 Windows 10 64bit での動作を確認しております。

機能概要

  • FD(1DD/2DD)から仮想FDの作成
  • 仮想FD(DSK形式)から実FDへ書き戻し
  • 2DD FDのフォーマット(MSX-DOS、MSX-DOS2形式)
  • 仮想FD Explore(DSK形式: 1DD/2DD 、SAV形式:2DD)
  • 多言語対応(日本語、英語、韓国語、ポルトガル語、スペイン語)

注意事項

  • Windowsでは、リムーバブルメディアへOSで使用するデータを書き込みます。(OSのレジストリ設定により回避できる場合があります。)実FDから仮想FDの書込の際はFD挿入前にライトプロテクトノッチを書込禁止にして下さい。
  • 2DD形式に対応していないFDドライブでは、本ツールの使用は出来ません。

セットアップ方法

  1. ファイルをダウンロードします。
  2. ダウンロードしたファイルを解凍し、setup.exeを実行します。
  3. セットアップの内容に従い、セットアップを行います。

ダウンロード

ダウンロードをマニュアルページの方に統合しました。こちらよりダウンロードください。

免責事項

β版としている通り、バグの対応が不十分です。状況をご理解の上、ご使用下さい。
本ソフトウェアによって生じた損害については、一切の責任を負いません。
大事なファイルは、バックアップをとるなどした上で本ツールをご使用下さい。

改版履歴

Ver.0.9.0.0

  • α版リリース

VER.0.9.0.1 (2020/01/15)

  • ネットワークドライブが存在する環境でハングアップする場合がある不具合を修正
  • FDドライブの厳密な判定(FDが入っていて2DDの場合のみドライブリストに追加)を廃止し、リムーバブルドライブをドライブリストに追加
  • FDから仮想ディスクへの書き込み速度の改善(作者環境では約4倍程度に改善)
  • 仮想ディスクからFDへの書き戻し速度の改善(作者環境では約4倍程度に改善)
  • About画面のCopyRightsを訂正、追記

VER.0.9.5.0 (2020/02/02)

  • エラーエミュレーション時、正しく読み書き出来ない場合があるのを修正
  • System Volume Informationフォルダの作成抑止機能の追加(要管理者権限起動)
  • FD->VFD:System Volume Informationフォルダの作成抑止がされていない場合、「FDを書込禁止にしてください」のメッセージを表示する機能を追加

VER.0.9.7.0(2020/03/28)

  • β版とする。
  • MSX Magazine永久保存版で使用されている仮想ディスクの形式(SAV形式)に対応(VFD Exploreのみ)
  • VFD Exploreのバグ対応
  • DSK形式ディスクファイルとSAV形式ディスクファイルの相互変換機能追加
  • MSX Magazine永久保存版3のディスクチェンジャーへSAV形式ディスクファイルをセットする機能を追加。

VER.0.9.9.0(2021/03/04)

  • VFD Exploreで、データにEOF(0x1a)を含むファイルの抽出が失敗する不具合、他多数修正
  • FD->VFD タブで、メディアのタイプ(1DD/2DD)を強制的に指定する機能を追加。
  • セットアップファイルを変更し、デスクトップに作成されるショートカットを通常のショートカットに変更。(右クリックで管理者として実行が出来るようにした。)
  • ポルトガル語、スペイン語に対応(翻訳に協力してくれた方に感謝します)
  • コマンドラインモードの実装(α版)。(start /waitコマンドでの実行が必要です)

VER.0.9.9.1(2021/03/06)

  • スペイン語版、ポルトガル語版 Windowsで各国語が表示されない問題の修正
  • スタッフクレジットの修正

開発日記1 開発の動機

 中学校の頃、プログラミングの勉強をしたかった私は、親にPCをねだりましたが、裕福な家庭ではありませんでしたので、買ってもらえませんでした。家でノートにプログラムをコーディングし、それを中学校にあったPC-8001mkⅡに入力し、プログラムを学習していました。20年近く前の事です。

その後、MSXというパソコンがあると知ったのですが、PC-8001mkⅡやPC-8801mkⅡSR,PC-9801VM等のNEC製コンピュータから入った私には、MSXはゲーム機の拡張版みたいなもので、コンピュータとしてみていませんでした。

その後、MSX界にシューティングの傑作「GRADIUS2」が発売され、そのゲーム遊びたさにMSXを手に入れ、他のKONAMIの名作ゲーム群の前に私はずぶずぶとMSXの沼にはまっていきました。私とMSXとの付き合いはそうして始まるのですが、当然プログラムの勉強もMSXでやりましたので、今の私があるのはMSXのおかげといっても過言ではないのです。

時代は、Windows一色となり、あの頃のような個性的なPCはなくなりました。ハードの進化により、PC上でエミュレータで動くMSXが開発され、気軽にMSXが楽しめるようになりました。

エミュレータの仮想ディスクは、ファイルシステムの勉強になると思い、以前仮想ディスクのファイルを直接Windowsのエディタで編集、書き込みできるツールを開発していました。(未完成、未公開)

その頃のノウハウを活かして、C#で何か作ってみたい、そういえばMSXのFDの仮想化ツールで正式にWindows10を謳っているツールは少ないので、作ってみようと思い立ったのが「MSX Floppy Disk Manager」です。

2019年4月に開発を始めたのですが、

  • 実FDから仮想FDの作成
  • 仮想FDイメージの書き戻し
  • 仮想FD内のファイルのWindowsとのやりとり(コピー&ペースト、削除)

の実装を目指して開発をスタートしました。

作成し始めた頃は、FDのイメージ読み書きにRAWデバイスアクセスが必要だとか知りもせず、この後、色々とはまる事になるのですが、Google先生、TwitterのMSXヘビーユーザの方々の力もお借りしながら、技術的な事を少しずつ解決してきました。

その過程を、Blogにまとめることで皆さんに還元できればと考えています。