2014/11/05

Lazarus 1.2.6


 いつのまにか、Ver 1.2.6、Free Pascal は、Ver 2.6.4 になってた。大昔の Lazarus は、ボロボロで、途中で開発中止になると思ってたのに、よくぞ普通に使えるまでに続けたな。

 まぁ、Delphi 経験者くらいしか手を出さないだろうし、いきなり Pascal でプログラム始めます!、って初心者がいるとも思えないのが辛いところ。インストールで満足して、いざ何か作ったってのを、あまり見かけない。僕みたいに CGI プログラムってのは間違ってるかもしれないが、ちょっとしたツール類なんかつくるのに便利、と言いつつ、Delphi で事足りる、という矛盾。

2014/11/04

電子書籍端末 docomo SH-07C



 文章を読むには、電子ペーパーで良いが、コミックなどは、断然、液晶の端末。もちろん、カラーだし、反応速度が違う。

 これは、シャープの電子書籍端末(GALAPAGOS)のドコモ版 SH-07C なわけだが、はっきり言って、そのままでは使い物にならない。GALAPAGOSは、アンドロイド化が出来て救いがあったが、ドコモ版は、全くやる気無いまま終了。自炊専用として使うが、制約が色々とあって面倒。Windows で動く「PDFを作成するアプリ」と、「メモリカード内のデータベースを直接更新するアプリ」の、2つを自作して、ようやく使えるようになった。自前のファイルだけなら、シャープの専用ソフトは必要ない。

 ハード的には、色々出来そうでもったいないんだが、安く売っているからといって、普通の人は、決して手を出してはいけない地雷端末。

2014/08/27

電子書籍端末 SONY PRS-350


 SONYの2010年あたりのモデル。質感、デザイン的に、この古いのが一番カッコいい。

 ページの送り毎に、画面が反転フラッシュするのが嫌で、敬遠していたが、使ってみたらなんのことはない。数時間で慣れた。

 電子ペーパーは、液晶と違って眼に優しくて、消費電力も小さい。テキストを読む事に関して言えばこれ以上のものは無い。


 AozoraEpub3 というツールで、リフロー可能な縦書きファイル(ePub3フォーマット)を作成できる。ただ、文字サイズや、余白、ページ表示なんかが、上手く調整できなかったので、結局、ケータイ向けに作った自前のPDF変換ツールを使っている。

 僕のツールでは、画像形式にしているので、変換に時間は掛かるし、サイズも膨れてしまうのが難点。でも、端末側のファイル管理がダメダメなので、大量にストックしておくよりも、必要な分だけ転送するようにした方が、結局は使い勝手もよくなる。

2014/07/14

ゆうちょ銀行 トークン(ワンタイムパスワード生成機)


 振替等の認証時に使用。ソフトウェアかと思っていたら、ハードだった。持ち歩くわけにもいかないし、トークンの手続きしたら、無しには出来ないんだな。まだの人は、よく考えてから申し込む事。

 テンキーは、何の意味があるんだろ。パスワードを表示するだけなら、ボタン1個か、2個で足りるよね。

2014/07/07

キーボード 漂白中、驚きの白さ!


 キーボード筐体とスペースキーの漂白(酸素系漂白剤+日光)途中経過。焼けていなかったキートップとの色差も、ほとんど無くなった。

 まぁ、オリジナルに拘らないなら、塗装した方が早いかもね。

2014/07/06

Lazarus でコンパイルしたバイナリを小さくする

 Windows 版 Lazarus アプリの実行ファイルの大きさ対策。Delphi と比べると、やたらデカイ。まぁ、大きくても問題はないけど、一応。

 以下、ポイント。僕の環境だと、strip が必須だった。「-Xs」オプションは無効?なのか。
① 3つのオプションをチェック[X]オン
 Compiler Options
  Compilation and Linking
   [X] Smart linkable (-CX)
   [X] Link smart (-XX)
  Debugging
   [X] Strip symbols from executable (-Xs)

② strip(デバッグ情報除去)実行
 lazarusパス\fpc\2.6.4\bin\i386-win32\strip.exe --strip-all XXXXX.exe

upx(圧縮ツール)実行
 upxパス\upx.exe XXXXX.exe
 要は、コンパイル後、strip と upx を通す。BAT ファイルにでもしておけばいい。
実行例
 ① コンパイル 22.5 MB → ② strip 実行 2.44 MB → ③ upx 実行 827 KB
 それでも、大きいが…。Delphi が優秀、という事にしておく。


追記 2015-02-20
 matsui さんに教えてもらいました。strip は要らないようです。
① 3つのオプションをチェック[X]オン
 Compiler Options
  Compilation and Linking
   [X] Smart linkable (-CX)
   [X] Link smart (-XX)
  Debugging
   [X] Strip symbols from executable (-Xs)

