Z80アクセラレーターボード
2022.05.25
HB-F1XDJをパワーアップしようという妄想です
パナ2+はカスタム(T9769C)で固められててあまりいじれないのですが、SONY機はZ80がそのまま載ってるのでいろいろいじりやすい機体ですね。

今ではZ80Aに比べて高速なFPGAが安価で容易に手に入ります(入荷待ち状態続いてて容易じゃないけどな)。
そこで、Z80を取り払ってそこに付くアクセラレーターボードを作れないかなという妄想です。

まず真っ先に思いつくのがとりあえずクロックアップですが、色々検証した結果XDJのメインボードはクロックアップ耐性が非常に低いということがわかってます(動いても1.5倍速程度)。
というかそもそもクロックアップなんて定格外動作ですし、貴重な(?)マシンにそんなことしたくありません。

なので、手段としては、アクセラレーターボードにDRAMも載せて、FPGA(Z80)とDRAM間のみ高速アクセスさせて、外部(XDJ本体=外部スロットやIO)にはウェイトを入れて正規タイミングで動かしてしまおうとなります。
今のFPGAであれば高速クロックでも容易に動きますし、ALUのバス幅を増やして命令のステート数を削減することも可能です。
こうすることでXDJ側は一切定格外の高速動作などさせる必要なく高速化が可能です。

アクセラレーターボードでDRAMを持ち、かつ、高速アクセスするとなると当然アクセラレーターボード側にスロット選択レジスタを持つ必要があります。
すると付随的にBIOS ROMなども乗っ取りが可能になりますので、ROMアクセスも高速化することができます。

そもそもBIOS ROMをDRAMにコピーして動かせば、DRAMのページモードアクセスの恩恵でさらに高速化することができます。だいたいZ80@3.58MHz比で12倍速くらいで動かせますね。

という、なんかどこかで聞いたことあるような仕様になりますね。ええ、妄想ですが。



ところで、turboRのプライマリーマッパーを4MByteにすると微妙な不具合が色々あります。
・DOS2カーネルがプライマリー4MByteにするとDRAMモードセグメント確保処理にバグがあって起動しない
・そもそもDOS2のマッパーサポートルーチンの仕様が1SLOTあたり255セグメント(256ではない)しか扱えないので、DRAMモード使用セグメントと不整合する
ちなみにこれはプライマリー以外でもそうなので、4MByteマッパーは最後の1セグメント使われません
・MSX-Viewが1MByteまでしか動かない(なんとパナマッパーのDRAMマッピング機能を使っている)

当事は4MByteとか検証すらされてなかったんでしょうね。


後日追記:2022/07/31
もう少し詳しい詳細はこちら
http://d4.princess.ne.jp/msx/other/xdjodp/
2022.05.25 22:44 | 固定リンク | MSX | コメント (3)
コメント一覧
裕之 - 2022年11月12日 14:40
コメント遅くなってしまいすいません。
XVで動作しないというか、個体差による相性が出ることが確認されていますが、改善に向かってます。

発売は少なくともFPGAが潤沢に入手可能になってからです。
ちなみに、mouserの入荷予定は現時点で23年4月になっています。

半導体不足でFPGA等が以前の数倍まで値上がりしており、現在の半導体相場であれば普通にA1STが買える値段になってしまうので、半導体が以前のように「安く潤沢に」入手できるようになるまで現実的な値段では販売できないです。
くら - 2022年09月18日 14:17
HB-F1XVでは動作しないのですか?
リメイク版の販売時期と価格はどれくらいになるのでしょうか?
倉科 - 2022年09月18日 06:23
初めまして、HB-F1XVで動作しますか?
リメイク版の販売時期と価格を、おおざっぱでいいので教えて下さい
コメント投稿

名前

URL

メッセージ

- CafeNote -