Applilet EZ PL for RL78 改善要望

Applilet EZ PL for RL78 V1.0J, V2.00J を試してみました。

デジタル回路版電子ブロックという感じで興味深いツールと思いましたが、少々使いづらい点もあったので改善要望として挙げておきます。

> 本ツールは評価版です。本ツールに関するテクニカルサポートは受け付けておりません。

と明記されていることは理解しており、返答等を求めているものではありません。

  • ・パネル配置ウィンドウが狭い

    パネル配置ウィンドウは横16×縦40個のブロックで構成されていますが、10ピンの RL78/G10 を使用してちょっとパネルを配置するだけで案外余裕がない感じです。パネル配置のレイアウトを変更したい場合には複数パネルを選択しカットアンドペーストが役立ちますが、それを行うにもパネル配置ウィンドウに余裕があると便利です。

    パネル配置ウィンドウを広くする機能があれば便利と思います。最初から広いと環境によってはスクロールを多用する必要が出てきて不便ともなりかねないので、ユーザーの操作で任意に変更できるのが良いと思います。

  • In reply to fujita nozomu:

    検証その 1」の .map ファイルの出力を見てみると、NoMay さんの報告されてる「(3) 機能しないパターンその2」と同様の「謎の空隙(くうげき)」が出来ていることに気付いた。

    *** Mapping List ***
    
    SECTION                            START      END         SIZE   ALIGN
    
    .vect
                                      00000000  0000007f        80   0
    .const
                                      00000080  0000008f        10   2
    .constf
                                      00000080  00000080         0   2
    .sdata
                                      00000080  00000080         0   2
    .option_byte
                                      000000c0  000000c3         4   1
    .security_id
                                      000000c4  000000cd         a   1
    .textf
                                      000000c4  000000c4         0   1
    .SLIB
                                      000000c4  000000c4         0   1
    .data
                                      000000ce  0000013c        6f   2
    .text
                                      00000143  00000961       81f   1
    .RLIB
                                      00000a25  00000a8a        66   1
    .bss
                                      000ffce0  000ffceb         c   2
    .dataR
                                      000ffcec  000ffd5a        6f   2
    .sbss
                                      000ffe20  000ffe26         7   2
    .sdataR
                                      000ffe28  000ffe28         0   2
    
    *** Total Section Size ***
    
    RAMDATA SECTION:  00000082 Byte(s)
    ROMDATA SECTION:  0000010d Byte(s)
    PROGRAM SECTION:  00000885 Byte(s)

    リンクの際に使用している rlink.exe へのサブコマンド・ファイル knight2000.plk に

    -STARt=.text,.textf,.RLIB,.SLIB,.sdata,.data/000ce,.dataR,.bss/FFCE0,.sdataR,.sbss/FFE20
    

    を追加してビルドした結果、

    *** Mapping List ***
    
    SECTION                            START      END         SIZE   ALIGN
    
    .vect
                                      00000000  0000007f        80   0
    .const
                                      00000080  0000008f        10   2
    .constf
                                      00000080  00000080         0   2
    .option_byte
                                      000000c0  000000c3         4   1
    .security_id
                                      000000c4  000000cd         a   1
    .text
                                      000000ce  000008ec       81f   1
    .textf
                                      000008ed  000008ed         0   1
    .RLIB
                                      000008ed  00000952        66   1
    .SLIB
                                      00000953  00000953         0   1
    .sdata
                                      00000954  00000954         0   2
    .data
                                      00000954  000009c2        6f   2
    .dataR
                                      000ffce0  000ffd4e        6f   2
    .bss
                                      000ffd50  000ffd5b         c   2
    .sdataR
                                      000ffe20  000ffe20         0   2
    .sbss
                                      000ffe20  000ffe26         7   2
    
    *** Total Section Size ***
    
    RAMDATA SECTION:  00000082 Byte(s)
    ROMDATA SECTION:  0000010d Byte(s)
    PROGRAM SECTION:  00000885 Byte(s)
    

    謎の空隙は解消した。

  • ・入出力ポートの設定が分かりづらい

    入出力ポートの設定方法が分かりづらいと思います。入力ポートの設定は入力パネル/出力パネルに配置したデジタル入力/デジタル出力のプロパティか、表示(V)→入出力ポート一覧(P) で表示されるダイアログにて行いますが、内蔵プルアップ抵抗の設定は入出力ポート一覧の方でしかできず分かりづらいデザインとなっている気がします。どちらの方法でも設定可能な項目は設定できる様機能するべきです。

    また、入出力ポート一覧のダイアログで入力ポートに内蔵プルアップ抵抗を「使用する」に設定した後そのポートを出力ポートに変更すると、実際機能はしませんが出力ポートであるにも関わらず内蔵プルアップ抵抗が有効化されるようで、実行(R)→生成(C) を行うとプルアップ抵抗オプション・レジスタへの設定にそのような値が使用されます。機能しない出力ポートへの内蔵プルアップ抵抗は有効化されないのが望ましいと思います。

    あと、『Applilet® EZ PL for RL78 For Ver.2.00 ユーザーズマニュアル』の「図6-8 [プロパティの設定]ダイアログの例([デジタル入力]パネルの場合」の画像ですが、Ver 2.00 以前のものが使用されているようです(内蔵 → 内臓)。ユーザーの混乱を招く元であり、Ver.2.00 のものを使用すべきです。

  • ・コメントを書きたい

    単純な作例でも、作業をして日数を置けば内容は忘れてしまいがちです。パネル配置ウィンドウの中にコメントとして文字が書けると良いのではないかと思います。パネル配置ウィンドウの中で複数パネルを選択してのカットアンドペーストで機能ブロックの移動を行った場合にもコメントも一緒に移動してくれると良いですね。

  • ・CPU は創れるか?

    刊行から既に10年以上が経っていて未だ販売されている『CPUの創りかた』という本があります。ロジック IC を並べて 4bit CPU を自作しようという本ですが、この本に解説されていることが Applilet EZ PL for RL78 でできるとちょっと面白いですね。

    この本の内容に限りませんが機能と規模でその程度のことはできて欲しいと思います。

  • ・パネル配置ウィンドウでのユーザーパネルが分かりづらい

    ユーザーパネルを作成しパネル配置ウィンドウに配置すると

    パネル配置ウィンドウでの表示が全て 'USER' となるので複数のユーザーパネルを作成した場合に分かりづらいです。ユーザーパネルにはパネル名が付いている筈なので其方を表示すべきと思います。

    あと、ユーザーパネルの各ピンは任意に名前が付けられるとロジック IC パネルにない IC を追加する際などに実在のものと対応が取れて便利と思います。

    ユーザーパネルを一旦エクスポートし、エクスポートされた XML ファイルをエディットするとユーザーパネルや各ピンの名前は変更できるようですが、標準の機能として任意に名前を付けられるものがあれば良いと思います。また、例えば入力 4本、出力 4本のユーザーパネルを作成したとして、各ピンの名前は

      

    入力が A~D、出力が V~Y となりますが、パネル編集でソースの編集を行おうとすると、テンプレートとして用意されるソースが

    /*--- Variable declaration ---*/
        /* ここに変数を記述してください */
        /* 例
        UCHAR work;
        */
    
    /*--------------------------------*/
    
    /* Function Declaration */
    void PANEL_test2(UCHAR In_1, UCHAR In_2, UCHAR In_3, UCHAR In_4, UCHAR *Out_1, UCHAR *Out_2, UCHAR *Out_3, UCHAR *Out_4)
    {
        /* ここに処理を記述してください */
    }
    

    入力が In_1~In_4、出力が *Out_1~*Out_4 となり対応がとれてない感じです。同一の名前か、あるいは対応が簡単に連想できるものにすべきと思います。