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

投稿

主だった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       ...

Z80のOPコード表

昨日の続きの話みたいなもんですが、30年ほど昔に技術評論社から出ている「プロセッサ」という雑誌に、エッセイだったか、コラムを書いてる現役のSEの方のちょっとした小技的な話にZ80のOPコード一覧を16x16の方眼目に並べたモノを作って 手元に置いてると言う話があった。当時は「ふーん」ってな感じで右から左だったワケだが、同様なものを誰かが作っているかと検索したが、A4の用紙に区切りよく配置されたモノは全く無かった。 6809だと、ASCII出版の名著「6809ハンドブック」の巻末に付録として最高の出来のOPコードテーブルがあるのでコレに勝てるものはないと思う。 私も買って持っているが、実家に置いたままで手元にはない。 近いものだと、モトローラのデータシートにできの荒い一覧がある。 こんな感じ 実際のモトローラのデータシートのものは90度回転して縦長だったのでA4横に再配置してみた inkscapeで扱うSVGZ形式で良ければ リンク に上げるのでどうぞ。 こんな感じ、現物はA4用紙に配置して作ったが、A6のシステム手帳サイズに縮小して使おうと試しに縮小したのを印刷したら。悲しいことに文字が小さすぎて老眼にはまともに使えない細かさだった。ぎりぎりA5サイズが限界だった。 こちらも、 リンク 先に上げと置くので必要ならどうぞ。 メイン以外の拡張命令の部分の一覧も作っているので適当に加工して使ってください。 元データはlibreofficeで扱うODS形式なのでexcelで読めるかどうかは不明。ods,svg,pdfで書庫にしてますのでお好きにどうぞ。 

Z80のニーモニック検索

Z80や8080のバイナリダンプをつらつら眺めてると、C3やCDを見つけてはジャンプ、コール命令だなとか、FEで比較処理してるなとか、01,11,21でレジスタペアに代入してるなってのは慣れてくると読めるようになるんだが、咄嗟に74とか出てもホイホイと出るほどには仙人になれない。 z80_mnemonic.py   z80_mnemonic.sh  いつもの4shared サーバーです。 nikohon@b553:~/ダウンロード/Works$ python ./z80_mnemonic.py 2桁の16進数を入力してください: 80 オペコード 80 に対応するニーモニック: ADD A,B nikohon@b553:~/ダウンロード/Works$ ./z80_mnemonic.sh 80 Error: Argument must be a hex value in the format 0x00 to 0xFF. nikohon@b553:~/ダウンロード/Works$ ./z80_mnemonic.sh 0x80 Mnemonic for 0x80: ADD A,B nikohon@b553:~/ダウンロード/Works$  使い方としては、python版は作業フォルダにでも入れて python ./z80_mnemonic.pyと打てば メッセージに従い、2桁の16進数を $や0xなど抜きで入れれば 該当するOPコードを表示してくれる。ただそれだけ。 同じことを、シェルスクリプトでもできるだろうと作ったのが、z80_mnemonic.sh こちらは 引数として0x付きで16進数2桁を入れて呼び出せば 該当するOPコードを表示してくれる。ただそれだけ。 

GAME80FIXのソース

本家のたけおかさんの方でGC80の公開を再開していただけたようなので こちらも改変したソースの公開をしようと思う。 ファイルは gc80_fix-source.zip  おなじみの4sharedのサーバーです。 cp/m-80用 GAME-80コンパイラ GC80について 元のアーカイブから、必要なファイルだけ抜き出して再構成してます。 makefileとかありましたが、linuxなどの環境でビルドできる訳でもないので抜きました。 普通にcp/mの環境でhi-tech-Cのあるドライブ上に、 gc80.cとgame80.GGGファイルを持ってきてコンパイルすれば使えます。 linuxの端末上からhi-tech-Cでビルドする場合 私の環境だと、エミュレータはcpmとcpm32があるが cpm32経由でしかビルドが出来ない。 エミュレータcpmはlinux上のドライブを、そのまま地続きの仮想ドライブとしてcpmのA:に仮定して動作してくれるが hi-tech-Cのファイル読み取りのやり方がオーソドックスなCPMのファイルアクセスとは違うようで ライブラリの一部が読めないとエラーになる。 A>c309-17 gc80_fix Hi-Tech Z80 C Compiler (CP/M-80) V3.09-17 Copyright (C) 1984-87 HI-TECH SOFTWARE Updated from https://github.com/agn453/HI-TECH-Z80-C error: cannot find fp entry for FCB at dbae fctn 35, FCB named P1      COM C309-17 COM d49b 一方、エミュレーターcpm32は 立ち位置的にはwineに似た動作なので ~/cpm_works/hi-tech-C$ ./cpm32 -h C309-17.COM gc80_fix.c などと、linuxのシェルからビルドできてしまう。 これで GC80_FIX.COMができているので cpmのコマンド処理系が「_」(アンダーバー)を受け付けないのでgc80_fix.comからgc80fix.comに名前を変えて 実行させると A>gc80fix maz...

GAME インタープリタとコンパイル後のバイナリの比較

fedora42の環境で動作する6809エミュレータの中で動作する GAMEインタプリタで実行したプログラムと GAME-CCでコンパイルした同じプログラムの動作比較です。 すべて同じ6809エミュレータ上での動作、実機のSBC6809などだと更に速度は落ちます。 最初はインタプリタでの実行  エミュレータには、ウェイトの掛からない実行状態での動作です。 次は、エミュレータにdebugオプションを付けた状態での コンパイルオブジェクトの実行動作です。  debugオプションを付ける状態だと、インタプリタで実行しているのに近い エミュレータのトレース機能が一部噛んでくるので速度が落ちます。引き換えに好きなタイミングで簡易debugerに入って、レジスタ、メモリの確認やステップトレースを掛けることも出来ます。残念ながら、メモリの書換えや指定アドレスからの実行コマンドがないので自由な作業ができるdebugerとは言えませんが、6809のメモリを消費すること無く必要最低限の動きを追うことは出来ます。 最後がdebugオプションを外した、エミュレータでの全力動作です。  画面の右にCPUの動作クロック、その下にCPU占有率、通信帯域、メモリ、HDDアクセスのグラフを出しているのだが、エミュとは言えtelnetでローカル通信をしてるので全力で端末とのやり取りをすると通信帯域を消費しているのが判る。