MSX Carnivore2 v2.5メモ

 CFカード(またはCF→SD変換カード)/似非メガSCC+/マッパーRAM/OPLLを1本にまとめたFPGA仕様の欲張りカートリッジ、Carnivore2についてのメモ書き。

 記事にまとめ忘れていたのでまとめておきます。

 

 ファームウェアバージョンは現在v2.5になり色々修正・強化されています。

 追加機能については個人的には不要で、むしろ不安定になってしまった事のほうが大きな問題なので、自分でOPLLリズム音量を修正したv2.4改を使用しています。

 

 [追記] 2023年11月13日付でv2,5で発生したターボR+コナミサウンドカートリッジ使用時のフリーズ問題についてISSUEが対応不能でクローズされました。
この件や、電源過負荷問題等も含め、今後Carnivore2を私がオススメする事は無くなります。

 

 

 

他の注意点についてはid:nf_banさんがまとめておられます。

gigamix.hatenablog.com

 

microSD/SDカードを使用したい

 自分はサンワサプライ microSD用CF 変換アダプタ ADR-MCCFを使っています。

 

v2.4の問題点(と対処方法)

 2020年ごろに購入した場合、バージョンはv2.4だと思いますが、こちらのバージョンには幾つか問題があります。

v2.4の問題:OPLLリズム音の音量が低い(v2.5で修正)

対策→ v2.5にアップデートするか私家版v2.4改にアップデートする

 FPGAに書き込まれているファームウェアFPGAデザインデータ)にバグがあり、OPLLリズム音源の音量が半分で出力されています。

 v.24の方はv2.5以上か私が改造したv2.4改(opll修正版)ファームウェアを書き込む事で対処可能です。

 

私家版Carnivore2 v2.4改

github.com

公式Carnivore2

github.com

 

 Panasonic A1GT+コナミサウンドカートリッジ+Carnivore2」を使用するとv2.5ではフリーズする問題が発生しているため、私は自分で修正を加えたv2.4改(opll修正版)を書き込んで使用しています。

 v2.5はFMPACとの組み合わせや単体ではフリーズしないのでv2.5で問題がなければv2.5のほうが良いと思います。

 

 ちなみにファームウェアの書き込みは、結構面倒な準備が必要になります。

  • カートリッジ給電用USBケーブル
  • USB Blaster
  • 5PIN2列のピンヘッダー
  • Quartus 

 慣れていない人には結構難易度が高いので、詳細はid:nf_banさんがまとめられたファームウェア更新奮闘記を参照ください。

gigamix.hatenablog.com

v2.4の問題:CFカートリッジ(またはCF→SD変換カード)のIDEドライバが不安定

対策 → 新しいIDE BIOSを書き込むことで解決

 IDEドライバとファームウェアの相性の問題で安定性が低いケースがあります。

 現象としては起動時のカード認識に失敗したり、認識したのに動作しないケースが時々発生するという物があります。

 v2.4公開当初は相性が良いとされるCFカード(またはCF→SD変換カード)でも発生することがありました。MX-101やA1GTでは特に不安定でした。

 

 こちらはIDEドライバの問題で、現在は安定版が公開されていますので、そちらを書き込むと割と安定するようになりました。

 

 修正されたBIDEFMFC.BINをダウンロードしてMSXに持って行きc2man.comで書き込むことでIDEアクセス動作をアップデートできます。

手順は

  1. MSXBIDEFMFC.BINをC2MANと同じディレクトリに置き、C2MANを実行
  2. 「9 - Open cartridge's Service Menu」を選択
  3. 「5 - Write IDE ROM BIOS (BIDECMFC.BIN)」を選択

といった流れになります。

また、C2MANでのIDE BIOS更新時は注意点があり、最悪、Carnivore2のIDE=CF/SDカードが動作しなくなります。

  1. Carnivore2以外のカートリッジは外して下さい
  2. Z80モードで実行してください
  3. レアケースでダウンロードしたBINファイルの中身がダウンロードエラーファイルになっていることがあるのでバイナリエディタなどで確認する

github.com

 

V2.40の問題:ブートメニューがターボRで安定しない

対策 → BOOTMENU.BINを更新する

 初期のv2.40の場合、タイマー指定で自動起動に設定しているとturboRでは起動時のカウントダウンがおかしくなります。多少時間が延びるだけで大きな問題は無いと思いますが、IDE BIOS同様にc2manでBootMenuを更新すると直ります。

  1. MSXBOOTCMFC.BINをC2MANと同じディレクトリに置き、C2MANを実行
  2. 「9 - Open cartridge's Service Menu」を選択
  3. 「4 - Write Boot Menu (BOOTCMFC.BIN)」を選択

といった流れになります。

github.com

v2.5の問題点(未解決)

