/var/log/hdk.log

2016 年 7 月


01 (金)

%1 体調

のどはいい。 たぶん抗生物質が効いている。 これなら明日は診察してもらわなくてもいいかな?

ただ、抗生物質のせいか、今日はお腹が緩かった。 下痢にはなっていないが、午前中だけで何度かトイレに行く感じになった。

%2 FLAC

あまり FLAC の圧縮率って考えたことが無かったんだけど、ビットレートを見るには soxi というコマンドを使えば良いらしくて、それで手持ちの FLAC をちょっと調べてみた。

ほんの 1,200 個ちょっとしかなかったが、そのうち半分くらいは 1Mbps を超える。 もっとも高いのは 1.18Mbps ですべて Perfume だ。Perfume で持っているのは GAME というアルバムだけだが、もっとも低いのが 1.01Mbps で、ほとんどが 1.14Mbps 以上になる。 他にも TRF のベストアルバムがすべて 1Mbps を超えていた。

低いほうはというと、相川七瀬の ID というアルバムの中の曲で 7.41kbps なんてのがあるが、これって無音じゃなかったかな。 それを無視すれば globe のインストゥルメンタルで 557kbps というのがある。 そういう間奏とか何とか、静かな曲はビットレートが低くなりやすいかも。 意外なアーティストでは爆風スランプの『星に願いを』という曲、576kbps である。 ヒット曲 (たぶん) としては福山雅治『最愛』の 685kbps はかなり低い部類に入る。

例えば GLAY や B'z といったアーティストの曲もビットレートは高めの部類に入るが、そのへんは一応 1Mbps を割っている曲もある。 誰でも知ってるわかりやすいところでは B'z『いつかのメリークリスマス』が 955kbps である。 そういう意味で一つ残らず全部 1Mbps 超える Perfume みたいなのはだいぶ特殊なんじゃないかな。

なお、CD-DA は 44.1kHz 16bit stereo だから、1411.2kbps である。 だから 705.6kbps で半分になったと言える。 半分を切るほどの高圧縮率になる曲はそう多くはない。 でも一番悪くて 1.18Mbps ってことは 8 割程度にはなるってことか。

%3 映画

テレビでやってた映画『アリス・イン・ワンダーランド』(原題:Alice in Wonderland)。2010 年のアメリカ映画。 トレイラーは何度も見たが、本編を見たのは初めてだ。

トレイラーの流れは自分の妻になるかと言われるところから穴に落ちて小さくなってる感じ。 実際は子供時代から始まり、変な夢を見たなどと言う。 その後大人の場面に移り、トレイラーのあのシーンは婚約パーティーなどと言っているパーティーでのことで、待ってと答えて子ウサギを追いかけ、穴に落ちたあと、怪しげな薬を飲むことで小さくなったり大きくなったりするようだ。

アンダーランドには地上と同じような扉や鍵のシステムが存在する。 まるで地上のお古を持ってきたみたいな、いや、まぁワンダーランドだしな。 王様システムまで存在するんだから、異国という感じか。 ちょっとアメリカンな感じなのは、いろいろあってラスボス決闘シーンみたいな感じになるのだ。 しかも勝っちゃう、まるでヒーローものではないか。 アリス強い。

2016/07/01 のコメントを読む・書く


02 (土)

%1 どようび

のどに痰が絡むような違和感が少し残っているので、もう一度耳鼻咽喉科へ。10 時台はまだ人が多かった。 いつものように診察はあっという間。 のどを見た時の先生の反応からして、先生の予想の範囲内で治っているのではないかと思う。 数日で良くなるでしょうとのことで、抗生物質は終了、痰が絡む時用の薬が追加。

原付のエンジンオイル交換。

バイクの任意保険の切り替え手続き。 グラストラッカーを買ったお店が取り扱っていたあいおいから、ディーラーが取り扱っている東京海上日動へ。 等級を引き継ぐのにちょうど満期のタイミングが良いと言われていたので、このタイミングになった。 まぁ正直基本的なところはどの大手自動車保険会社も差はない。 四輪車とは違ってバイクの場合は同一排気量であれば車種や免許証の色が保険料に影響しないのも同じだ。 後は搭乗者傷害を人身障害に切り替え的な感じで、これはまぁ、勧められたからではあるけれども、グラストラッカーの時よりも高速走行が多いので、妥当なところかと。

そういえば、車の任意保険は最初のヴィッツを買ったお店の三井住友海上を継続している。 車を買い換えた時、同じようにディーラーで切り替えを勧められた気がするんだけど、結局そのままである。

F1 オーストリア GP 予選観戦は Live Timing で。 天気が結構変わったみたいでおもしろいことになっていた。 有料会員の Live Timing にはコース状況も随時コメントされるのだが、雨が降ってきたーというドライバーの無線の後、どこどこのトラックセクター (わかりにくいことに sector 1, 2, 3 と track sector とは違うみたいで track sector 12 とかそういう風に出てくる。12 コーナーなら turn 12 という表現になるのでそれとも違う) が滑りやすい、という情報がずらずらと出始め、climate condition が変わった、となって、その後それらの情報が clear されていったw おそらく、ドライコンディションであれば、どこどこが濡れていて滑りやすいから気をつけろ、となるところ、ウェットコンディションとなれば、濡れて滑るのは当然だよね、みたいな、ちょうど扱いが変わるところだったのだろう。 しかも最終的には再びドライコンディションになったようで、最後の 2 分ほどでめまぐるしく順位がかわっていった。

2016/07/02 のコメントを読む・書く


03 (日)

%1 にちようび

きのうバイクの後輪のホイールとドライブチェーンを洗って、ドライブチェーンにオイルをつけておいたのだが、洗った後にしては足りないかなと思って、今朝もう一度つけてくりくり、つけすぎたぶんを拭き取って完了。

というところで、天気が微妙に曇り空でちょっと涼しげだったので、午前中のうちにレンタルカート。 藤野。3 回乗ってベストタイムは 40.02 秒くらい。

12 時ちょっと前の時点ですでにかんかん照りで結構暑かった。 高速使ってパーっと帰ったがバイクのエンジン付近からの熱気がすごかった。 帰宅後バイクを駐車場に入れるために一時的に車を動かしたとき、車の外気温表示がなんと 40 度だった! いくら炎天下に駐車していたといっても、40 度というのはめったに見られない。

40 度!

結局、今日の最高気温は、気象庁アメダスの情報によれば、東京・府中で 36.7 度 (15:43) だった。 遊びに行くのを午前中にしておいて正解だった。

%2 インターレースのテレビの信号

インターレースには偶数フィールド・奇数フィールドってあって、映像信号でどちらのフィールドかの区別がつくようになっているはず。 そうでないと、もし偶数・奇数が反対になればおかしな映像になってしまうし、ファミコンや MSX などの昔のゲーム機・パソコンは片方のフィールドだけを出力し続ける仕組みだ。 どうなってるのかというと...

電子回路の豆知識

垂直同期信号のタイミングが半分ズレているらしい。 半分? 何を言っているのか? と思ったが、CRT の走査は Z 字の形にされているものと思っていたのが勘違いだったようだ。 実際には、垂直方向の走査は水平方向の走査とは独立していて、連続的に行われていたのだ。 つまり、Z の横線は微妙に右下に傾いていて、水平の線と垂直の線を表示しても微妙に垂直に交わらないことになる。 それで、垂直同期信号のタイミングが半分ズレることで縦の位置が半分ズレるということだ。

具体的には垂直帰線期間とやらが、偶数フィールドがライン 1-20, 奇数フィールドがライン 263.5-283.5 とある。 偶数フィールドが 21-263.5、奇数フィールドが 283.5-525 になるから、偶数フィールドが 0.5 ライン長く、奇数フィールドが 0.5 ライン短くなってるのかな。 どっちがどっちだっけ? えっと、0.5 ライン長いフィールドの後が下になるのかな? だから偶数が上なのかな?

あと、同期信号は走査を端っこに縛り付けるものかと思っていたが、これも勘違いということになる。 単に、ひゅんっと一定量巻き戻す、そのタイミングを決めるだけってことみたいだ。 まぁこんな感じなので、偶数フィールドか奇数フィールドかを決める特別な信号線があるわけではなく、単に垂直同期信号のタイミングで決まっているということで、理屈の上ではずらす量の微調整もできるのかも知れないし、パソコン用のプログレッシブ CRT に対してインターレースの信号を食わせることも (どうなるのかは知らないが) できるのかも知れない。

もうひとつ、調べていておもしろかった内容:

RS-170A NTSCビデオ信号タイミング規格の概要

最後のところで「明滅に合わせて画面が膨らんだり縮んだりする」話がある。 「高圧レギュレーションの悪い CRT で」起きるらしいw 自宅の 2001 年購入のサムスンの安物テレビでは起きている。 今時の (今?) パソコン用 CRT では起きない気がする。JX のディスプレイでは起きていて、しかも拡張表示モードはインターレースだったから、1 ライン飛ばしながら横線を描画することで、片方のフィールドを明るく、もう片方のフィールドを暗くすると、各フィールドの大きさが違ってしまいズレてしまうという現象があった記憶がある。

まぁ、そんなわけで、テレビは 1930 年代から実用化され始めた古い技術だけど、インターレースやら 60Hz の由来やらを知ると、おそらく当時としてはかなり未来的というか、10〜20 年くらい先の技術というか、無理をした技術だったんじゃないかと思う。 今のディジタル放送のほうが、技術的に無理のない、非常に素直な設計という感じである。 そう考えると、テレビというのは、本来はもうちょっと洗練された形で、もうちょっと後に普及するべき技術だったのかも知れないが、おそらくこの革新的な装置は人々の心を動かし、少々無理やりにでも普及させられてしまったのではないか。 そして一度普及してしまうと、置き換えるのは大変、というのはまぁインフラ全般にありがちな話で、電気の 50Hz/60Hz は結局混ざったままだし、狭い道はなかなか広くならないし、メタル電話線の廃止もこれから始まるのだろう。

2016/07/03 のコメントを読む・書く


04 (月)

%1 きのうの Formula One

今回ライブストリーミングは良いものを見つけられず、有料 Live Timing のみでの観戦。 その Live Timing が途中で不調になるもんだから、Formula One の運営はイケてない。

フェラーリ勢はライコネンが早めにピットイン。 ライバルに反応したのかな、と思ったが、ウルトラソフトのハミルトンがあれだけ粘れていたんだし、もうちょっと伸ばしても良かったのでは、と思うくらい、ピットアウトの位置が悪かった。 そして、セーフティーカー、"Vettel is in the wall!" の文字に驚いた。 映像が無いからね、何かやばいことが起きたっぽいということしかわからず、何が起きたんだよ! と思っていると、そのうちタイヤが崩壊したという情報が。 はぁぁぁ! ピレリはデブリ踏んだせいですみたいな、ほんとかよ。