② オプションをチェック[ ]オフ
 Compiler Options
  Debugging
   [ ] Generate debugging info for GDB

upx(圧縮ツール)実行
 upxパス\upx.exe XXXXX.exe


追記 2016-08-21
 64bit 版 Ver 1.6 をインストールしました。構築モードが正しく動作するので、余計なことをせず、"Release" でコンパイル後、upx だけ実行すればいいと思われます。



追記 2017-01-27
 Delphi と比べて、バイナリサイズが大きいとか書いてますが、比べてるのは、大昔の Delphi 5 (1999年www、軽いので使い続けてる)で、最近の Delphi と比べるのならば、それほど大きなサイズとは言えないかも。

2014/04/20

NEC PC-9801n-23 テンキーボード 改 #2


 v f キーから上をカット。空いたスペースに、Caps / Scroll / Num Lock の ランプと、コントロール用の ダ・ヴィンチ32U を詰め込む。何度も切ったり付けたりしたので、ぐちゃぐちゃ。仮止めなんで、ホットボンドで固定してたりする。使えそうならキレイに作り直す。

 レイヤー切り替えのポジションランプが点灯するので分かりやすい。この LED部分は、4回も作り直した。スイッチを押しても干渉しないようにするのに大苦戦。次やるときは、素直にチップLEDを使おう。裏側の元々あった穴からリセットボタンを押せるようにしたが、プログラマブルなテンキーなわけだから、より押しやすい表側にボタンがあってもいいかも。

 ひとレイヤー、丸々 19キー分は、ハードウェアレベルの割り当てが出来そう。ソフトウェアで割り当てるなら、さらに増やせるが、そんなにあっても覚えきれないしな。

2014/04/08

NEC PC-9801n-23 テンキーボード 改 #1


 NEC の 黄金時代、PC-9801ノート用オプションのテンキー。当然、年代もののメカニカル。これも、2,3個動きの悪いキーがあって残念な状態。劣化してなければ、アルプスに負けないくらい素晴らしいんだが、いかんせん、スイッチの分解が無理なのが致命的。交換用のマトモなスイッチを手に入れるのも難しい。いくら、レトロ・キーボードが好きでも、メンテが難しいようでは常用できない。

 先日組み直したコンバータの ダ・ヴィンチ32U が余ったので、実験用に、TMK Keyboard の 98→USBコンバータを作ろうとしたのだが、上手くいかない。キーは認識してるようだが、反応悪いし、入力も出来ない。そもそも、ソースの中身なんぞ、よく分かってないから、いじりようもない。とういわけで、98コンバータは諦めて、キーボード自身のマトリクスを乗っ取って動かすことにする。信号変換ではなく、縦横のキーマトリクス全てを結線して直接操作するやり方。これが理解出来れば、オリジナルなキーボード作成の知識になるはず。
参考リンク
 TMK Keyboard keyboard controller firmware for Atmel AVR USB family
 How to build your very own keyboard firmware deskthority
 チュートリアルを見ながら、試行錯誤した結果、とりあえずは動いてるっぽい。最低限のところだけしか理解できていないが、5つあるファンクションキーを、レイヤ切り替えにして、入力できた(たぶん)。

 単純に、USBで動かしたいだけなら、拡張キーボードⅡでやったように、他のコントローラ基板を乗せ替えるのが、技術的には簡単(作業自体は面倒)。テンキーレスやフルキーボードならば、小細工なしでもそのまま使えるわけだから外付けのコンバータや、基板の乗せ替えで問題ない。配列が特殊で、独自の割り当てをしたい、とか言う場合は、今回のように USB接続のマイコンを部品代わりに使って、オリジナル動作のコントローラを作成する必要が出てくる。

2014/04/04

ADB-USB コンバータ 作り直し


 Flip 版の ダ・ヴィンチ32Uを、使ってみた。ピンヘッダ・フレームを付けて、裏向きにしてスッキリ。押せなくなった リセットボタンと、ジャンパピンの代わりに、小さなタクトスイッチと、スライドスイッチを追加。LED も別に付けた。裸じゃ、まぶしい。

 Arduino Bootloader 版との違いは、
1.書き込み用(HWB)のピンヘッダのハンダ付けが必要。
2.専用の書き込みソフト Flip(GUI)、または dfu-programmer(CUI) を使う。
3.ドライバも違う。(C:\Program Files\ATMEL\Flip 3.4.5\usb)
4.当然、書き込み手順も違う。ジャンパ→リセット→書き込み。
 hex ファイルの書き込みに、リセットボタンだけの Arduino Bootloader 版か、ジャンパ操作+リセットボタンの Flip 版か。

 Arduino Bootloader 版の方が、ひと手間少ないが、実際の書き込みタイミングが難しい。タイミングを自動化するソフトを自作したので、不便なく使えるようになった。Flip 版は、キッチリとプログラム動作と、書き込みモードが分かれているので、間違えようが無い。運用時は、ブートローダを挟まず、直接プログラムが起動する。つまり、立ち上がりが速い。コールドブート時も安心。

 結論、Arduino IDE を使わないなら、Flip 版で間違いない。

