THE RETURN OF DAN


PiO 1985年8月号掲載。MZ-80Bでぱっくまん氏によって発表されたDAN GAMEの続編です。続編といっても作者が違う、当時よくある勝手に続編物の1つです。警官から逃げつつ、落ちてる□をとっていくドットイレースタイプのゲームです。動作もまあまあですので結構遊べるゲームとなってます。

TURBO2


PiO 1984年3月号掲載。擬似3Dのレースゲーム。ギアがハイ・ローとある。画面リバース機能がないと悪路の区別がつかないらしい。エミュレータでは機能がないので確認できなかった。

THE チャンバラ


PiO 1984年3月号掲載。大きいキャラを動かして、相手に攻撃を加えていくアクションゲーム。刀が壊れたり演出も細かく、なかなか楽しめます。やられると、「やられた」と喋るのも面白い。

バクDAN GAME


マイコンゲームの本4掲載。二人用ゲームで、I/O誌のマスコット的なキャラであるDANとDAN Jr.(正式名称不明)を捜査し、降ってくる爆弾をよけていくゲーム。傘に爆弾を当てると跳ね返すことができ、爆弾の軌道を変えることができます。DAN側の方が傘の大きさが大きいので有利そうですが、当たり判定は大きいのでうまくバランスが取れてたりします。
結構大きめのキャラを扱うゲームで、「THE チャンバラ」という作品がありますが、これも同じく大きいjキャラを扱ってます。

STEINS;GATE

4月から新シリーズがあるみたいなので、まずはTVシリーズの最初のものを見てみました。
5pb./Nitroplusということで、CHAOS;HEADとか好きだったので、難なく視聴できました。OP曲もいとうかなこさんでいい感じでした。

話の中心は、タイムリープ・タイムトラベルですが、出だしでは触れられてなかったので、見ていくうちに小出しに演出されていて、次第にはまっていくのが自分的に心地よかったです。世界線という言葉で自分が存在している時間軸を表現していて、偶然発明したタイムマシン機能で過去にメールを送ることで、世界線をかえて世の中が変わっていくという点がなかなか良かった。これにより、幼馴染が死に至ってしまうのを、変えた世界線を苦労して戻していくという展開がいいです。過去を変えてしまうと大事になるって事を次第に理解して、なんとか戻道とするのもよかった。
ジョン・タイターネタやネットスラングも数多く出てきて、元ネタを知ってるとより楽しめるのがいい感じです。

プロセス間通信

VOSにもUNIX系システムにあるようなプロセス間での同期処理やデータ共有を行うための仕組みがあります。

1.イベント通知
ダミーのファイルを用意して、受信側プロセスへ送信側プロセスからイベントという通知を行うことができます。業務ではあまり使う機会がありませんでしたが、使い方では利用価値があります。

2.キュー
キューという特殊なファイルを使っての通信手段です。一方通行の1 Way Server Queue、データの送受信ができる2 Way Server Queue、相手がいなくても送れるメッセージキューがあります。それぞれのキューによってアクセス方法が異なるので、用途に合わせた作りこみとなります。

3.共有メモリ
物理ファイルと合わせてプロセス間でメモリ共有を可能にします。同じアドレスにデータをマップし、それぞれのプロセスでメモリI/Oを瞬時に別プロセスへ反映できます。別プロセスで同じメモリアクセスを防ぐのにロック機能を使用して排他制御を独自行う必要がありました。

4.シグナル
シグナルもAPIが用意されてます。シグナル処理をしてないプログラムは、シグナルを受信するとデフォルト動作を行います。BREAKシグナルだと、プロセス情報を表示してユーザープロンプト待ちにできます。端末がないプロセスは終了しますが。デフォルト動作が異常事態にわかりやすい情報を残すので、慎重にプログラムしないと情報を失ってしまう場合もあるので実務ではほとんど使いませんでした。

コマンドFORM

Stratus VOSの強力なユーザーインターフェイスにコマンドFORM機能があります。作成するプログラムやコマンドマクロ(いわゆるシェルスクリプトみたいなもの)に一定のコーディング規則の1つとして、プログラムにはs$parse_command、コマンドマクロには&begin_parametersという記述を加える事で、一貫したFORM機能を持つこととなり、プログラムの引数をユーザーから指定して渡すことができるようになります。
それ故、引数が不明なコマンドでも、コマンド名をタイプしてDISPLAY FORMキーを押すか、引数に-formを指定すると画面にどのような引数を受けられるか表示します。必要なデータを指定して実行するとコマンドを実行できます。コマンド名がわかっていて、引数がわからない場合に有効です。コマンドもコマンドマクロも同じように表示されるので、ユーザーにはコマンドなのかコマンドマクロなのか区別することなく同じように利用できます。コマンドFORMを開いて、実行のキャンセルもできるので、ユーザープログラムも規則に従ってプログラムしておいた方が便利になります。まあ、こんな機能不要!と割り切ってプログラミングするのもアリですが。

サブルーチンリファレンスでもs$parse_commandの説明が一番長いと思われます(記憶が若干あいまいですが)。この機能だけでも1冊のマニュアルが書けてしまうくらい多機能なのでプログラミングする方は熟知すべきサブルーチンの1つです。

LUNAR ESCAPE


マイコンゲームの本4掲載。宇宙船を操作して進んでいくレース系のゲーム。ショットで敵も破壊できるのですが、攻撃していい敵とダメな敵を慣れながら覚えていく必要があります。それなりに遊べるゲームです。

FMS

Stratus VOSにはForms Management System(FMS:書式管理システム)というtelnetなどの端末上で画面制御を行う非常に強力なパッケージを持ってます。LinuxでnCursesがありますが、それに含まれるformライブラリがそれに近いと思います。Formという言葉から想像できると思いますが、画面を帳票イメージで表示を行い、入力項目の入力を促し、プログラムは1画面単位の情報を受け取って処理することができます。Windowsなどで言う、ダイアログというか1ウインド単位での画面I/Oを行う感じです。
今現在で、画面操作を行おうとすると、Webサーバを立ち上げてCGIなどでサーバへデータを受けて処理するようなシステムが主流かと思いますので、レガシーな方法となってるのかも。
画面のI/Oでも多言語対応ですので、背景項目や入力項目に漢字やいろいろな言語を使うことが可能です。まあ、それなりに使い込んでないと多言語を扱うのは設定とプログラミング技術が必要でしたけどね。漢字とカナで2言語なので、その使い分けは意味を知らないと何でこういった設定で、こういった処理が必要か理解できないと思います。業務で使うノウハウや日本語マニュアルは残してきたので使い込めてるでしょう。

このシステムが、約30年前に普通に使えたので、UNIX系OSで画面操作を行おうとしたときは、FMSを移植しないとダメかな?とか当時思いました。無いものは仕方ないので、それなりなものは提供しました。韓国へパッケージを売った時は、取り扱ってた会社が独自の画面操作プログラムを持ってたので、それが入手できていれば開発環境もだいぶ変わったのかなと当時思いました。それから時代に流されながら生きてしまったので何も残せなかったのがやや心残り。

ATTACKER


マイコンゲームの本4掲載。アーケードゲーム・スクランブルの移植物です。WICSで書かれており、快適に動作します。この作者はWICS使いなので、雑誌掲載されてるものの大半がWICSで書かれてます。メジャーなゲームの移植も多いので、今でも楽しめるのは非常にありがたいです。
一般公開されてるバージョンより古いものが雑誌掲載となってます。mz700winの作者のページに本作品の作者が公開したものが利用できます。