2019-06-09 22:20 — asano
カテゴリー:
予告したUniversal Monitorのソースコードを公開します。
unimon-20190609.tgz がソースコードです。ビルド確認はNetBSD上で行いましたが、LinuxでもWindowsでもMacroassembler ASが動けばビルドは難しくないはずです。
ビルド方法はSBC6800用を例にとると次のようになります。
unimon/6800
ディレクトリに移動しますconfig/config.sbc6800
をconfig.inc
にコピーしますmake
します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.inc
をconfig.inc
にコピーして修正してください、と言いたいところなのですが決め打ちの箇所が多いのとMacroassembler ASの制限(INCLUDEするファイル名に定数しか使えない)のためそう簡単ではありません。
- ターミナル接続用のドライバが
dev/
に無ければ作成します。unimon_***.asm
とconfig.inc
の修正も必要です - メモリマップは
config.inc
を修正します - 必要に応じて
unimon_***.asm
も修正します
関連項目:
コメント
SBCZ8で動きました。
ボーレートを8MHzのZ8613ボードから7.37280MHzのSBCZ8への修正箇所が判らなかったので「USERAM = 1」でとりあえずアセンブルし、TeraTermの設定を4423ボーにして接続してみました。
モニターが動くといろいろ遊べそうです。
ありがとうございました。
Re: SBCZ8で動きました。
動作報告ありがとうございます。
コメントを追加