2018年2月18日日曜日

SHARP PC-E500 にマシン語プログラムを転送して実行して見ました

こんばんわ

今日も今時の皆さんが全く求めていない情報です。

今日は、先日作成したSHARP PC-E500 のシリアルインターフェースを使って、マシン語(死語?)のプログラムをロードして見ました。かなり四苦八苦したのですが、結局のところは、なんだかハードウエフロー(RTS/CTS)がうまく行っていないようで、ソフトウエアフロー(Xon/Xoff)に変更したところデータの転送がうまくいきました。

今更ながら前回作成した回路をじって見ているのですが、ジロジロ見たところで何もわからないかな。。。今まで上手く行っていたのは、お互いの処理が速くてフロー制御が発生していなかった(?)のかもしれません。そういえば、文字間、行間の待ち時間を結構設定しないと上手くいかなかったかも。。。。ハードウエアフローが無視されいたのですね。。きっと。。

今まで接続していたG850Vなどはマシン語の読み込みはマシン語モニタからできていたのですが、E500ではそのように読むことができず、プログラムで1行読み込むたびにPOKEでデータを書き込むようにしているのですが、それにかなり時間を要するらしく、1行、1行処理するたびに相当待ちが入りますので、すぐにエラーになってしまうようです。

ハードウエアフローとかソフトウエアフローとかパリティとかストップビットとか久しぶりに考えていますが、私の古臭い知識だとソフトウエアフローだと通信が少しだけ効率が悪く、エラーになる可能性が少しだけ高かったような記憶なのですが、今日一日やっていて失敗することもなかったので問題ないのかもしれません。しばらくはソフトウエアフローで頑張ります。

前回の記事も修正していますが、今回設定した、TeraTermと本体の設定を念のためもう一度示します。

TeraTerm


端末設定

改行コード受信:Auto

改行コード送信:CR+LF

漢字受信:SJIS

漢字送信:SJIS

ロケール:japanese


シリアルポート

ポート:任意

ボーレート:9600

データ:8Bit

パリティ:None

ストップビット:1

フロー制御:Xon/Xoff


E500

おまじないです。


POKE &BFD35,0,255,0,80

OPEN "COM:9600,N,8,1,A,L,&H1A,X,S"

CLOSE


です。


どうでもいいですが、以下にロードしている様子を示します。



さらにどうでもいいかもしれませんが、実行して見た様子を示します。


片方の手はカメラを持っているので操作できなかったです。。。



2018年2月17日土曜日

SHARP PC-E500 にテキストを送信することができました

こんばんわ

最近は夜は10時になったら寝てしまうことが多いのですが、今日は珍しく夜更かし(たいしたことねー)しています。今日は上の子が部活で足をくじいたとかなんとかで、医者に連れて行ったりしてなんだか疲れてしまいました。いつもは痛い痛いと騒いではいますがそれほどたいしたことないなという感じのことが多いのですが、今日のは本格的にやってしまっているようで、足首のところが結構腫れていていたそうです。今日は一緒に風呂に入っていやったり、パンツ履かせてやったりと本当に面倒なことが起きてしまったなと行った感じです。

まあそれは置いておいて、今日はSHARP PC-E500 をUSBに接続できるようにして見ました。先日E200シリーズを接続できるようにしたのですが、E500にも同じように11ピンのコネクタがついているのでそのまま同じものが使えるのかともったら、どうも使えないようで、E500の場合は右側にある15ピン側から通しないとダメなようです。そんなわけで、E200用に作った11ピンのUSBインターフェースを15ピンに接続するためのアダプタを作りました。本当は15ピンのインターフェースを作ろうかと思ったのですが、すごく頑張って作った挙句やっぱりできませんでしたというのでは悲しいのでまずは変換するだけにして見ました。
E200のI/Fの作成はこちら

※2018/2/18:ハードウエアフローが動作していないようです、本文の内容の設定の箇所もソフトウエアフローに変更しました。

まずは、こんな感じの2.54mm と 1.27mm ピッチコンバージョンのボードを買ってきました。

IMG_0488.JPG

こんな感じです。

IMG_0487.JPG

それをこんな感じで切断して。。。
14ピンしかないですが、幸いにしてE500側は2ピン〜14ピンまでしか接続しないので大丈夫です。

IMG_0489.JPG

さらに、こんな感じにして。。。
あ、1.27mmのピンヘッダは高松製作所さんから購入しました。
実は秋月さんで買ったものもあったのですが、長さが足りなかったです。

IMG_0492.JPG

裏はこんな感じに。。
11ピンを上下逆にすればこんなに交差しなかったのに。。。
行き当たりばったりすぎる(笑)

IMG_0496.JPG

こんな感じに接続して。。。

IMG_0499.JPG

はいできました。
いつもなんか失敗するのですが、今回はいきなりうまくいきました。

IMG_0498.JPG

ちなみに、ピンの接続はこんな感じです。
何か足りない感じがしてならないですが気にしないことにします。
くどいようですがE200のI/Fの作成はこちら

E500E200用I/F


E500 15PinE200 11PinE200
73GND
114BUSY
36RD
27SD
59ACK