まぁそんなわけでメルセデスの敵が 1 台脱落だ。 後はしばらくしてライコネンがレッドブルのリカルドを抜いて 4 位まで順位を上げた。 リカルドは今回あまり調子が良くなさそうで、結局タイヤ交換となった。 なんだかんだでメルセデス 2 台が先頭、続いてレッドブルのもう一台、フェルスタッペンはライコネンより古いタイヤでよく粘っている。 妙なタイミングでメルセデスがピットイン、しかも後ろのハミルトンより前のロズベルグのタイヤが柔らかいとは奇妙な戦略だ。 何だよそれと思っていたが最後の数周で 1 位と 2 位の差が一気に縮まった。 同時に 3 位と 4 位も縮まっており彼らは最終ラップに仕掛けるつもりなのか。

みたいな感じだったんだが、最終ラップに黄旗が出ていて、しかしタイム差が縮んだと思ったら表示が変になって、あれ? あれれれ? と、思っているうちにロズベルグがズルズルと順位を落とす! いつの間にか、ハミルトン、フェルスタッペン、ライコネン、ロズベルグの順番になっていた。 またしても映像が無いから、何なのと思っているとメルセデスが接触との情報、なんと!! 上空からの写真も出ていて、ロズベルグがわざとハミルトンを押しだそうとしたようにしか見えない...

そんな感じで天候が悪化しなかった割にはおもしろかったんだけど、接触に関するロズベルグのコメントはイケてない。 後で映像を検索して見てみたけど、ブレーキトラブルでとまりきれなかったという状況だけは理解するが、それで曲がれずに直進してしまってぶつかった、というのではなく、アウト側で少し前に出ていたハミルトンがターンインし始めたのを見てあわててハンドルを切って、それで左前タイヤはちゃんとグリップしていて、ちゃんと曲がり始めている感じなのである。 でも反応が遅すぎて衝突した感じ。 ブレーキトラブルが原因で減速しきれなかったのであれば、あわててハンドルを切っても左前タイヤはグリップせず、タイヤスモークがあがるに違いない。 ハミルトンが寄ってこないからと思い切り膨らんで曲がろうとしていた感じに見える。 極端なことを言えば、カーブの頂点ではなく、反対側のハミルトンだけを見ていた感じがする。

そして、ハミルトンはロズベルグが死角にいたというふうなことをコメントしていたようだ。 なので、何が起きたのかは見えていなくて、たぶんタイヤをロックさせちゃったんじゃないの、みたいな言い方になっている。 確かに、並んで少し前に出ていたからサイドミラーの死角に位置するかも知れない。 それで、イン側には十分なスペースを確保した上でターンインしたというのだから、納得である。

何度もチャンピオンを取るような人は、何かやらかした時のコメントも違うよね。 ロズベルグだって、トラブルで減速しきれずにぶつけてしまったとか、ミラーを見ていてライン取りを間違えただとか、そういういいわけならまだ同じことをしたとしてもごまかせると思うのに、相手がターンインしてきて接触したのには驚いた、とか言うから、コイツはあの位置で相手がターンインしてこないと考えているのか、というふうに周りは思ってしまうわけで。

%2 JX

エミュレーター。 インターレースの細かい実装は後回しにして、とりあえず拡張表示モードのテキスト画面から対応を始める。 っていうか、インターレースの細かい実装はしないかも知れない。 めんどくさいし、POST も拡張表示モードに関してはチェックしていないみたいだし、アクションゲーム等の影響のあるアプリケーションが無いので、20MHz のインターレースを 40MHz のプログレッシブにしてしまうかもw

そしてテクニカルリファレンスを見て、拡張表示モードの説明がめちゃくちゃ少ないのにショックを受けている。 レジスターを見ると単色グラフィックと 2 色グラフィックが別々にあるのだが、画面モードの説明には、グラフィックモードは 2 色と 4 色がある、みたいな説明だし、テキストモードの単色の時の輝度って確か背景色も明るくなってたよね、とか、昔の記憶を掘り起こして実装するしかない。 パレットは 4 色分しかないから、テキストモードではパレットは使われていなかったのだろう、たぶん。

ふと思ったんだけど、ひょっとして基本モードでもインターレースに設定してパラメーターを適切に調整したら 640x400 くらいの解像度で出せていたのかな? グラフィックモードに関しては VRAM のアドレス範囲の問題があって 640x400 の表示はできなかったと思うけど、テキストモードに関しては PC-98 みたいな 25 行日本語表示のチャンスはあったのではなかろうか。

2016/07/04 のコメントを読む・書く


05 (火)

%1 エミュレーター

拡張表示モードをテキトーに実装。 正確には拡張表示カードにあたる部分か。 そこにカートリッジを追加すれば拡張表示モードになるというわけ。 過去に自分が書いた BASIC プログラムを探したら、85 桁表示をするプログラムと、33 行表示をするプログラムが見つかった。 残念ながら 33 行表示はうまくいかないケースがあるが、まぁいいや。

一時期触った PS/55 用のプログラムもいくつかあったが、まだその頃はずいぶん意味不明なファイル名の付け方をしている。 その後、高学年の頃は JX でだいぶ無茶なことをやっている。33 行表示はまだ CRTC を触るだけだからいいが (でも CRTC の各レジスターの意味を知らずに手探りで調整したんだからかなりの暇人だが)、BASIC で I/O ポートを読み書きしまくって画面モードを切り替えてしまうプログラムなんてのがあって、我ながら相当むちゃくちゃである。

過去に使っていたディスケットのバックアップの中から、VZ エディターを含むやつを見つけられず。 どっかにあったはずなんだけどな、イメージ化しなかったのかな... パーソナルエディターがなぜか動かないとか、BASIC で ON TIMER がうまく機能していないっぽいとか、いくつか怪しいところも見つかっている。 某日本語ワードプロセッサーソフトは動いたが、テンキーが入力できなくてメニューが選べないところだった。 冷静にファンクションキーでローマ字入力で切り替えたところ操作できた。 ファイル一覧を見ると自分が使い始めるより前の頃の日付のものが残っていた。 某音楽演奏・編集ソフトは起動した。 このソフト、横 720 ドットの画面に対して 640 ドットしか表示しないところや、横線やロゴが縦 2 ドットになっているところを見るに、海外ソフトを移植したものっぽい感じがする。

%2 フォーミュラ E

というわけで夢中になっていたらモニターの電源が入り、何だっけと思ったらフォーミュラ E の時間だった。 最終戦は 2 日続けてになっていて、今日は初日の分の放送だ。 しかし、ニュースサイトでチャンピオンが誰になったかは知ってしまっていて、楽しみが薄れてしまっている。 とはいえ、なかなか激しいレースであった。

明日は 2 日目の放送、ニュースサイトでチラッと見た内容の記憶ではなにやらアクシデントがあって、ファステストラップによるポイントでチャンピオンが決定したみたいな話である。

2016/07/05 のコメントを読む・書く


06 (水)

%1 RTC

JX には TIMDEV.SYS というのがあって、詳しくは知らないんだけど、要するに RTC を使って日時の読み書きをするデバイスドライバーである。 想像するに RTC は拡張チャネル経由でつながっていたのかな? 自分でセットアップしたわけではないのでその辺がどうなっていたのかは知らないけど、JX や PCjr って廉価版と言われる割には意外と拡張性が考えられていると思う。

で、TIMDEV.SYS をエミュレーター上で実行すればどんな I/O を行っているのかは見られる。PC/AT 互換機に今も残る CMOS RTC に近いものかと思っていたが、全然違った。NEC の PC-98 シリーズで採用されていたものとも異なる。I/O ポートの範囲は、贅沢にも 360h-36fh までを使用している。36dh に 1 を書き込んで (ラッチだろうか?)、読み取ってステータスの確認? そして 360h-36ch まで連続して読み取り、最後に 36dh に 0 を書き込むという仕掛け。 書き込みは 36fh に何か書き込んでから 360h-36ch に書き込み、最後に 36dh に 0 を書き込むという仕掛け。 どうやら 10 進数を 1 桁ずつ入れていく感じだが、一部書き込みの時だけ +8 されているところがあった。

このデバイスドライバーは、デバイスが無い時には機能せず通常通り 1980-01-01 のままで起動するため、デバイスの存在確認を行っているのは間違いない。 どうやっているのかというと、どうやら 1 秒以上の間隔を開けて 2 度「秒」の一の位を読み取り、正しく進んでいるかを確認しているようだ。 だから、実は起動時に少し待ち時間があったようである。

あと、そういえば、JX で TIMDEV.SYS を組み込んでも日時が設定されなくなっている時期があった。1990 年代のどこか、たぶん後半だったと思うが詳細な時期は忘れた。 あのときは、電池が切れたものと思っていたが、なぜかその後しばらくすると復活した。 デバイスドライバーにこの存在確認の仕組みがあるということは、もしハードウェアに何らかのトラブルが発生して秒のカウントが進まなくなると、TIMDEV.SYS にデバイスが存在しないと判定されてしまうので、そこに無理やり書き込んでリセットしてみるということはできなかったわけか。 なお、PC-98 ではキャパシターが使用されているらしく、電源を抜いて長期間放置した場合 0000-00-00 00:00:00 みたいなあり得ない日時のまま変化しなくなるが、しばらく電源をつないでおけば充電され、動き始める。 確か最初はぐちゃぐちゃに動き始めたんじゃなかったかな。PC-98 には必ず RTC が存在するので、日時を設定してみて復活したかどうか確かめるということも可能だったはず。

%2 ブロック崩し

昔書いた作りかけのブロック崩しゲーム。1994 年 1 月ってことは小 5 か。 拙作エミュレーターで動かすとなぜか垂直帰線時割り込みが発生せず、中途半端に動かない。 なんだおかしいな、とソースコードを見ると、垂直帰線時割り込みを有効にする代わりに、割り込みコントローラーの初期設定をやり直していた。 えっ、初期設定をすると割り込み許可になっていたのだろうか? マジか...

ソースコードはもっと前の時期のものよりはマシだが、やっぱりなんかいろいろとひどい。 日本語コメントにやたら気合いが入っており、「テキストモードでの実行は保証されません」みたいに書いてあって、テキストモードじゃなくったって誰も保証なんかしないよ、みたいな気分になる。 あと、ただサブルーチンを call するだけのマクロを定義してあったり、サブルーチンにわけてある処理とわけていない処理の基準がよくわからなかったり、単に BIOS を呼び出しているのかと思いきや BIOS のデータ領域を直接書き換えていたり、いろいろおもしろい。 そんな変なとこにこだわるより、とっとと完成させとけよ、みたいな... ま、その 2, 3 年後に C とアセンブリ言語の組み合わせで、テトリス風のミニゲームクローンを遊べるレベルまで作ったわけだけどね。 全部アセンブリ言語ってのは性能の問題で DOS の時代はよくある話だったけど、やっぱり人間の労力で言えば C などの高級言語のほうがずっと軽かったんだよなぁと。

%3 フォーミュラ E

最終戦は初っぱなからチャンピオン争いのふたりがクラッシュして始まった。 その後ファステストラップ合戦だが、思ったより接戦だった。 残り数周のところで 1/10 秒未満の差まで詰めるとはね。 ファンブーストを使ったラップはポイントのつくファステストラップには数えないんだそうで、なるほど。

