インターネット黎明のころ、パソコン通信のBBSへの書き込みした方からその当時どんな雰囲気だったかを聞きます。
X68000のキーボード関係のワークメモリらしいものであるアドレス$800~についての質問に対してのリプライです。キーボードのひとつのキーが押されているかどうかを内部のワークメモリを直接参照することで、簡単に判定できるようです。教えてもらったと書かれているあたり、オフィシャルのマニュアルなどに書かれていない情報なのでしょうか。
IOCSという、ソフトウェア割り込みを使用する事で互換性を保つという設計からすると、公式に説明の無さそうなIOCS内部のワークメモリ参照というのは、かなり行儀が悪そうです。そうはいうものの、ゲームなどではスーパーバイザモードに移行したままスプライト等の各種ハードウェアをアドレス指定で直接制御する事も多く、割り込みまで直接制御している事が多い事を考えると、ワーク直接参照もまたアリということなのかもしれません。
当時はIOCS内を解析して動作の確認をしつつ、ワークの使われ方を把握して直接参照したりしているような方が多かったということなのかも。
用語
・スーパーバイザモード
Motorola 68000 MCUには実行モードが2種類あり、X68000では通常ユーザープログラムはユーザーモードという、システム領域が保護されている状態で実行されるようになっている。ユーザーモード時に保護されている領域へのアクセスをしようとするとエラーが発生する。IOCS B_SUPERの呼び出し等によりスーパーバイザモードという特権モードに移行することにより全ての領域にアクセス可能となる。
・IOCS使用メモリ
IOCSやシステム用に使用されているメモリのアドレスは、Cコンパイラに付属するマニュアルにおおまかに記載されている。$000800~$000FFFがIOCSワークとなっており、詳細についてはマニュアルに記載が無い。
・IOCS BITSNS
キー押下状態のセンスをするIOCS。1回の呼び出しでキーコードグループに属する8個のキー入力状態を取得できる。たとえばキーコードグループ4であれば、「DFGHJKL;」の8個のキーの状態が取得できる。ゲーム等では上下左右移動の4方向に対応する4個のキーと動作のボタン等が同時に押下される事が多いため、このような押下状態のセンスが使われる事が多い。
株式会社瑞起より、X68000を復活させた「X68000 Z LIMITED EDITION EARLY ACCESS KIT」のクラウドファンディングが12月3日より開始。2023年1月28日まで実施中です。
X68000Z https://www.zuiki.co.jp/x68000z/
クラウドファンディング https://kibidango.com/2285
インターネット黎明のころの草の根BBSももりこみつつ、いろんなエピソードをつめこんだ「ちょっと偏ったインターネット老人会へようこそ」を同人誌として頒布します。
参加予定イベント
12月31日 V-43a コミックマーケット 101
同人サークル BLACK FTZやってます twitter @black_ftz