2014/03/29

SHARP SH-03E 今更のガラケー


 au が4年目の更新月なので、docomo の SH-03E 買った。買い換える度に、しょぼくなっていく…。この基本機能ぐらいしかないやつが、オープン価格 26,880円らしい。まぁ、通話とメールぐらいしか使わないから、高機能である必要はないけれど、割高な感じ。2年使うと実質0円です、とかインチキまがいなシステム。古い機種で、多少値引きされたので、トータルコストでは、au を使い続けたのと変わらないか、少しは安くなるはず。

 前機種がもっさりだったので、サクサク!、電池の持ちが怪しいが、サクサク!。 読書用の PDF ファイルも読めたし、機能的には問題なし。防水らしいから、そこだけ進歩。バイクに乗ってると、急な雨ってのも珍しくないからね。

 どこの電話売り場でも、メインはスマホ。その昔、スマホを使ってた頃は、何そのデカイの?とか馬鹿にされたものだけど、数年で変わるものだな。ほんと、日本人て流行り物に弱い。PC を使わない人が代用ってのは分からないでもない。でも、タブレットやら、通話し難いから2台持ちとかだと、本末転倒なんじゃないの。

2014/03/12

TOSHIBA J31TP001 テンキーパッド


 東芝ダイナブックのオプションらしい 90年代のメカニカル・テンキー。何年か前、ジャンク屋で買ってきて忘れたままになってた。中身の基板・スイッチは、ミツミ製。PS/2 じゃなくて、シリアル接続。専用ソフトが、未だに公開されているのにはビックリだが、最近のPCだと COMポートが用意されていなかったりもするので、接続すら怪しい。

 出来の悪い東芝のソフトを使わなくても、自前で、シリアルの通信アプリを組めば、オリジナルな入力デバイスとして使用可能。同時押しとかは無理でも、実際のキーボードと被らない、独立した 18x2(シフト切替)=36ボタンとして使える。ソフトでレイヤ処理すれば、さらに増やせる。普通のUSB外付けのテンキーでも出来なくはないが、メインのキーボード側に影響でないよう設定するのは困難なはず。

 僕は、キーボードおたくであっても、テンキーを切りまくっているぐらいのテンキー不要論者。数字入力するような仕事があったら別だが、普段は使わない。このテンキーも、プログラマブル・テンキー的な用途でなら有効活用できそうな気がする。

2014/02/24

Apple (Standard) Keyboard M0116J 改 #3

 ダ・ヴィンチ32U への書き込みは、avrdude というプログラムで行うが、この書き込みタイミングが中々シビアで難しい。キー配列を変えるたび書き込みが必要なので、毎回イライラすることに。僕が用意した Arduino Bootloader 版の ダ・ヴィンチ32U は、元々、Arduino IDE から使うものなので、他でコンパイルしたものを書き込む自体、イレギュラーなことなのかもしれない。Flip 版の方は、専用のソフトで書き込むので、以下の手続きとは無関係。
リセットボタンを押す → デバイスの切り離し
 → ブートプログラム起動 → ブート側のCOM認識 → ユーザープログラム(キーボード)起動
 ユーザープログラムが起動(今回の場合はキーボードとして認識)すると、COMポートは消えてしまうので、その間の絶妙なタイミングで書き込みを実行しないといけない。
 仕方ないので、COMを監視するアプリを組んで、書き込みタイミングを自動化することにした。
write 実行 → リセットボタン → (アプリ:Da Vinci 認識待ち → 書き込み)
 失敗も多いが、無いよりマシ(たぶん)。どうしても、デバイス認識出来ない場合は、一度USBから抜いた後、差し直して再チャレンジ。M$のデバイスドライバがゴミなのか、USBの接続先を変える度に、ポートNoも変わっていくし、なんなんだ、このウンコ仕様。

2014/02/23