2016/07/06 のコメントを読む・書く


07 (木)

%1 Pascal

初めて触ったスクリーンエディターはたぶんパーソナルエディターである。 なぜか拙作エミュレーターで動かないのでデバッグする。 変な命令を実行し始めるので、どこから挙動がおかしくなっているのか追う。 どうもリターン命令で変な番地に飛んでいるらしい。

しかし命令を見ると push %bp や pop %bp があるし、%bp 相対のアドレス指定も多々あるように見える。 これは高級言語で書かれているのか? C か? しかしスタックポインターを caller じゃなくて callee が戻すスタイルだ。 チラッとファイルをダンプしてみたら、ソースコードのファイル名と思われるところに .PAS の文字... Pascal だー。

1980 年代はまだ C がダントツでは無かったのか。 実用的な Pascal といえば、Windows の開発環境として一時期流行った Delphi を思い出す程度だ。

ま、それはともかく、レジスターのダンプを繰り返すと、どうやらメモリーコピーみたいな処理でスタックを壊したり、スタックを使いすぎてデータ領域を壊したりしているらしいことが判明しており、それは何か自分が書いた CPU の命令解釈実行処理等に問題があるとしか思えない状態となっている。 すべてアセンブリ言語で書かれているであろう BASIC や DOS やゲーム等が動いているわけだから、Pascal コンパイラーが出力する特有の機械語に引っかかっているような、そんな感じがする。

2016/07/07 のコメントを読む・書く


08 (金)

%1 きのうのバグ

どこかで変なところに飛んでいくってんだからログを出してさかのぼってみるしかない。 ひとつはテーブルジャンプ的なところでジャンプ先がおかしいことが判明。 どう見ても命令の途中にジャンプしている。

これは、どうやらこの Pascal コンパイラーはジャンプテーブルをジャンプ命令の直後に置くらしく、プログラムカウンター相対アドレス指定のない 8086 時代のプログラムなので、セグメントが違ったことで全然違うテーブルを参照していたことがわかった。CPU のプロテクション機能もないからリミットを超えていることも検出はできない。 じゃあどこでこの違うセグメントのコードに入ってしまったのか? さらにさかのぼると、一見普通に見えたがよく見るとまたしても命令の途中に飛んでいる部分が発覚。 その手前はというとリターン命令だが、ここでリターン命令を疑わずに、スタック破壊を疑ったものだから手こずった。

結局スタック破壊はこの時点では無く、リターン命令の実装を間違えていた (!) ことによるものだった。 スタックから取り出したアドレスを絶対アドレスとしてジャンプしなければならないのに、相対アドレスにしてしまっていた。 こんな致命的な問題が今まで発覚しなかったのは、near ret にオペランドを指定した形式で、これはリターン命令の中でもめったに使われないものだから。 この命令は callee がスタックポインターを戻す Pascal 呼び出し規約特有のものであり、C やアセンブリ言語で書かれたプログラムではほとんど使われないであろう。

ま、実は BASIC は Pascal 呼び出し規約だったと思うので、何かあっても不思議じゃなかったんだけど。 ちゃんと調べてないけど実際のところ ON TIMER がちゃんと動いていなかったのも同じ原因だったのかも。

懐かしのパーソナルエディター、少し触った感じでは良くできてるんだけど、デバッグ中に見たシステムコールから、これってもしかして DOS 1.x 用? みたいなところはある。 これ、vi ほどではないけどちょっとしたモード切り替えのあるエディターである。 操作なんかまるで覚えていなかったが、PF1 でヘルプが出たのでチラッと見た感じでは、ファイルを開くとか置換とか、そういうのがコマンド指定になっており、よく使う操作はファンクションキーに割り当てられている。 こんなの使ってたんだなー (使ってたのは間違いないがほとんど記憶にない)。

ついでに別のペイントソフトが動かない問題があったが、こっちは落ちる直前に特定のセクターへのディスクアクセスがあるので、どうやらコピープロテクトだな。

%2 映画

テレビでやってた映画『マレフィセント』(原題: Maleficent)。2014 年のアメリカ映画。

妖精マレフィセントが主人公。 子供時代から大人時代になると急にアンジェリーナジョリーになって老けた感じがする。 マレフィセントは、王になる前のステファンに裏切られて翼を失う。 子供からアンジェリーナジョリーになって受けるちょっと老けた印象と、メイクが、裏切られた後の心の闇のようなものをうまく表現している。 オーロラ姫という天使... じゃなかった、ステファン王の娘が誕生したところで、マレフィセントはステファンへの復讐を開始する。

復讐はオーロラ姫へ呪いをかけることによる。 そしてその呪いは本当の愛 (true love) によるキスでなければ解けないとする。 こういうの、なんで呪いが解ける穴を作っちゃうんだろうね! おかげで、話が進むにつれ、あっこれはこういうことになるのかな、って予想がついてきて、実際その通りになった。

翼が復活し、ステファンが死ぬところまでは予想できなかったが、オーロラ姫が天使なのでよしとしよう。 マレフィセントというタイトルからして名前が覚えにくく、あれっと思うことが何回かあったが、この主人公は死なないだろうな、って感じで安心して楽しめるタイプの映画だった。

なお、カラスは人間にされるとあんなに長生きするのか、とか、妖精は翼はなくても他人を宙に浮かせて運べるんだから自分も宙に浮けるんじゃね、とか、そういうしょうもない疑問は忘れることにする。

2016/07/08 のコメントを読む・書く


09 (土)

%1 どようび

雨。

寝間着に使っている古びたジャージが少し暑い気がするし、ハーフパンツだとちょっと寝心地が悪いので、汗をよく吸う T シャツと同じような素材のジャージ (下) があればいいなと思って探した。 サンキにあるかなと思ったけど良さそうなのが見当たらず、スポーツ用品店で見つけて、30% OFF の値札のやつを購入。 イオンカードでさらに 10% OFF だとかで、10% ってデカくない? すなわち 37% OFF ということになるわけで、そんなに値引きしてくれていいのか。

先月のじゃがいも掘りのじゃがいも、毎年乾かして砂を落としてから段ボール箱で保存という感じにしていたが、今年は水で洗ってから乾かして段ボール箱で保存にしている。 例によって 7 月は何度か自炊をして消費するわけだが、洗ってあると使うときの印象がいい。 お店で買ってきたやつみたいだ。 よく、洗うといけないなんて言うのだが、洗ったほうが痛んでいる部分を見つけやすくなると思うし、土だって湿っているわけだから、要するにちゃんと乾かせば良いんじゃないかな。 今年は真っ暗にした風呂場で風をあてて乾かした。 もう 2 週間経つが問題はなさそう。

株主優待でもらったカレールウはバーモントカレーの中辛。 あまりに辛くないのでどうやって使おうかと思っていたが、水の量 750ml 指定のところ、500ml で作ってみたら、やっぱり辛くは無いけどだいぶ濃い感じのカレーができることがわかった。 ちょっと塩分が多いような感じの味付けになる。 ま、量も少ないほうが一人暮らしとしては助かるので。

%2 JX

ペイントソフト、音楽演奏・編集ソフトや電子回路学習ソフトなど、いくつかのソフトが、単純に一部のセクターを見つからないようにするというような仕組みのコピープロテクトを用いているらしい。 ディスクイメージをバイナリーエディターで開き、cd 13 で検索すると、それらしき機械語 (!) が見えるので、適当にごにょごにょすればパスできるかも知れない。

ペイントソフトはなんか必要ファイルが見つからないなど変な状態。 わざわざ PC-98 で昔使っていた HDD のバックアップまで見て確認したが (DOS のパーティションには古いものしか無くて、Windows のパーティションに入れてあった)、どうやら DSK から変換する際にミスったようで、そのプロテクトの周辺にあるルートディレクトリーエントリーが一部失われていた。 そこで QEMU で DSKMGR で変換。

Memo/PC98 - DEX Lab

-m1 -e0 -w1 -kdi と -o filename の他に、-s1 を付ける必要があった。 なお、FreeDOS では日本語が出ないのに何か確認メッセージが出てきて困ったが、y と答えると終了するので n と答えると良いようだ。

ペイントソフトはジョイスティックかマウスが必要。 エミュレーターにジョイスティックのエミュレーションを適当に用意したところ、何とか動作した。 そして出てきたしょうもない絵の数々... というほど多くはないが、年賀状用に作った絵が「なんでもディスク」とやらに残っていた。

酉 戌

なんと来年はまた酉年なわけだが、そういえばこれ、熱転写プリンターで印刷するのに苦労したんだ。 それで作った専用の画面印刷プログラムは MASM ディスク IV にあった。 ポイントは、はがきみたいな硬い紙に印刷する時にはヘッドの上の部分が接触しないので、ヘッドの下半分だけを使って印刷しようという代物だ。 コードを読むと、行送り量を減らした上で、24 ドットヘッドの下半分 12 ドットずつを画面から読み取って印刷するプログラムになっている。 最初はペイントソフトが出力する印刷データを変換して実現しようとしたが、あまりに難しいので画面印刷で妥協したんだった。LODSB の前に CLD を実行し忘れているのはご愛敬ということで。

2016/07/09 のコメントを読む・書く


10 (日)

%1 まったり日曜日

よく寝た日。

参院選投票日。 近所の投票所の朝 9 時時点の投票率は前回を上回っていた。10 代の人達はちゃんと投票に行ったかな?

車を運転中にやらかした珍しいエンストパターン 2 つ。 ひとつは、発進時にちょっとアクセルの踏み込みが足りなかったというありがちパターンだが、タイミングが絶妙だったのか、エンスト後に ECO 表示か何か、あのへんのランプがぴかぴかと点滅していたw アイドリングストップの後の再始動は発進の何秒も前に余裕を持って成功させていたんだけどな。 もうひとつは、1 速アイドリング状態でクラッチペダルは離したままゆっくりと転回した直後、なぜかニュートラルにしたものと勘違いして、そのままブレーキを踏んで停車したところ、いかにもエンストしそうな振動があってそのままエンストし、あれっ、と思ってシフトレバーを触ったらギヤはしっかりと 1 速に入っていたwww ニュートラルにしたつもりってやつ自体はたまにあって、信号待ち等でガツンとエンストさせたことはあるが、クラッチペダルに全く触れずにエンストさせ、しかもシフトレバーを触るまで気づかなかったのは結構珍しい。 なお、MT 車を所有し始めてから 10 年が経過している。

%2 SDL

SDL なアプリにフツーのダイアログボックスみたいな GUI を組み合わせるのっていろいろとトラブルを起こしそうな話で、実際 WWW 検索すると、どうも Windows のメッセージ処理まわりが原因のトラブルなどもあるような感じである。 もっとも安全な方法は別プロセスにしてプロセス間通信にしてしまえということらしい。

まぁそのプロセス間通信にしたって、パイプというのが標準的なプロセス間通信の方法のひとつではあるが、Windows に関しては _pipe() という名前が違う API だし、fork() の代わりに spawn だし、select() で待てない (socket じゃないので) し、結局移植性のあるプログラムに使うのはやっかいなようだ。

