PC-6001のジョイスティックポートに接続可能なSDカードアダプタを作成しました。
実行画面
ハード設計
手持ちの部品で作っているので抵抗とかがテキトーです。SDカードの仕様上は、DINとDATは50kohm〜 100kohmでプルアップする必要がある ようですが、それだとLED電流が少なくなりすぎて光らなくなります。ちゃんとバッファを入れたりすればいいんでしょうが、面倒なのでこれでやっていま す。
ATARI仕様のジョイスティックポートには通常のDSUB9ピンのシリアルケーブルだと、角が邪魔をして入りません。そのため、ケーブルはコネクタ部分の耳を切り落として挿入しています。
ソフト設計
ドライバは、Tiny-FatFsを参考にさせていただきましたが、以下のような事情から、ほとんど作り直しました。
- Z80で利用できるSDCCコンパイラでコンパイルできるようにする。
- PC-6001の容量の制限から、リードオンリーにする。
- やはり容量の制限から、SDカードのみの対応とする。
- やはり容量と、速度の制限から、シングルセクタ単位のアクセスとする。
転送速度
速度計測を行いました。32kBのファイルを用意し、読込み時間を計測したところ、およそ1.5kB/s程度です。手動計測なのであ まり正確に測れません。ドライバ内で割り込みを禁止する必要があるため、PC-6001のタイマ割り込みでは計測できないのです。
そ れでも、テープが1200bps=150bytes/sであることを考えれば、7倍の速度ということになります。PC- 6001mk2でフル実装の64kBいっぱい読んでも約40秒。PC-6001用の普通のゲームなら23kB以内なので15秒程度で読めます。 まぁ、我慢できる範囲ではないでしょうか。
ちなみに、よく知られているようにPC-6001の処理時間の大半はVDG MC6847(Video Display Generator)によるDMA転送に取られてしまいます。画面表示が乱れても良いなら、倍速読み込みも可能です。実際ムービープレイヤーではその手法 をとっています。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!