続・IF-C9D
2022.05.31
落札した人と思われる人の投稿がMRCに。

https://msx.org/forum/msx-talk/hardware/vhd-interface-for-victor-hc9095

IF-C9Dは、板自体はC9Cと同じだけどもROMとVCMとPPIしか乗ってなくって、DIL入ってないっぽい。
DIL入ってないってことはCSYNCとかVHD DATAとか受けれないはずだけどどうなんだろう。
少なくともIF-C9Cの上位互換ってことはなく別物っぽい。
とするとROMの中身も別物だろうなー。普通のVHDソフト(VHD BASIC)動くのかな。

2022.05.31 23:05 | 固定リンク | MSX | コメント (0)
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 | コメント (15)
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のほうが高速だったりするとか?
2022.05.24 20:52 | 固定リンク | MSX | コメント (0)
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
2021.11.16 23:19 | 固定リンク | MSX | コメント (0)
15年の間をあけて完成(注:完成してない)
2021.09.19
MSX用SPDIFカートリッジの作成
ってのを15年ほど前に作って放置されてたんだけども、今更になって続き作ってみました。
※にがさんの影響

というわけで、初めて基板外注というのをしてみました。
中華業者なので、送料と輸送時間がネックだけど、それでも2週間程度で送込みで2000円ちょっとで10枚作れる感じ。
結構お安いですので、配線多いものとかはボード作った方がいい時代かなと思いました。
ちなみにエッチング基板とかも実はやったことありませんので、穴あき基板でひたすらジャンパするような基板しか作ったことありません。

出来上がった基板がこちら。値段変わらないので無駄に10枚も作ってしまいました。


組み立てて強引にケースに入れた(といいつつ入ってない)のがこちら。

まあ試作だし見た目は適当で。

15年前と違い、FPGAの容量もかなり余裕があるので、出来上がったものとしては、
・Xilinx XC3S250E搭載(注:15年前からありそう…)
・カートリッジ内でスロット拡張
・1MByteのSRAMを搭載してゴールドキャパシタでバックアップ
・似非SCC-RAM互換のSCC
・OPLLはVM2413使用
・MSX-RS232C HW上位互換のUART(MAX 460Kbps)
・OPLLとRS232C用のBIOS
・メモリーマッパー(MSX1対応)
・FPGAとMSXのI/F(3.3V←→5V)はきちんとレベルシフタIC使用
が乗ったコンボカートリッジになりました。
FPGAはマルツのMFPGA-SPAR3Eというボードをそのまま載せてます。
物理的に無駄にでかいですがロジック的にやりたいことはできてます。
レベルシフタは実は直列抵抗だけでも問題なく動くはずなのですが、「やってみたかった」というだけで実装してます。無駄に高コストです。

本来DOS2はMSX1で動かないんですが(メモリーマッパー規格がそもそもMSX1対応ではない)、セグメントレジスタをHWリセットで初期する構造であればMSX1でも動くので、DOS2の機種ID判定を潰すとMSX1でもDOS2が走ります。

なので、MGSPとかを使うと、MSX1単体でMGSの再生ができて、デジタルオーディオ出力なのでノイズ皆無な再生とかできます。
VM2413の再現度はかなり高いと思いますが、ノートオン時の音が違うような気も・・・。もしかするとXilinx用に特化させたときに何かミスった可能性もありますが。

UARTは、HW的にそこそこ大きな受信バッファを持たせたので、高速でも安定して受信できます。
IOレベルでMSX-RS232C互換で、24倍速モードを持たせてあるので、高速モードにして、ソフト的に19200bpsモードにすると460Kbpsになります。
フックを乗っ取って画面表示をUARTに転送するのと、タイマ割り込みで受信データをキーバッファに詰めておくことで、疑似的にtelnetのようにリモートアクセスができます。
ファイル送信も可能なので、Windows PCでコンパイル→MSXに転送→MSXで実行、が(IO直接アクセスでキースキャンしない限り)MSXに触ることなく可能で、クロスコンパイル開発環境でとても便利です。




15年前から(?)作りたかったものなので、(見た目はともかく)入れたい機能全部入れて動くものができたので満足。

ソースコードの配布ってしていいものなのかよくわかりません。VM2413以外は全部自分で書いたコードですが、VM2413はXilinx用に手を(かなり)入れてるので。うーん。
2021.09.19 00:27 | 固定リンク | MSX | コメント (0)

- CafeNote -