2016/07/10 のコメントを読む・書く


11 (月)

%1 きのうの F1

レーススタートは見損ねた、というか映像は見てないんだけど、Live Timing を開いたらどうやら悪天候によるセーフティーカースタートだった。 決勝後のニュースによれば、スタートはともかく、セーフティーカー期間が長すぎたとの批判があるらしい。 それで先頭にいたハミルトンがセーフティーカーを煽るように走っていたとか (笑)

その後は乾いていく路面に合わせてのタイヤ交換のタイミングと、乾ききっていない部分の走り方がポイントのようだった。 映像を見ていないのでアレだけど、文字情報だけでも、チャンピオン経験のあるベテラン勢を含め様々なドライバーが、コースオフあるいはスピンといった情報が何度も流れていたので、結構難しいコンディションだったのだろう。 惜しいのは、トップを走っていたハミルトンを除く、複数回のチャンピオン経験者であるベッテルとアロンソの両方が、そういう路面に足下をすくわれて順位を落としてしまっていたことか。

スリックタイヤへ交換後は、そのままレースを走りきれるということで、ラップタイムを見ていると、トップのハミルトンは完全に後ろを見ながらの走りであることが明らかだった。 後のコメントによれば、エンジンが規定の最後の 5 基目であるためセーブして走ったようだ。 後ろはフェルスタッペンががんばっていたが、さすがにロズベルグに抜かれた。 と思ったらロズベルグがギヤボックストラブルで無線でヘルプを求め、最終的にはそれがペナルティーの原因となった。 しかしたったの 10 秒ペナルティーとはね... 前戦で無線の制限によりブレーキトラブルが伝わらずコースオフ・リタイヤしていたドライバーがいたことを考えると、たかがギヤボックストラブルごときの無線制限違反で 10 秒ペナルティーって軽すぎはしないかという気はする。 あと、トラブルのためデフォルト設定に戻せという指示までは緊急の指示として許されるということが今回のことで判明した。 なので、7 速をとばせ、ではなくて、7 速にトラブルがある、と伝えるのは OK だったのではないか。

今回ラップタイムをずっと見ていたのだが、トップ 4 (メルセデスとレッドブル) が異次元の速さだった。 フェラーリとフォースインディアがそれに続く。 フォースインディアはタイヤがきつかったようだが、フェラーリのライコネンはタイヤは大丈夫そうだった。 ただし、前がとばすと 1 周で軽く 0.5 秒以上離されている感じで、何があってもトップ 4 には届いていなかったな、というラップタイムだった。 レッドブルはフェルスタッペン移籍の頃から本領を発揮し始めた感じかな。 それでも本気のメルセデスにはついていけなさそうな感じ...

フォースインディアの速さを見てもメルセデスエンジン (パワーユニット) は今年もやっぱり強い。 フェラーリもがんばってはいるが追いつけていないのではないか。 開発規制は厳しい。 来年はトークン廃止で開発競争になるのではということだが、規制緩和が遅すぎるのではないか。 そもそも世界最高峰といいながら開発規制って何だよ... 基数制限だけでお腹一杯だよ。

2016/07/11 のコメントを読む・書く


12 (火)

%1 おとといの F1 の追記

そうそう、予選でいろんなドライバーがコースリミットを外れたり (リミットの線を 4 輪脱輪するとタイム抹消される決まり)、ミスをやらかしたりしていた。 ハミルトンは Q3 でタイム抹消されたあとトップタイムをたたき出す見事な走りだったが (しかも本人はミスらないように少しマージンをとっていたというようなコメントだったかな)、ライコネンは Q2 で 2 回目のアタックも失敗して最後ギリギリ通過だった。Q2 のタイムを出したタイヤで決勝スタートの決まりがあるので、ライコネンはロックさせた上 1 周多く走ったタイヤでスタートすることになり、不利だなぁと思っていたら、雨スタートだったのでそのルールは適用されなかったのだった。

アロンソは Q3 の最後にそこそこのタイムを出したがタイム抹消されてしまい、決勝でのスピンもあってぐだぐだな結果に。 バトンはトラブルで Q2 に進めなかったが、決勝は着実に、といってもポイントは遠かったか。 ベッテルは金曜日・土曜日に立て続けにギヤボックストラブルが出たとかで、珍しくチームメイトに届かない予選タイムに加えギヤボックス交換ペナルティー、さらに決勝では真っ先にスリックタイヤにかえたアドバンテージをスピンで失ってしまっていたようで、何とかポイントは取れたという感じ。

と、5 人もチャンピオン経験者がいるわけだが、チャンピオンらしい走りはハミルトンだけだった。 そのハミルトンも決勝でコースオフがあったわけだが、後続もコースオフするという幸運もあったし、あの圧倒的なペースから言えば例え抜かれても抜き返していただろう。

%2 選挙

そういえばおとといの選挙は大変いい加減な気持ちで投票に行って、2 枚目のほうに書く内容は決めていたが 1 枚目 (選挙区) は何も決めていなかった。 鉛筆を持ってしばし悩み、あんまり聞き覚えのない人の名前を書いたら、その人は落選だったようだ。

そして次の選挙は都知事選、何人か出馬表明しているが... ウーン。 石田純一は出馬断念したが、野党統一候補ならという条件だったからそもそも出馬の可能性は低かったのでは。

2016/07/12 のコメントを読む・書く


13 (水)

%1 ノート PC

そろそろ Windows 7 から Windows 10 への無償アップグレードが可能な期間の終わりが迫っている。 自宅のノート PC ThinkPad X201 にプリインストールの Windows 7 が入っており、無償アップグレードの権利を未だ行使していない。

この ThinkPad は中古で購入したもので、8GiB の RAM があるにも関わらずなぜか 32bit 版の Windows 7 が入っているという謎な状態。 無償アップグレードの権利を行使すれば、おそらく 64bit 版を入れ直すことも可能だろう。 問題は、パーティションの空きがほとんど無いためアップグレードがめんどくさいということと、そもそも、購入してからの 4 年半のうち、SSD に入れ替えた時に入れたっきりで、それ以降ほとんど起動していない Windows を、わざわざアップグレードする意味があるのかというところである。 しかも、Home Premium エディションなので、デスクトップの Windows PC をアップグレードする前と変わらないというか、むしろ 32bit 版で劣化 (?) 状態である。

SSD 容量は 64GB (not 64GiB) であり、今の感覚ではかなり小さめ。 これを買い換えることも考えたが、調べてみると X201 の販売開始は 2010 年 3 月 1 日らしい。 モデルとしては 6 年が経過している古い PC で、わざわざ SSD にお金を投入するのもなぁという感じになる。

Windows を残してあるのはバッテリーの充電容量調整が目的だった。 この件に関しては tp_smapi カーネルモジュールを使えば Linux でも設定可能らしいことが判明しており、Windows を残す理由ではなくなっている。 おまけに、職場の ThinkPad X200 の経験で言えば、Windows 10 にアップグレードするとおそらくこの時期の ThinkPad のバッテリー関係のアプリは互換性が無く、アンインストールされてしまうからますます意味は無い。

結局、アップグレードはしないか、するにしても、もともとついていた HDD でアップグレードしておく程度にして、SSD からは Windows を消し去ってしまうのが良い気がしている。Windows を消し去れば 20GiB もの空き容量ができるので、空き容量 1GiB 以下でがんばってきた GNU/Linux 環境にもかなり余裕ができる。LVM にはしていないので増やすのもめんどくさいところはあるんだけど、頃合いを見てやってしまったほうがいいだろうなぁ。

%2 Windows 10

Windows Update の日に、「更新してシャットダウン」が選択肢に無いのは疑問だったが、自動更新の設定にしてあれば、ほっといても更新のインストールは始まっており、あとは再起動の時刻を設定するだけの状態だから、シャットダウンすれば更新はインストールされるかな、なんて思った。 職場の PC で、実際にシャットダウンしてみると、目の前で点滅を始めるスリープランプ... 高速スタートアップで休止状態になってやがるwww

デュアルブート環境ということもあって、高速スタートアップを解除しておいたほうが安心なので解除してシャットダウンを選ぶと、今度は更新のインストールが走った。 うーん、帰るときにシャットダウンするついでに更新をインストールしておいてほしいって自分だけでは無いと思うんだけどなぁ。 なお、この PC は時々 Fan error が出るような、どうもシステムボードに問題を抱えた PC で、スリープにしていたらファンが回らなくなっただけでなく、無線 LAN がつながらなくなるといったトラブルが出たことがあって、いつもは帰る時には休止状態にしている。 デュアルブートの設定でデフォルト Windows ではないので、休止状態から夜中に勝手に復帰していることは無いようだ。

なお、相変わらず Windows Update が自動的に再起動しようとする時刻としては真っ昼間が出る状態であり、勝手に再起動されると大変迷惑である。 今日なんて、昼休みの始まる時にはまだ更新のインストール中だった癖に、昼休みの終わる時間が再起動のタイミングにされていて、ギリギリで気づいたけどもう少しで再起動されていたのかも知れないw 使用されていないとか何とか出るけど、そりゃ昼休みには使用しないけどさw

2016/07/13 のコメントを読む・書く


14 (木)

%1 ThinkPad X201

もとの HDD をどこにやったかなと、探したら SSD の箱が PC の棚に置いてあって、そこに入ってた。 それに入れ替えて、これリカバリーディスクを作成するのに使っただけでリカバリーもしてなかったと思うんだけど、ハードオフの店員さんを信じて (←?) そのまま Windows 10 にアップグレード。 そしてネットワークにつなぎ Windows Update。 なぜか懸案の省電力マネージャーは消されずに残っていて、首をかしげたがまぁいい、どうせ使うことはない (ぉぃ)。

また SSD に戻しパーティションを拡大する。 ちょうど Windows の入っていたところが rootfs のサイズ +5GB 程度あって良い感じなうえ、home のパーティションの後ろが rootfs なので、rootfs を Windows 跡地に引っ越し。90% 以上使っていたので dd でコピーした。 すっかり忘れていたけど reiserfs はマウントした状態で resize すべし。 メッセージよく見ないで再起動して、あれ、変わってない、と思ったけどそういえばそうだった。

次に home の拡大、こっちは暗号化パーティションなのでやっかいだ、と思っていたけどその前に、パーティションの開始位置に何をやったか覚えていないのだが fdisk で同じ位置に設定できず後ろにずれてしまう。 仕方が無いのでズレた位置に作っておいて、バイナリーエディターで見比べて修正。fdisk は /dev/sda をアクセスするのに対し、手で編集するときに /dev/sda3 を直接いじったから fdisk でその結果を確認できない... /proc の下を探してキャッシュフラッシュさせたら確認できた。

で、これでパーティションのサイズが変わったので次は暗号化の設定だ、と cryptsetup resize を実行したんだけど何も起きない、っていうか、実行する前からすでにブロックデバイスのサイズは大きくなっていた。 そういうもの? なので、ファイルシステムの resize をすませて完了だ。 だいぶ余裕ができたのでいろいろ使えそうだ。

%2 梅雨明けは?

