現在地

MC68kボード復活作戦(その3)


テーマ:

カテゴリー:

前回ACIAを交換してみたところまで書きました。

レベルコンバータのMAX232も手持ちのSP3232と換えてみましたが、やはり駄目でした。チャージポンプのキャパシタが悪いのかもしれませんが、この基板はあまり弄りたくないので迷うところです。

SP3232Eのデータシートによるとチャージポンプ用キャパシタは0.1µFで十分と書かれていますが、上限については見当たりません。この基板では当時のMAX232の資料を元に22µFのケミコンを使っています。30年の間にドライアップなど劣化したのか、単純に容量が大きすぎるのか。

いろいろ試しているうちにレベルコンバータのICを抜いているとTxDataに信号が出ていることに気づきました。リセット直後に130回ほど変化しています。

これはオープニングメッセージかもしれません。

同じころソースコードから通信条件が 7ビット・偶数パリティ・ストップビット2 であることもわかりました。今ならこんな設定にはしませんが、元になったモニタの設定をそのまま流用したようです。

そこでMAX232のソケットからTTLレベルのままTxData, RxDataを引き出してTTL-232R-5Vに接続することにしました。

MAX232ソケット付近
これで動かしてみたところ無事動作しました。レベルコンバータ以外は無事だったようです。

少なくともここまで動作すればあとはチェックも難しくなさそうです。

モニタとTiny BASIC
これは起動したところです。

トランジスタ技術誌に掲載のモニタをそのまま移植したもので、その後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を読むのは大変です。

とりあえずはこれ以上は保留ですね。もしフロッピーを発見できたらそのときに考えることにしましょう。

参考文献・関連図書: 
SP3222E/3232Eデータシート, Sipex.
藤井智史・山本強(1985)「保存版 68000/8の徹底研究 システムの起動とモニタ・プログラム」,『トランジスタ技術』1985年4月号, pp.383-403, CQ出版社.
ゴードン・ブランドリー「Tiny BASIC」,『DDJ 68000プログラミングツールブック』pp.67-98, 工学社.

コメントを追加

Plain text

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