JR7CWK'sぶろぐ
■ついでにモニタモード移植?
自作CPUボードですが、せっかくシリアル通信用の8251を積んだボードも
作ってあるので、PC-8001のモニタモードを移植してやろうか? なんて考えがあります。 入出力は8251経由で他のPC接続してやる事になります。 元々PC-8001のモニタモードは、端末からの操作を前提にしたような作りなので、 RS232C入出力用に改造しても問題は無さそう。 ただ、プログラムの保存関係はカセットテープ前提の独自フォーマット なので、ターミナル側のFDへの転送に対応すべく考えないといけないな。 (PC-8001のようなCMT用モデム作ってテープに保存なんて方法も 考えられますが、それはあんまりなので。) それと先のI/Oボードで遊ぶ為にも、I/Oポートへの入出力機能も追加しておきたいところ。 PC8801のモニタモードなら多機能ですが、その分移植の敷居が高そうなので止めときます。 |
システム吸い上げ
ハードは置いといて、
解析(逆アセンブル!)の為に、手元のPC-8001mkIIより、システムを吸い上げた。 一応、ROM(N及びN88)と、DISKBASIC(N及びN88)、DISKユーティリティを WINDOWS環境で読めるよう、読み出し、ファイル化、フォーマット変換等を行う。 ROMはPEEK関数、DISKBASICのコードはDSKI$関数により、DISKBASIC上で バイナリイメージのファイル化し、出来たファイルを PC9801のMS-DOSの"FILECONV"ツールにてDISKBASICフォーマットから MS-DOSフォーマットに変換。 今になってわかりましたが、このツール、2DDが読めるドライブなら、 2Dのディスクも読んでくれるんですね。 ところが、落とし穴。 バイナリ形式でセーブされたN-BASICやN88-BASICのファイルを変換すると、 ファイルサイズが馬鹿みたいに大きくなるんです。 2HDのディスク1枚に2Dのディスク3枚分は入るだろうと、変換かけると、 容量不足になり途中で変換が終了してしまいます。 2Dディスクの容量計算(クラスタサイズ)間違えているのかと思い、 DISKBASIC上で2HD化してから変換かけても結果は同じでした。 変換後のファイルを覗いて見ると、変換ツール自身の一部が一緒に落ちているみたい。 確かバイナリセーブされたBASICプログラムのファイルの先頭には ファイルサイズを示すデータが入っていたような気がするのですが、 PC80/88系とPC98系では表現方法が違ったような気がするのですが、 変換ツール、この値を参照しついるのかも。 なお、バイナリのBASICのファイルは、自作のリスト化プログラムで テキストに戻しています。 (実はそのプログラムってN88-BASICで記述してあって・・・ PC互換機上でPC9801エミュレータ起動して動くかしているという。 N88(86)のDOS版専用の変換ツールはCに焼き直したのもあるのですが、 他の形式までサポートするように出来なかったんです。) |
吸い上げ不足
モニタ作成開始
A/D,D/Aボード
久しぶりに自作したA/D,D/Aボード眺めてみたら、これ何だっけ?っていう回路が・・・
よくよく調べてみると、ジャンクのゲーム基板に付いていたROMを読み出す為の回路だった。 それにしてもこの基板、ICの向きがバラバラ。 しかも部品が無かったので無理矢理組んだのをもろに現すような回りくどいロジック。 今だったら絶対こんな組み方しません! 俺も青かったなぁ・・・ (それに半田コテの熱で溶けるような電線、今では基板内の配線には使いたくない!) ところでこの基板、回路図残っているかな? 順次いろいろな回路を追加して行ったので、つぎはぎだらけなんですが、 部品が無かった時代の作だけあって電線の色が製作時期によって違うというところから、今になっても追加した部分がブロック毎に判別出来るというなんとも皮肉な状態でした。 |
copyright/jr7cwk
1.PC-8001用のA/D,D/Aボード(音声録音・再生実験用)
2.TK-80互換Z80CPUボード(スロット方式で自作)
今手元にはPC8801mkIIはあるが、PC8001は無い。
そこで、CPUボードにPC8001の拡張バス互換となるようなバス変換ボードを作って、
A/D,D/Aボードを接続してしまおう、なんて発想が今更ながら浮かんできた。
この方法だと、CMU-800という音源や、PC-8012(互換)拡張BOXも接続出来てしまいそう。
PC88に付けるべく部品集めただけで手付かずになっている、uPD7220という
GDCを使ってたグラフィックビデオボードもつなげそうな予感?
(そこまでやる意味ないけど)