BASICMASTER, 昔のパソコン

Fuzix-Compiler-Kitの6800用コンパイラ(2)(ベーシックマスター開発 その34) | ず@沖縄の続き。 同じ問題を解くプログラムを走らせて EFuzix C Compiler ProjectのCコンパイラと、拙作のGAM ...

BASICMASTER, 昔のパソコン

Fuzix-Compiler-Kitの6800用コンパイラ(ベーシックマスター開発 その33) | ず@沖縄の続き。 まだまだ機能は足りないし、バグもあるようだけど、ある程度動くようになった。 どんなプログラムが動くのか 騎士巡歴問題が解け ...

2024/10/08BASICMASTER, 昔のパソコン

6800用のコンパイラを探して – Fuzix/CC6303(ベーシックマスター開発 その22) | ず@沖縄の続き。 サポートルーチンを追加して、バグ取りしたら、少しは動作するようになったのでメモ。6800わかる人に手伝って欲しい。 Fu ...

2024/10/07BASICMASTER, 昔のパソコン

MC6800でのプログラミングの小ネタ。0-15の数値を'0'-'9','A'-'F'に変換したい。 10進表示は面倒臭いけど、16進だと楽。小さなプログラムの動作確認に便利。 以下はBASICMASTERのモニタで使われている変換プログラ ...

BASICMASTER, 昔のパソコン

6809だとSign EXtend命令一発なんだけど、6800にはそんな便利な命令はないのです。 普通に分岐を書くと5bytes,00拡張で8cycle,FF拡張で10cycle。perplexity.aiに書かせると、COMAの代わりにD ...

2024/10/05BASICMASTER, 昔のパソコン

AccABを16bitレジスタに見立てて2の補数(NEG)を計算する。素直に考えると1の補数を計算して+1なので、以下のプログラムになる。 メモリ 6bytes,実行時間 8cycle。ADDB #1 はINC Bにしたいのだが、INCでは ...

BASICMASTER, 昔のパソコン

GAME68クロスコンパイラを書いてみた(2) (ベーシックマスター開発 その21) | ず@沖縄の続き。 コンパイラの改良は意外に面白く、最適化の勉強の勉強も兼ねてあれこれ手を入れてみた。最新版は以下に置く。 BASICMASTER/GA ...

2024/09/22BASICMASTER, 昔のパソコン

MC6800の分岐命令が面倒臭いのは6800の分岐命令(ベーシックマスター開発 その30) | ず@沖縄で書いた。 MC6800でなくても、CPUの扱えるレジスタ長を超えると大小比較は面倒くさくなる。 その面倒臭さを当時のインタプリタはどう ...

2024/09/20BASICMASTER, 昔のパソコン

6800には豊富な分岐命令がある。複数の条件フラグを参照する分岐命令もあり、プログラミングを楽にしてくれる……はずなのだけど、うっかりすると罠にハマってしまう。実際ハマった。 解説資料も少なくて、初学者の参考になるようなサイトも見つけきれな ...

2024/09/05BASICMASTER, 昔のパソコン

BASICMASTERには、64x48dotの簡易グラフィックスを表示する機能がある。64x48は、今ではフォント1文字のサイズである。 それでも、この制限された狭いグラフィック表示の中で、頑張って見栄えの良い画面を作ろうとしたものだ。 簡 ...

2024/09/03BASICMASTER, 昔のパソコン

6800のCPX命令とエミュレーター(2)(ベーシックマスター開発 その27) | ず@沖縄の続き。 さて、MC6800のCPX命令はわかりにくいフラグ変化があるという話をしてきた。実は、いくつかのエミュレータ実装でも誤っているものがあるの ...

2024/09/02BASICMASTER, 昔のパソコン

6800のCPX命令とエミュレーター(1)(ベーシックマスター開発 その26) | ず@沖縄の続き。 MC6800のCPX命令は上位・下位を別々に引き算していて、N,Vフラグには上位同士の結果しか反映されないことはわかった。なぜそうなってい ...