最近のトラックバック

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« 「きいろいゾウ」 の読後 | トップページ | 「G ボーイズ冬戦争 - 池袋ウエストゲートパーク<7>」 の読後 »

2009-10-27

GMC-4 シミュレータ v1.36 リリース

GMC-4 シミュレータ v1.36 (ダウンロード) をリリースします。

今回の版から ソースファイル を公開します。

無償で入手可能なツールおよびライブラリのみでビルドできます。開発環境の入手先およびセットアップ方法については 開発環境について を参照ください。

展開したディレクトリで make  (Borland 製の make) を実行すると、GUI 版 gmc4sim.exe とコンソール版 gmc4tool.exe が生成されます。

その他の変更点は以下の通りです。

  • 左側のペインの幅を固定
  • ボードシミュレータからプログラム起動する機能を修正
  • ソースファイルの構造を見直し

« 「きいろいゾウ」 の読後 | トップページ | 「G ボーイズ冬戦争 - 池袋ウエストゲートパーク<7>」 の読後 »

GMC-4 シミュレータ ログ」カテゴリの記事

コメント

自分も「GMC-4 シミュレータ」のコードを書いた身なので
原因もわからず不具合報告していいのか
悩みましたけれどご報告です。

長い文章になってしまったので
申し訳ないのですけど以下のURLを
見ていただければと思います。
ttp://d.hatena.ne.jp/akkera102/20091027

元凶はDEM+っぽいのです。
あんまり実装の楽しみがないというか、
学研さんの本にも詳細な仕様がない不遇な命令です(汗。

メモリのバンク切り替え命令の方が
ほしかったなあとちょっとぼやいてみました。

バグレポート、どうもありがとうございました。

見直してみたところ、DEM+ の10 進補正の計算の仕方が実機と違っていました。
以下の修正で、No.71 でメモリに F を埋めたときの結果があうと思います。

// M+Ar->M (decimal adjustment), 1->exec
unsigned char val;
unsigned char valAdd = vm.RegA();
for (unsigned char idx = vm.RegY(); ; idx = (idx - 1) & 0xf) {
val = (vm.RegM(idx) & 0xf) + valAdd;
if (val < 10) {
vm.RegM(idx) = val;
break;
}
vm.RegM(idx) = (val - 10) & 0xf;
valAdd = 1;
}
vm.RegY() = (vm.RegY() - 1) & 0xf;
return true;

確かに GMC-4 のインストラクションセットはあまり練られていない感じがしますね。
命令数が少ないにも関わらず、その中でも不要なものが多すぎます。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: GMC-4 シミュレータ v1.36 リリース:

« 「きいろいゾウ」 の読後 | トップページ | 「G ボーイズ冬戦争 - 池袋ウエストゲートパーク<7>」 の読後 »