このブログでやっていることは昔なら「まじめにやれ」と言われるようなことかもしれませんが、一人でやっているため誰も何も言ってこないので大丈夫です。現在は X68000 エミュレーターで動作するプログラムを作るためのシステムを考えることを主にやっています。今の時代にやるべきことではないかもしれませんが、AIの発達によって今だからできるとも言えます。
C++ で
を書いています。このシステムを XCG システムと呼ぶことにします。
- Windows 用は Vusual Studio のデスクトップアプリケーションで
- コンソール風入力
- コンソール風出力
- ソースコード用
- グラフィックス用のウィンドウを持ちます。
- X68000 エミュレーター用は C++ のクロスコンパイラでコンパイルします。
- テキスト画面
- グラフィックス画面
を切り替えます。
- テキスト画面はコンソール入出力を行います。
- グラフィックス画面でマウスを使わない場合は同時に使うこともできる予定です。
- ソースコード用ウィンドウはファイル入出力に対応します。
X68000 エミュレーターで動作させる方法を検討するために
を C++ で書き直して XCG システム上で動作するようにします。これをクロスコンパイラでコンパイルすると X68000 エミュレーターで動作するようになることが目標です。X68000 エミュレーターで動作させるために、IOCS 呼び出しではできない
- 塗りつぶした楕円の描画
- 塗りつぶした角が丸い長方形の描画
- 塗りつぶした多角形の描画
をインラインアセンブラで記述することが目標です。
X68000
Windows と X68000 で切り替えることができるグラフィックス機能のサンプルを作成中です。IOCS の呼び出しでできないものがあるので、C++ のクロスコンパイラでコンパイルした結果をインラインアセンブラに取り込もうとしています。しかし動作しないものがあり、スタックの状態をエミュレーターで調べるのは難しいので、アセンブリ言語のインタープリターを作成することにしました。→ アセンブラ
関数電卓コマンド版
「関数電卓」(関数電卓)をコマンドで実行できるように C++ で書き直したものを作成しています。「関数電卓」は「関数のグラフ」の関数計算の部分を取り出したものです。X68000 で関数の計算をするサンプルとしても使えるようにします。この項の続きは「関数のグラフ」で扱います。→ 関数のグラフコマンド版
関数のグラフコマンド版
「関数電卓コマンド版」にグラフ描画機能を追加して「関数のグラフ」と同様にします。C# 版、TypeScript 版では構文解析中に発生したエラーが無視されていたので、エラーを返すようにしました。これは C# 版、TypeScript 版でも修正する必要がありますが、エラーを表示するエリアがないのでそこを対処しなければいけません。しかし Google Charts のサンプルで同様のものがあるので、この件は後回しとします。
80sBASIC
X68000 エミュレーターでのグラフィックス機能を調べるために X-BASIC を使おうとしたのですが、ソースファイルをを読み込ませるのが失敗するので、他に何か動かせる言語はないか調べていました。「昔ながらのBASIC」は X68000 エミュレーターで動かすことはできるとは思いますが、これはコンパイラとして使えるようにしたいためあまり拡張はしないことにします。どうするかは今後検討します。
ここでは「プログラム電卓」を C++ に書き直した「80sBASIC」を考えていますが、中断しています。
「FORTH電卓(FORTH電卓)」も今後検討する予定です。