転送するには、以下のように設定します。

TeraTerm側

端末設定

改行コード受信:Auto

改行コード送信:CR+LF

漢字受信:SJIS

漢字送信:SJIS

ロケール:japanese


シリアルポート

ポート:任意

ボーレート:9600

データ:8Bit

パリティ:None

ストップビット:1

フロー制御:ハードウエアXon/Xoff


E500側
おまじないです。

POKE &BFD35,0,255,0,80

OPEN "COM:9600,N,8,1,A,L,&H1A,N,S"

OPEN "COM:9600,N,8,1,A,L,&H1A,X,S"


CLOSE


いまさらポケコンとパソコン繋ぎたい奴なんていないよね。



2018年2月12日月曜日

macOS の local の snapshot を削除する

こんばんわ

おはようございます。
本日は会社を休んだのですが、朝5時から起きて録画したビデオを見ていました。週末はたくさん録画しててあるドラマを見るのが最近の過ごし方になってしまいました。他にもやりたいこともあるのですが、ドラマを見る方が忙しくて。。

今日はMacBookを使っていてふとディスクの空き容量を調べて見たら、なんだかいつもより使用率が高い気がします。いつも50%くらいだった記憶があるのですが、特に何かした記憶もないのですが、70%近くになっています。

$ df -k

Filesystem 1024-blocks Used Available Capacity iused ifree %iused Mounted on

/dev/disk1s1 244810132 165651500 76409312 69% 1111821 9223372036853663986 0% /

devfs 188 188 0 100% 655 0 100% /dev

/dev/disk1s4 244810132 2097172 76409312 3% 2 9223372036854775805 0% /private/var/vm

map -hosts 0 0 0 100% 0 0 100% /net

map auto_home 0 0 0 100% 0 0 100% /home

$


ゴミ箱などは空っぽなので、あちこち見たところ、 local の snapshot がたくさん作成されているようです。そういえば、 TimeMachineがONになっていたようで、localのsnapshotはTimeMachineが有効になっていて、ディスクの空き容量があると空き容量に見合った量を適当に決めて作成してくれるようです。snapshotで使用する容量を%で指定できたりするといいのですが、空いていればいっぱい作って、空き少なくなったら勝手に消すという感じのようです。親切は親切。確認するには、 tmutil listlocalsnapshots / と実行します。

$ sudo tmutil listlocalsnapshots /

com.apple.TimeMachine.2018-02-04-205031

com.apple.TimeMachine.2018-02-10-100749

com.apple.TimeMachine.2018-02-10-144104

com.apple.TimeMachine.2018-02-10-191129

com.apple.TimeMachine.2018-02-10-215644

com.apple.TimeMachine.2018-02-11-022227

com.apple.TimeMachine.2018-02-11-051000

com.apple.TimeMachine.2018-02-11-060949

$


8つもあります。早速削除します。削除するには、tmutil deletelocalsnapshots 日付 のようにします。1つずつ消す方法しか知りません。。いっぺんに消せてもいいのですができないようです。


$ tmutil deletelocalsnapshots 2018-02-04-205031

Deleted local snapshot '2018-02-04-205031'

$ tmutil deletelocalsnapshots 2018-02-10-100749

Deleted local snapshot '2018-02-10-100749'

$ tmutil deletelocalsnapshots 2018-02-10-144104

Deleted local snapshot '2018-02-10-144104'

$ tmutil deletelocalsnapshots 2018-02-10-191129

Deleted local snapshot '2018-02-10-191129'

$ tmutil deletelocalsnapshots 2018-02-10-215644

Deleted local snapshot '2018-02-10-215644'

$ tmutil deletelocalsnapshots 2018-02-11-022227

Deleted local snapshot '2018-02-11-022227'

$ tmutil deletelocalsnapshots 2018-02-11-051000

Deleted local snapshot '2018-02-11-051000'

$ tmutil deletelocalsnapshots 2018-02-11-060949

Deleted local snapshot '2018-02-11-060949'


$ tmutil listlocalsnapshots /


はい。15%以上使用率が下がりました。

$ df -k

Filesystem 1024-blocks Used Available Capacity iused ifree %iused Mounted on

/dev/disk1s1 244810132 124764908 117295936 52% 1111844 9223372036853663963 0% /

devfs 188 188 0 100% 655 0 100% /dev

/dev/disk1s4 244810132 2097172 117295936 2% 2 9223372036854775805 0% /private/var/vm

map -hosts 0 0 0 100% 0 0 100% /net

map auto_home 0 0 0 100% 0 0 100% /home

$


まあそんなに大事なデータというのはないので、TimeMachineは気が向いた時に外付けのディスクに手動で行なっています。その際にオフにするのを忘れたんだと思います。







USB Type-A Type-C 変換ケーブルを買いました

 こんばんわ 先日、Hynix Tube T31 のスティック型のSSDを購入したのですが、コネクタがType-Aです。普段Type-Aのコネクタを使っているので別に問題ないといえば問題ないのですが、Type-Cで使うこともあるかもしれません。今、こんなことを書いていてふと思い出...