2016/04/30

回路設計・その2

回路設計をしたものの、LS688(またはLS521)は持ってないし今となっては高価な部品だ。でもHCT688ならそんなに高価でもないみたい。実体配線を考えたらLS688周辺が意外と手間だね。そもそも『アドレスを変更できる必要があんの?』という疑問…ROM化するのであればアドレスは固定で良いよね。

ということで、回路設計をやり直し基本方針通り、楽な配線&ローコストを目指します。
I/Oアドレスについては、0100H~0FFFHはシャープが予約しているワケですが、新規に純正拡張ボードが出てくることもないので、デコード回路を楽に配線が出来る0F7XHにしました。

回路設計

回路は次の通りです。
ごく普通にMB89352を接続しただけですが、ご覧の通り以下の手抜きをしています。
●EXRDY処理
→他スロットに、同様の手抜きをしている拡張ボードがあると非常に危険です。

●データバス処理
→バストランシーバの類を入れてません。MB89352のファンアウトが足りているのか謎ですが、ダメだったら後から付ける方針で。
 SCSIコネクタには、Macintoshやサンプラーと同じD-Sub25ピンを用います。よくあるSCSIコネクタの50ピンは大きすぎて入らないし、ハーフピッチのは入手性が悪いので。ジャンク基板からハーフピッチコネクタを取り外す方法も考えられますが、やってみたところ案の定グラウンドがそう簡単には外れず、しかも半分近くグラウンドなわけで…

2016/04/28

SASI HDD処理の解析

まず、BIOSについて。

当時の各種解析本によれば、
  • FDCRED…読み出し
  • FDCWRT…書き込み
  • FDCVFY…ベリファイ
  • HDINIT…HDD初期化
  • HDOFFS…ハードディスクのOFF(HDOFFコマンド?)
以上が、SASI HDDに関する処理。

解析したところ、HDINIT と HDOFFS はSCSIにおいては特に何もしなくて良さそう。FDCVFY はいきなり RET 命令なので、当然何もしなくて良い。これ以外に呼び出されている部分が無いか検索しましたが、BIOS 部分では見つけられず。

あと BIOS から RAM上に展開される処理があって、これにも対応が必要です。なぜ RAM上に処理が必要なのかというと…いまさら説明するまでもないので割愛。

BIOS から RAM上に展開される処理は、
  • HDDMAS
で、こいつもSCSI対応が必要です。

次に、アプリケーションまわり(BASICやturbo CP/M)について。
  • "HD FORMAT    .Uty"
  • "HD MAP       .Uty"
  • "DISK SYSGEN  .Uty"
  • "DISK UTILITY .Obj" 
  • HDOFF.COM(turbo CP/M)
  • HDMAINT.COM(turbo CP/M)
以上が、SASI HDDに大きく係わるものです。

この中で、"HD MAP.Uty"と"DISK SYSGEN.Uty"はBIOSが動けばそのまま動きそうなので後回しにします。

BASIC用ソフトの中身をざっと見たところ"DISK UTILTY.Obj"が肝となる事が分かります。これを解析したところ、SASI HDDのフォーマットをマシン語で行っているだけで、SCSIでは不要なものばかりでした。"HD FORMAT"ではマシン語処理を呼び出さずに、BASIC側では常にフォーマットが正常終了したものとして判断してやれば、このままでSCSIに対応できそうです。

あと、turbo CP/Mのコマンドですが、HDOFF.COMは名前の通りのもので、HDMAINT.COMは既知のBIOSファンクションを呼び出しているだけのもので、とくになにもしなくて良さそうです。

参考文献

Z80ファミリ・ハンドブック…CQ出版社
X1システム研究室…日本ソフトバンク
Oh!MZ 1985年1月号…日本ソフトバンク
トランジスタ技術SPECIAL No.27…CQ出版社
OPEN DESIGN No.1…CQ出版社
SCSIプロトコルコントローラ(MB89352)ユーザーズ・マニュアル…富士通

ソフトウェア設計

方針として、
  • BIOSはSASI HDD互換とすることで、BASICやturboCP/Mでそのまま使えるようにする
  • 従来のSASI HDD処理を潰し、そこにSCSI処理を納める(現時点では納まるのか不明)
  • FDD処理の改善(主にステップレートの変更)
  • ROMを換えるついでに、便利な機能(?)の追加

2016/04/25

基本方針

  • SCSIコントローラに手持ちのMB89352を用いる
  • 楽をする(とくに配線量の削減。ハンダ付け面倒だもんね)
  • ローコスト化(死蔵している部品、廃品の利用などで)