v2.5の問題:A1GT+コナミサウンドカートリッジ+Carnivore2を使用するとフリーズ

対策 → 未修正。見通しも未定のため、私家版v2.4改ファームウェアを使う

 条件としては特殊なケースになります。

  • Panasonic A1GTにコナミSCCサウンドカートリッジとCarnivore2を挿して起動すると、IDEアクセスタイミング(Nextorの起動あたり)でフリーズ

(KB-10+MX-101の環境では問題無いようです)

 

 個人的にはv2.5でバスアクセスタイミングを変更したのが原因だと思っています。

 開発元には報告して色々とやりとりをしたのですが、v2.4で安定しなかった一部のMSX本体向けの修正が原因らしいのと、先方の環境ではA1GT/STの実機がないので対応が難しいそうです。

 

現在は私家版v2.4改ファームウェアを書き込んで対処するしかありません。

github.com

 

おまけ:v2.5の変更点

Carnivore2 Changelog [Mosaic of system administration]

詳細はこちらを参照ください。

google翻訳したものを抜粋すると

2022 年 6 月 12 日

バージョン2.52

必要なアップデート:ブート メニュー。

  1. 特定のアラビア語MSXゲームで欠落している音楽と効果音を修正するために、ゲームを実行する前または終了する前にPSG初期化がブート メニューに追加されました。
  2. 本物のPSGチップを搭載した特定のMSXコンピュータでは、ジョイスティックとジョイパッドがブート メニューで動作しませんでした。この問題を解決するには、常駐の音楽プレーヤーを変更する必要がありました (KoD/SDM の協力に感謝します)

2022 年 5 月 1 日

バージョン2.50

必要なアップデート: FPGAファームウェアIDE BIOS、ブート メニュー、すべてのユーティリティ。

  1. CF タイミングはFPGAファームウェアで調整されました。これにより、安定性とさまざまな CF カードとの互換性が大幅に向上しました。
  2. Carnivore2 の識別および制御用のユーザー設定可能なポート (#F0、#F1、#F2) が設定メニューに追加されました。
  3. 設定画面では、ID ポートの自動選択モードを設定できます (ポートは競合を避けるためにスロット番号に基づいて選択されます)。
  4. デュアル PSGサポートが追加されました。PSGメニューで有効にすると、Carnivore2 のPSG はポート #10 ~ #11 で動作するように設定されます。
  5. 起動メッセージをスキップする可能性を備えた調整可能な自動起動遅延 (0 が設定されている場合) が追加されました
  6. スレーブ サポートが無効になっている特別な Nextor 2.1.1 Beta 2 BIOS がデフォルトの IDE BIOSとして追加されました
  7. 異なる IDE ドライバー バージョンを備えたオリジナルの Nextor 2.1.0 BIOS (リリース) がオプションとして追加されました
  8. オリジナル (日本語) FMPAC BIOS がオプションのBIOSとして追加されました
  9. C2IDETST がコマンド ライン スイッチ (ドライブ文字と反復回数) をサポートするようになりました。
  10. パレットコントロールのレイアウトが設定メニューで変更されました
  11. このオプションが設定メニューで有効になっている場合、Carnivore2 はスロット 3 で動作するようになりました (いくつかの制限が適用される場合があります)。
  12. 高解像度カートリッジラベルがリポジトリに追加されました
  13. いくつかの新しい RCP ファイルがリポジトリに追加されました
  14. FMPAC ドラムの音量修正が追加されました。Uniskie (日本) に感謝
  15. ASCII ROMとの互換性を高めるために、両方のASCIIマッパーのページ1の開始セグメント番号を修正しました。
  16. C2RAMLDR のバグを修正しました。ロードされた RCP エントリがディレクトリに書き込む前に誤って調整されました。
  17. ハードウェア インターセプターがファームウェアから削除されました。オフセット #25 ~ #27 の 3 つのレジスタ
  18. 代替バックグラウンド ミュージックが BOOTCMFC.ALT ファイルに追加されました
  19. 新しいユーティリティC2FINDER は、 2 つの異なる方法を使用してシステム内の Carnivore1 と Carnivore2 を識別するために作成されました
  20. 2 番目/3 番目の Carnivore2 が構成設定を正しく読み取れなかったブート メニューのバグを修正しました。
  21. ブート メニューのバグを修正しました - ブート中にアラビア語/韓国語の警告が 2 回表示されました
  22. ブートメニューのバグを修正しました - デュアルリセットがアクティブでない場合、タイトル画面の上部に警告メッセージが表示されました
  23. ブート メニューは、終了時に元の画面とその色を復元します。
  24. OpenMSX が Carnivore2 をスロット 1 または 2 (または両方 - 現在は 2 つの Carnivore2 を使用できます) に割り当てるための 2 つの追加ファイルがあります。

といった感じです。