2019-03-21 18:42 — asano
カテゴリー:
前回ACIAを交換してみたところまで書きました。
レベルコンバータのMAX232も手持ちのSP3232と換えてみましたが、やはり駄目でした。チャージポンプのキャパシタが悪いのかもしれませんが、この基板はあまり弄りたくないので迷うところです。
いろいろ試しているうちにレベルコンバータのICを抜いているとTxDataに信号が出ていることに気づきました。リセット直後に130回ほど変化しています。
これはオープニングメッセージかもしれません。
同じころソースコードから通信条件が 7ビット・偶数パリティ・ストップビット2 であることもわかりました。今ならこんな設定にはしませんが、元になったモニタの設定をそのまま流用したようです。
そこでMAX232のソケットからTTLレベルのままTxData, RxDataを引き出してTTL-232R-5Vに接続することにしました。
これで動かしてみたところ無事動作しました。レベルコンバータ以外は無事だったようです。
少なくともここまで動作すればあとはチェックも難しくなさそうです。
トランジスタ技術誌に掲載のモニタをそのまま移植したもので、その後MC68010対応などの拡張を行なっています。
0x00302000からのメモリダンプはTiny BASICの先頭部分です。
つづいてTiny BASICを実行しようとしましたが1桁間違えてしまいました。アドレスの上位8ビットは無視される(MPUから信号として出力されていない)ので0x00020000と同じことになり、そこはRAM上なのでゴミが書かれています。最初の何命令かは偶然実行されましたが実行不能な命令に行き当たって例外が発生しました。
次に正しい開始アドレスでTiny BASICが起動しました。これは『DDJ 68000プログラミングツールブック』に掲載されていたものをベースに拡張したものです。
ここまでくるとCP/M-68Kも動かしてみたくなりますが、2つ解決しなくてはいけない問題があります。
CP/Mを動かすにはターミナル以外にディスクアクセスもできなくてはなりません。このボードを使っていたときはPC-8001mk2を使用していましたが、それはもう動きませんので現在のPCでその代わりをさせなくてはなりません。
通信プロトコルの資料は残っていないので、新たに作る(当然CP/M-68KのBIOSも作り直し)かBIOSを解読する必要があります。
PCとの接続も必要なのでPCに専用のパラレルポートを作るか、シリアル接続(ディスクアクセスが非常に遅くなります)で我慢するかです。
もうひとつの問題はCP/M-68Kのディスクイメージです。一部のディスクはイメージ化されていたのでありますが、残りは当時のフロッピーを探し出して読まなくてはなりません。今5.25インチ2Dを読むのは大変です。
とりあえずはこれ以上は保留ですね。もしフロッピーを発見できたらそのときに考えることにしましょう。
コメントを追加