ディスク関連が大体分かったので、ついでにI/O をまとめました。
I/O表
『PC-Techknow6001』『PC-6001mkII 解析マニュアル』を参考にしていますが、
記載されていない所や間違いなどを修正したつもりです。
記載されていないのは、次のようなものです。
・ポート0xA2 (mk2/P66)ポートAに垂直同期(bit7)、水平同期(bit6) が接続されている
・ポート0xB1 内蔵FDD関連。
・ポート0xB2 CMT1、CMT3出力。
・ポート0xB3 ポート0xB2 の方向レジスタ(0xC3 と同じようなもの)。
・ポート0xE0〜0xE3 音声合成LSI。
・ポート0xFC〜0xFF 拡張漢字ROM。
ポート0xB1 bit2=0の時の
・ポート0xD0〜0xDE 内蔵FDD関連(μPD765AC とディスク用バッファ関連)
また、『PC-6001mkII 解析マニュアル』では、INT1/INT2 について記載がありません。
表に記載したとおり、INT1 がSUB-CPU(8049)、INT2 が外部割込み(JOYSTICK7ピン)です。
外部割り込みに関しては、以下のようにして確認できます。
1)2トリガのJOY-STICK を1P側につなぐ
2)mode2 page4 で立ち上げる
3)タイマ割り込みをOFF にする → OUT &HB0,5
→タイマ割り込みが停止したため、カーソルの点滅が止まります。
4)外部割込みのアドレスを、タイマ割り込みと同じ値に設定する → OUT &HF5,6
5)外部割込みを有効にする → OUT &HF3,&HD0
この状態でトリガ2を押すと、カーソルが点滅します。
何かに使えそうな、使えなさそうな割り込みです。
I/Oポート表、興味深く拝見しました。
未知の部分が多くて自分の中でも色々見直しが必要みたいです。
外部割り込みは取りこぼしにシビアな通信とかに使えるんでしょうかね…。
素直にRS-232C使えというハナシではありますが。
どうもです。
I/O 表は間違っているかも知れませんので、疑問があれば教えて下さい。
FDD の実装は内蔵から着手しているので、外付けドライブはもうちょっと掛かります。悪林檎早く動かしてみたいんですけどねー。
0xB0のタイマとリレーのビット位置が逆だったりしませんか?
指摘の通りです。ありがとうございます。
修正するのを忘れてました...
ちなみに、『PC-6001mkII解析マニュアル』も間違っています(^^;
(これをベースに表を作ったので、間違えたんですね)