ロビ2プログラムの移植
2019年7月2日


 ロビプログラムアナライザーを使ってロビ2のプログラムをロビ1用プログラムに移植する方法を解説します。
 ロビ2のプログラムはSTARTUP.BINというひとつのバイナリプログラムに集約されています。
 ロビ1の場合は各機能プログラムは拡張子RM4のファイルに分散されておりそれをメインプログラムから呼び出すようになっています。
 STARTUP.BINから該当するプログラムの部分を切り取ってそれをRM4形式のプログラムに変換する必要があります。
 今回は認識語「ものまねして」で動くプログラムを例に取ってロビ1で動かすまでをやってみます。

 それぞれの詳しい>ロビプログラムアナライザー操作方法とソフトウェアのダウンロードはリンクページから行ってください
 ロビプログラムアナライザー
 ロビモーションエディター


STARTUP.BINからの抽出

 まず該当する部分をSTARTUP.BINからみつけ出す必要があります。
 ロビプログラムアナライザーを起動してSTARTUP.BINを読込みます。
 この場合はSTARTUP.BINは読み込むだけで変更はしないのでどこにあっても構いません。
 ロビ2のSDカードからPCの適当な所にコピーしたものを読込んでください。



 認識語ボタンを押して「ものまねして」を選択してOKボタンを押すと認識語ものまねしてで実行される部分にジャンプします。



 ものまねをするにはそのパフォーマンスができるかどうかをチェックするためパワーアップデータ(緑丸)を読込みます。
 どのパフォーマンスをやるかはランダム値作成サブプログラム(赤丸)をコールその値で決めます。
 取得したランダム値でカーソルのCALCブロックまたはその下に並ぶCALCブロックのいずれかにジャンプしてきます。
 今回は先頭のCALCブロック(カーソル)で実行されるサブプグラムを抽出します。
 その他のサブプグラムを抽出する場合は下に並ぶのCALCブロックに対して同様の事を行います。

 これらのCALCブロックはランダム値によって決められたパフォーマンスがパワーアップされているかのチェックでされていればCALCブロック内のジャンプ命令が実行されます。
 ジャンプボタンを押すとジャンプ先のアドレスに移動します。



 ジャンプ先の二行目がサブプログラムをコールしている命令でサブプログラムはそのアドレス(赤丸)という事になります。
 二行目をクリックしてジャンプボタンを押すか二行目をダブルクリックすると抽出するサブプログラムの先頭に移動します。



 そのサブプログラムが何をするものかは最初に出てくる音声ファイル(赤丸)で推測する事ができます。
 このファイルはPCで再生する事ができるので内容が確認できます。

 このサブプログラムの終わりは先ほどのリストで次のサブプログラムのアドレス(緑丸)のひとつ前という事になります。
 このアドレスがリストに出現するまで次ページで進めていきます。
 なお今回はサブプログラムが並んでいますが順番がバラバラだったりリストの最後のサブプログラムの場合は次ページでリストを見ていって探していきます。
 その場合も出現する音声ファイルを調べていき関係のない音声ファイルが出現したらその前でサブプログラムは終わっているという事になります。



 サブプログラムの先頭にジャンプした状態でコピーボタン(赤丸)を押しますがその時右のチェックボックスは全てONにしておいてください。



 Windowsのメモ帳を開いて「貼り付け」でコピーされたリストをメモ帳に貼り付けます。
 次にロビプログラムアナライザーに戻って「次ベージ」ボタンと「コピー」ボタンを続けて押します。
 メモ帳に戻って「貼り付け」を行います。
 貼り付けを行う場合はカーソルはメモ帳の最後のまま行ってください。
 なおメモ帳のショートカットキーのコントロールVでも貼り付けができます。



 この操作を次のサブプログラムの先頭(赤丸)がリストに現れるまで繰り返します。
 次のサブプログラムの先頭がリストに現れたら「コピー」ボタンを押してメモ帳で貼り付けます。



 メモ帳に貼り付けられたリストで次のサブプログラムの先頭が含まれるブロックを以下の行を削除してください。
 任意の名前(拡張子は.txt)付けて保存してください。


RM4プログラムの変換

 抽出したTXTファイルをRM4プログラムに変換するにはロビモーションエディタのアドレス調整機能を使います。



 ロビモーションエディタの「アドレス調整」ボタンを押して先程保存したテキストファイルを指定してください。



 ロビプログラムアナライザーでコピーした場合、上記の警告メッセージが表示されるので「はい」を答えてください。



 読込んだテキストファイルの拡張子を.RM4に変えて出力します。
 既にRM4ファイルが存在する場合は左のメッセージが表示されますので「はい」を答えます。
 拡張子がRM4ロビプログラムアナライザーでコピーした場合は上記の警告メッセージが表示されるので「はい」を答えてください。
 変換に成功すると右のメッセージが表示されます。



 変換に失敗すると上記のメッセージが表示される事があります。
 この場合は抽出した範囲が足らないか余分な部分を抽出している可能性があります。
 サブプログラムの終わりの部分を確認してください。  余分抽出した場合はテキストファイルをメモ帳を編集して余分な行を削除してください。
 足らない場合は次のアドレスからリストをコピーしてテキストファイルに追加してください。


プログラムの実行

 変換したRM4プログラムはロビ1のプログラムに置き替えれば動かす事ができます。
 ロビのSDカードの9フォルダーのCM週刊ロビ創刊テレビ付けて.RM4に置き替えると認識語「ものまねして」で実行する事ができます。

 実行する前にプログラムで使用している音声ファイルをロビ2のSDカードからロビ1のSDカードにコピーしておく必要があります。
 その際は必ずロビ2と同じフォルダーに入れておく必要があります。
 使用している音声ファイルはメモ帳の検索機能で拡張子「.wav」を探してください。

 直接ロビ1で動かす前にロビモーションシミュレーターで確認する事ができます。
 その場合は音声ファイルが再生できるようにプログラムフォルダーの設定をロビ2の音声ファイルがあるフォルダーに変更するか現在参照しているフォルダーに必要な音声ファイルを入れておいてください。
 なお動きだけ確認する場合は音声ファイルがなくても実行できます。(エラーダイアログは表示されます)  実際に動かした動画です。

   

 デアゴスティーニから提供されたプログラム以外のものを動かすとマイコンボードやサーボモーターに影響を及ぼす可能性があるのであくまでも自己責任という事でお願いします。

   目次に戻る