MSX関連サイトは活動していないサイトが多い

まあ、当たり前なんですがサイト自体は残っていても長らく昔に更新を停止しているサイトが多いようです。
五年ぐらい前ならまだしも10年前とか20年前から変わってないんじゃないかと思われるようなサイトもあります。
それでもまだサイトが残っているだけすごいことです。
私はMSX関係の自作ソフトを全て紛失していますので、持ってそうな人に連絡取ったりもしたのですがMSX関連サイトからは返事ももらえませんでした。
送ったメールは見てくれていないと思います。
パソコン通信関係の人とは連絡とれて探してもらったのですが私の作ったソフトはありませんでした。
と、失礼なことを書いてしまいましたが、MSX関連サイトのひとつから連絡が取れました。
大変ありがたいことです。
後で自作ソフトを送ってもらえると思います。

2017年2月5日に送ってもらえました。
ありがとうございます。

ブラウザ上にMSXごとエミュレートしてBDS Cのオセロ

WebMSXでBDS Cのオセロ
ブラウザ上に自分が作ったMSXプログラムをそのままURLでリンク貼って実行することができるのはすごいです。
これは私が作ったものではありませんが。
MSX用に作ったプログラムがあれば移植しなくてもダウンロードしなくてもブラウザ上で動かせるわけですから便利です。
欠点もありますが。
・実行速度や描画速度までエミュレートするので遅い。
・起動時間が多少はかかる。
・高速CPUのR800の高速モードがあるMSXturboRに対応していない。

WebMSXのサーバーに依存するとか勘違いしていましたが、コメントを頂きまして間違いだと分かりました。
WebMSXは、HTMLファイルひとつで、HTMLとJavascriptでできているようで、ローカルでも動かせました。
サーバーは必須ではありません。
自分のホームページに置いても動かせます。

PHPでのCGIの開発はいつもNabetap

Windowsで開発しています。
Apacheはインストールしていないです。
昔はAN HTTPDを使っていましたが今はインストールしていないです。
最近はもっぱらNabetapを使っています。
実際には、鍋田辞書P Windows版。(それにNabetapが含まれる)
Nabetapが使うHTTPサーバーはmongooseベースでローカルでしか動かないように改造してあるのでセキュリティー万全。
そしてHTTPサーバーの起動と終了は自動で行うので煩わしくない。
特に設定は要らず起動すれば即使えて便利です。

BDS CオセロのPHP/CGI移植が完了。

http://www.nabeta.tk/cgengo/bdsc/othellocgi.php
ここでCGIのオセロができます。
元々はコマンドラインのプログラムです。
昔を懐かしむためにあるので、表示はなるべくオリジナルと同じにしています。
入力方法は、64のように二桁の数値(縦横位置)を打って石を置きます。
ANSI C移植やCGIではなくコマンドラインのへのPHP移植もしました。
詳しくは、BDS Cのページへ。

CGIでオセロ

BDS CのオセロプログラムをPHPに移植したわけですが、
PHPに移植したとなるとやはりCGIにしてみたい。
で作り始めましたが難しいです。
C言語のソースとPHPのソースはよく似ていましたが、CGIに書き換えるとなると変更点が多くてあまり似ません。
CGIとなると入力待ち処理とかは全部書き換えです。
CGIだと起動した直後に終了する必要があり、前回の状態も保持していないといけません。
次の一手を解く(適当に決める)プログラムを作って、呼び出す度に毎回盤面データを全部送信して対戦する感じになります。

BDS CのOTHELLO.CのPHP移植で大変だったこと

