PiO 1985年10月号掲載。ミサイルコマンド風のゲーム。照準を合わせて手動で撃ち落とすか自動発射で撃ち落としていく。
投稿者「Takky」のアーカイブ
THE KARATE2
コスモ・ファイター
CARRY DIAMOND
ソフト設計で重視してたこと
今でも自分が作ったパッケージが動いてるかどうか知りませんけど、末永く動くプログラムを設計するのに重要なのは安全・安定性を重視してました。その機種独特な言語だと移植性も低いですけど、SEQUOIA(UNIXもどきマシン)で設計したパッケージはC言語で書いてましたが、機種依存なものを使わずに設計してたので、IBM RS/6000にソースをそのまま持ってきて無修正で動かすこともできました。まあ、パッケージ自体がコンパクトでシンプルだったのもありますけど。Cライブラリも、バッファオーバーフローを引き起こすようなものは使わず、面倒でも安全なものを選定した記憶があります。
辞める数年前、hp NonStop Serverへのパッケージ移植に携わりましたが、耐障害性の問題もあったので、メーカーに安全なAPIを選定してもらって設計しました。社内へ提供したとき、注意点も含めて公開したにも関わず、各プロジェクトで自由にAPIが使われてたのには驚いた。まあ、辞める直前だったからどうでもいいやって思ってた。それと、汎用的に作っていたプログラムも、プロジェクト用に手直ししろとか言われて、それはプロジェクト側がうちらのプログラムをラップして作るのがルールなんだよって言っても聞いてくれなかったのが痛かった。結局知識を持ち合わせない人が上流工程に入って動かしてるとこうなるよなって例を見せられて反論しようにも、辞めるからどうでもいいやって気持ちが強かったから姑息(その場しのぎ)で仕上げて辞めましたよ。あとはどうにでもなれって思ってた。
Linuxなどでも開発してると思うけど、ライセンスとか守ってるのか疑問です。まあどうでもいいけど。
自分がやってた時は、例えばprintfがNGだったら同じ機能を持ったルーチンを安全なAPIで作ってました。そういった努力が見れられなかったので非常に危険だなって思ってたけどどうなることやら。GPL2なものも勝手に取り込んだりしてないか気になる。
BATTLE ARRAY
BUG HUNTING
メガドラの怪しげソフト
ヤフオクなどに「MEGADRIVE HIT COLLECTION」とかいう2000本くらいソフトが詰まってる奴が出されてますが、気になったので中国の通販サイトで入手してみた。ePACKETで届くまでに10日程度かかりましたが、送料・関税込みで3200円くらいで入手できた。ヤフオクのは業者のぼったくり価格ってわかってるので個人輸入したほうがお得です。
届くと、予想通り中国OEMのEverDriveでした。4GBのSDカードにbin形式(拡張子は.md)の各国のROMが詰まってました。でも、うちのはSDカードのフォーマットが壊れており、EU系で60本くらい読めないものがありました。以前200タイトルくらい詰まってる奴を入手したものも、中国OEMのEverDriveでした。自力で吸い出してる人なら詰め込めば遊べると思います。まあ、大抵のタイトルは揃ってしまいますが。
ちなみに、100本くらい詰まった奴はねじが外れないので中身を見てませんが、これはROMに書かれてるのかも。EverDriveならこれを入手してカートリッジ外側を削ったりすれば一番安くEverDrive基板を入手できるわけですが、おそらく違うでしょう。
これで本家EverDrive、中国OEMx2となってしまった。
VOSプログラミングの基礎
VOSでプログラミングを行う時の基礎を。コンパイラはPL/I、COBOL、Pascal、Fortran、BASIC、VOS Cと使えますが、COBOL、Pascal、Fortran、BASICは別途パッケージ購入が必要なので入ってないケースが大半だと思います。VOS CはTCP/IPでのソケットプログラミングで必須言語なので、導入されてるケースが多いです。PL/Iは入ってないと話にならない必須言語なので、PL/Iで記述するのが無難です。Emacsなどのエディタでソースを入力して書き込み、コンパイル、バインド(リンク)してプログラムモジュール(.pm)を作成して実行します。ソースをWindowsで作成した場合は、FTPのテキストモードで転送すればシーケンシャルファイルになると思います。(ストリームファイルでもコンパイル可能ですが、あまりお勧めしません)
また、UNIXなどのシェルスクリプトに相当するコマンドマクロもソース同様シーケンシャルファイルで作成します。オープンソース系ソフトを入れていれば、Perlなども使える可能性があります。これらのソースもシーケンシャルファイルで作ります。