ず@沖縄

BASICMASTER

6800の分岐命令(ベーシックマスター開発 その30)

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

簡易グラフィックスとPLOTルーチン(ベーシックマスター開発 その29)

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

6800のCPX命令とエミュレーター(3)(ベーシックマスター開発 その28)

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

6800のCPX命令とエミュレーター(2)(ベーシックマスター開発 その27)

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

6800のCPX命令とエミュレーター(1)(ベーシックマスター開発 その26)

開発にはエミュレーターを使っているのだけど、CPX命令の処理が正しくないエミュレーターがあるようだ。そもそも6800のCPX命令は変なのである。私がBASICMASTERを使っていたころは、世の中のプログラムはCPX命令の後は必ずBEQ/B...
BASICMASTER

6800のアセンブラプログラム最適化(1)(ベーシックマスター開発 その25)

昔は1バイトでも短いプログラムの方が大事だった。私の買ったベーシックマスターは全メモリが16KBぐらい。狭い。メモリ追加して 32KB使えるようになっても言語処理系を入れるとカツカツだった。(メモリも今のようなモジュールじゃなくて、16ピン...
BASICMASTER

除算ルーチンの検討(ベーシックマスター開発 その24)

前回はさまざまな乗算処理を見てみた。今回は除算。乗算ではシフト方向によって 大きく2つの方法があるが、除算も同様。また、16bit*16bitの乗算で結果の下16bitだけを使う場合は符号あり・符号なしのどちらでも同じルーチンが使えるが、除...
BASICMASTER

乗算ルーチンの検討(ベーシックマスター開発 その23)

BASICMASTERは日立製のCPU HD6800を使っている。これはモトローラのMC6800の互換品。昔のCPUなので乗算・除算命令は無く、シフト命令と加減算を組み合わせる必要がある。コンパイラを作成・改良するにあたり、各種言語で、16...
BASICMASTER

6800用のコンパイラを探して – Fuzix/CC6303(ベーシックマスター開発 その22)

GAMEコンパイラの書き直しのために、参考になる6800で動くコンパイラがないかと探していたら、EtchedPixels氏(aka Alan Cox氏)によるFuzix OS内にCコンパイラがあった。6502用のCコンパイラであるCC65を...
BASICMASTER

GAME68クロスコンパイラを書いてみた(2) (ベーシックマスター開発 その21)

前回記事で「区切りとして github に置きました。この版はこれで終わりにして、第2版を作ろう」と書いたのですが、2週間で書いた割には意外に実用になるので、バグ修正と高速化を1週間ほど頑張ってみました。現在では、ASCII 1979年7月...
BASICMASTER

GAME68クロスコンパイラを書いてみた(1) (ベーシックマスター開発 その20)

GAME68は移植できたので、順番からすると次はGAME68コンパイラの移植になるのだが、どうも気乗りしない。変数領域を0ページ外に移動したので、コンパイラの修正が必要になる。いまさらベーシックマスターの狭い画面(32x24)で、vi以外の...
BASICMASTER

いまさらベーシックマスターの開発環境を作ってみる(19) プロファイラを作ってみる(2)

いまさらベーシックマスターの開発環境を作ってみる(17) プロファイラを作ってみるで作ったプロファイラ、たいへん便利。時間喰ってるルーチンが簡単にわかるので、最適化しやすい。調子に載って、メモリアクセス回数をカウントするように改造してみた。
スポンサーリンク