今日も妙な天気で、何より来週の海の日あたりの天気予報が良くない。 海水浴場で働いている人達にはうれしくない天気予報だろうが、そんなことより梅雨明けはいつなのか。 今日はよりにもよって熊本に大雨警報が出ていて、九州は大雨の被害もかなりありそうだ。

九州南部の梅雨明けは?(日直予報士) - 日本気象協会 tenki.jp

首都圏は水不足も心配なところだし、せめて涼しくなってくれれば...

2016/07/14 のコメントを読む・書く


15 (金)

%1 皮膚科

手の皮がかさかさでぼろぼろに剥ける症状が 1 か月ほど続いていたので皮膚科に行った。 汗が原因? の汗疱とか何とかいうやつらしくて、かゆみも無いので、ヒルドイドローションというハンドクリームを処方してもらって終わり。 薬剤師の人曰く、顔にも使えるんだとか。

手が温かい人はなりやすいんだとか、季節の変わり目には多いんだとか。 言われてみれば今は手は温かいほうかも知れない。 やたら冷えてる時もあるけどね。

%2 映画

テレビでやってた映画『ホットロード』。2014 年の邦画。 原作は 1986 年頃に連載された少女漫画とのこと。 初映像化のようだがよく発掘したなぁ。

暴走族やら、出てくる車やら、時代設定も当時なのか。 ぼーっとした感じの主人公 (中学生) とその同級生、そして暴走族の抗争? みたいな。 和希 (かずき) って名前で何か一樹とか一貴とか男性名を思い出してしまって違和感があった。Wikipedia 見ると暴走族にあこがれってあったけど、映画見ててもあこがれてる風には見えなかった。

中学生の主人公を演じる能年玲奈はおそらく撮影時 20 歳前後である。 そりゃ「中学生には見えない」よねw

YouTube で暴走族の「コール」と呼ばれる動画を見るとわかるけど、あの人達のエンジンの吹かし方は、ギヤを入れておいて、吹かしてあげた回転数をクラッチをつないでストンと落とすというような操作をしているらしい。 しかし、この映画のやつはただの空ぶかしに見える。 まぁこれも、時代の違いなのかも知れない。 しかしどうでもいい。

ヨンフォアと言っているやつ、ホンダ CB400FOUR のことらしいのだが、CB400FOUR は 1997 年発売で時代が合わない。 そうするとドリーム CB400FOUR のことなのか。 アクセルターンのシーンの違和感。 映像は人や心のほうに力が入れられていて、車両のほうは雑かも。

%3 Windows

やっぱり Windows 7 から Windows 10 にアップグレードした各種 PC を見ると、何となく軽快になったような気がするわけである。 しかし Atom Z530 搭載のとある PC はさすがに CPU の性能が厳しいし、GMA500 のグラフィックドライバーは自動的にインストールされないしで、かなりイケてない。 プリインストールされるキャンディークラッシュも 5fps くらいか? ガックガクである。 それでも Windows 7 よりはマシかも知れない...

でもリカバリー直後の Windows 7 って意外と軽快? そういえば Windows 2000 も Windows XP も、最初は快適だったような気がする。 そうか、つまり、レジストリーの肥大化やら何やらで、だんだん遅くなったところで大規模アップグレードですっきり高速化ってわけで、Windows 10 は頻繁に大規模アップグレードを入れることで、軽快さを保とうってわけだな! レジストリー以外にも、Windows Update の遅さなど、他の OS よりいまいちな部分は未だに改善されていないもんね。

2016/07/15 のコメントを読む・書く


16 (土)

%1 三連休初日

歯医者に行って、親知らず抜歯の続きのための状況確認。 前よりは確実に出てきていて前よりは抜ける可能性が高まったが、またしても引っかかっているから完全には抜けないかも知れないとのことで、その場合また同じように出てくるのを待つことになるかも知れないとのこと。 ふむむ。

曇り空のなかレンタルカート。 飯能。3 回乗ってベストタイムは 34.480 秒。 湿度が高くて EX エンジンの元気がない。

飯能はさすがに山なので、天気がちょっと違うというか、帰る時にほんの少し霧雨っぽい感じになったり、霧っぽいのが出たような感じになったりした。 地上に... いや、青梅に降りてきたら、もう全然濡れない感じ。

道はやっぱり三連休らしく、少々混雑していた。 行きは新青梅街道に出るつもりが、渋滞回避しようとして小平霊園に紛れ込み、道に迷っているうちに元の道に戻り、単なる遠回りになったという... 小平霊園ってのは、多磨霊園みたいなものかと思って入り込んだんだけど、出入り口は一カ所みたいなことが書かれてて、あっ、多磨霊園とは違うんだなと。 地図を見ればそれはもう明らかに面積が違うなw 多磨霊園の面積は都立霊園のなかでは一番大きいらしい。

2016/07/16 のコメントを読む・書く


17 (日)

%1 三連休中日

よく寝た日。

バイクのチェーンメンテナンス。 オイルくりくり。

車のガラスにガラコ。 塗って拭き取るタイプ、カー用品店の定番商品だが自分で使ったのは初めてかも知れない。 なんか油性マジックみたいな臭いがする。

きのうもすごかったが今日も夜になったらなかなかの蒸し暑さ。 気温はそんなでもないけど高湿度でむわーっと。

%2 スーパーフォーミュラ

今日は富士スピードウェイでスーパーフォーミュラの決勝だったようだ。F1 の若手リザーブドライバー、バンドーンがスーパーフォーミュラ参戦 3 戦目にしてポールポジションを取ったと F1 ニュースで出ていた。 なるほどすごい人だ。

決勝はスタート直後の 1 コーナーで失敗したみたいで、やっぱり若手なのか。 若手といっても 24 歳、今の F1 ドライバーの中ではそこまで若くもない。 元 F1 ドライバーのアルグエルスアリは昨年 25 歳でモータースポーツからの引退を発表しているし。

2016/07/17 のコメントを読む・書く


18 (月)

%1 三連休最終日

よく寝た日。

あのハンドクリームすげぇ。 半日は持つ感じ。

%2 Qt

ポータブルな GUI アプリケーションに使うツールキットといえば GTK+ とか Qt とかいろいろあって、GTK+ は以前簡単なユーティリティーを作るのに使ったことがある。 一応 GUI のデザイナー的なものがあったと記憶しているが、そんなに使いやすいとは思わなかった記憶がある。

で、Qt というのは結構歴史もあって、Windows 用だけ当初 GNU GPL 互換のライセンスがなかったものの、GNU GPL 互換のものが出てから 10 年以上経つ。 これも触ってみようと、調べると、Qt Designer... ではなくて、Qt Creator ってのがある。2009 年にリリースされた統合開発環境らしい。 へぇー。

ノート PC の SSD にも余裕ができたことだし、と、Qt Creator を入れて使ってみた。 プロジェクトの作成から、ポチポチと操作していったら、ほとんど違和感なく、フォームにボタンを配置して、クリックしたら何かが起きる、みたいなところまであっという間にできてしまった。 簡単に言うと、Visual Studio で C# か何かを触っているような気分になれる。 しかもよく見ると、バージョン管理システムも Git と Mercurial に対応しているらしい。 あ、いや、設定画面みたら大量に対応してた。Eclipse みたいにもっさりした感じもないし、普通の C プログラムの開発環境としても結構イケてるんじゃないのと思えてくる。

Visual Basic をマニュアルを見ながら初めて触った時を思い出す。 小学生の頃だったかな、あれは PC-98 用の DOS 版だった。 オブジェクト指向のオの字も知らない状態で、オブジェクトのプロパティーとかメソッドとか何とかやってみるのは新鮮だった。 今の Visual Studio でも Visual Basic をある程度ぱっと触れるのは、あのときの経験があるからだ。 それと同じで、Qt Creator でも何も知らずに何でもできるわけではない。 例えば、コンボボックスを置いて中身を入れるまではいいが、そのコンボボックスの選択項目をプログラムから取得するにはどうすれば良いか、みたいな話は、調べるしかない。 しかし、すぐにわかった。ui->comboBox というふうにしてオブジェクトにアクセスできるらしく、ui->comboBox->currentIndex() のようにメソッドを呼び出せば何番目の項目が選ばれているかが取得できる。VB 脳なのでコンボボックスはデフォルトでテキスト編集可能なのではないかと思ってしまうが、そんなことは無いらしい。

メッセージボックスは QMessageBox を使う。 ファイル選択ダイアログは QFileDialog だ。 ファイル選択ダイアログなんて、昔の Visual Basic では手作りするしか無かった記憶が... Windows 版では common control がどうとか言って (拡張の形ではあるが) 良くなってたけどね。 それはともかく、このとっつきやすさは気に入った。

ソースコードには .pro という拡張子のプロジェクトがあって、コマンドラインからは qmake というコマンドをたたくと Makefile が作られる。 後は make するだけで OK、これならソースコードの配布をする時にも悩むことはなさそうだ。

Windows 版のビルドはというと、SDL2 は自分でクロスコンパイル環境を configure-make してもたいしたことは無かったが、Qt は相当な規模なのでビルド済みのものを使いたい。 ところがクロスコンパイルでどうすれば良いのかわからない。 そこで、Windows の MinGW 用コンパイル環境一式を Wine でインストールしてしまう。 途中 Visual Studio 絡みの何かで引っかかるっぽくてそれは kill したら進んだ。 あといくつか登録関係っぽいエラーが出たが全部無視した。 わざわざ Qt Creator もインストールしてくださるが、qmake と make をしたいだけなので使うことはない。 なおインストールされた Qt 関係のバイナリーだけで 2.0GiB に達していたので、ディスク容量には注意が必要だ。 済んだら wine cmd でコマンドプロンプトにして、PATH=c:\Qt\Tools\mingw530_32\bin;c:\qt\5.7\mingw53_32\bin;c:\windows\system32;c:\windows みたいにしてやれば、qmake と mingw32-make コマンドが使えてビルドができる。

Windows 向けはスタティックリンクならバイナリー配布が楽だが、配布されている環境はダイナミックリンク用のもので、スタティックリンクにするには Qt のソースコードからのビルドが必要なようだ。 ダイナミックリンクの場合、実行可能ファイルがあるディレクトリーで windeployqt というコマンドを実行すると、必要なライブラリーやファイルを集めてきてくれる。40MiB 程度必要。

2016/07/18 のコメントを読む・書く


19 (火)

%1 SDL2 画面

NEC PC-98 や IBM PC みたいにスプライト機能などを持たないコンピューターのエミュレーターを書くとき、特にゲームに対応させる場合はやっぱり画面全体を 60fps で書き直し続けるみたいな処理が一般的ではないかと思う。 これは SDL2 のテクスチャーが云々より昔ながらの surface を使っちゃったほうが楽だと思って、使ってみたけど、SDL_Flip が無くなった分、垂直同期を待たないみたいでテアリングが発生する。 じゃあ垂直同期を待たせるにはというと、SDL_RENDERER_PRESENTVSYNC というのがあって、やっぱりテクスチャーに手を出さなきゃならんのかー!

cpp-cheat/plot2d.c at master - cirosantilli/cpp-cheat - GitHub

