2022-03-15 23:37 — asano
カテゴリー:
注文していたDRAMが到着したので早速挿し替えてみました。
OkiのMSM3764A-15、今度は国内調達なのでリマーク品を掴まされた可能性は低いはずです。
まずはDIAGSB9Eでテスト、すべてPASSでしたがまだ安心はできません。
続いてBASIC9E_map0_slow.hexを試します。リセットしても何も表示されないので駄目かと思ったら、ワンテンポ遅れて起動メッセージが表示されました。RAM容量の確認でもしているのかな?
BASICで簡単なプログラムを書いて走らせてみます。
問題なさそうなので本題のUniversal Monitorの確認を始めます。
2週間ほど前にはせりん@haserin09さんより少しの変更でSBC6809Eで動いたとの連絡をもらっていました。変更点をUniversal Monitorの配布に加える許可も頂いています。
configファイルで条件アセンブルできるよう修正して取り込みました。具体的な内容はSN74LS783の設定とDRAMのウォーミングアップです。
config対応以外をそのまま取り込んだのが unimon_SBC6809E_map0 です。
$0000~$7FFFがRAMで、その内の$7F00~$7FFFをワーク・スタックとして使用します。$0000~$7EFFは自由に使えます。搭載している64kBのRAMの残りはバンク切り替えでアクセスできますが、RAM全体が切り替わってしまうのでROMに何らかのサポートルーチンを入れておかないといけません。スタック領域も切り替わってしまうのも不便です。
74LS783にはほぼ全域をRAMにするモードもあります。SBC6809EではGALを使うことでこのモードでも最低限のROMとI/O空間を配置しています。これを使うようにしたのが unimon_SBC6809E_map1 です。
$0000~$DEFFがRAMで、その内の$DE00~$DEFFをワーク・スタックとして使用します。
どちらを使う場合でも$DF00~$DFFFにはI/O(ACIA)・$E000~$FFFFにはROMが配置されます。
実は... これ数日前に書いたのですがダウンロードページを直してから掲載しようと思っていて忘れていました。
コメントを追加