スキップしてメイン コンテンツに移動

投稿

テクトロニクス グラフィックターミナルエミュレータ tek4010

大昔のメインフレームとかには、出力装置はプリンタぐらいしかなく。シリアル接続の端末の画面に出すのは、一時的な作業状況程度の文字情報のみだった。記憶装置としては紙や磁気のテープやハードドライブがついてる程度かな。音楽も演奏できないし、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も解説も何もない動画です。  ...
最近の投稿

fortune用の日本語名言データ作成メモ

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...

あの炭酸飲料のレシピの日本語訳

だいぶ古いけど、 元記事は https://gigazine.net/news/20260415-coca-cola-reproduction/   GIGAZINEからの引用。 GIGAZINEの方もYoutubeの https://www.youtube.com/watch?v=TDkH3EbWTYc  からの引用なんだが。 その動画の説明欄に出ていた レシピが英語表記で日本語で聞き慣れた素材とは違いすぎるので deepl翻訳で日本語化してみた。 FLAVOR SOLUTION A: dilute 20mL of the following oil mixture to a volume of 1 liter using food-grade 95% alcohol. 45.8mL lemon oil 36.5mL lime oil 8mL tea tree oil (from Australian tea tree, Melaleuca Alternifolia) 4.5mL cassia cinnamon oil 2.7mL nutmeg oil 1.2mL orange oil (regular sweet orange) 0.7mL coriander oil 0.6mL fenchol (any version of alpha-fenchol should work) フレーバー溶液A:以下のオイル混合液20mLを、食品用95%エタノールで1リットルになるまで希釈する。 45.8mL レモンオイル 36.5mL ライムオイル 8mL ティーツリーオイル(オーストラリア産ティーツリー、Melaleuca Alternifolia由来) 4.5mL カシアシナモンオイル 2.7mL ナツメグオイル 1.2mL オレンジオイル(一般的なスイートオレンジ) 0.7mL コリアンダーオイル 0.6mL フェンチョール(アルファ-フェンチョールのいずれのタイプでも可) FLAVOR SOLUTION B: dilute the following mixture to a volume of 1 liter using water. 185mL Durkee caramel color 150 grams food-grade vegetabl...

GAME言語用のリナンバーツール

GAMEでプログラムを作ってると出だしで割り振った行番号だと後から入れる追加のルーチンが入る場所が確保出来なかったりするケースに出会う。 BASICなんがでも、よく出会うケースなんだがBASICにはrenumコマンドが用意されていたりする。システムによってはBASICのスクリーンエディタを借りて入力したりしていてもrenumでの行番号再振り分けをしようにも、GAMEの文法にrenumが対応してないので使えない。 そこで、今回はyahoo!のAgent!の力を借りてpythonで組んでみた。 単純に、引数1に対象ファイル名、引数2に開始行番号、引数3に増加分を指定すると 標準出力に結果を表示してくれるだけのもの。ファイルの形で残したければリダイレクトでファイルに保存すれば良い。少なくとも元ファイルを読み込むだけにしてあるので上書きなど間違って破壊するリスクはない。 リンク 今のところ予想されるバグは、存在しない行番号を呼び出す!=文と#=文への対応はしていない。 インタプリタだと200行へのジャンプ文に出会ったときに、201行はあるけど200行はない場合、素直に201行にジャンプする判断をするけど このリナンバーツールは何もしない。エラーも出さない。存在しないはずの#=-1にエラーも出さずにそのままスルーで出力してるから。同様に存在しない行番号を呼び出す文に出会っても何もしないので 大きな意味では不具合のもとになる。その辺は各自の判断で手を加えることを薦める。 

主だったChatAIの能力比較

 duckduckgoのサービスの一つであるduckAIで使えるAIエンジンの4種類に同じ質問をして返ってきた答えの違いによる信頼性の比較 質問は 「70年代から80年代に日本で使われたコンピュータ言語のGAME言語について 説明して」  というのと そのあとに、「プログラムのサンプルを出してみて」って頼んでみた。 まずは「Mistral Small 4モデル」  この会話は、Mistral AIのMistral Small 4モデルを使用してDuck.ai(https://duck.ai)で生成されました。AIチャットでは不正確な情報や不快な情報が表示される場合があります(詳細についてはhttps://duckduckgo.com/duckai/privacy-termsを参照してください)。 ==================== ユーザープロンプト1/1 - 2026/6/5 17:19:22: 70年代から80年代に日本で使われたコンピュータ言語のGAME言語について 説明して Mistral Small 4: GAME言語(GAME Language)は、1970年代から1980年代にかけて日本で広く使用された、ゲーム開発やグラフィック処理に特化したプログラミング言語です。主にパーソナルコンピュータ(PC)やホビーパソコン向けに開発され、当時のゲーム開発者や教育現場で人気を博しました。以下に、GAME言語の特徴や歴史、用途について詳しく説明します。 --- ### **GAME言語の概要** 1. **開発背景**    - 1970年代後半から1980年代初頭にかけて、日本のパソコン市場は急速に成長し、多くのホビーパソコン(例:PC-8001、PC-9801、FM-7、X1、MZ-80Kなど)が発売されました。    - これらのコンピュータは、当時のゲーム開発者にとって魅力的なプラットフォームでしたが、グラフィックやサウンドを制御するための標準的なプログラミング手法が不足していました。    - GAME言語は、このようなニーズに応えるために、グラフィックやサウンド、入力処理を簡単に扱えるように設計されました。 2. **特徴**    - ...

同じく68系アセンブラA09の日本語マニュアル

A09は6800系のアセンブルもできる、強力なアセンブラで 読む限りasm6809とアセンブラとしてはソースの共用ができるっぽいのですが、使う人の好みにもよるかな? もとは、アーカイブに付属する.htm形式のモノなのでレイアウトをなるべく残すようにhtml形式にしてます。 リンク をクリックしてダウンロードするなりして見てください。

ASM6809のマニュアルの日本語化

翻訳というほどのだいそれた作業でもないけど、asm6809のman表示をDeepL翻訳で長文部分のみ日本語にしてみた。 純粋な テキスト文 だが、その都度引き出して読むのも面倒なのでメモ代わりにここにだす。  以下、テキスト文本文 ----------------------------------------------------  asm6809(1)                  General Commands Manual                 asm6809(1) NAME        asm6809--6809 cross-assembler SYNOPSIS        asm6809 [OPTION]... [SOURCE-FILE]... DESCRIPTION        asm6809 is a portable macro cross assembler targeting the Motorola 6809        and  Hitachi  6309  processors.  These  processors  are  most  commonly        encountered in the Dragon and Tandy Colour Computer.        asm6809は、Motorola 6809およびHitachi 6309プロセッサを対象とした     ポータブルなマクロクロスアセンブラです。     これらのプロセッサは、DragonおよびTandy Colour Computerで最もよく見られます。 OPTIONS       ...