とまぁそれで見つけたのはこの簡単なサンプルである。 ポイントは SDL_TEXTUREACCESS_STREAMING を付けておき、SDL_LockTexture / SDL_UnlockTexture を使ってテクスチャーのバッファーに直接書き込むところ。 手元のノート PC で実行するとそもそも 30fps もいかないのだが、画像を作るところの sin 等の演算が重いらしい。 そのへんを改造して軽い内容にすれば 120fps くらい出て、SDL_RENDERER_PRESENTVSYNC を付けると 60fps くらいになって、いい感じに動いているのがわかる。

ちょっと待った、これだと 32bpp になってしまう。 だいたい古い PC のエミュレーターだと 8bpp やら 4bpp やらで十分なんだよ。 わざわざ 32bpp なんてのは... と思うんだけどこれを 8bpp にかえる方法がわからない。 フォーマットの選択肢はあるくせに、テクスチャーにパレットを設定する箇所は見当たらない。 何なんだこれ。 いろいろ探したけど surface を作ってそれをどうのこうの、SDL_ConvertPixels って、うーん、ソフトウェアで後から変換するくらいなら 8bpp 見捨てて最初から 32bpp で書くようにプログラム直すほうが速くて簡単だよ... まぁメモリー使用量を考えれば 12bpp あたりがクレバーか?

っていうか、OpenGL のテクスチャーで 8bpp とかできるのか知らないけど、WebGL を触った感じから言えば、シェーダーで変換すればドット (フラグメント) 単位の色変換なんて楽勝なんだよな。 さっきのサンプルの重たい sin の処理だって全部シェーダーですませれば圧倒的に速い。 なので、8bpp のパレット変換ごときができないのは何かもにょる。

%2 SDL2 音

SDL2 のオーディオの説明、SDL1 もかな、肝心なところが抜けてると思うんだけど。 コールバックは指定したサンプル数よりも少ない長さで来るのかと思ったら、指定したサンプル数分の長さぴったりで来る。 どこにもダブルバッファーだって書かれてないのだけど、もしこれシングルバッファーでやってたらとぎれること必至なのだ。 それで、探すとどうもダブルバッファーらしいのだが、じゃあそうだって説明に書いとけよw これは実際に音が出るまでの遅延に影響する。

で、Windows の API なんかだと再生中の位置を取得する API があるんだが、SDL にはそれも見当たらない。 コールバック関数でデータを埋めたら、後はそこからの経過時間で推測しろということだろう。 推測、というのは、オーディオシステムの時間がオペレーティングシステムが管理する時間と完全に一致しているとは限らないので、多少狂う可能性があるということだ。

2016/07/19 のコメントを読む・書く


20 (水)

%1 SDL2

テクスチャー使うのやってみた。 最初適当に作ったらめちゃくちゃ遅くて、調べるとどうやら SDL_LockTexture() が遅いらしかった。 数ピクセルを転送するために SDL_LockTexture() と SDL_UnlockTexture() を呼び出していたので非実用的な遅さになったようだ。 これを反対にして、大半の時間は SDL_LockTexture() の状態を保ち、描画の時だけ SDL_UnlockTexture() する、という、ロックという響きからすると不安になりそうな使い方に変えてみたところ、性能は大幅に改善した。

しかし、明らかに surface より遅い。CPU 使用率を見ると、surface の時に拡大縮小が 8bpp で動かないために 1 度 SDL_BlitSurface() してから SDL_BlitScaled() しているパターンでは、30% が 35% になった感じで、そもそも拡大縮小が不要な、SDL_BlitSurface() しかやっていなかったパターンでは 50% 以下だったのが 70% 以上になった感じ。 これは厳しい。 さらに不思議なことに、SDL_RENDERER_PRESENTVSYNC を付けるともっと負荷が上がる。 これは理由がよくわからない。

12bpp は大変実装しづらいので 32bpp ARGB8888 で実装してみていた。 これまで数ピクセルを直接 8bpp surface に書き込んでいたものを、数ピクセルごとに配列に書き込ませて、それを 32bpp に変換しながら texture に書き込むという処理にした。 当然メモリー書き込み量は 4 倍になっているわけだ。 これを 16bpp に変えれば少しは速くなるかなと思った。 それで RGB555 とか ARGB4444 とかに変えてみたんだけど、これがまた明らかに遅くなった。 うーん、これはハードウェアアクセラレーションが使えなくなっている感じか? しかもおもしろいことに ABGR8888 に変えてみたら動作しなかったw

そんな感じで垂直同期が目的だったのになんだか面倒な話になっている。 何とかならないんかなこれ。SDL_HINT_RENDER_VSYNC を付けたら変わるのではと期待したが変わらず。 残るは OpenGL...?

2016/07/20 のコメントを読む・書く


21 (木)

%1 Vsync

さすがに PCjr や JX の時代のプログラムは、CPU その他の性能が低かったため垂直同期を意識していないものが多く、エミュレーターの実装をなおしても確認しづらい。 そこで、簡単なテストプログラムを作成した。 ダイヤモンドの記号を大きく描画しひたすら縦スクロールさせるだけのプログラム。

こんなのすぐに作れるやろ、と思って書いてみたら、PC-98 のハードウェアスクロールのように 2 分割みたいなことはできないので、単に開始アドレスをずらすだけのハードウェアスクロールとなり、そうすると 1 周するところで段差ができてしまう。 そこをうまく描画することは可能だが、行の途中でアドレスを戻さないといけないので面倒なのだった。 そこで画期的な手法、CRTC を操作して画面の横幅を 512 ドットにすれば、段差がなくなるので実装は簡単になるw ただし QEMU や DOSEMU ではちゃんと動かないようだ。

で、2 ドットずつのスムーズスクロールでは自分の目には差がわからないのではないかという懸念もあったが、やっぱり垂直同期をちゃんとしたときのなめらかさは圧倒的だ。 昔 PC-98 でも EGC で遊んだ時などに垂直同期を取るようにしてすいすい動くのを楽しんでいたような気がする。 そして PC-9801RA2 の EGC は若干微妙な挙動を示していたんだっけな。 ただのブロック転送を繰り返しているだけなのに途中でズレてしまう挙動、あれは不思議だった。

%2 OpenGL

そもそも OpenGL プログラミングってだけで腰が重いのに、テクスチャーの説明を見てもちんぷんかんぷんだし、SDL2 についているサンプルプログラムは一応 GLES2 用もあるものの、テストコードになっているっぽくて見やすくない。WebGL なら難しいこと考えなくてもいいのに、と思いながら前に自分で作った時計表示の WebGL のコードを見たらちんぷんかんぷんだったw しかも WebGL でテクスチャーというのをまだちゃんと遊んでいなかったっけな、そういえば。 まずはそこからか。

2016/07/21 のコメントを読む・書く


22 (金)

%1 4 か月ぶりの整形外科

数日前に変な姿勢で寝たっぽいのが影響したっぽくて肩胛骨近くに怪しげな痛みがまた出ているので 4 か月ぶり? に整形外科行って診察とリハビリ。 ひどくは無いので筋肉をほぐす、ゆるめる系の薬とリハビリで。

%2 SDL2 + VSYNC

SDL2 の VSYNC 問題、何とかならないかと思い SDL2 のソースコードを眺めた。 ん、んん!?

SDL: src/video/SDL_video.c@afd286e26823

SDL_VideoInit() に、ShouldUseTextureFramebuffer() という呼び出しがあってそれが true を返すとテクスチャーを使うやつになるっぽい。 そこで設定される関数ポインターの指す関数の中で SDL_CreateRenderer() なんかが使われるので、SDL_HINT_RENDER_VSYNC に "1" をセットしておけば、垂直同期を取ってくれるようになるはず。

ShouldUseTextureFramebuffer() を見ると SDL_HINT_RENDER_DRIVER が "software" なら false, SDL_HINT_FRAMEBUFFER_ACCELERATION が "0" なら false でそれ以外が設定されていれば true, 何も設定されていなければ環境に応じて適切なものが選ばれる、みたいな。VSYNC やりたきゃ true を返してもらうしか無いので SDL_HINT_FRAMEBUFFER_ACCELERATION に "1" を設定する。 注意すべきは SDL_VideoInit() が呼ばれるタイミングは SDL_Init() なので、その前にヒントをセットしておかなければならないことだ。

そんなわけで、ソースコードを見ると surface を使う実装のままで手っ取り早く VSYNC 問題を解決する方法がわかった。 ただし負荷に関しては自分でテクスチャーを使う方法の時と同じように垂直同期を取ると負荷が上がっちゃうし、せめて縦 2 倍の拡大には SDL_BlitScaled() 使わないほうが良いか。 まぁでも、ヒントだけならソフトウェアレンダリングのオプションも簡単に残せるから良いかも。

%3 映画

テレビでやってた映画『バケモノの子』。2015 年の邦画。

主人公は 9 歳、渋谷から道を選んでバケモノワールドに入り込む。 バケモノワールドは剣道みたいなのがあって強いやつが神みたいになるらしい。 そんな世界で、はちゃめちゃな師匠に目を付けられ、長嶋監督ばりの擬音指導で全くわからないところから、見よう見まねでそこそこの腕を身につける。17 歳あたりまで人間世界に行くことなく育つ。

バケモノワールドでは人間は闇ができて良くないらしい。 主人公が唯一の人間なのかと思いきや... 物語は人間世界での闇の戦いになった。 師匠の助けを得て、闇をやっつける。

バケモノワールドはおもしろい。 闇は怖い。 胸に宿る闇、見ていて全身がぞくっとするような不気味さは、電脳コイルのあっちの世界の入り口に通じるものがある。

実世界由来の絵は、渋谷のスクランブル交差点や、高架下、JR・地下鉄等のホームがあったか。 そんな感じの細田守ワールドであった。

2016/07/22 のコメントを読む・書く


23 (土)

%1 どようび

よく寝た日。

世間で話題のポケモン GO。 試しにスマートフォン FREETEL SAMURAI MIYABI にインストールしてみるも、初っぱなにクラッシュ、その後利用規約の画面で同意しても先に進まず、終了させて再立ち上げすると始まった。 その後もしばらくすると操作不能になり終了させて再立ち上げ... これ、利用規約から進まないのとたぶん同じで、レベル 5 以降でしか使えない集合場所みたいなやつをタップした時に、画面が切り替わらずそのまま操作不能 (方角を変えられるのみでメニューを出すこともポケストップを選ぶこともできない) になるのと、ポケストップで現地画像が真っ白、回してもアイテムも何も出ないのがあって、どちらも終了・再立ち上げでなおる。 とにかくアプリの出来があまり良くない。

ポケモン GO アプリ国内配信開始

「別アプリにちらっと切り替えて戻ってきただけでもう再読込みに」はならないのだが、それがかえって問題を引き起こしているのか? ちらっとどころか、しばらく Twitter など触った後に戻っても、GPS 信号の検出に数秒かかるのみ。 戻るボタンは、全般的に使えないと思ったほうが良さそうだが、一部使えるところがある。

