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/
パナ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/
MSXのVHD I/F
2022.05.24
ヤフオクネタ
https://page.auctions.yahoo.co.jp/jp/auction/v1052078165
Victor MSX2 HC-95 通電のみ確認 ジャンク品
これ欲しかった(VHD I/Fボードが)けどさすがに10万はないわー
ヤフオクからパクってきた写真で申し訳ないが、

型番はIF-C9Dだと思うんだよね。
恐らく一般市販品ではないはず(一般市販品はIF-C9C)。
IF-C9Cはシリアルポートが空きパターンになっているけども、おそらく同じボードのシリアル実装済みと思われる。
ROMも一般品と同じなのかも疑問。
そういや先日書いたNAPLPSボードもそうだけど、Z180直のシリアルをあえて別に出す意味って何なんだろうな。8251よりZ180のほうが高速だったりするとか?
https://page.auctions.yahoo.co.jp/jp/auction/v1052078165
Victor MSX2 HC-95 通電のみ確認 ジャンク品
これ欲しかった(VHD I/Fボードが)けどさすがに10万はないわー
ヤフオクからパクってきた写真で申し訳ないが、

型番はIF-C9Dだと思うんだよね。
恐らく一般市販品ではないはず(一般市販品はIF-C9C)。
IF-C9Cはシリアルポートが空きパターンになっているけども、おそらく同じボードのシリアル実装済みと思われる。
ROMも一般品と同じなのかも疑問。
そういや先日書いたNAPLPSボードもそうだけど、Z180直のシリアルをあえて別に出す意味って何なんだろうな。8251よりZ180のほうが高速だったりするとか?
MSXとNAPLPS
2021.11.16
MSX用の謎なハードウェアを入手しました。
NAPLPS受信ボードのようです。


そもそもどう見てもMSX用のカートリッジではありませんが、victorのHC-90/95シリーズの専用バスに接続して使います。
おそらくは、
NAPLPS デコーダーソフト
https://www.generation-msx.nl/software/victor-co-of-japan-jvc/naplps-decoder-software/release/6112/
と一緒に使う、もしくは同梱販売だったのではないかなと・・・。
構成としては、主要部品は
・27256 x2
・62256
・HN58C65P (8KByte eep-rom)
・uPD24C2000C(2Mbit rom?)
・PAL x3
が乗っています。あとは汎用ロジックとRS-232Cのレベル変換ICです。
シリアライザ機能は持っていなさそうなので、Z180内蔵のUART信号を使っていると思われます。
27256には、NAPLPSデコーダ用ソフト(主にBASICからcall文で使う?)と、RAM DISK用ソフトが入っています。
RAM DISKは一般的なDOS1カーネルの改造品で、メモリマッパーをRAM DISKとして普通に使えるようにするソフトです。つまり、メモリ増設した本体でしか動作しません(HC-90/95は元々512KBまで搭載できるように設計されており、専用増設キットが発売されています。また、後期モデル(V以降)は256KB標準搭載です)。
2MBit romは不明ですが、PALにKANJI-CONと書かれているので、漢字FONTのような気がします。
ただ、HC-90/95は元々第1水準搭載ですし、第2水準乗せるのであれば1MBitで足りそうなので謎です。ちなみに普通の第2水準IOからはアクセスできませんでしたので、独自IOのようです。
しかし、です。
HC-90/95はもともとシリアルポートが付いていますので、あえて新規に増設する必要はなさそうに思います。
また、27256で供給されるROMのほうも、FDからの供給も可能ですし、eep-romもFDに保存という手段で運用上問題ない気がします。
なのでこのボードの存在意義とは・・・。シリアルポートが2つ必要という用途とかであれば、有用なのかもしれませんね。
HC-90/95が組み込まれたNAPLPS端末として考えると、もしかするとさらに別途謎なハード(タッチパネルとか専用キーボードとか)がつながってたりして、そのためにシリアルポート2系統必要だったとかいう可能性はあるかもしれません。
追記:2022/06/19
uPD24C2000Cはやはり第1/第2の漢字FONTでした。PC9801漢字?とはいえNEC PC真面目に使ったことないからわからんなー(PC/AT買うまでメインはMSXでしたので)。

※クリックすると全体表示。
追記:2023/03/25
その他いろいろ解析しました
Victor NAPLPS BD mk2
NAPLPS受信ボードのようです。


そもそもどう見てもMSX用のカートリッジではありませんが、victorのHC-90/95シリーズの専用バスに接続して使います。
おそらくは、
NAPLPS デコーダーソフト
https://www.generation-msx.nl/software/victor-co-of-japan-jvc/naplps-decoder-software/release/6112/
と一緒に使う、もしくは同梱販売だったのではないかなと・・・。
構成としては、主要部品は
・27256 x2
・62256
・HN58C65P (8KByte eep-rom)
・uPD24C2000C(2Mbit rom?)
・PAL x3
が乗っています。あとは汎用ロジックとRS-232Cのレベル変換ICです。
シリアライザ機能は持っていなさそうなので、Z180内蔵のUART信号を使っていると思われます。
27256には、NAPLPSデコーダ用ソフト(主にBASICからcall文で使う?)と、RAM DISK用ソフトが入っています。
RAM DISKは一般的なDOS1カーネルの改造品で、メモリマッパーをRAM DISKとして普通に使えるようにするソフトです。つまり、メモリ増設した本体でしか動作しません(HC-90/95は元々512KBまで搭載できるように設計されており、専用増設キットが発売されています。また、後期モデル(V以降)は256KB標準搭載です)。
2MBit romは不明ですが、PALにKANJI-CONと書かれているので、漢字FONTのような気がします。
ただ、HC-90/95は元々第1水準搭載ですし、第2水準乗せるのであれば1MBitで足りそうなので謎です。ちなみに普通の第2水準IOからはアクセスできませんでしたので、独自IOのようです。
しかし、です。
HC-90/95はもともとシリアルポートが付いていますので、あえて新規に増設する必要はなさそうに思います。
また、27256で供給されるROMのほうも、FDからの供給も可能ですし、eep-romもFDに保存という手段で運用上問題ない気がします。
なのでこのボードの存在意義とは・・・。シリアルポートが2つ必要という用途とかであれば、有用なのかもしれませんね。
HC-90/95が組み込まれたNAPLPS端末として考えると、もしかするとさらに別途謎なハード(タッチパネルとか専用キーボードとか)がつながってたりして、そのためにシリアルポート2系統必要だったとかいう可能性はあるかもしれません。
追記:2022/06/19
uPD24C2000Cはやはり第1/第2の漢字FONTでした。PC9801漢字?とはいえNEC PC真面目に使ったことないからわからんなー(PC/AT買うまでメインはMSXでしたので)。

※クリックすると全体表示。
追記:2023/03/25
その他いろいろ解析しました
Victor NAPLPS BD mk2