FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Windows10 64BitとRoland機材(旧機種)

Windows10 64BitとRoland機材(旧機種)


Win7の64BitからWin10の64Bitへアップデートを行い、旧機材の動作チェックを
していたけど手持ち機材の検証がほぼ終わったので備忘録としてまとめ。

特に既にサポートが打ち切られている機材(うちの場合殆どがRolandのMIDI/
Audio機材)の動作が問題。

<全てに関しての前提>
・Windows8/7用ドライバはテストモードのドライバ認証の強制を切らないとまず入らない。
 ものによってはInfファイル書き換えを要する
・WindowsVista64Bit用ドライバは互換モードでインストールすると入るケースが多い
 WindowsXP64Bit用ドライバが有るケースも同様(但しVistaドライバが有るなら
 そちらを推奨)
・Windows10 32BitについてはXP32Bit用ドライバも入るケースがほとんど。

上記の理由はInfファイルの記述書式による物ですが、詳細は割愛。
詳しく知りたい(と思える程度の知識が有る)人ならネットで検索するか、
Infファイル開いて眺めてれば多分判りますw

<各機材の状況>
①UM-880/550 : Windows8.1までサポート(Windows10は打ち切り)
         USB MIDI I/FにMIDIパッチベイ機能が搭載された便利なI/F

②SD-80/90  : Windows8.1までサポート(Windows10は打ち切り)
         MIDI音源、90はAudio I/Fも搭載されたDAW対応モデル

③FA-101   : Windows7までサポート(Windows8以降打ち切り)
         IEEE1394のAudio I/F

④UA-4FX   : Windows10もサポート
         USB Audio I/F

⑤UA-1000   : Windows7までサポート(Windows8以降打ち切り)
         世界初(?)のUSB2.0に対応したAudio I/F

⑥SuperMPU64(UM-4):WindowsXP32Bitまでサポート(Vista以降打ち切り、
              XP64Bitドライバも無し)
              Roland初のUSB MIDI I/F。
              以前持っていた物はVista移行時に売り払ったが、今回
              検証の為に新規購入した(笑)

<検証内容と動作状況>
①UM-880/550 : 動作状況 正常
先ずWindows8.1ドライバをDLし入れようとしたがエラーで入れられず、
互換モードもNG。
テストモードでドライバ認証の強制をOFFにしてInfファイルを一部書き換えて
インストール出来て正常動作。
試していないがVistaドライバを使用すればインストーラーをVista互換モードで
実行すればそのまま入ると思われる。
但し、新しいOS用のドライバの方が安定的に動作する可能性が高いと
判断して8.1ドライバを使用。
まったく不具合無く動いている。
Infの書き換えはしなくても入れられたとの報告も有るが未検証

②SD-80/90  : 動作状況 正常
上記UM-880/550と全く同じ。
不具合無く安定動作

③FA-101   : 動作状況 正常
こちらはWindows7までのドライバしかないので、7の64Bitドライバを使用した。
それ以外は①、②と同様。
不具合無く安定動作

④UA-4FX   : 動作状況 正常
UA-4FXはWindows10用ドライバもリリースされているので当たり前だが安定動作

⑤UA-1000   : 動作状況 正常
UA-1000はWindows7ドライバまであるが、上記のVista用だとそのまま入るという
話の検証の為Vista64ドライバを使用。
Vista互換モードでインストーラーを起動するとそのままインストールできた。
今の所安定動作しているようなので7ドライバに入れ替えずそのまま使っている。
後々に不安定な挙動が見つかれば7ドライバに変えてみるつもりだけど、動いてる
ウチはそのままの予定。
ドライバのソフトウェアミキサーもちゃんと動いている。

<追記>
Win10のアップデート後の再起動のタイミングでUA-1000のドライバファイルである
RDWM1034.sysのエラーでブルーバックフリーズからOS起動不能に陥った。
何とかOSは復旧できたが、そのままではUA-1000を接続した段階でやはり青画面
ドライバをWindows7用ドライバに入れ替えて様子を見てる状況。
Win7ドライバはやはりInf書き換えが必要だった。

ドライバがよくないのかアプデによる影響かは良く分らないが、UA-1000はどうやら
USB2.0のフル帯域を予約確保してしまう仕様のようで、USB周りが不安定だと
予期しないエラーを吐く事があるのかもしれない。
入れ替え後は今のところ問題は起きていない。

