ず@沖縄

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) プロファイラを作ってみるで作ったプロファイラ、たいへん便利。時間喰ってるルーチンが簡単にわかるので、最適化しやすい。調子に載って、メモリアクセス回数をカウントするように改造してみた。
BASICMASTER

いまさらベーシックマスターの開発環境を作ってみる(18) NAKAMOZU Tiny BASICを高速化する

いまさらベーシックマスターの開発環境を作ってみる(17) プロファイラを作ってみる | ず@沖縄で作った簡易プロファイラを使ってNAKAMOZU Tiny BASIC(以下NTB)を高速化してみた。NTBは、下記連載で移植したものだ。 いま...
BASICMASTER

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

私が使っていたBASICMASTER L2II (MB-6881)は、標準で16KBのRAMが内蔵されていた。もちろん、これでは少なすぎるので16KBを追加して32KBで使っていた。今のCPUならL1 cache以下のサイズである。外部記憶...
BASICMASTER

いまさらベーシックマスターの開発環境を作ってみる(16) 各種エディタ

BASICMASTERには標準でLevel2 BASICが搭載されていて、内蔵エディタでBASICプログラムを書くことはできる。このエディタは入力したBASIC文を中間言語に変換してしまうし、エラーがあれば入力時点で弾いてしまうので、他の言...
スポンサーリンク