Apple (Standard) Keyboard M0116J 改 #2



 USBハブとコンバータをキーボード内に組み込んで、しばらく使っていたが、いじくりまわしているうち、調子が悪くなって結局、ハブは外して、コンバータも外付けすることに。ユニバーサル基板に、ADB端子のソケット(ミニDin 4pin S端子と同じ)と、ダ・ヴィンチ32U をハンダ付け。空中配線と違ってバラけることもない。後は適当なケースを探そう。

 外付けにすれば、他のADBキーボードでも使い回せるが、独自のキー設定(キー入れ替えや、ファンクション割り当て)をしてしまうと、実質そのキーボード専用のコンバータになってしまう。コンバータ側で、キーボードの情報を取得できるのならば、振り分けも可能なのかもしれないが、その辺は、さっぱり分からない。もっとも、キーボード交換毎に、設定の書き換えをしても、一手間かかるだけで大した問題ではない。保存しておいたバイナリを書き込むだけ、1分もかからない。

 無くなったテンキー部に割り当てられていた、Del 等の足りない分を、ファンクションキーと組み合わせるために、keymap.c を編集する。Fn + ← で Home 、Fn + 1 で F1 とか。CapsLockとOptionキーの2つを、スペースバーの左右に移動して、Fnキーとして使う。Powerキーには、かな漢オン・オフ切り替え用に、F13 を割り当てた。悩みどころは、カーソル。色々なパターンで試してみたが、どれもいま一つ。ここは、ダイヤモンドカーソルに慣れるべきか。

 拡張キーボードⅡの改造も3回も作り直しているように、不器用なのもあって、一発で満足な出来にはならない。このキーボードも、筐体側がボロボロになってしまったので、 作り直しが必要。実際にやってみないと色々分からないこともあるわけで。

2014/02/22

カイセ KT-25 テスター新調した


 1台目は、学生の頃、組み立てた HIOKI のアナログのやつ。2台目は、アキバで買ったデジタルの安物。3日どころか、3タッチで壊れた。不良交換にいくにも、電車賃の方が高い。長く使えるものは、ケチってもいいことは無い。壊れかけの1台目を、だましだまし使っていたが限界のようなので、今回の3台目。

 どうせ、導通チェック位しか使わないから、高機能である必要はなくて、コンパクトさ優先で選んだ。操作は、ボタンが一個だけ!、すばらしくシンプル。ボタン押して、電源いれるとAuto モード。それで、テスト棒当てれば、勝手に判断して表示してくれる。もう一度ボタンを押すと、導通テストのモード、長押しで電源オフ。僕の用途には、ピッタリ。


追記 2016-11-08
 ボタン電池の省エネ仕様のせいか、立ち上がりが遅いのが不満。気になったのは、それくらい。調子はいい。


追記 2018-07-13
 唯一のボタンの反応が悪い。バラしてメンブレンっぽいスイッチの導通ゴム部を綿棒で拭いてあげた。とりあえずマトモに反応するようになったが、接触部分の面積がやたらと小さいのは、深い理由があるのか。タクトスイッチにでも変えたら問題あるのかな?

 ま、分解は簡単なので、1年に一回ぐらい掃除すればいい。何気に、もう、4年以上使ってるのか。十分、元は取れたな。

2014/02/07

Apple (Standard) Keyboard M0116J 改 #1


 そのまま使おうとしたが、やはり使いもしないテンキーなんぞ邪魔なだけだな。例によってテンキー部分を、ギコギコ。切れた分はジャンパー線でつないでおく。基板の乗せ替えと違って、10数本だけハンダするだけなので、さほど時間もかからない。

 ALPS スイッチの現行コンパクト・キーボードって、ニセALPSのが一つあるだけかな。スイッチ全交換を前提に新品買うのは、さすがに馬鹿すぎてありえない。M0116J は、変態配列ではあるが、キーボードとしての出来は良い。カーソルさえ慣れることが出来れば問題なく使えそう。HHKBよりかはキーも多いわけだし。

2014/01/30

Apple (Standard) Keyboard M0116J


 20数年前のマックの標準キーボード。元々、キーと筐体の色は同じなんで、こんがり黄色く焼けているのが分かる。プラスチック中の何かの成分が、化学的に反応して色がつくんだそうな。

 部品取り用に4台ほど確保しているが、拡張キーボードほど大きくもないので、そのまま使えなくもない。そこで、前から気になっていた TMK Keyboard(ADB → USB 変換のコンバータ)を組み立てることにした。Fnキーを、自分で設定して使えるので、足りないキーの問題もカバーできそう。そもそも、市販のADB-USB変換デバイスでは、ハードレベルでのキー・カスタマイズは無理。フルキー揃っている拡張キーボード等なら問題ないが、キー数の足りない M0116J では、とても使えない。

ADB-USB 変換


 TMK Keyboard keyboard controller firmware for Atmel AVR USB family
 Strawberry Linux ダ・ヴィンチ32U ATMEGA32U4 マイコン
 エチュードの頃 ADB to USB converter on Da Vinci(改良版を試す編)
 ちっこいUSB接続のマイコンボードと抵抗1つ、それと4pin のメス・コネクタ。老眼なのか細かいとこが見えない。いよいよ、ルーペ買わないとダメだな。とりあえず動いたが、詳細不明だ、よく分からない。色々出来そうなのに、電子的な知識が無いのがもどかしい。