S1のFDD I/Fアクセス方法が分かってきたので、ここで一度整理しておきたいと思います。
S1のFDD I/Fアクセスのカギは$FF04のUNITSELだとは気付いていたのですがS1活用研究を読んでも
DRQは$FF02のリードとあり、いまいち理解できませんでした。
そこで、6809活用研究に掲載のMP-1870の回路図を眺めていると$FF04にはMB8876AのDRQもIRQリードできることが分かりました^^
■$FF04 UNITSELのビット割付け
$FF04 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
READ | #DRQ | N/A | N/A | N/A | N/A | DT/#ST0,1 | DT/#ST2,3 | #IRQ |
WRITE (MP-1870) | N/A | NMIMASK | DDEN | HEAD1 | MOTORON | N/A | Drive^1 | Drive^0 |
WRITE (S1/30-40) | #FDCENBL | 8’RESET | #DDEN | HEAD1 | MOTORON | N/A | Drive^1 | Drive^0 |
S1活用研究ではDDENが#になっている? MP-3560の資料を見るとMP-3550には無さそうなDT/#STという信号が増えているもよう・・ $FF04のリードで取得できるようですが何をする信号なのかご存じの方教えてください^^ |
■$FF08 HALT → WRITEでS1バス41ピン HALT をアクティブ、解除は37ピンの#RESET,又は#38ピンの#NMI又はFDCの#DRQ
■MB8876A関連のレジスタは
アドレス(Aモード) | WRITE | READ |
$FF00 | コマンドレジスタ | ステータスレジスタ |
$FF01 | トラックレジスタ | トラックレジスタ |
$FF02 | セクタレジスタ | セクタレジスタ |
$FF03 | データレジスタ | データレジスタ |
これを踏まえてS1でFDDにアクセスする手順を整理すると、こんな感じになりそうです
FDD I/Oアクセスメモ 続きを読む S1-CP/M80 移植作戦 その21 BIOSの作成5^^ →