⑥SuperMPU64 : 動作状況 限定動作
S-MPU64(UM-4)はWindowsVistaドライバも無く、XP64Bitドライバもないため64BitOSは完全に
サポート外。
Vista64Bitが出た時点でUM-2ドライバを使用する事で2In/2OutのI/Fとしては動作する事は
確認しているし、動作報告も多数ある。
今回のWin10についても同様に行けるとおもったのだが、これがインストール出来ない。
ドライバ認証の強制を切ってもNGでデバイスマネージャーからInfファイル直指定でのインストールも
NGとなった。

そこでInfファイルを更に書き換える。
上記のUM-880で書き換えた項目に追加してPIDをUM-2の物からS-MPU64用の0002へと
書き換えを行った。
またデバイス名や各ポート名もUM-2と出ているとややこしいのでS-MPU64/UM-4と書き換えて
インストールを実行。
これが功を奏して正常にインストールされ、Windows7と同様に2In/2OutのI/Fとして動作。
今回はInfファイルを弄る過程でデバイス名称の変更方法が判り、変更したため表示もちゃんと
S-MPU64になっているので気持ちがいい?
UM-2 Windows7ドライバを使用したが、恐らくVista64ドライバでも同様の処理でインストール
出来るものと思う。

だが、ここでWin7の時にUM-3EXのドライバを入れる事で3In/3Outで動作した(?)と言う情報をゲット。
実はこの件はVista時代に勿論試していて、ウチではどうしても動作させる事が出来なかったので
個人的には動いたという事自体が疑問なのだが、一応検証してみる。
MIDI関連で良くやり取りをしている方と二人で試行錯誤を続けた結果、Infの大幅書き換え(UM-2の
時の変更以上に色々弄った)で一応デバイス認識上は通った・・・
しかし、この状態ではどうしてもMIDIデータの送受信が全てのポートでおこなえていない。
見た目は3In/3Outで認識しているが、実質まったく動かない状態。
恐らく情報をくれた方は認識できたのを確認しただけで実際に動作させて検証しなかったのか、又は
勘違いではないか…?と言う結論に。
ただ、ここで終わってしまっては面白くない。
ここまで来たら何とか3ポート以降を使いたい!(笑

>>SuperMPU64の3・4番ポート復活
上記流れからUM-3のドライバを弄る事で何とか送受信できないか試行錯誤を繰り返してみたが、
その後も進展なし。
UM-2ドライバのドライバファイルを一部置き換えて見たり、UM-4のXP32Bitドライバを流用して
みたりしたが上手く行かない。
(余談だが、Windows10 32Bitの場合はUM-4のXP32Bitドライバがそのままインストール出来て
4In/4Outで動いてるらしい)
ドライバのソースファイルが有れば話は早いのだが…そんなものは恐らくメーカーにももう残って
ない可能性が…

そこで発想を転換。
UM-3EXは実はUM-2やUM-4よりはかなり新しいデバイスで、PIDで言えば0058である。
UM-4は0002であり、UM-2/2EXは0004である事から考えてチップも完全に互換性が無い新しい
タイプである可能性が高い。
もっと発売時期が近く、MIDIのIn/Out数がUM-2より多いデバイスのドライバを採用すれば…?
そこで目をつけたのがSC-8850。
8850は内部4ポート、外部2In/2Outであり、見かけ状は2In/6Out。
発売時期も1999年であり、WindowsVista64Bit及びXP64Bitドライバも出ているので何とか64Bit
用ドライバが手に入る状況だ。
今回はVista64Bitドライバを使用してInf書き換えを実行。
事前検証をしなかったので不明だけど、UM-2ドライバ流用と同じくPIDも書き換えないと
弾かれると思われる。
尚SC-8850のPIDは0003だった。
S-MPU64とUM-2の間のIDであり、期待できそうだ。

>インストールと認識内容。
インストーラーは全く使い物にならないので、デバイスマネージャーから直指定でインストールを行うと、
なんと正常にインストール出来てしまった!?
早速確認をすると認識デバイスの内容は以下の通り。
SC-8850 PART A
SC-8850 PART B
SC-8850 PART C
SC-8850 PART D
SC-8850 MIDI OUT 1
SC-8850 MIDI OUT 2

SC-8850 MIDI
SC-8850 MIDI IN 1
SC-8850 MIDI IN 2

あ…あれ? INが3つある?
IN/OUTで1と2は8850の後ろについてる外部IN/OUT端子のことだろうけど。
とりあえず動作確認に入る。
先ずOUTについては4ポート全てがちゃんと動作している。
A=1、B=2、C=3、D=4で動作し、OUT1と2は無視されている状態になっている(ここは予想通り)
問題はINの動作。
SC-8850 MIDIを指定すると、何故かIN1-4ポートの入力全てを受信している。
IN1と2は無視された状態になっている。
ハードウェアとしては1~4番まですべて受信しているがドライバ側ではその入力が全てSC-8850 MIDI
(以後無印と表記)に流れ込んでる。
これについて再び試行錯誤を繰り返してみたが、結果はどれも同じ。

>原因の推測
UM-4になってドライバから削除されたが、元々SuperMPU64にはソフトウェア的にMIDIパッチベイとして
動作する機能がある。
UM-4ではドライバ側の設定項目を削除しただけでハードウェア的にはS-MPU64もUM-4も同じ物で
あるので、ドライバからそういう指定が有ればそのように動作する。
SC-8850の動作を見るとOUTの動作から推測するに内部音源向けのポートのみ動作していると考えられる。
INを見た場合、無印ポートが恐らく内部音源用のIN(音源から見たらOUT)ポートなのだろう。
何故音源にOUTが必要かと言うと恐らく専用のエディタを使う場合音源からのループバックを受け取る
必要が有るためだと思われる。
SD-80/90もそうだし、XV-5050/2020も必ずループバックを受け取る指定をしないと動作しない。
古い物だとMT-32やCM-64などの時代からそのような仕様なので、そうだと推測する。
但し、ループバックについてはA/B/C/D個別に受け取る必要が無い(同時に音色エディットなどは
しないので)と言う判断をしたのではないか?
そこでS-MPU64と同じコントローラ(又は派生品)を使っているとしたら、ソフトウェアパッチベイ機能を
ドライバ側で指定する事で
A-Dの4ポートのループバックデータを1つのINポートでまとめて受け取る…と言う仕様にしたのではないか。
そうなるとドライバプログラムでの指定なのでプログラムを書き換え出来ない現状ではこの仕様は
変更できない可能性が高い。

外部のIN/OUT端子が全て動かないのは、これも推測だがUM-2/3/4シリーズは最大4大まで
接続可能と言う仕様があって、同じPIDのデバイスを4つ個別に制御できる。
その場合勿論1台目と2台目では別デバイスの認識になる。
この使用を応用して、内部音源用制御用に1チップ、外部端子用は別箇にもう一つチップを別に
乗せているのではないか?
それならば外部端子が動かない理由に説明が付く。


ここまで検証した上で正直なところ、上の内部音源ループバックを1つにまとめている考え方と
近いのだが
MIDI INポートを複数同時に使うケースは普通のDTM環境としては稀というかほぼ無いのではないか。
OUTは全ての音源(又はパート)で独立していないと話にならないが、INは使うとしてもエディット中の
ループバックを受け取るか、MIDIキーボードなどの入力を受け取る場合。
エディットは上で書いた通り複数を同時に行う事は普通有りえない。
MIDIコントローラーからの入力は複数同時に使う場合があるが、その場合はパッチベイで1つの
INで受け取るかTHRUを使って結局1つのポートで受信する。
となれば現状の動作は1-4番のどのIN端子も1つにまとめて受信は出来てるので問題ない。
考えられるケースで唯一影響が出そうなのは音色エディットをしながらMIDIコントローラーで入力
したい場合だが…そういうケースが有るかどうか、ウチでは無いので…
と言う運用的な部分を考えて1IN(正確には4INを仮想パッチベイで1つにまとまった状態)4OUTで
問題ない。
少なくとも2IN/2OUTよりは使い勝手がいいと判断して、検証を終了。
最後にInfのデバイス名変更を応用し、IN/OUTのダミーになってる外部ポート用の1と2を削除し、
A~DをS-MPU64/UM-4 1~4とわかりやすく書き換えて終了。
Windows10側から見ると下記のようになる。

S-MPU64/UM-4 1
S-MPU64/UM-4 2
S-MPU64/UM-4 3
S-MPU64/UM-4 4

S-MPU64/UM-4 1-4

協力してくれている人からの情報ではWindows7 64Bitでも正常に動いたとのことで(動画で動作も
見せてもらったので大丈夫そう)
一応はWin7 64BitとWin10 64Bitは検証済み。
Inf記述的にはWindowsVista~10まで全てに対応させておいた。
今更SuperMPU64/UM-4を64Bit環境で使いたい人がどの程度いるかは不明だけど…
欲しい場合は連絡を頂ければ対応します。
(勿論ノーサポート、自己責任で導入前提ですが)
既存のUM-2ドライバを用いた2IN/2OUTとして使うか、このドライバで1-4一括IN/4OUTとして
使うかの選択肢が有るのは良い事だと思うので。
尚、2IN/2OUTのUM-2ドライバベースの認識デバイス名を書き換えたVerも有りますので、
そちらが欲しい方も言って頂ければお出しします。

ただ、どちらもUM-2・SC-8850ドライバの主要構成ファイルは変更してないので、
Infの書き換えが出来る方なら動作させるだけなら個々でもできるでしょう。


<番外編>
上記デバイス以外に、既に手放してしまったものでRolandのUSB音源のXV-5050/2020が有る。
上でもちょっと触れたとおり、Vista64Bit時にどちらの音源もSD-80のドライバで動かす事が
出来たので、恐らく同じ方法でWin10でも動くと思われる。
当時はデバイス名の書き換えや不要ポートの削除の方法が判らなくて、SD-80の名前のままで
PART AとBにIN1(だったかな?)の名前のままで使っていたが
同様にInfを書き換えてやれば見かけ上はXVの名前でちゃんと認識して動かせそうではある。

そう考えると全く64Bit環境で動かしようがなさそうなのはUA-100(UA-100G含む)ぐらいだろうか?
UA-30も別途ドライバが必要かどうかは使ったことが無いので判らないが、必要ならダメかもしれない。
ただUA-3/3DとかはOS付属ドライバで動くような書き方なので30も動くのかな?
UA-100については全く手の付けようがない…ように見えるが、もしかしたら比較的世代が近い
SC-D70のドライバで動くかもしれない。
ただUA-100は実機を持っていない上に、流石に検証の為だけに買うのもアレなので誰か
挑戦者にお任せする(中古で100円とかで転がっていたら試してみてもいいけど)

ちなみにSC-D70も同様の手法で動作報告が上がっている。
SC-8820も8850が動く以上は同じ手法で動くはずと考えるとUSBデバイスなら何とかなるんじゃ
ないかと思う。


<番外その②>
SuperMPU64をフルで動かそうと色々調べているとUM-550のドライバで動いたという
発言を発見。ホントかいな?
とりあえずUM-550ドライバのInfを書き換えてみるが当然簡単には入らない。
ドンドン書き換えていくがインストール開始するところまではいけても、そのあとエラーで
インストールが完了しない。
(ま、普通はこれが当たり前です、だって違う機材のドライバですから)
ここでふつうは諦めるのだが、できたという人がいる以上あきらめるわけには行かない
(既に意味不明)

ドライバファイルは.sysのファイルだとわかっている。
ならば今までインストール出来てる8850ベースのドライバのsysファイルだけリネーム上書き
して入れ替えてやればどうだ?
と…考えたのが最後だった。

なんとインストール出来てしまって認識もした!
これは!!!と思いTMIDIを開いた瞬間にOSがフリーズ
再起動してくるも何度もフリーズを繰り返す(滝汗
とりあえずSuperMPU64を切り離して手動でファイルとレジストリの関連項目を削除するも、
SuperMPU64を接続したら必ずフリーズするようになってしまった。
これは不味い。
とにかくドライバを消したはずなのにどこかに何かが残っている様子。
片っ端から怪しいファイルを探し出しては消してを繰り返すうちに何とかフリーズしなくなった。
しかし!
今度はデバイスが認識しなくなってしまった。
フリーズしてからすでに2時間…ここからさらに30分ほど悪戦苦闘してようやく不明なデバイス
として認識するところまでこぎつける。
だがしかし!!!
今度は今まで使えていたドライバがすべて入らない。
インストールしようとしても”このプラットフォーム用ではありません”の警告がでてインストール
が完了しない(滝汗
どうやらPID0002用のドライバはUM-550用が正しいと思い込んでるようで、UM-2ドライバも
8850ドライバもそれらのMODドライバも全部入らない。
結局ここから1時間ほどさらに徹底的に掃除をしたところ、8850ドライバが最初インストール出来、
その後から普通に今まで使えていたドライバもインストール出来る状態にもどった。
(正直本当にSuperMPU64が壊れたかと思った)
別の機材のドライバを当てるということはこのぐらいデンジャーな挑戦だということはみんなも
認識すべきである(;´Д`)
そもそもにふつうはここまで危険なほど互換性がないドライバはインストールできないように
なっているのだけど、それを無理やりどうにかしてしまうとこうなる(笑

とりあえず
SuperMPU64/UM-4にUM-550/880のドライバを当ててはいけない、これは絶対だ


スポンサーサイト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
プロフィール

JF9BLA

Author:JF9BLA
元ゲームクリエイターでオタなアマチュア無線家
萌えを理解するアキバ系ながら電子工作やアマチュア無線が趣味の理系オタw(ちなみに体形は太ってない、というか痩せ過ぎかもしれない・・・)
現在1アマ。

痛QSLカード普及会、会員No001番(というかソンナモノありませんw)
A1 CLUB 正会員:#1850

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。