ROMデータ自体はATとMTで共通
日本ではあまり一般的ではありませんが、アメリカではプライベーターによるECUチューンが盛んで、かなり多くの解析情報が公開されています。
日本では、ATからMTに換装した場合、ECUのROMをMT用データに書き換えるのが一般的ですが、実はひとつのROMデータ内にMT用とAT用の両方のデータ領域が収録されており、アメリカではROMを書き換えることなく、MTとATのデータ領域を切り替える手法が知られています。
R4の有無でデータが切り替わる
AT側のデータを使用するかMT側のデータを使用するかは、ECU基板上に実装されている「R4」という抵抗によって選択されています。MT用ECUにはR4が実装されておらず、AT用ECUのR4を取り外すことで、ECUがMT側のROM領域を使用するようになります。
つまり、少なくともROM内のAT/MTデータ選択という点では、AT用ECUのR4を取り外すことでMT用ECUと同じ状態にできることになります。
ATのECUを確認すると、ROMの下のあたりに「R4」と記された抵抗があり、基板のその部分だけが白く塗りつぶされています。
私はすでにMT用ECUを入手して交換したあとにこの事実を知ったため、自分のAT用ECUで実際に試すことはできませんでしたが、海外のNSXコミュニティではこの方法が知られており、MT換装時の対応として実際に使用されています。
MTとATのデータを切り替える抵抗(R4)
NSX用ECUのROM(27C256A)
A14とデータ領域の切り替え
NSX用ECUの純正ROMの型式は「27C256A」で、1980~1990年代の電子機器で広く使用された「紫外線で消去して再書き込みが可能なEPROM(Erasable Programmable Read Only Memory)」です。
容量は256Kbit(32KB)で、28ピンのICとなっています。
ROM内部は32KBの記憶領域を持ち、A0~A14までの15本のアドレス線に外部から入力される信号によって、読み出すアドレスが指定され、最上位のA14がLowの場合は 0x0000~0x3FFF、Highの場合は 0x4000~0x7FFF の領域が選択される仕様です。
この27C256Aの仕様と、R4によってROMの前半と後半16KBが切り替わることを考えると、R4の有無によってA14の状態を切り替え、MT用データとAT用データの領域を選択している可能性が高いと考えられます。
ROMデータのみでは手詰まり
ROMデータの書き換えを行う場合、ROMデータを入手しただけではどうしようありません。
ROMデータは、ROMに記録されている内容をバイト列として保存したバイナリファイルです。そのため、テキストエディタで開いても、人が読める文章として記録されているわけではなく、文字化けしたような意味不明な表示になります。
バイナリエディタで開くと、ROMの内容を16進数で確認することができ、各アドレスにどのような値が記録されているかを見ることができます。
当然、このデータを見ただけでは、どのアドレスが何のデータなのかがさっぱり分からないので、目的の値を特定して書き換えることはできません。
バイナリエディタ(HxD)で開いたROMデータ
0x4000 ~ 0x7FFF がATデータ
ひとつの32KBのROMデータの中にATとMT両方のデータ領域があり、前半16KBがMT用、後半16KBがAT用になっています。
0x0000 ~ 0x3FFF がMTデータ、0x4000 ~ 0x7FFF がATデータなので、データをスクロールしていくと、中央付近にMTとATの境目であるアドレス「00004000(※)」があります。
この構造から考えると、日本で一般に「MTデータへの書き換え」と呼ばれている作業では、R4を残したままAT側の 0x4000~0x7FFF の領域にMT用データを書き込んでいる可能性も考えられます。
ただし、各ショップが実際にどのような処理を行っているかは公開されていないため、これはあくまで推測です
※ 0x は16進数を表す表記です。 バイナリエディタHxDでは、それぞれ 00000000 ~ 00003FFF、00004000 ~ 00007FFF と表示されます。
MTデータとATデータの境目(0x4000)
TunerPro を使用したデータを比較検証
ATもMTもひとつのROMデータ内にデータが収録されているため、ひとつの純正ROMデータを入手すれば、同時期・同仕様のATとMTの違いを比較できることになります。
私のNSXは現在MTに換装済みで、ECUもMT用に交換しています。
エンジン本体についても最終的には純正MT仕様を再現したいと考えており、すでにMT用カムも入手しているので、ROMデータを入手し、ATとMTで実際にどのような制御の違いがあるのか比較検証してみることにしました。
ROMデータの内容を確認するために、海外のECUチューニングで広く使用されているROM解析・編集ソフトの
「TunerProopen_in_new」
を使用します。
TunerPro をインストールして起動しただけでは、ROMデータ(binファイル)の内容を燃料マップや点火時期マップとして見ることはできません。
ROM内の「どのアドレスに何のデータが記録されているのか」を定義するXDF形式の定義ファイルが必要になります。
本来、この定義ファイルを作成するためにはROMの解析が必要で、これが非常に大変な作業です。
TunerPro 自体は Mark Mansur氏 が開発したソフトですが、NSX/Legend用ROMの解析を行い、TunerPro で使用できるXDFファイルを作成したのは Matthew Wallace氏(Matt)です。このXDFファイルは現在も無料で公開されています。
XDFファイルはTunerProのWEBサイトの「Downloads」→「Definitions」→「Acura」からダウンロードできる
「Acura_NSX_and_Legend.xdfopen_in_new」
を使用します。
定義ファイルをテキストエディタで開くと、どのアドレスが何の数値を表すかが箇条書きで書かれているのが分かります。
テキストエディタで開いた定義ファイル
Base Offset でデータの切り替え
TunerProを起動し、「XDF」→「Select XDF...」から上記の定義ファイルを適用し、「File」→「Open Bin...」でROMデータを開くと、各種マップを閲覧できる状態になります。
デフォルトではXDFの Base Offset が「0000」になっているため、この状態ではMT側のデータが表示されます。
AT側のデータを見る場合は、「XDF」→「View/Edit XDF Header Info」を開き、「Base Offset (Hex)」を「0000」から「4000」に変更します。
この項目は16進数(Hex)なので、「4000」と入力することで 0x4000 を指定したことになります。
なお、Base Offset を変更しても、すでに開いているマップの表示内容は自動では更新されません。一度マップを閉じ、再度開き直すことで変更後のデータが表示されます。
これで、同じROMデータからMT側とAT側の燃料マップや点火時期マップなどを切り替えて表示し、両者の違いを直接比較することができます。
Header Info を編集してオフセット変更
合計734種類の定義項目
左側の Parameter Tree に並んでいる項目がXDFファイルで定義された内容で、ダブルクリックするとそれぞれの定義に応じたデータのウィンドウが開きます。
定義項目は、Constant(定数)517項目、Table(テーブル)193項目、Flag(フラグ/スイッチ)24項目の合計734項目にわたり、燃料マップや点火時期マップなどの主要なものだけではなく様々なデータが確認できます。
TunerPro 編集画面