C言語からPHPへの移植で何が一番嫌かというと、変数に$マークを付けて回ること。
小さいソースでも手作業でやればかなり大変です。
とはいってもC言語からPHPへのトランスレーターなんてないような気がするので手作業でやるしかない。
大きなソースだと絶望的。
PHPはC言語とよく似ているだけに変数に$マークの欠点は痛く非常に残念に感じる。
他はC言語と共通部分が多くなんとかなったんですが、
はまったのはswitch の中にあるcontinue文の互換性の無さ。
普通はcontinueはループの先頭に戻りますが、PHPの場合はswitchの中のcontinueはswitchの先頭に戻ります。
エラーも出ない、ソースの見た目もおかしくない。
でも実行したらバグるという厄介な言語仕様です。
switchをif文に変えたら今度はswitchの中のbreak文が残っているとループの外に抜けてバグる。
switchは自分でいちからプログラムを作る時は書かないように大昔からしています。
ちょっとした変更を加える時にswitchでは対応できなくなりif文に変えることが多くて無駄で面倒だからです。
それに加えてswitchは現在では他の言語への移植性の問題になっています。
PHPのswitchのcontinueだけではなく、C#のswitchのbreakもC言語とは互換性がない。
C#のほうはC言語的に正しいswitchの構文でもエラーになってコンパイルできない。
移植を考慮しなかったとしても、後になって
case 10: という処理を、if((a > 10 && a < 32) || b ==22) のような処理に変更する必要があっときに、その部分だけではなくswitch文の処理全体を書き直すはめになり、無駄なプログラム時間、無駄なデバッグ時間を費やすのが大問題です。 経験上、最初はswitchで書いていても開発を進めていくとif文に書き換える必要ができて最終的にはswitchが消えてしまうことが多かったです。 だったら最初からswitchを使わないのが一番効率がいいのです。

BDS Cに付いていたオセロプログラムをPHPに移植してみた。

BDS Cは昔の8ビットパソコンで動くC言語コンパイラのひとつです。
BDS Cの製品版のフロッピーディスクにはサンプルプログラムとしてオセロのソースと実行ファイルがついていました。
コマンドラインでテキストのみのグラフィック無しのプログラムでした。
弱すぎてオセロゲームとしての価値はほとんどないと思いますが私にとっては思い出のあるプログラムです。
何十年かぶりにもう一度やってみたいと思う人もいると思います。
歴史的価値がありますし、今風に多少の変更を加えれば今でもサンプルプログラムとしての価値があります。
現在、BDS Cはパブリックドメインになり実行ファイルもソースも公開していますがオセロのソースは含まれていませんでした。
ネットで探して見つけだすことができ、現在のコンパイラではエラーになるのでまず、ANSI Cに書き直して現在のC++でもコンパイルできようにしました。
それでは飽き足らず、PHPに書き直してみました。
コマンドラインのままです。
ウェブ上で動くCGIにはしていませんが、PHPに移植済みなのでそれも(やれば)可能でしょう。
C言語で作られたプログラムは何十年という時を経ても生き続けるのです。

鍋田辞書 Windows版 Ver 5.9 にバージョンアップ

主な変更は鍋田テキストのデータ登録時のエラーチェックを強化しました。
他には、
・CGIデータ出力のデフォルト出力フォルダをパーミッションによっては書き込めないルートディレクトリをからマイドキュメントに変更。
・データ登録の「初期設定に戻す」での初期設定を通常登録からマージ登録に変更。
です。
鍋田テキストからデータを登録している時にエラーが出て、エラー内容詳細とエラー箇所が分からなくて困ってしまったので、エラーチェックを強化しました。
また、今回のバージョンアップには含めなかったのですが、データ登録のルーチンの一部をC++ Builderに依存しない標準C++に書き直してDLL化する実験もやってみました。
そのDLLはmingwでも最新のC++ Builderのbcc32でもbcc32cでもコンパイルできます。
ただ、実際に鍋田辞書 Windows版の開発環境であるC++ Builder 6から呼べるのは同じC++ Builder系でコンパイルしないと呼べないんじゃないかとは思いますが。
(よく知らないけど)
C++ Builderに依存しない記述でのソースの分離化、DLL化は、鍋田辞書を別の開発環境に移植しやすくする準備になります。
Qtでの開発作業は停滞したままですがいつかやります。
最近はいろんなことに気が散りすぎていろいろ停滞している代わりに、いろんなことが進行しています。
小さいプログラムですが新ソフトもできています。
公開するのが面倒くさいのでまだ公開していませんが。