大昔のメインフレームとかには、出力装置はプリンタぐらいしかなく。シリアル接続の端末の画面に出すのは、一時的な作業状況程度の文字情報のみだった。記憶装置としては紙や磁気のテープやハードドライブがついてる程度かな。音楽も演奏できないし、3DグラフィックスをリアルタイムでFPSいくらでとかありえない世界だった。そんな中でもゲームを作ってやってた連中がいた。文字だけで構成されたログーとかのRPGやスタートレックなんかが有名だが、アステロイドのようなワイヤーフレームグラフィックを使ったゲームをやっていた連中もいる。そこで使われたのがテクトロニクスのTEK4010シリーズの端末。純粋にコンピュータからシリアル経由で送られてくるテキストデータを利用して、画面上にプロッタのような描画をこなす。WindowsだとTeratermにこれの機能が組み込まれてるので普通に使える。実はlinuxでもXtermに「-t」オプションで この機能が内蔵されてる。が 残念なことにfedora40辺りから Xterm -t で起動しても即落ちして全く使えない状態になってる。Xtem自体が永らく更新が滞ってるらしく。X11のサーバーなどの更新に追随できてないようだ。 で、このTek4010の有り難いのは、グラフィック機能のないワンボードマイコンにシリアル接続さえできれば、計算結果のグラフ程度なら描画させることができる。流石にインベーダーゲームとかは無理っぽいけど、昔あった「ミステリーハウス」的なゲームならやる気が有ればできるかも? と、前置きはこれくらいで Z80-MBC2のCPM上で動作する グラフ描画プログラムの出力をTek4010エミュで受けた時の動きの動画を MBC2から送られたデータで、円とひし形、最後に3Dハットの点画を描画します。 そのあと、GAME-CCのMAZEを動作させてみましたが、グラフモードだとANSIやVTのエスケープシーケンス受け付けないので、画面が崩れてダメでした。 そこで改めて、通常端末でのGAME-CCのMAZEの動作動画を以下に 以前、あげた動画と同じ内容ですがこちらは Z80 実機 8Mhz動作、USBシリアル115200 での接続状態での動作です。 画面だけで、音もBGMも解説も何もない動画です。 ...
linuxなどUNIX系のガジェットにfortune(おみくじ)コマンドってのがある。 単純に呼び出すと、端末に一言 セリフを表示して終了する。ただそれだけのプログラム。 予め用意されたテキスト分の区切り位置をデータとして保持し 乱数で区画の文言を表示しているのだと推察する。 で、これ一般には英文を端末画面に表示するだけのように思われがちだが かなり昔から、日本語対応の端末なら日本語も表示できる。 以前に、むせる男の予告集や世紀末覇王の名言、天の道を往き総てを司る男の名言、蜘蛛男の名乗り口上など作ったりしたが 諸般の事情で「手控えておいたのさぁ」 今回 新たに「4次元殺法コンビの迷言」と「赤い宇宙海賊の名言」を追加して 圧縮書庫 にして出す。 その前に、fortune用のデータの作り方を まず、単純に名言、格言をまとめたテキストデータを作る。 横の文字数はあまり多くなく、ひとつあたりの行数も3行くらいに収める。 ファイルの先頭と終端は必要ないが、各名言の節目節目に「%」だけの行を入れて区切る。 本文中に「%」記号を使いたいときなどは-c オプションで区切り記号を別のものに変える。 $ strfile filename[enter] とだけ打てば、filename.datというdatファイルが作成されてる。 元データのfilenameというテキストファイルには拡張子.txtを付けないようにする。(ただし中身は単純なテキストファイル) 試しに その場で fortune filenameと打って、目的の名言が表示されれば完了。 ディレクトリを移動すれば。fortune filenameと打っても filenameというファイルがないと怒られるので /usr/share/games/fortune/ に テキスト文のfilenameとdatデータのfilename.datのセットをコピーする。 /usr以下の領域は管理者権限がないと書き込めないので su なり sudo で管理者としての資格で書き込むか 自分のローカル領域で使用するのなら。fortuneにファイルパスを指定して対象のファイルを呼び出せば管理者権限なしでも使える。 自分のシェルの.rcにでも ailas で 登録すれば fortune だけ打ち込めば出るようにもできる。 alias myfortun...