現在地

Universal Monitor ソースコード


カテゴリー:

予告したUniversal Monitorのソースコードを公開します。

unimon-20190609.tgz がソースコードです。ビルド確認はNetBSD上で行いましたが、LinuxでもWindowsでもMacroassembler ASが動けばビルドは難しくないはずです。

ビルド方法はSBC6800用を例にとると次のようになります。

  1. unimon/6800ディレクトリに移動します
  2. config/config.sbc6800config.incにコピーします
  3. makeします
  4. unimon_6800.hexができますので、ROMに書き込みます

makeが使えない場合は代わりに「asl -L unimon_6800.asm」「p2hex -F intel unimon_6800.p unimon_6800.hex」などとしてください。Makefileは大したことはしていません。

クロック周波数を標準から変えているとか機能追加などの変更をしたいといった事情が無くそのまま動かすだけであれば、バイナリファイル(正確にはHEXファイル)unimon-20190609_bin.tgzも用意しています。

6月4日に暫定公開したものはSBC6303,SBC6800にSコマンドでアドレス指定をしなかった場合アドレスが不正になるバグがありました。

操作方法についてはコマンド一覧を参照してください。

SBCシリーズ以外への移植はconfig/config.incconfig.incにコピーして修正してください、と言いたいところなのですが決め打ちの箇所が多いのとMacroassembler ASの制限(INCLUDEするファイル名に定数しか使えない)のためそう簡単ではありません。

  • ターミナル接続用のドライバがdev/に無ければ作成します。unimon_***.asmconfig.incの修正も必要です
  • メモリマップはconfig.incを修正します
  • 必要に応じてunimon_***.asmも修正します

コメント

ボーレートを8MHzのZ8613ボードから7.37280MHzのSBCZ8への修正箇所が判らなかったので「USERAM = 1」でとりあえずアセンブルし、TeraTermの設定を4423ボーにして接続してみました。
モニターが動くといろいろ遊べそうです。
ありがとうございました。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。