FPGA 版 FM 音源 (85) -- TX7 (OPS) 測定 (12)

検索ワード「FM音源 OPS レジスタ解析」でググると、

FM音源 EGS/OPSのレジスタ解析

と題された、作者不明の web ページが見つかります。
このページには、TX7 のファームウェアを解析して EGS/OPSレジスタの仕様を探った結果が示されています。
その中で、EG のレートに関して、音色パラメタの 0 〜 99 の 100 段階の値から 5 ビット幅のレジスタに設定する 0 〜 63 の 64 段階の値へとマッピングする計算式が示されています。
ここで、100 段階の値を rate99、64 段階の値を rate63 と表現すると、

rate63 = (rate99 × 164) / 256

と表されます。 この除算は「整数除算」で、「小数部」に相当する部分は切捨てます。
100 段階の値を 64 段階にマッピングするには、最も単純には 64/100 = 0.64 (実数値) を掛けることに相当する演算を行なえばいいのですが、TX7 に内蔵されているマイコンは 8 ビットの HD63A03X で、除算はソフトウェアで実現する必要があり、避けていると思われます。
8 ビット符号なし乗算に関しては、アキュムレータ A とアキュムレータ B とを掛けて、結果を A と B を連結したアキュムレータ D に格納する MUL 命令があり、問題ありません。
除算の除数が 256 = 28 であれは、除算は乗算結果の上位バイトを持ってくるだけで済みますから、

  0.64 × 256 = 163.84

より、164/256 で 0.64 を近似しているものと思われます。
2018 年 6 月 20 日付けの記事 (→こちら) での rate99 表現で 40 〜 46 は、

rate99 rate63 rate63/4 rate63
下位 2 ビット
EGクロック・
プリスケーラ
レート・
マルチ
プライア
40 25 6 1 1/32=1/25 5/8
41 26 6 2 1/32=1/25 6/8
42 26 6 2 1/32=1/25 6/8
43 27 6 3 1/32=1/25 7/8
44 28 7 0 1/16=1/24 4/8
45 28 7 0 1/16=1/24 4/8
46 29 7 1 1/16=1/24 5/8

となります。 (2018 年 7 月 12 日追記: 表の第 3 カラム、第 4 カラムのラベルが間違っていたのを修正しました。)
これらは、「ロー・レート」、つまり、EG アキュムレータの計算回路の「トポロジ」を買えずに EG クロックのレートのみを変更して EG レートを変化させている領域での動作です。
次回は、ロー・レートでの動作の上限の、rate99 = 69 〜 74 の測定結果を示します。