この映像で該当する部分は、音列
G,@,@,E,@,@,F#@,@,G,@,@,F#@,@,E,@,@,G,@,@,E,@,@,
D,@,@,C,@,@,E,@,@,C,@,@,a,@,@,g,@,@,a,@,@,C,@,@,
E,@,@,C,@,@,D,@,@,E,@,@,
の F# で、対応する筈のコードワークが行われずにミュートされた状態が続く。
不具合が発生している箇所は、サブルーチン readSeq によって選別された ”D" = 29番 が対応する


要素 ”pitchTable09” で、これは ChordEditMode によって生成された音列が転送されたものだ。

現在ここに登録されている音階の数値は、
0.32165527343750
0.55126953125000
0.28723144531250
0.49432373046875
となっていた。
一方、通常のコード設定アレイに記載される値は、C,D,D#E, といった風にアルファベット表記されたものを変換テーブルによって数値化しているのだが、

ChordEditMode に於いて既に数値化されたデータを受け渡す過程で齟齬が生じていると思われる。
今回は不具合への対策として、ChordEditMode 由来のデータ群を、予めプログラム上に音列を登録したデータ・アレイ(ROMに相当する)に置き換えることにした。

残念ながら、メモリー管理のバグに引っかかる形で仕込み数を制限されてしまったが、とりあえず chd22 から chd36 までの登録が完了している。
これで、コードを登録したアレイの内容は、microSDからのデータ転送分が21、プログラム上のROM分が15、ミュートが1の、合計37種類となった。

結果は上々で、コードワークの幅を広げることが出来ている。
今回追加したコードワークの選定はあくまでも「趣味」によるものなので、汎用性を考慮して別の組み合わせに変更するかもしれない。
その後、ChordSequence を選択した時に、何故か MuteSW だけが効かなくなる現象が再発しているが、サブルーチンを挿入する場所を変えることで、対応することができた。

何れにしてもコンパイラの挙動がおかしいので、密かに別の齟齬が発生していないか、引き続き調査を行っていく。
追記:
案の定、ArpSequencerのシーケンス冒頭が誤動作する案件が再発した。 対処法は、シーケンス・ファイルにリザーブしたメモリを4096から1024に減量し、メモリの属性をRAM1に変更しつつ、不足分を補うためにコード記録用のアレイをDMAMEMに指定することで、緒問題の発生を回避することが出来た。
シーケンスにリザーブした分だけRAM1の残量が心許なくなったものの、現状は安定した動作が観測されている。