ヤマガタンver9 > CPU>過去の資産を生かす?

Powered by samidare

▼CPU>過去の資産を生かす?

私が昔作ったものに、こんな物がある。
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を使ってたグラフィックビデオボードもつなげそうな予感?
(そこまでやる意味ないけど)

2005/09/28 16:30 (C) JR7CWK'sぶろぐ

▼■ついでにモニタモード移植?

自作CPUボードですが、せっかくシリアル通信用の8251を積んだボードも
作ってあるので、PC-8001のモニタモードを移植してやろうか?
なんて考えがあります。

入出力は8251経由で他のPC接続してやる事になります。
元々PC-8001のモニタモードは、端末からの操作を前提にしたような作りなので、
RS232C入出力用に改造しても問題は無さそう。

ただ、プログラムの保存関係はカセットテープ前提の独自フォーマット
なので、ターミナル側のFDへの転送に対応すべく考えないといけないな。
(PC-8001のようなCMT用モデム作ってテープに保存なんて方法も
考えられますが、それはあんまりなので。)

それと先のI/Oボードで遊ぶ為にも、I/Oポートへの入出力機能も追加しておきたいところ。

PC8801のモニタモードなら多機能ですが、その分移植の敷居が高そうなので止めときます。
2005/09/29 16:46:cwk

▼システム吸い上げ

ハードは置いといて、
解析(逆アセンブル!)の為に、手元の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に焼き直したのもあるのですが、
他の形式までサポートするように出来なかったんです。)
2005/09/30 15:39:cwk

▼吸い上げ不足

PC88に関する本があったのを思い出し、引っ張り出して眺めてみたら、
N88モードのモニタ本体はN-BASICのROMと同じバンクにあると・・・
まさかそんな事になっていると思ってないので、そんな所、吸い上げて
いませんでした。
作業追加!

さてN-BASICのROMは少しずつ解読中。
モニタ部分はおおまかな流れは読めてきました。
ここまで来れば、移植作業始めても大丈夫かも?
2005/10/07 11:05:cwk

▼モニタ作成開始

モニタ作成に着手。
作成って言っても逆アセンブルした奴をコピペしターゲットに合わせて
変更する事と、足りないラベルの定義と初期化や端末との入出力を行う
8251の通信ルーチン作る程度。
通信ルーチンも基本はPC8001のソースに含まれているので、ほとんどコピペ
で済みます。

まずはメモリの読み書きが可能なレベルから完成させ、
セーブやロード,I/O制御機能追加はそれからだな。
2005/10/13 14:57:cwk

▼A/D,D/Aボード

久しぶりに自作したA/D,D/Aボード眺めてみたら、これ何だっけ?っていう回路が・・・
よくよく調べてみると、ジャンクのゲーム基板に付いていたROMを読み出す為の回路だった。
それにしてもこの基板、ICの向きがバラバラ。
しかも部品が無かったので無理矢理組んだのをもろに現すような回りくどいロジック。
今だったら絶対こんな組み方しません!
俺も青かったなぁ・・・
(それに半田コテの熱で溶けるような電線、今では基板内の配線には使いたくない!)

ところでこの基板、回路図残っているかな?
順次いろいろな回路を追加して行ったので、つぎはぎだらけなんですが、
部品が無かった時代の作だけあって電線の色が製作時期によって違うというところから、今になっても追加した部分がブロック毎に判別出来るというなんとも皮肉な状態でした。
2005/10/19 15:04:cwk
(C) Stepup Communications Co.,LTD. All Rights Reserved Powered by samidare. System:enterpriz [network media]
ページTOPへ戻る