位置情報ゲームなんて、初代「コロニーな生活」以来かな。 「コロニーな生活」の後、何か後継版を少しだけやった気がするんだけど、コロプラだったんかな、忘れた。 アレは場所は近くのコロニーとつながる以上の意味は無かったと思うんだが、ポケモン GO はいくつかスポットがあってそこでアイテムを集めるなどするものらしい。 近所にポケストップはいくつかあり、駅、商店街や、旧陸軍調布飛行場掩体壕っぽい場所? などがある。 ジムもいくつかあるっぽくて、公園にあるのかな。 ポケモンも駅の近くや公園の近くで見つかった。 大学が近いのが関係あるんだろうか。

%2 映画

テレビでやってた映画『イエスマン“YES”は人生のパスワード』(原題: Yes Man)。2009 年日本公開のアメリカ映画。 日本語吹き替え版、バンド演奏は字幕で良い感じだったが、飛び降り自殺の人を前に合唱するところの吹き替えは何か、突然合唱になる感じでいまいちだったな。

全部 yes と答えることで良い方向に、みたいなうさんくさいセミナーで誓いを立てて、最初はひどい目に遭ったがすぐにどんどん良い方向に進み... それが警察に目を付けられて一転悪い方向になり、誓いを辞めると言おうとして事故って真相がわかって、そこからまた良い方向に。

原付スクーターっぽいのが出てくる。 見るからにタイヤも小さいし、まさに 50cc くらいの雰囲気。Aprilia Mojito というやつらしい。125cc もあるらしい。 アメリカ合衆国だから 50cc だとしても 2 人乗りも OK か? ヘルメットも州によっては義務化されてないんだっけね。 その後 Ducati をウィリーさせたりノーズウィリー (ジャックナイフ?) させたり、ドーナツ描いたりして笑ったが、スタントかなー。

2016/07/23 のコメントを読む・書く


24 (日)

%1 スポーツカート耐久レース

御殿場。15 年続いたコースでの最終レースってことで、今回はハイスピードコース。 楽しい。 特に速いカートに乗れると楽しい。 やたら加速が悪いカートがあって、がんばっていたらチェーンが外れたw そのトラブルにより 7 周を失いクラス最後尾へ...

行きは中央道・東富士五湖道路経由。 帰りは東名道・圏央道・中央道経由。 東名道の渋滞がちょうど短くなり始めた頃で、圏央道への分岐までスムーズに行けて、1 時間 40 分ほどで帰れた。 圏央道は新東名みたいに舗装がきれいで乗り心地は快適。 中央道はずいぶんごつごつする。

%2 神経痛?

金曜日はたいしたことないと思っていた痛みは土曜日に悪化し、っていうか、今までとちょっと違うパターンの痛みのような気がする。 神経痛っぽい波のある痛みがあるけど、それは薬で数時間は緩和できる。 それとは別にぴきっと走る刺さるような痛みがあって、それには薬が効いていないような気がする。 きのうはよく寝た日で、今日はカートレースに行ったわけだが症状はきのうから変わってない。 明日もう一度整形外科に行こう。 いや、行くつもりだけだったけど、リハビリだけじゃなくて診察を。

2016/07/24 のコメントを読む・書く


25 (月)

%1 色覚

そうそう、赤緑色盲だか色弱だか、それにもタイプがあるわけだが、とあるカート場の電光掲示板によるタイム表示が赤色で、それが見えるかって話で、見えるって人に会った。 自分には、周囲が暗いなどの条件が整わないと、ほとんど読めないのだ。 何か出ていることはわかるが、一目見て数字として認識するのは難しい。 それを、明るくはっきり読めると言っていた。 同じ場所で、めがねも掛けた状態でだ。 ということは、自分は赤が暗く見えるタイプの色覚で、その人は違うということだ。

パソコンなどの画面上で背景色と文字色に赤と黒を組み合わせた場合に、とても読みづらいと感じるのに、意外とそういう組み合わせを使う人が世の中にいるので、赤が暗く見えるタイプではないかと予想はしていたが、これまで確認する術がなかった。 そりゃ眼科にでも行けばわかるのかも知れないが、わざわざお金かけて詳しくわかったところで、どうにもならないからね。 それが、別タイプの赤緑色盲だか色弱だかの人に同じものを見てもらうことで、より確定的になった。

それにしても、おもしろいのは、電光掲示の赤黒は見づらいと思うのに、ブレーキランプとか、赤信号とかは、気にならないんだよな。 まぁ夜は光ってよく見えるし、昼間はブレーキランプがどうこうというより車両自体がよく見えるからな。 例えブレーキランプが切れてたって昼間なら突っ込むこともないだろう。 そういえばきのうはトイレに行きたくて集中力を切らしてて、赤信号を見落としそうになった。 横断歩道に出てきた人を見て気づいて ABS きかせて間に合った。

%2 休暇

整形外科。 神経関係の痛み止めと胃薬も追加で 1 週間様子見。

歯科。 親知らず抜歯。X 線写真撮影 2 回。 前回同様かなりの力業っぽい。 いろんな道具が出てきて、口が裂けそうなほどの角度で道具が突っ込まれて、医師一人だけでは本当に手が足りない感じである。30 分ほどで成功! 成功とは言わなかったが、感触と医師と補助 (?) のふたりの表情からして、あぁ取れたな、って感じだった。 痛みは少しあったが、麻酔の追加はしてもらわなかった。 整形外科の薬が痛み止めになるので薬は抗生剤のみ。

抜歯後のところをガーゼで圧迫止血、今回は交換ガーゼは無し。20 分と言われたところを 40 分くらい噛んでいたが、今回は止血はうまくいったのではないかと思う。 ちょっとは出てるような気がするけど口の中にたまるほどない。 前回は歯が残っていたから、うまくおさえられなくて血が止まりにくかったのかなぁ。

今回、すぐに痛み止めを飲んだわけでも無いのに、麻酔が切れても痛みは出ていない。 整形外科で処方されている薬が、痛みを抑えるように効いた可能性もなくはないけど、止血がうまくいったっぽいし、抜歯そのものがうまくいったということかなと勝手に良いように解釈する。 明日消毒。

しかし親知らずの虫歯発覚から半年、やっと取れたわけで、なんか、ガンが取れたみたいな、ちょっとそういう気分だ。

2016/07/25 のコメントを読む・書く


26 (火)

%1 帯状疱疹!

ちくちくするというか、刺さるようなというか、この痛みについて調べていると、帯状疱疹というのが出てくる。 先週中頃からの肩こりのような症状が、土曜日頃から悪化して刺さるような痛みになっているこの痛みに加え、数日前から吹き出物のようなものが胸のところにできていた。 少しかゆみもあって、何か虫さされのようでもあった。

その帯状疱疹のことを思い出してちょいと調べると、まず痛みから始まるとある。 皮膚の表面の痛みとのことで、土曜日頃から悪化してきている痛みに似ている。 ただ、言われてみれば皮膚の痛みっぽいという感じで、おとといあたりは普通に頸椎から来る神経痛を疑っていた。 そして赤い発疹ができている。 さらに、これらの症状が体の片側だけに現れる。 痛みは胸、背中の肩胛骨のあたりだけでなく、脇の下にも来ているが、体の右側だけである。 おやおや!? と思ったのがきのうの夜、寝る直前のことであった。

そして今朝、その発疹とおぼしき出っ張りが背中にもできていることを発見。 まだ「帯状」になっていないが、ほぼ確定的な感じ。 経験者の話も聞いてみる。 そういえば家族全員経験者なのだったw

というわけで、お昼休みを長くもらって (そんなに時間を掛けないつもりだったけど、結局普段の倍)、この前行った皮膚科にもう一度。 帯状疱疹っぽい症状が出ていまして、と言いながら見せると、「あ、帯状疱疹ですね」って、本当にそんな感じだった。3 日後くらいに効き始めるという、抗ウイルス剤だっけ? 結局ここから 3 日くらいは発疹が増え続けるとのことだ。 うへぇ。 他に飲んでいる薬を見せて、スタッフの方がいくつかの薬の情報を確認して、医師が判断。 整形外科で処方された痛み止めを中断し、別の痛み止めに変えるらしい。 帯状疱疹と言えばこの薬なんだと、医師のいた大学 (?) での研究ではそういうふうになっていたらしい。 医師は高齢に見える女性の方だが、出身大学なのか、あるいは、以前勤めていたか何かなのだろうか。 痛み止めと同時に飲んだ方がいい胃の粘膜を保護する薬は同じものだが、またもとの整形外科の痛み止めを使うときのためにということで、別途処方された。 塗り薬は最初だけつけてくれた。 手で直接触れないほうが良いらしく、鏡を見ながら綿棒か何かで、って大変だな。

さて、3 日くらいは発疹が増え続けるわけだが、午後すでに結構な痛みが来ている。 たぶん服とこすれるか何かそういうので痛みが増幅しているのではと思うが、ジーっとしてればたいしたことはない痛みなのに、ほんのちょっとした動きでズキッと来る。 あと、背中側がお昼時点で数個に増えていたようで、いすの背もたれに当てると痛みが来るような感じだ。 耐え難い痛みなどと言われるようだが、そうでもない。 つらいことはつらいが、虫歯痛や、年末年始にやらかした、神経が炎症を起こしてしまった時の重い鈍い痛みと比べれば、動いたときにチクッと来るくらいどうってことない。 ただ、チクッと来るとハァッと声が出るくらいはあるので、結構な痛みではある。

問題は寝る時だなぁ。 皮膚に刺激をしたくないけどそれで寝る方法があるものか。

%2

背中に何とかして薬をつけた後、どうやってガーゼを貼り付けるか、検討した上で、サラシを買いに行った。 雨が降っていたので車で... 運転中も背中をつけたくないこの感じ、まぁすぐ近所だからいいけど、晴れていたらバイクのほうが良いと思う。

サラシは近所のドラッグストアにあった。10m もあって、切って使うものらしい。

明日は休暇をもらった。 とりあえず風呂は明日の朝にしよう。 薬を付ける方法と、こすれた時の痛みを回避する方法を明日中に何とか見つけなければ。

2016/07/26 のコメントを読む・書く


27 (水)

%1 ポケモン GO

きのう、どんどん道が消えていくと思ったら、もしかしてバス通りが消えていってるのかな。 バスから見てたからやたら多くの道が消えたように見えたわけだ。 細い路地は全部残っているので、建物や路地がいっぱい何もないところに面している不思議な図になっている。

操作不能になる件はバッテリーセーバーをオフにしても解決しなかったのでオンに戻した。 そもそもバッテリーセーバーがうまく機能していないような気がする。 画面を下にすると消えるって話だがどう見ても消えない。 ちなみに、左上に出るアニメーションが通信中を示すアイコンらしくて、何か操作をしたり場所を変えたりするとぴょろっと動くのだが、ジムを選ぶと操作不能になるパターンではそのアイコンがずっとアニメーションしたままになる。 なので、それを確認したら強制終了だ。

