« srmファイル形式(SimROBOTのファイル)解析4 | トップページ | RZ1Action v0.4.3 公開 »

SimROBOTの転送プログラムの解析1

SimROBOTがどのようなプログラムを転送しているのか、RZ1BasicでSimROBOTが転送したプログラムを吸い出して、デコンパイルしてみました。

one転送したプログラムはBowとHands Upの2つです。
Parallels_desktopscreensnapz014_2

two転送後、RZ1Basicで、転送されているプログラムを吸い出す。
Parallels_desktopscreensnapz015

threeしばらく待つと、以下のようなオブジェクトが表示されます。
Parallels_desktopscreensnapz016

fourポップアップメニューでソースコードを選択すると、逆コンパイルされます。以下のようなコードが転送されていますた。※変数名、ラベル名はオブジェクトコードの中には記述されない為、それらの名称は逆コンパイルの際にRZ1Basicが自動的に付けたものです。

  • IF 1=1 THEN....の辺りがなんか変なコードを転送してます。
    ま、問題なく動くとは思うけど。。。
  • 2つしか転送していませんが、ON...GOTOのルーチンは32個分用意されています。
  • PTP ALLON, OFFをルーチンごとに行っている。
    あんま必要ないと思うけど。。。
  • DELAYやSPEEDの変換は、やっぱ少しズレてる。
    例:rsfのインポートではDELAY 2000が、フレーム数66コマとしてSimROBOTに読込まれるんだけど、転送すると、1950になっていた。
  • DELAY 0が続くような変換がある。
    動かないキーフレームが連続しているので、仕方がないと思う。

以下がソースコード

DIM A0 AS BYTE
DIM A1 AS BYTE

'====================
PTP SETON
PTP ALLON
DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0
GETMOTORSET G6A,1,1,1,1,1,0
GETMOTORSET G6B,1,1,1,0,0,0
GETMOTORSET G6C,1,1,1,0,0,0
GETMOTORSET G6D,1,1,1,1,1,0
SPEED 5
MOTOR G24
IF 1=1 THEN
A0
=0
ELSEIF 1=2 THEN
A0
=32
ELSEIF 1=3 THEN
A0
=64
ELSE
A0
=96
ENDIF
A1
=0

'====================
LABEL35:
A1
=REMOCON(1)
A1
=A1-A0
ON A1 GOTO LABEL35,LABEL36,LABEL37,LABEL38,LABEL39,LABEL40,LABEL41,LABEL42,LABEL43,LABEL44,LABEL45,LABEL46,LABEL47,LABEL48,LABEL49,LABEL50,LABEL51,LABEL52,LABEL53,LABEL54,LABEL55,LABEL56,LABEL57,LABEL58,LABEL59,LABEL60,LABEL61,LABEL62,LABEL63,LABEL64,LABEL65,LABEL66,LABEL67
GOTO LABEL35
END

'====================
LABEL36:
A1
=0
PTP ALLON
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
SPEED 10
MOVE G24,100,58,135,160,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,58,135,160,100,100
WAIT

DELAY 1950
SPEED 8
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
WAIT

DELAY 450
PTP ALLOFF
GOTO LABEL35

'====================
LABEL37:
A1
=0
PTP ALLON
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
SPEED 7
MOVE G24,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
WAIT

DELAY 0
DELAY 0
DELAY 0
DELAY 0
SPEED 6
MOVE G24,100,76,145,93,100,100,100,168,150,100,100,100,100,168,150,100,100,100,100,76,145,93,100,100
WAIT

DELAY 450
SPEED 8
MOVE G24,100,76,145,93,100,100,100,30,80,100,100,100,100,30,80,100,100,100,100,76,145,93,100,100
WAIT

DELAY 150
PTP ALLOFF
GOTO LABEL35

'====================
LABEL38:
A1
=0
GOTO LABEL35

'====================
LABEL39:
A1
=0
GOTO LABEL35

'====================
LABEL40:
A1
=0
GOTO LABEL35

'====================
.........
.........
.........

LABEL67までつづきます。

----------------
にほんブログ村 科学ブログ 
ロボットへ
にほんブログ村

|

« srmファイル形式(SimROBOTのファイル)解析4 | トップページ | RZ1Action v0.4.3 公開 »

週刊 ロボザック」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/221673/41138062

この記事へのトラックバック一覧です: SimROBOTの転送プログラムの解析1:

« srmファイル形式(SimROBOTのファイル)解析4 | トップページ | RZ1Action v0.4.3 公開 »