端末の GPS 等の問題だと思うが、たまにワープする。 近くでワープしてもおもしろみはあまり無いが、きのうは多摩地域にいるのに都心が出てくることもあって、おっ、って思ったけど残念ながらポケストップのすぐ近くではなかった。 ワープで無くて微妙に動くケースは GPS の精度の問題なので良くあって、微妙に届かないはずのポケストップからアイテム回収できたり、同じ場所にいながら微妙に動き回れたりする。

端末の位置情報検出を高精度にしている場合、Wi-Fi アクセスポイントの情報が使われているらしい。 自宅で起動した場合、まず真っ先に正確な自宅の位置が出て、その後 GPS 衛星をいくつか見つけ終わると場所がズレるっぽい。 しばらく待てばまたかなり正確な位置に戻ってくる。 おそらく Google に収集されているであろう自宅近辺の Wi-Fi アクセスポイントの情報を元にはじき出されているのだろう。SIM を入れていない端末でも Wi-Fi アクセスポイントの情報ならつかめると思うのだが、うまくいかないのだろうか?

モンスターボール ゲットだぜ!

%2 休暇

帯状疱疹の痛みをしのいで生活する術を見つける日w

%3 帯状疱疹

今のところ寝られないほどではなさそうだ。 毛布や布団を置いて患部に掛かる力が小さくなるように工夫すれば良い。 座布団が何枚かあればベストかも知れないな。

塗り薬は綿棒を使って塗る。 脇からその少し背中側あたりまでは鏡だけで行ける。 背中の真ん中付近は、鏡と、タブレット端末の前カメラを使って何とかなるかと思ったが、ぼやけるので、iMac のカメラを使うことにした。iMac の Ubuntu で VNC サーバーを動かし、その上で VLC を動かしてカメラの映像を再生することで、背中の様子をネットワーク経由で別 PC で見る。VLC からストリーミングでいけるかと思ったがうまくいかなかったので VNC で。 これでも意外とくっきり見える。

皮膚科ではガーゼなどを貼ってくれたが、ガーゼがまた意外とこすれる。 体を動かすとだめなんだよな。 何かこう、患部の上下に厚みのあるものを巻けば患部には空気しか触れないみたいな状況が作れそうな気がするのだが、うまい手を思いつかない。

サラシは 10m を半分くらいに切って、巻いてみた。 ずり落ちないようにするには、肩と脇を通るようにたすき掛けするのがよさそう。 その後はじっとしてれば痛みは大丈夫そうなので、録画してあった映画でも見ることにした。

%4 映画

テレビでずいぶん前にやってた映画『トラック野郎 天下御免』。1976 年の邦画。2014 年 12 月 4 日に菅原文太追悼企画で放送されたもの。

トラック野郎シリーズを見たのは初めて。 デコトラのロードムービーで、主人公の男、一番星 (星桃次郎) が運転するトラックには「恋の巡礼」などとついていて、至る所で女を拾っていく (?) ような、そんな雰囲気かな。 トラックに外向きのスピーカーが付いている? バスかよw 中央線踏んで走ってるとか、トンネルでライト付けてないとか、草履履きで運転とか、今見ると突っ込みどころ満載である。 シートベルトは当時は 2 点式かな。 接触多数、レースも有った。

運転シーンはたぶん走行していない状態での撮影が多そう。 ハンドルをやたらぐるぐる回して、あ、でも大型トラックだとあのくらい回るかもな。 派手なスライドはないが、スキール音も入れて意外と無茶やってる感じを演出している。 通行止めの崖のシーンは模型かな、ちょっと揺れすぎな感じした。

女性の言葉遣いがおもしろい。 ぎこちない演技で「あたし、お金を貯めてイランへ行きたいの」とか言ってて何て言うか、言葉遣いがやたらわざとらしく感じられるのと、イランって... って思ってしまったが、たぶん言葉遣いは当時はまだそういうのが普通だったんだろうし、イランはイスラム関連でいろいろあって印象が当時とは全然違うんだろうな。 演技はともかく女優さんは今見ても結構かわいい顔してると思う。 由美かおるって人か。

字幕は明朝体のたぶん手書きか。 「十一月十五日」とか漢字で出てくると、なぜ漢字w と思ってしまった。

殴り合いのシーンのカメラワークはおもしろかった。 当時の、どう撮れたか即座に確認できないフィルムカメラで、ファーストパーソン視点で撮るのは結構難しかったのではないか。 その後の生コン車のコンクリートはたぶん泥だな。

ジョナサンって聞くとファミリーレストランを思い出す。 当時はまだ無かったようだ。

昔の一万円札!! 自分が生まれた頃まではこれだったらしい。

一万円札

2016/07/27 のコメントを読む・書く


28 (木)

%1 もくようび

きのうの夜は 2, 3 回起きる程度だった。

帯状疱疹はこすれるのが痛くて、サラシにしてもガーゼにしても、胸筋やら背筋やらが動く以上はどうしても多少の痛みを感じる。 だから歩くのはつらいな、なんて思って原付で出勤してみたんだけど、でこぼこ道路では多少の上下動があってそれで痛みを感じる。 でもタイヤなので歩くよりはマシか。MT バイクならば腰を浮かせてなるべく上半身を揺らさないテクニックが使えるかも知れない。

帯状疱疹は温めると痛みが緩和される。 そこで職場では湯たんぽを小脇に抱えて仕事をしてみたところ、これが意外と効果がある感じがする。 寝る時も患部だけは暖かくして寝るのがポイントかも。 ただし当然汗をかくのでサラシは半日で汗びっしょりになる。

風が吹いても痛い... まぁそんな感じである。 自宅で上半身裸で過ごしたとしても結局痛みを感じるみたいなそんな感じである。 チクチクチクチクと、痛み単体ではたいして強い痛みでもないんだが、2〜3 週間続くと言われるとつらいところである。

関東地方もやっと梅雨明けが発表されて、遊びに行きたい気分? いやいや、この帯状疱疹がせめて痛みだけでも改善してくれないことには、何もできないよ... まぁ映画館で映画見るくらいなら、耐えられそうな気がする。

2016/07/28 のコメントを読む・書く


29 (金)

%1 きんようび

昨日の夜はちゃんと寝られた。 相変わらず、ぴりぴりとした痛み。 たまに刺すような痛みでううって感じだが、じっとしてればぴりぴりとする程度で何とかなる。

歯のほうは、抜いた親知らずの隣の歯がしばらく違和感があるかもとのことだったが、確かにちょっとある。 抜いた親知らずのところは、翌朝にちょっとむずむずしただけで、それ以降は何ともない。 まぁ帯状疱疹の痛み止めが効いているのかも知れないけど、二度に分けての抜歯だったのが大変だっただけで (口腔外科なら切開して一度で行けたんだろうけど)、特に変なトラブルにならなそうなのは幸いである。 切開していないから抜糸も必要ないし。

二度に分けての抜歯の欠点は、今回親知らずの虫歯だったわけだが、その歯が残った状態でしばらく生活しなければならないこと。 まぁ本当はたぶん 3 か月くらいで良かったんだろうけど、半年以上も経ってしまった。 その抜きかけの歯に微妙に痛むポイントがあって、飲み物なんかはしみることは無かったので良かったんだけど、ピンポイントで何かを挟むと痛みが走るから、なるべくそっち側でご飯を食べないようにしていた。 また、ご飯粒が一粒きれいに隠れるくらいのスペースがあって、そこにご飯粒が残っているせいで噛んだときに痛みが走ることもあったので、感覚ではよくわからなかったけどたぶんご飯粒が入っているなと思った時は、良く爪楊枝でそっとご飯粒を取り出すというのをしていた。

%2 映画

テレビでやってた映画『GODZILLA ゴジラ』(原題: Godzilla)。2014 年のアメリカ映画。

テキトーに見てたからあんまりちゃんとわかってないんだけど、要するにゴジラなんだよな? 最初のうちは原子力発電所で何かがあってとか何とかで東京も出てきて、云々。

2016/07/29 のコメントを読む・書く


30 (土)

%1 どようび

帯状疱疹の症状は変わらず。 一人で薬を塗るのは iMac のカメラで何とかなったので、ガーゼの上からタオルを巻いたりサラシを巻いたりをいろいろ試しているが、しっくり来ない。 胸側はいい。 数が少ないので、鏡を見ながらガーゼをとめることは十分可能だ。 問題は背中側で、結構広い範囲になっていて、一人でガーゼを背中にテープでとめることは困難だ。 カメラの映像を見ながらやってみたが、手で何とかするのは不可能だった。

発疹がもう増えていなさそうな感じがするし、薬が効いているのかな。 この数日間に赤いぶつぶつがひたすらできただけで、水ぶくれになりそうな気配も今のところない。

ポケモン GO を前に使っていたイオンスマホ FXC-5A に入れてみるテスト。 起動してゲーム画面になると、数秒で終了してしまう。 おそらく RAM 512MB では足りないのだろう。 電池持ちで言えば画面解像度が低いコイツのほうが良いかなと思ったんだけどな。 残念。

ちなみに Nexus 10 にはポケモン GO をインストールできない。Android 5.1 は FXC-5A より新しく、RAM 容量は十分あり、GPS から各種センサーまで一通りそろっている Nexus 10 は、スペック上は対応できないわけがないと思うのだけど。 どう考えても FXC-5A よりはまともに動きそうなのにな。 なお、バイブレーター機能がない KALOS2 にはインストールできそうである。 不思議。

FREETEL SAMURAI MIYABI でポケモン GO のバイブレーションが機能しないなぁと思っていたが、他のプログラムのバイブレーションもすべて動作しない、つまり、バイブレーターが故障しているらしいことが判明。 アチャー。

夜は小さく花火の音が。 まさか隅田川の音が聞こえていたわけではあるまい。 体の状態がこれなので、花火大会に行く気力もない。

2016/07/30 のコメントを読む・書く


31 (日)

%1 にちようび

ゆっくりした日。

雨かもってことで早めに投票をすませる。

帯状疱疹、寝てると調子が良い。 患部がちょっと暑いくらいの温度を保てて、動かなければ刺激が来なくていい感じというわけ。

ポケモン GO はジャイロセンサーが無いとバッテリーセーバーも AR 機能も使えないとのこと。AR 機能は使えなくてもオンオフスイッチはなぜか表示され、オンにして数秒後に傾きを検知できないなどと出る。 センサーの有り無しなんて簡単に調べられるはずで、センサー無いからバッテリーセーバーも AR 機能も使えませんって最初から出せば良いのに。

Formula One Hockenheim, Live Timing で観戦。 ロズベルグがスタートをミスって、ハミルトンがトップを一度も譲らないレース。 しかしメルセデスの 1 台が 2 番手より後ろにいることで、レースとしては良い感じになった。 フェラーリは途中また謎戦略を発動しようとしてベッテルに拒否られる。"Negative," それが拒否の言葉だ。 アンダーカットしたいんだとか言っていたが、その後のペースを見ても明らかに勝てっこなかった。 無線は今回から再びほぼ解禁、ちょっと流れる無線も多かったかな? とは思ったが、今回解禁されたような内容は流れなかったと思う。

2016/07/31 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2016 年 7 月)

Hideki EIRAKU