/var/log/hdk.log

2021 年 5 月

prev, this, next


01 (土)

%1 どようび

なんか日曜日な気がする土曜日。 夕方頃雷雨だった。 雷が少し落ち着いたか、ってタイミングで雨ザーザーの中、カッパを着て弁当を買いに行ったけど、帰りにまたピカピカやり始めてなかなか... 近くはなかったけど稲妻が視界に入った。

『るろうに剣心』のアニメ版 25 話までを見たが、なんか、ここまででも違うバトルが何度もあって、実写映画の感覚からするとちょっと予想外だった。 地面が割れるってまぁ実写映画じゃ困るやつかも知れんが... 仲間のけんか屋さんとの戦いもあったし、海賊や、蒸気機関車の話も。 しかも、海の中を通る鉄道って、最近品川あたりで遺構が見つかったっていう高輪築堤じゃないか。 汽車を止めて船から襲うって設定は、海の中を通る鉄道だからこそなので、おもしろいと思う。 走行中の車両を切り離すのはブレーキどうなるの? って思っちゃうけど、時代を考えると、貫通ブレーキじゃなくてつまりブレーキ管が引き回されてはいなかったようだ。 というか、当時はブレーキが付いた車両に制動手という乗務員がいて、ブレーキは機関車の他は一部車両に付いていただけだったようだ。 今の列車は、全車両にブレーキが付いている上、空気圧なり電気信号なりでつながっていて、切れると自動的にブレーキがかかるようになっているから、止まらないように切り離すのは難しいだろう。

例の塗りつぶしアルゴリズムを考え、実装してみたが、まだ何かおかしい。 とりあえず無限ループになると動作確認が大変だったので、塗った色に引っ掛かったらログを残してそこは壁扱いにすることで無限ループを避けて試しているんだけど、なーんか、うまくいかないなぁ。 なんて難しいんだ、塗りつぶしってやつは。

2021/05/01 のコメントを読む・書く


02 (日)

%1 にちようび

のんびり。

このところ考えていた塗りつぶしアルゴリズムを実装したのがこちら: 20210502-canvas1.html

マウスでぐりっと線を引いて塗りつぶしを試せる。 デフォルトは低速モード、これはインターバルタイマーを使ってあえてゆっくり塗りつぶしを進めるもので、昔の BASIC っぽさを楽しめるように & 動作を確認しやすいようにした。 アルゴリズム的にはそんなに美しくはなっていないと思うが、動きとしては昔の BASIC 風になった感じはする。

Mozilla Firefox で試しながら書いていったのだが、なぜか Windows 版 Mozilla Firefox は putImageData が異様に遅いことが発覚してしまった。 HP の 3 万円ノート PC とは言え、同じ Mozilla Firefox なのに Raspberry Pi 4 の Ubuntu MATE の数倍、いや、そんなもんじゃないぐらい遅いってのは、いくらなんでも何か変な気がする。 500x500 を 1 ドットずつ埋めていったら Ubuntu MATE の Mozilla Firefox では普通に 1 秒以内に済んだのに、Windows 版の Mozilla Firefox ではいつまで経っても終わりそうにない感じだった。 同じ点を打つにしても fillRect のほうが速いらしいことがわかったのでそっちに変えた。

さてこれを 8086 アセンブリ言語で書いてみたい、というわけで、DOS プログラムで書いてみよう。 マウスはドライバーをあてにするならば int 33h を使うらしい。 DOSBox で試しているが、マウスポインターの位置と実際の座標がズレているなど、なんか挙動不審だなコイツ。 CGA 互換の画面モードは嫌いか? とりあえずマウスで線が引けるところまで作った。 線を引くルーチンは、ローカル変数を全部スタックに置いて全然レジスターを活用しないという、手書きアセンブリにあるまじき実装方法... いや、いいんだ。 塗りつぶしのほうをちゃんと書いてみたいだけなんだ。

2021/05/02 のコメントを読む・書く


03 (月)

%1 憲法記念日

いい天気。 のんびり。

きのうの F1 ポルトガル GP。 最初のほうでライコネンが追突リタイア、よそ見かなと思って今日コメントを見たらやはり、ステアリングでパラメーターをいじってモニターを見ていた時の判断ミスだったらしい。 何の言い訳もなく自分のミスだとシンプルなコメントはライコネンらしい。 また、チームメイトが無事に走り続けられてよかった、というのもライコネンらしいな。 この人は、マッサと組んでいたフェラーリ時代に、チャンピオンを獲った時の最終戦はマッサに援護してもらったところがあり、次の年はチャンピオンの権利がなくなった時点でマッサを援護していたのがあって、チームとしては非常にありがたいドライバーだろうなと。

んでまぁ、セーフティカーでちょっと明暗別れたドライバーもいたけど、結局ハミルトンは強い。 ロズベルグとやり合った時もそうだったけど、ギリギリのバトルができることを心の底から楽しんでいるように見えるし、それでいてタイヤをどう使うか、どう駆け引きするかを非常に落ち着いた視点からコントロールしているように見える。 セーフティカー開けで順位を落としても、あっという間に取り戻してしまう。 全盛期のミハエルシューマッハのように、すべてを支配下に置いているような感じに見える。 やっぱり、強いという言葉がぴったりだ。 ロズベルグに負けてからさらに強くなったと思う。 フェルスタッペンにもギリギリのバトルを仕掛けられる腕はあるが、まだ足りないところがあるのが見えてしまう。 せめて肝心のファステストラップ狙いの最終ラップはトラックリミット守ろうよ...

他には角田は今回は目立たなかった、というか、ガスリーもだいぶ苦労していて何かコースに合わなかったかな。 フェラーリもサインツが予選で速かったんだけど、決勝は苦労していたような。 ベッテルはトップ 10 スタートだったが最終的にストロールと同じ位置まで落ちた、とは言え最初の 2 戦に比べてすごく良くなってきたかと。 リカルドも下位スタートから追い上げ、タイヤをかなり持たせていて、今後が期待できそう。 アロンソも決勝はちょっとかっこいいところをみせてくれた。 いよいよ移籍組のパフォーマンスが上がってきたかな。 あっ、ペレスはまぁ最初順位を落として、最終的には無難な位置にはいたんだけど最後のファステストラップ狙いはちょっとタイミングが早かったかな。 まぁミディアムタイヤを限界まで引っ張っていたし、ソフトタイヤのおいしいタイミングを考えると難しいか。

%2 Paint in Assembly Language

例の塗りつぶしプログラムをアセンブリ言語で書いた: 20210503-paint.s. ビルドコマンド:

gcc -Wl,--oformat,binary,-Ttext,0x100 -nostdlib -nostdinc paint.s -o paint.com

だいぶ見直して単純化したが、動作速度は無視。 基本的には、範囲 (x1,y)-(x2,y) について、(x1,y) が壁でなければ、(x1,y) から左に壁を探索してから (x1,y) から右に壁を探索し、その間を塗りつぶす。 次に x1 を壁の右に進め、x2 を超えるまで繰り返す。 これで 1 行ぶんの塗りつぶし。 こうして塗りつぶしたところの、すぐ上とすぐ下の範囲を次の (x1,y)-(x2,y) にして繰り返す。 この時、すでに塗りつぶした範囲は避けるようにする。 開始時は開始点 (x,y) を (x1,y) と (x2,y) に当てはめてスタートする。 まぁこれだけなんだけど、すでに塗りつぶした範囲を避ける方法にこないだから悩んでいたわけだ。

JavaScript で書いたものは C でいうところの linked list みたいなものを使った。 アセンブリ言語でそれを書くには malloc/free がないとつらいものがある。 そこで配列みたいな形にした。

これをスタックに積むことでリストに追加相当の処理にした。 長さを先に積んで、後で可変長の範囲を配列として積む。 可変長なので混ざると面倒くさいから、上を先に見てぶつかる範囲を全部見つけて、次に下を見て... とやっている。

んで、取り出す時は塗りつぶした範囲を見てまず上の行、次に下の行と行くわけだが、その時に、このリストに入れておいた配列と、他にリストに残っている塗りつぶし範囲を見直して塗りつぶし済みを避ける。 JavaScript 版はリストに追加時と同じ探索処理をもう一度使って、新たな範囲を追加するという風にしたが、スタックに積んじゃったから追加は難しいので、毎回リストをたどる。 んで避けるところ、JavaScript 版はそれ用のピクセル読み取りメソッドを実装したが、今回は実装方法を見直して、読み取り範囲を狭めることにした。

最初は (x1,y) から左に向かってチェックなので、もっとも進むと左端 x=0 だが、この x を決める。 ぶつかる範囲があったら、その右側に x をずらしていく。 結果 x1 を超えたらそもそも左に向かってのチェックは不要ということ。 超えなければその x に到達するまで左に向かう。 右に向かうのはその反対、右端をぶつかる範囲の左側にずらしていく。

それで x2 まで残りがある時の続きの処理だが、面倒くさくなって超手抜き実装をしてしまった。 左に向かう処理の左端を、x=0 でなく塗りつぶした右側の壁の右に変えて、左に向かってチェックをやり直す。 向かうったって左には一歩も進めないんだが、その点がぶつかっているかどうかを見なければならないので、そのまま流用した。 欠点は、そこがぶつかっていなかった時は、実際に点を読み取って壁かどうかをチェックしなければならないが、壁だったらまた同じ処理のやり直しになるところだ。 本当は、ぶつからない範囲がどこまであるか、を見つけて、そこまでは一気に探索を進めるのが理想だ。

あと、リストからの削除は、あろうことかメモリーコピーにしてある。 スタック内でメモリーコピーを行い、スタックポインターを巻き戻す。 めちゃくちゃ安直なアイディアで実行時間は大きくなるに違いないが、これで malloc/free も余計な管理情報もすべて不要になりメモリー使用量は抑えられる。

今回スタック上のローカル変数を多用しているが、よりによってプリプロセッサすら使わずに書いてしまったのでめっちゃ読みにくいwww さすがに -2(%bp) みたいなのが名前で参照できないのは厳しいw 拡張子を大文字 .S にしておけば C のプリプロセッサが使えるんだよな。 それぐらいは使って書いたほうが良かった...

あと GNU as で 8086 向けのコードを書く場合、以下の 2 行で始めるといいようだ:

	.code16
	.arch	i8086

.arch は条件ジャンプの距離が遠くなる場合の対処にきいてきて、書いておかないと 0f で始まる near 条件ジャンプが使われる。

%3 BASIC

さてここで例の BASIC 実装を眺めてみる:

GW-BASIC/ADVGRP.ASM at edf82c2ebf6bfe099c2054e0ae125c3efe5769c4 - microsoft/GW-BASIC - GitHub

ウーン、わからん! わからんがおおざっぱに左にスキャンと右にスキャンがありそうだし、キュー (待ち行列、FIFO) の実装もあるようだ。 なんか LAHF と SAHF が無駄に並んでいるところがあったり、無駄にレジスターに即値やメモリーの値を入れてからレジスター同士の演算をしているところがあったり、16bit を little endian のままわざわざ 8bit ずつ読み書きしているところがあったりして、なんでこんな無駄なことしているんだろうと思ったが、[A] とか [B] とかコメントに書いてあるのを見ると、これってもしかして 8080 向けコードを変換したもの がベースか!? 当時もこんな無駄なコードを使っていたんだなw 遅くても動けば OK っていうのは意外とよくあるんだよね。

INS86 っていうのも謎なんだが、それも何か変換絡みなのかなぁ。

キューの初期化で 1000 バイト空いていたらスタート、空いていなかったらガベージコレクションをして 12 バイト切っていたら out of memory っていうのがあって、何かもういろいろと時代を感じる。 もちろんキューに入れる時にも out of memory に飛ぶパターンはある。 本当に塗りつぶしって処理は複雑なんだ。 キューはひとつで 6 バイト、エントリーに何を入れているのかはよくわからん... なんかでも、あれだな、今見ている位置を保存する領域は別にあって、それはインデックスだけキューにぶっ込んでいるっぽいな?

サブルーチンの入出力の仕様がコメントにないのが読みづらいところだ。 どのレジスターが何だ、どのメモリーが何だ、って情報があればだいぶ追いやすいのだが。 "ALREADY-PAINTED FLAG" が "MACHINE DEPENDENT GRAPHICS ROUTINES" から返されるのは気になるところ。 見た感じは SCAN が同時に描画もしているのかなぁ。 でも機種依存ルーチンでどうやって判断しているんだ? さっぱりわからん。

2021/05/03 のコメントを読む・書く


04 (火)

%1 みどりの日

Green Day. いい天気。 昼寝しまくった。

『るろうに剣心』のアニメ版、また続きが配信されている。 30 話まで見た。 第二十八幕でエンディングテーマが T.M.Revolution になる。 T.M.Revolution はアルバム新品で買ったけど、アニメのテーマ曲を歌っていたのは知らなかったんだよな。 っていうかアルバム買ったのはアニメの 3 年ぐらい後か。

%2 BASIC

GW-BASIC のコードを眺めていたら読み方がわかってきた。 INS86 は機械語直接指定で、なんと 8 進数だ。 10 進数に D とついているケースがある。 INS86 は 8 進数固定のようだが、それ以外で 8 進数に O をつけて書かれているところもあり、見た目で数字と読み間違えるので混乱する。 DB でバイト単位のデータを書くのは普通だが、なぜか数字に OFFSET がついている場合があって理由はよくわからない。 あと、数字に LOW とついているのがちょくちょく見られるが、これは 8080 由来の何かだろうか。 たぶん下位バイトを意味するんだろうと思う。

で、PAINT の実装の入口に CALL SCAN1 とあるのが、塗りつぶし処理関連のスキャンかと思っていたけど、よくよく読んでみたらこれはパラメーターの読み取りだ。 PAINT の座標の次の次の引数はオプショナルだが、それを読み取るのにまず , を読み取って、その次の引数を読み取る、みたいなコードが入っていて、やっぱり インタープリターだなぁ って感じがする。 GW-BASIC や昔の IBM BASIC は SAVE の時のデフォルトはバイナリフォーマットになっているんだけど、その中身を覗いても、( ), がそのまま入っている。 キーワードは先に解釈されてバイナリで保持されているが、こうして一部の文字はそのままになっていて実行時解釈なのである。 実行時にキーワード解釈するよりは若干速くなったんだろうな。 もっと古いであろう MSX BASIC は、スペースを全部抜いても実行できるので、保存形式は知らないんだけどたぶんテキスト形式のままで扱っていたんだろうと思う。 GW-BASIC もキーワードを書き間違えればそのままテキストで保存される。

そういえば PAINT の色の指定にはパターンも指定できるんだった。 GW-BASIC のソースコードを見てもそれをどう処理しているのか全然わからない。 いや、わからないっていうか、これ実装が入ってなくないか? LINE のほうの実装を見ても、スタイル引数がないぞ?

さて塗りつぶし処理なんだけど、塗りつぶし済みの判定をどうしているのかの謎が解けた。 gwbasic.exe でわかりやすい例を作った:

塗りつぶし挙動観察

ようするに横方向にボーダー探索した時にすべてが塗りつぶしの色になっていたら塗りつぶし済み判定のようだ。 スタートラインについてはその判定がされておらず、何もなかったかのように塗りつぶしが行われている。 左上と右上で挙動が違うのはおもしろいところで、最初に右端を見つけてスタートしているのか? いやー、GW-BASIC のコードを見てもそんな風には見えないんだけどなぁ。

GW-BASIC 的にはたぶん SCANR1 で右塗りつぶし、現在位置は変わらず。 SCANL1 が左塗りつぶしで、たぶん現在位置のひとつ左からスタートかな。 こっちは現在位置も移動するんだと思う。 んでこいつらは DX に見るべき範囲の長さを指定できるのかな、たぶん。 だから、キューから取り出したところの上下に対して SCANR1 がひとつも塗れなかったらそのエントリーは終わりにしている。 その後 SCANL1 をやって、塗りつぶしをしたらそれは OVERHANG ってコメントにある。 自分で実装をしてみたおかげでそのへんまでは何となく理解できる。

が、とにかく、マシン依存ルーチンの入出力を推測するしかないのが厳しい。 レジスターの内容すらわからないのに、そこに グローバル変数 も現れるからつらさ倍増だ。 グローバル変数が多いのは、 20 世紀のコード って感じがするよね。

ああ、そうか、キューから取り出しての SCANR1 が、塗りつぶし済みかどうかをチェックはしていないのか? SCANL1 はチェックがある。 だから左上から下に進んでいくと右側 overhang を上に向かって見てしまうのか? だけどじゃあ下にいかないのはなんでだ。 そのへんガッツリ理解するのはなかなか大変そうだ。

2021/05/04 のコメントを読む・書く


05 (水)

%1 こどもの日

Children's Day. 昼頃から雨が降ったりやんだり? あと時折風が強かった。

%2 BASIC の PAINT を理解した! (キリッ

まず、なんだ、えっと、キューに入れる 6 バイトなんだけど。 1 バイトは上下の方向。 最上位ビットがセットで上、セットされていなければ下だが、1 ビット左シフト (ADD) 後 0 になると終了を意味するので、出だしは 64 と 192 という値を使っている。 左シフト (ADD) でフラグレジスター経由で値を取り出し完了を含め一発把握が目的のよう。 キューが空になった時に 0 を返す。 もう 1 バイトはたぶん、VRAM の 1 バイト内の位置 (CMASK とあるからビットマスクか?) だと思う。 んで 2 バイトが VRAM のアドレス、残り 2 バイトが見るべき幅だ。 なお機種依存コードは別にあるので、たぶん必ずしも VRAM アドレスである必要はない。 ADDRESS と書いてあるからアドレスのつもりなんだろうけど、実質は位置を表すのに 24 ビットをまるまる使っても動くんじゃないかと思う。 その 24 ビットの現在の位置ってのは具体的には機種依存コードで扱っていて、FETCHC で位置読み取り、STOREC で位置変更のよう。

 #####
 #111#
#2222#
 #333#
 #####

こんな感じで 1 のどこかから塗りつぶしを開始した時、最初は SCANRSCANL を使って左右を端まで埋める。 そして現在位置は左端の 1 に。 次に下に行くようのエントリーを、1 の範囲と下方向という情報でキューに入れ、上に行くのはキューには入れずにいきなり上方向をキューから取り出した時と同じ状態にして開始。 それで現在位置を 1 の上にして SCANR をする。

このとき DX には調べる幅が入っている。 SCANR は現在位置がボーダーでもこの数をデクリメントして 0 にならなければ右に進めて繰り返す、んだと思う。 まぁ全部ボーダーだから終わり、ひとつも塗れなかったらゼロフラグがセットで、キューの取り出しへ。

キューを取り出しまた左上の 1 の位置に戻り、今度は下をチェックする。 SCANR が今度は最初からボーダーなしで 3 つ分を見つけ 2 のところを 3 つ分塗りつぶす。 SKPCNT はおそらく 3 のまま、MOVCNT は 3 になると思う。 そしたら左上の 1 の下に戻り、今度は SCANL で左側の 2 も塗る。 塗ったのが 1 つだけなので 2 を引けば -1 で OVERHANG にはならない。 その 1 と MOVCNT の 3 を足し、左端の 2 から 4 つの幅で、下方向のエントリーをキューに追加。 ちょうど SKPCNT=MOVCNT で終わっているのでこのエントリーは終わり。

そして最後は左端の 2 の下から 4 つ分でスタート、SCANR は最初のボーダーをスキップして SKPCNT を 3 に減らし MOVCNT は 3 か。 その下は最初の 1 の上と同じでひとつも塗れないから終了。

方向について出だしは 64 と 192 だが、その後はビット反転をしている。 つまり... 0x40 の反転で 0xbf, 0xc0 の反転で 0x3f があり得る。

きのうの話で左から右に行ってしまうのは SCANR1 で塗りつぶし済みチェックをせずに RIGHT OVERHANG を見に行ってしまうという理解で正しいと思う。 それで下に行かないのは ENTSLR が塗りつぶし済みフラグを見ているからだ。 左右どちらとも塗りつぶし済みの場合にはエントリーを登録しない作りになっている。 順番としてはその下に行かない判定の後、SCANR の終わり位置に戻り、RIGHT OVERHANG 判定になる。 そしてなんと、左に 1 ドットずつ LEFTC でずらしていって、キューに入れたい左端の位置を出している。 NEGHL はマクロで neg %bx である。 きのうの絵の左上で行くと、真ん中の塗りつぶし済みラインまで降りてきた時、SKPCNT には 7, それは減らされずに、MOVCNT には 15 が入るかな? 7-15=-8 が負なので OVERHANG 判定、neg して 2 引いて 6, それに 1 を足した 7 回左移動。 15 ドット塗った右端の次の位置から左に 7 回、16-7=9 で、ちょうど (200+16*J+9,Y+8) の位置に来て、そこから上向きのエントリーを追加することになる。 解決!

ってまぁつべこべ書いても何か間違っているかも知れないので、GW-BASIC の PAINT ルーチンだけ JavaScript に移植した。 キューの処理はさすがに面倒くさいから独自で書いたが、他はほぼほぼそっくりそのまま。 位置は X と Y を 12 ビットずつにわけて 24 ビットにして入れてある。 (おかげでデバッグが面倒だった。)

20210505-canvas2.html

書いてみてわかったのは SCANR の中でボーダースキップ後に CSAVEACSAVEM を更新しないとつじつまが合わないこと。 後は上に書いた話でだいたい合っていたと思う。

理解できたところで、必要そうなところをひたすら探索していく感じで結構泥臭い実装というか、性能重視でもないし、案外メモリー使用量を抑えている感じでもないような。 特に 8080 由来の無駄コードはひどくて、こんなのが 1980 年代ののろまなパソコンで使われていたとはなぁ... まぁ PAINT って本当に面倒くさいので書き直す気もしなかったのか、いや、パターン塗りつぶし対応が後で入ったわけだから、誰かは書き直したのか。 いや待って、パターン塗りつぶしの時は塗りつぶし済み判定できなくない? あれ?

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


06 (木)

%1 休暇

朝は曇り、その後は晴れて暑くなった。 のんびり。

曇っていた間にポケモン GO ウォーキングをした。 1 時間以上歩いたが途中止まっていた時間もあり、6200 歩。 昼に弁当買いに行った時にも少しポケモン GO 寄り道をしたがそれでも 3000 歩程度で、1 万歩には到達しなかったようだ。

テレビアニメ『スーパーカブ』4 話。 夏休みまでカッパ持っていなかったのか? エンジンオイル交換を店の人に 100km, 500km そして 1000km サイクルと教えられているシーンがあったが、スーパーカブなら指定は 3000km だろ? 半分にしても 1500km だよ。 だいたい 1000km も乗ったならドライブチェーンの注油もしろよ... チェーンカバーがついているから普通のバイクよりは汚れにくいだろうけれども。 あと、あんな長さのめがねレンチでドレンボルトがゆるまないって、それ締めすぎじゃないのw 1000km の件といいいい加減なバイク屋だなw

んでついでで鬼滅の刃が 14 話まであったのを途中から見てしまった。 正月に全部見たのにな。 まぁテンポがいい作品で、やっぱり善逸が技を繰り出すシーンは好きだなぁw 敵が一番面食らうタイプだと思うw

%2 GW-BASIC

例のソースコード。 DB OFFSET MINUTK というのがあって、MINUTK って何だろうと調べてびっくり。 キーワードとしては IBMRES.ASM の中にある。 だが QQ とか T とか、なんだそりゃ? って感じのコードになっている。

んで IBMRES.H というのを見ると、マクロで T の定義がある。 QQ をインクリメントして、指定のキーワードを export するっていうんだな。 でもキーワードが全部 DUMMY だからあんまり意味はないな。 とにかく何か数字を割り当てて export されている。 これたぶん、GNU as で言うところの foo=100;.global foo と同じで、そのシンボル名でアドレスとして定数を共有しているんだろう。 GNU as でこれを $foo として他ファイルから取り出したら 8 ビットでは取り出せない (と思う) んだが、MASM ではどうも LOW OFFSET を付ければ取り出せていたようだ。

まぁ問題は QQ の出だしはだいぶ上の 128 で始まり、そこには R2R がうじゃうじゃ並んでいる。 先頭は R2 END,ENDST とある。 なんだこりゃー、って思ったらまたさっきの IBMRES.H である。 R2 もまたマクロであり、ENDST を外部参照で、DW でおそらくそのアドレスを書いて、QQ をインクリメントし、...ここの & は連結か? $END という名前にインクリメントした QQ を入れて export するっていうのかな。

とにかく MASM のマクロを結構活用しているんだなと。 それでこれは、各キーワードに対する内部用コードの割り当てと呼び出し用のアドレステーブルを構築しているんだな。 ENDENDST というルーチンが呼び出し先で、コードは 129 ってことではないか。 たぶん、バイナリ保存したプログラムにはこのコードが使われていたのではないか。 冒頭の MINUTK はたぶん 1 文字の演算子に対するもので、ステートメントや関数じゃないので呼び出しアドレスは不要で、単にコードの割り当てだけってことかな。

じゃあその END の文字列定義はというと同じファイルで下のほうに Q ってのがある。 頭文字で振り分けるぐらいのことはしていたんだな。 Q のマクロ定義を見るとごちゃごちゃと... なんだこれ... MASM のドキュメントは一応 Microsoft のサイトで今も見られるようで、それを参考に何となく読めそう。 頭文字を消した上で DB に 1 文字ずつ与えているのか。 なんか、すごいな。

コードセグメントとデータセグメントは別のようで、コードセグメントへの書き込みはおそらくしていなさそう。 INS86 で 56 というのがついているのがコードセグメントのオーバーライドで、どれも読み取りに見える。 これはおそらくもともと ROM に積む用途があったコードがベースだからだと思う。 そういう意味で行儀が悪いコードではないんだが、CALL した先で POP で戻り番地を取り出して、CALL 命令の次に書かれている引数を読み取ったり、RET するかしないかの条件ジャンプで $+3 を使ったり (条件ジャンプ 2 バイトと RET 1 バイトを飛ばす)、次の 2 バイト命令をスキップさせるためにジャンプ命令では 2 バイト必要なので、2 バイト即値オペランドの命令を入れたりと、そういった昔のプログラムあるあるな小技は多用されている印象。 特に最後のはコメントを見ると別の命令が書いてあるから、8080 時代からあったんだろう。

CALL 先で POP してってのは自分も書いたことはあって、あれは何を参考にしたんだったか... 書きやすいのは書きやすいんだけど、デバッグする時大変なんだよなこれ。 コードとデータが混ざるから、逆アセンブルがぐちゃぐちゃになる。 2 バイト即値オペランドの opcode を入れて命令を飛ばしちゃうのは、日高徹「PC-9801 シリーズ マシン語ゲームグラフィックス」で見たような気がする。 よくそんなこと思いつくなー、なんて当時 (1996 年頃?) は思った気がするけど、どうも常套手段だったんだな。

2021/05/06 のコメントを読む・書く


07 (金)

%1 休暇

昼過ぎから雨が降ったりやんだり。 のんびり。

テレビドラマ『ゆるキャン△ 2』。 6 話。 野外活動サークルの 2 人とお友達が極寒の山中湖でやばい目に遭いそうな話。 次回が解決編か? 今回は珍しく飯テロな場面がなかったな。 美味そうな想像から材料買っただけだったw

テレビでやってた映画『タイタニック』(原題: Titanic)。 1997 年のアメリカ映画。 この映画はレンタル DVD で 20 年前に見たんだったな。 195 分もあったとは。 そりゃ 2 回に分けてになるわけだな。 101 歳の役、86〜87 歳とはいえ顔のメイクでシミやら何やらうまいこと表現してあるなぁ。 船のほうはミニチュア撮影だからかやや重みがない動きに感じられる。 機関室を通り抜けるシーンは何となく記憶にあったけど、車に入り込むシーンは完全に記憶から消えていた。

%2 空豆

この前、空豆を買ったので、ここ数日で食べた。 さやを開くとふかふかの布団のような (?) ところに豆が何粒か寝て (?) おり、それを取り出して鍋に突っ込む。 中の皮も剥くって話も聞いたんだけど、そのまま圧力鍋に入れて米とともに炊いたらまぁ味のほうは普通においしかった。 中のは薄皮って言うんだな。 硬いって聞いたけど別に硬くなかったのは、あれか、圧力鍋調理だからか? あるいは 5 分加圧して 10 分放置が長いからか。

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


08 (土)

%1 どようび

いい天気。 のんびり。

GW-BASIC のソースコード、この前は一部のルーチンを取り出して手作業で JavaScript に書き写したが、何かうまいこと自動化できないかな。 と思って考えていたが、MASM も古いのに意外といろいろ凝ったことをしているような気もする。 ASSUME を書いておくとどのセグメントを使うのかアセンブラーが判断してくれる、というのと、NEAR, WORD といった型が存在するところ。 小学生の頃は MASM を結構使っていたけど、その後 LSI C-86 試食版を使うようになってからは付属の R86 アセンブラーのほうをよく使っていたので、MASM にあんまりいい思い出はないw

まぁでも MASM が作られた時代と違って、今時は豊富なリソースをふんだんに使うお気軽プログラミングが可能である。 JavaScript で GW-BASIC のソースコード全体を変数に入れ、解釈してアセンブルとリンクを行うようなことも全然問題なく実現可能なはず。 なおそれをする場合 JavaScript には template literal という文法が存在しており、複数行の文字列を簡単に表現できる。 ソースコードでは \\ が出てくるところだけエスケープが必要。 他に ${...} もエスケープが必要だがそんなパターンは出てこない。 $ だけ、あるいは $ の後ろに別の文字が来るならエスケープしなくて良いらしい。

%2 新型ウイルス

高齢者向けワクチン接種がちょっとずつ始まっているようで、やはり都市部のほうがやや予約が難しい状況がありそうではあるものの、これからどんどん入荷されてくるからね、ペースを上げて接種を進めていくステージに入り始めている。 うれしいな。 人類はすごいな。 いやほんとに。

オリンピックがどうなるのやらという話もあるけど、オリンピックに向けて準備を進めてきた選手や関係者のことを考えると、せっかくすばらしいワクチンもできていることだし、まだ 2 か月あるんだから、ぜひワクチン接種を進めて、開催してほしいな。 自転車競技等、公道を使う競技は観客の制限が難しいところがあるだろうから、そこは中止にするか何か、あるかも知れないけど、競技場を使う競技は、無観客でやればいいと思うんだけどなー。

緊急事態宣言は、相変わらず終わりの判断条件の定義がされないもんだから、いろんなところで影響が出ているようだが... とにかくやっかいなのは変異ウイルス、 今まで大丈夫だった は通用しないのだ。 エビデンスエビデンスと叫ぶ人達が見受けられるが、去年だって、3 つの密を避けようという提案も、マスクを付けようというのも、エビデンスはない段階で言われていたわけで。 ヤバそうな条件が見つかったら、エビデンスがなくとも、なるべく早く共有し、皆で避けてみよう、というのが去年うまくいったやり方なんだと思う。 それから何か月もかけて条件が見直されて、このぐらいなら何とかなりそうという何となくの目安ができてしまったから、未だにその条件を元に話をする人がいるんだ。 今年の冬頃までは正しかったが、残念ながら今の変異ウイルスにそれでは対抗できないんだ。

Twitter で見ていると、大阪の危機に至る過程なんか、50 代以下での重症度合いの多さや肺炎の進行の速さなど、お医者さん達が危機感を伝える tweet から、1 週間ぐらい以上遅れて、知事の発言やら報道やらに現れるみたいなところがあり、その時間差だけでももったいないのに、そこからさらに数日あいて制限をかけても、肝心の住民に危機感が伝わらず、みたいなところがあったように思える。 お医者さん達の tweets は興味深いものが多く、特に去年なら会食やら居酒屋やらきっかけになりそうなところを見つけ出せたけど、最近はそういうのがないのにというケースが増えているという tweet があり、やはり対策レベルを上げる必要があるなと感じたものだが、ゴールデンウィークに実際に見た光景は、閉鎖されている都立公園駐車場の、隣の小さな飛行場の駐車場に車がたくさんとまっていて、公園がにぎやかってやつであり、こいつら 1 か月前のニュースしか知らないのかなみたいな気分にさせられたわけである。

ま、他人のことをあーだこーだ言ってもしょうがないんで、自分がやることをやるだけだが、このまま減らなければ外食禁止もあり得るんじゃないかな。 歩きたばこやたばこのポイ捨てが多くて路上喫煙禁止条例ができたのを思い出す。 知ろうとしない人達にはわかりようがないだろうが、知っている人から見れば自業自得となる。

2021/05/08 のコメントを読む・書く


09 (日)

%1 にちようび

連休最終日。 いい天気。 暑い日。

またテレビアニメの『鬼滅の刃』を 26 話まで見てしまったw アメリカ合衆国でも劇場版も公開されて非常にうまくいっているようで、本当にすごい。

MASM の古いバージョンのバイナリが、Microsoft が公開している MS-DOS のソースコードに含まれているようだ。 懐かしいなと思ってちょっと触ってみたんだが、使い方を覚えていないのが最高だ。 何しろ当時は /? が存在しない時代。 引数を全く付けないと完全にインタラクティブになっていて、インタラクティブに出てくる順番で引数を書くって仕様だったみたいだ。 昔どうやって使っていたかを探したら、; をつけるとそれ以降省略になるらしいことがわかった。

っていうか昔使っていたアセンブル用のコマンドを見たら、リンカーになぜか LSI Japan の LLD を使っていた! LLD は確か .COM ファイルを直接出力できたと思うんだけど、それは使わずに EXE2BIN を使っている風だった。 なんで LLD を使ったのかな、速いか何かだったかな、何にも覚えていない。 MASM の時は標準の LINK を使っていたと思っていたなぁ。

例の GW-BASIC のアセンブルができるかというと、INS86 が通らないし、行が長すぎるっぽいエラーなんかが出ていて、できそうに見えないw GW-BASIC のブートのところの処理を見ると、どうも DOS を前提とした実装が入っているみたいで、ROM で動かす用にはなっていないみたい。 さらには機種依存のコードは抜けているから、例えアセンブルができたところでリンクするにはいろいろ足りないものがあるけど。

F1 スペイン GP。 きのうの予選は何と言ってもハミルトンの 100 回目のポールポジション! 決勝は早々にセーフティカー、原因は角田、走行中にシステムがダウンして動けなくなってしまったようだ。 チームメイトのガスリーは、スタート時の停止位置を少し通り過ぎてしまったためペナルティを受けてしまい、チームとしてはさんざんな週末か。 それでも下位チーム同士の接近戦を制し 1 ポイントを獲得したのは見事。 トップ争いは、スタートでフェルスタッペンがトップに立ったものの、ペレスが上に上がってこれなかったので、防戦一方のフェルスタッペンを、メルセデスが強力な 2 回ピットストップ戦略でぶち抜いて行った。 ハミルトンの、スタートでは順位を落としてでも接触は避け、その後は離されないように速いペースを維持してプレッシャーをかけ続け、そのまま走り続けてもオーバーテイク成功しそうなところを、もう一度タイヤ交換してそこからハイペースで走り続けて、相手のタイヤが抵抗できない状態のところで難なくオーバーテイクっていう、やっぱり全盛期のミハエルシューマッハみたいな強さだよ。

2021/05/09 のコメントを読む・書く


10 (月)

%1 げつようび

連休明け在宅勤務。

そろそろガスストーブはなおしてもいいかなという暖かさだが、明日あさってあたりちょっと冷えるっぽいのでまだ出したままにしておこう。

きのうは寝る時も室温 25 度ぐらいあって暖かかったので、いつも肩にかけている N ウォーム毛布は使わずに、N ウォーム敷きパッドと羽毛布団に挟まれて寝たんだが、就寝から目覚めるまで約 6 時間。 こんなに長く眠れたのは久しぶりだった。 やっぱ夏にならないと頻尿は治らないのかぁ?w まぁ、6 時間も寝ていたからかなり膀胱にたまっていたのは言うまでもない。

ラジオの電池が数日前に切れていたので、今朝交換した。 この前はもたもた交換したからチャネル登録が消えてしまったので、今度こそ... というわけで新しい電池を向きを合わせて準備しておき、2 本同時にぱっと外し、新しい電池をぱっぱっと入れた。 外していた時間は 5 秒ぐらいだろうか。 これならいけるだろ、とひっくり返してみると、リセットされて 12:00 が点滅していた... だめじゃん... 1 本ずつ変えろっていうのかな。 消耗度合いが偏りそうだからやりたくないんだけどな。 ま、いいや。

2021/05/10 のコメントを読む・書く


11 (火)

%1 かようび

昼休みに整形外科に行ったついでで、職場近くのハンバーガー屋さんに行ってみた。 ちょっとした飲み屋が連なっているようなゾーンがあってその中にあった。 イートインもできたがテイクアウトで。 1000 円超えだがかなりのボリュームのこてこてハンバーガー。 ウマー! 単品で足りるボリューム。

『るろうに剣心』のアニメ版、31 話から、京都に向かう話が始まった。 ちょうど、実写映画にあったような大久保暗殺シーンもあって、原作は同じなんだなって感じがする。 しかし道場のふたりは船で出発か。 へぇw

そしてアニメで見ていて思い出した。 『るろうに剣心』映画版で伊勢谷友介が演じていた役を。 とりあえず、35 話 (第三十五幕) まで見た。

しかしこのアニメ、1996 年だけど、コンピューターグラフィックスがないだけでなくて、字幕もなんか昔風なんだよな。 オープニングなんかに縁取り無しの字幕、サブタイトルの表示や、物語の途中で大きく出てくる文なんかも、なんか昭和を感じる。 ルパン三世 PART2 みたいな。 あと時々映像が乱れる。 圧縮ノイズじゃなくて、磁気テープが痛んでいるような乱れ方。 公式配信でこの乱れっぷりは、まともな放送ぶんは保管されていなかったのか?

2021/05/11 のコメントを読む・書く


12 (水)

%1 るろうに剣心

『るろうに剣心』のアニメ版, 36 話・37 話。 剣が折れるところ、映画とはちょっと設定が違った。

そうそう、『るろうに剣心』の最新実写映画が公開されているので見たいんだけど、映画館がお休みしているので見られない。 緊急事態宣言が今月末で終わるとしても、いつまで上映してくれるだろうか。 まぁ、映画館が安全かって言ったら去年から映画館自身はそう主張しているけど、実際のところ変異ウイルスの驚異的な感染力を考えるとかなり怪しいもので、少なくとも首都圏・大阪周辺・福岡周辺は映画館はお休みで正解と思う。 高校の同級生はタイミング良く見に行けたみたいでちょっとうらやましくもあるが、こればかりは地域差があるので仕方がない。

イオンシネマはこのところずーっと座席ひとつ開け営業だったが、あれでももしいっぱい入って皆ポップコーン食っているようでは不安だと思ったから、鬼滅の刃を見に行った時は人が少なそうな場所で人が少なそうな朝 8 時台の回にしたんだった。 今どうしても営業したいなら飲食厳禁 (マスク外し厳禁) & 座席縦横ひとつ開けぐらいは最低でもやんなきゃだめなのでは? それでも映画の後で周辺の飲食店でランチ食いながら感想でも言い合ってりゃそっちが完全アウトだからな。 人気映画の観客動員数だとどうしてもそういうのが少なからず出てきちゃうから、やっぱ今はだめだな。

変異ウイルスの脅威の感染力はこういう医療関係の皆さんのツイートから伝わってくる。

%2 スクーター

アドレス V100 をいつまで乗るか問題、何に買い換えようか問題、乗るたび考えるが難しいな。 スーパーカブ系の何か、は興味はあるが、前輪ドラムブレーキはつらいんだよな。 MT のグロムや Z125 もおもしろそうだが、積載性をどうやって確保するかと、あと安くはない。 GSX は図体でかいからちょっと店の駐輪場なんかで気をつかうし。 4 ストロークエンジンのスクーターも手ではある。 PCX みたいな図体でかいのじゃなくて、ちっちゃなのがいいな。 ベスパ MT もね、おもしろそうではあるけど、混合給油なんかめちゃめんどくさそう...

あとそうそう、左手首はやっぱり去年痛めてからやや違和感は残っていて、ベスパのグリップシフトはさすがに厳しそうな気もする。 左手側レバーすらないほうがうれしいけど、それを言い出すと小型二輪ではスーパーカブ系か、この前見つけた KSR110 に絞られてしまう。

まぁ V100 をなおしてってのも選択肢ではあるんだけど。 キックペダル動かない問題、方向指示器スイッチ時々接触不良問題 (点滅が速くなることがある)、オートチョーク配線接触不良問題、エアクリーナーボックス外れなかった問題、エアクリーナー雨水吸い込み問題、テールのウィング部分のビビリ音、など、細かいのがいろいろあるんだよなw

2021/05/12 のコメントを読む・書く


13 (木)

%1 もくようび

微妙に雨。 寒いのでしばらくガスストーブをつけていた。

職場の近くの安いランチ & 夜はたぶん居酒屋みたいな感じだったであろう食堂が一時閉店したことを SNS で知った。 おととい近くを通ったけど、直接見える位置は通らなかったので全然わからなかった。 パンデミックの影響、かと思いきや、ビルの老朽化だって? 確かに古そうな、というより見るからに古いビルだもんな。 高さも低いし。 昔ながらのたばこ屋さん・電気屋さんや、麻雀店も入っていたし。 まぁ、客数が減っているのも間違いないだろうけどね... 近隣の大企業も在宅勤務を増やしているのは間違いないだろうし。

『るろうに剣心』のアニメ版, 38 話は実写映画にはない左之助の京都への道中の修行の話。 39 話でオープニングテーマが変わった。 川本真琴だ。 懐かしい。 実写映画にも出てきた、最後の一振りの刀を求めて人を訪ねる話。 ちょっと設定が違って、ギャグ要素強めだけど。 途中 2 箇所ほど、15 秒ぐらいずつ完全に絵が飛んでピンク色になっていた。 エンディングテーマは... ラルクアンシエルの知らない曲だ。 そして 40 話で実写映画でもあった最後の一振りをいきなり使う戦いか。

2021/05/13 のコメントを読む・書く


14 (金)

%1 きんようび

スマートフォン Android One S6 の加速度センサーがまたお眠りになっていたおかげで、お昼を買いに歩いて行ったのに歩数 0 だと! 仕方がないので (?) 再起動して、夜散歩してきた。

SBI 証券からパスワード変更しろーってしつこく来ていたのを、クソ重い腰を上げてようやく変更した。 っていうか火曜日からは変更するまで使えないようにするよって連絡だったのに、そうなっていなくて、何から何まで雑なのは SBI らしい。 変更してみてはっきりしたけど、 SBI 証券はパスワードの大文字小文字を区別しない のは相変わらずなようだ。 ここまで来てもそのままなんだから、そういう仕様で行くと決めているんだな? パスワードに 8 文字は許さなくなったみたいでそれはいい話と思うが、大文字小文字の件はどこにも書かれていなくて、大文字小文字を変えて入れてもしれっと通るからねw

テレビでやってた映画『タイタニック』(原題: Titanic)。 1997 年のアメリカ映画。 船が浸水し、傾き、ちぎれて、垂直に立って、沈んでいくシーン、コンピューターグラフィックスを使っているとは言っても、俳優さんが泳いで脱出するところなんか、実際に泳いでいるんだろうから、どこにどういうセットを作って撮影するのか、かなり大がかりな作業な感じがする。

タイタニックって、レシプロ蒸気機関と蒸気タービンを使って推進力を得ていたらしいけど、電力供給はどうなっていたんだろう。 蒸気機関等の回転出力はスクリューまでの間にクラッチはないだろうから、そこから電気を得るとスクリューが回転してしまうのではないか? 調べると "four 400 kW steam-driven electric generators" があったと Electric Machinery Center | Titanic Wiki | Fandom に載っていた。 へぇ。

1910 年代、明治の終わり頃ってのはまだ、何かと蒸気機関が主流なんだよな。 だけど電気はあって、電灯は存在したわけだ。 エジソンの白熱電球も 20 世紀に入る頃には実用化されていたはずだ。 汽車や大型船舶のような大きな出力が必要な動力源としては当時は蒸気機関が一番良かったんだろう。 照明については明らかに電気のメリットがあったんだな。

2021/05/14 のコメントを読む・書く


15 (土)

%1 どようび

いい天気。 暑い日。

テレビアニメ『るろうに剣心』41 話、比古清十郎って誰だっけと思っていたが、あれか。 実写映画にも出てきた師匠か。 出会い方は全然違う気がする。 42 話は、御庭番衆、翁と蒼紫の対決、それに奥義の伝授の話が並行して。

テレビドラマ『ゆるキャン△ 2』第 7 話。 極寒キャンプを別のキャンパーに助けられるサークルの皆さんと、サークルの様子を見に来てそのキャンパーと一緒に日本酒を飲み始める顧問の教師w 教師飲んじゃったら帰れないなと思ったら、教師の車で一泊か、なるほどね。 とにかくこの物語はキャンプめしで失敗しないんだよな。 みんなうまそうに食べる。

ABEMA 無料配信映画『リベンジ girl』。 2017 年の邦画。 桐谷美玲主演。 原作はあるっぽいけど、小説か? あまりにねじがぶっ飛んだ主人公、漫画みたいなんだよなw 政治家を目指す政治家一家の男にもてあそばれて、リベンジで政治家になってやろうっていう、文章にしても漫画だな。 女をもてあそぶクソ男役がイケメンに見えないのは若干アレだけど。 インスタグラムはサービス名そのまま出てきたな。 まぁー何となく展開も結末も先が想像できる感じだったし、気軽に楽しめる映画だった。 "Girl" というタイトルに反して一部おばさん呼ばわりされていたけどw

こういう映画、数十年後に見たら「インスタグラム」がどのぐらい通じるか? IT サービスは変化が速いので、インスタグラムはアカウント無しで公式アクセスができなくなるなど、すでに映画公開の頃とはだいぶ印象が変わっている。 15 年前は mixi が流行っていたが今はすっかり忘れ去られているように、インスタグラムも今後どうなるかはわからないのだ。

あと 2017 年の映画だとパンデミックじゃないわけで、人と人の距離が近い、密集している、みたいな変なところに目がいく。 そりゃーインフルエンザも流行するわけだな、なんて思ってしまう。

テレビアニメ『スーパーカブ』5 話。 バイクオタク同級生の話だ。 富士山をバイクで登りたいって、さすがバイクオタクだ。 バイクオタクのくせに停車時にすぐ両足降ろす (リアブレーキを離す) のはいけてない。 呪いの謎も解けたw そしてもうボアアップの話すんのかよ、気が早いなw ボアアップより免許取得のほうにお金かかるんじゃないのかw

2021/05/15 のコメントを読む・書く


16 (日)

%1 レンタルカート

スポーツカート耐久レース。 御殿場。 ハイスピードコース。 5 時間耐久レース。 3 人チームから参加。

1 年以上間が空いた結果、サーキットまでの道順が変わっていたし、サーキットのコースデザインも若干だが変わっていた。 それに、耐久レース用のレンタル車両のフレームが新品に化けていただけでなく、タイヤが溝無しに変わっていて、そして今日の天気は雨! 自分が乗った 4 スティントのうち 3 スティントでそれぞれ 1 回ずつスピン\(^o^)/ 特に一時乾きかけの路面で、どんどんペースが速くなる中、いけると思ったのが読み間違いだったのは残念だった。 最終的にはそこら中水たまりだらけでろくに前も見えないひどいコンディションになっていた。 レインスーツに覆われていたところはいいが、レーシングシューズは中までぐしょぐしょ。 結構いろいろやらかした割にはクラス 20 チーム中 10 位は案外悪くない結果。 体はきつい。

感染症対策は... 28 チームが参加した耐久レースでは、人数も多いんで、信じられないぐらいザルな人達が散見され... まぁ、雨が降っている時は飛沫は飛びにくいだろうけどね、それでも集まってわいわいやってちゃーだめだよ。 なお、マスクの上からフェイスマスクをつけてヘルメットかぶっても意外と大丈夫だったw

行きも帰りも寄り道ゼロ。 エアコンつけたら少しでも乾くかなとエアコン付けっぱなしで帰ったが 80km/h 維持でかなり良い燃費。 そして全然乾いていなかったので帰ってからいろいろ洗濯。 疲れた。

%2 100km

だいたい御殿場まで 100km みたいな感覚、運転しながら雑に考えたのは、八王子まで 20km, そこから相模湖まで 20km, そこから大月まで 20km, そこから河口湖まで 20km で、そこから御殿場まで 20km で 100km! って考えたんだけど、案内見ているとどうも大月から河口湖まで 20km はないかな? 地図を見ていないので正確には知らないw そして 80km/h なら 20km 15 分。

つくばも高速で行くと 100km 近い距離だが、つくばエクスプレスの全長が 60km 近いのが参考になる。 まず新宿まで 20km でしょ、首都高は新宿から先 20km 以上あるかな、それで常磐道を 50km ぐらいだろうか? これも地図を見ていないので正確には知らないw

2021/05/16 のコメントを読む・書く


17 (月)

%1 休暇

朝はお腹が緩くて早く起きてしまったが、その後昼頃まで何度も寝まくって、筋肉痛がだいぶ回復してきた。 疲れている時のすさまじい眠気を考えると、休暇にしておいて良かったw

きのう 3 回スピンしたはずなんだけど、そのうちの 1 回がどんなだったかよく覚えていないw 確か 5 コーナーだったような... んで、残りの 2 回は 8 コーナーで、最初は芝生の上に後輪がはみ出してしまい、スタックするかと思ったが、運良く大丈夫だった。 2 回目は、カウンターステアをいっぱいに当てた時点で、立て直せない・スピンすると悟り、下手にあがくとまずいことになりそうと直感的に判断してアクセルを踏みっぱなしにしたことで、90 度の左コーナーで 270 度回ることとなり、結果コース内のコーナー出口内側の端に止まり、後続が途切れるのを確認してから安全に復帰できた。 なんでまずいことになると思ったんだろうと振り返ってみたら、最初のスピンがあったからなんだな、たぶん。 カウンターステアでどうにもならないなら、アクセルとブレーキしか使えるものはないんだけど、それで下手にアクセルをゆるめてしまうと、後輪の横滑りが早く止まってしまう。 ヤマハの MZ エンジンに、そこからアクセルを踏み直して再び横滑りさせられるほど強力な出力はないし、遠心クラッチが切れてしまえば、すぐにつながりもしない。 変速機もないんだから、そんなもんだ。 たぶん最初はアクセルをゆるめてしまって、180 度回ったところで後退して芝生の上に出てしまった。 雨でコーナー内側が滑りやすいため、皆外側に寄って走ってくるところの外側に止まったんだから、後続の車両にとっても危険な状態だった。 その最初のスピンが頭の中にあって、自然と同じ状況になるのを避けようとしたのかも。 結果的にはうまくいったが、次も同じことが再現できるとは限らない。 ま、あんな滑りやすいコンディションでくるくる回って、接触がなかっただけでも大成功だったな。 今回、強く追突すると前のカウルが内側に引っ込む仕掛けがついていて、ピットイン時に引っ込んでいたら 1 周減算、みたいなペナルティが設定されていたが、その検査に引っ掛かることはなかった。

テレビアニメ『るろうに剣心』43 話で出てくる比古清十郎と剣心の出会い。 比古清十郎は剣心の 8 歳の時を知っていて、あれから 19 年。 剣心 30 歳で 13 歳差だと全然計算が合わないが、43 歳じゃないのか? 年齢計算結構適当じゃない? 44 話は特別版の 1 時間。 「特別スペシャル」w 前半は振り返り、見損ねた 6 話から 15 話もあるからちょうどいい。 後半は 43 話の続き。 十本刀のメンバーが勢揃いし、いろいろ細かい描写もあるのは実写映画とは違うところか。 本条鎌足っていうのが、志々雄の愛人である由美の立場を狙っているとは。 まぁ映画より時間もあるしな。 45 話で京都大火編が始まるところ。 と思ったんだけど大火が不発に終わって船があらわになるところ? 実写映画はだいぶストーリー変えてあるんだろうな、たぶん。

2021/05/17 のコメントを読む・書く


18 (火)

%1 かようび

このところ湿度が高くなってきた。 洗濯物を乾かすのに除湿機を稼働させる季節か。 (先月は 1 回使ったぐらい... 湿度 30% 以下程度なら扇風機で楽々乾かせる)

テレビアニメ『るろうに剣心』46 話、左之助が船をぶっ壊してまさかの活躍。 やはり京都は無事か。 操 (みさお) が無事だったのも十本刀のあの、左之助に技を教えたやつが無駄な殺生をしないという理由なのがおもしろい。

無線 LAN がむちゃくちゃ不安定だった ZenFone Max Pro (M1) なのだが、なんかここ数日安定しているような気がする。 何をやったかって... 関係あるかわからないけど、この前の土曜日、数か月ぶりに ZenWatch を起動したのだった。 単に日曜日に腕時計として使いたかったので。 Android One S6 とのペアリングはしていないので、日曜日に出かけている間は ZenWatch は機内モードにしていた。 思い当たるのはそれぐらいだ。 何時頃だったか思い出せないんだが、無線 LAN アクセスポイントのログから ZenFone Max Pro (M1) の MAC アドレスを探すと、それまで 1 日に何回も何回も出ていたログが、土曜日の 14 時台ぐらいを最後に、めちゃくちゃ少なくなっている。

なお、おそらく半年以上電源を切ってあった ZenWatch は、充電台に載せた時、最初起動しなくて、さすがにバッテリーがなくなったかと思ったが、もう一度載せ直すと起動して、バッテリー残量 90% の表示だった。 優秀。 ただし、時計が 5 分ぐらい遅れていた。 ZenFone Max Pro (M1) と接続したのに同期されなかった理由はわからない。

2021/05/18 のコメントを読む・書く


19 (水)

%1 すいようび

昼は雨。

自動車税と軽自動車税を払った。 全部まとめて 4 枚の納税通知書をコンビニに持っていき、4 枚ですね〜、とピッピッとされていくんだが、金額は 42500 円で枚数の割に高くないw

テレビアニメ『るろうに剣心』47 話、志々雄の本拠地で 1:1 決闘、最初は左之助。 二重の極みとやらで決着がつくのかとおもいきや、引っ張るなぁw このへんの話、エンディングの絵で過去の戦いシーンが出てくるんだけど、手書きアニメーション時代らしさがよく出ている。 動きの細かさが変動する。 たくさん描いてしまったところはなめらか、ちょっとしか描かなかったところはカクカク、みたいな。 まぁそれは今でもあるのかも知れないけど、当時は立体感・奥行きの表現も全部人間業なので、結構ゆがむ。 見る側としてはちょっと動きを追いづらいところがある。 ネガをよく使っているのも何か凝った表現の代わりなのかな。 まぁさすがに、1970 年代のルパン三世みたいに顔の色が 1 フレームだけ間違っているみたいなのはない。

テレビアニメ『るろうに剣心』48 話、左之助の続きは結局殴り合いかw そして 49 話は心眼野郎。 斎藤一が少し食らったが、心眼で対抗し一話で終わらせた。

アニメ『スーパーカブ』#6, もう免許取ってボアアップしたのかよw ほんと早いし急にお金持ちになったなw んで修学旅行...? 山梨から鎌倉って甲州街道から八王子あたり経由して行っても、南下して小田原方面出ても変わらないかと思ったけど小田原方面のほうが近いのか。 自分の脳内地図はいい加減だからな。 日曜に行った須走あたりも出ている。 (日曜日、須走から御殿場につながる道が完成していて面食らった。) このアニメ、主人公も、バイクオタクもシフトダウンをつま先でやるんだよな。 ちょっと検索してみると、角度が悪くてつま先のほうがやりやすいらしい。 ジョルカブだとかかとがやりやすいんだが... (というかスクーターのステップにシフトペダルがついているからつま先だと車体が邪魔しそう)

2021/05/19 のコメントを読む・書く


20 (木)

%1 もくようび

昼まで雨は降らなかった。

Windows 10 のバージョン 21H1 が Windows Update に出てきたのでインストールしてみた。 ろくに解説記事を読んでいなくて、また時間が掛かるのかと思いきや、今回の更新は小さいらしくて、サクサクっと 30 分ほどで完了した。 前回の普通の Windows Update よりも早かった。 見た目上はバージョン以外に何が変わったのかもわからない状態。 まぁこのところ Windows PC (デスクトップのほう) は Mozilla Firefox で TVer や ABEMA の動画配信を見る以外の用途がほとんどないので、何か変わったとしても気づかない自信がある。 とっくに Windows で DAZN 見るのは諦めてしまったしな。 動画再生が一番軽快だった古い Edge が消滅した時点で、自宅の低スペック Windows 環境で DAZN をまともに見ることはできなくなった。

テレビアニメ『るろうに剣心』50 話、蒼紫 (呼び捨て) との戦い。 (剣心は呼び捨てだが左之助は四乃森さんと呼んだな。) 本棚使って抜刀せずかと思いきや、抜刀する羽目に。 そして葵屋のほうも並行して始まった。 蒼紫とのやりとりで、相手に精神的ショックを与えるシーンの表現を見ていると、頭文字 D を思い出すんだよな。 音の入れ方、声の入れ方、絵。 数年違いだし、当時のはやりみたいなものかな。 やたらしゃべり言葉が多いってのもある。 いちいち技の名前を出すのも、頭文字 D で「溝落としパート 2」なんて言っていたのと同じだよね。 そんなしゃべってる暇ないだろ、みたいな。 まぁ漫画みたいに説明文を入れるわけにいかないから、漫画原作のアニメでは似たようなことは避けられないのかも知れない。 50 話からエンディングが変わった。 Bonnie Pink の知らない曲。

2021/05/20 のコメントを読む・書く


21 (金)

%1 きんようび

湿度高い。

テレビアニメ『るろうに剣心』51 話、蒼紫対剣心の続き。 奥義で決着、それから葵屋。 大鎌の一本刀とのコントの間に「番組をご覧の皆様にお知らせです。… 緋村剣心の声でおなじみの涼風真世さんのコンサートが、来たる 6 月 12 日 (木)〜6 月 15 日 (日) に東京・渋谷の Bunkamura シアターコクーンにて行われます。チケットのお問い合わせは… (トゥモローハウスの電話番号) まで」って字幕が流れてきて笑ったw

完全に当時のテレビ放送そのものなんだろうな。 ノイズがのっていたり途中の絵が飛んでいたりするのもそのせいか。

テレビアニメ『るろうに剣心』52 話、御庭番衆・蒼紫と葵屋。 "本日、放送を予定しておりました「ヤクルト×巨人」は中止となりました。" って字幕がw 弥彦が体重の軽さを活かして予想以上の活躍。 大鎌を二人がかりで倒し、バカすぎる十本刀はなぜか逃げ、そして巨大すぎる十本刀がどうなるか?

テレビでやってた映画『アラジン』(原題: Aladdin)。 2019 年のアメリカ映画。 ミュージカル。 1992 年の映画の実写リメイク。 基本的にストーリーは同じなのかな。 いや、ちょっとコミカルになっている?

Why is a genie lamp called a lamp when it looks like a teapot? - Quora

へーw

2021/05/21 のコメントを読む・書く


22 (土)

%1 どようび

泌尿器科。 残尿 47ml。 ウーン。 次回 1 年半ぶりにエコーとってみましょうという話になった。

薬局に処方箋を預け、2 か月ぶりの外食。 空いてた。 待つ間にテイクアウトのお客さんが来たぐらい、食べている間に他のお客さん無し。 やっぱこの店はいいな。 (いや大変だろうけど。)

原付のエンジンオイル交換をしてもらった。 1 年ぶりだった。 ついでに店内に並んでいる中古の小型バイクを眺めていたけど、スクーターは山ほど、カブ系も少しあった。 アドレスは見当たらないなと思ったら、一カ所に固めておいてあった。 10 万円台前半から後半だな。 アドレスはともかく、バイク市場は新車の供給が減って中古車価格が上がっているらしい。

多摩センター方面に行く時の新規裏ルートを開拓。 以前から二輪でしか通れない超細い抜け道を使っていたが、たまにそこにたどり着くまでに渋滞に引っ掛かってしまう時があり、何か手はないかと地図を眺めていて発見。 帰りも使える抜け道があるかも知れない。 四輪だと対向車が来ると面倒そうな道幅だから避けたほうが良さそうだな。

テレビアニメ『るろうに剣心』53 話、巨人とセットのちっちゃなやつの話が長いw その間に蒼紫... じゃないや、剣心の師匠が登場なのか。 この師匠の強さは、もはやジョーカーだなw そして剣心対瀬田宗次郎の 54 話。 部屋に入ったあたりから色合いがおかしい。 殺さずの剣心に対して宗次郎の心が揺れる。 実写映画でも確かそんなような描写があったよな。 細かいところは覚えていないんだけど。

古畑任三郎のイチローの回、一度見たが、田村正和の追悼でもう一度放送があったらしく、TVer にあったのを見た。 2006 年か。 ワイドなのはその頃だからか。 古畑任三郎の、コロンボ並みのしつこさ、いいなw

F1 モナコ GP 予選。 やっぱりルーキーには厳しいか。 シューマッハは Free Practice でのクラッシュで予選出走すらできず。 そしてアロンソも Q1 脱落してしまった。 リカルドが Q2 脱落。 移籍組も苦しんでいるのかと思いきや、サインツは好調、意外なところではストロールが Q2 脱落でベッテルが Q3 進出。 まぁ、モナコは F1 開催コースの中でもダントツで特殊なコースだからな。 ベテランもクラッシュすることがあるし。

2021/05/22 のコメントを読む・書く


23 (日)

%1 にちようび

車の点検とエンジンオイル交換と洗車をしてもらった。 7 年半使い続けているバッテリーは指摘無し!w 先週 200km 走ったのがきいたか。 やっぱり、30 分ぐらいの走行でやめてしまうより、1 時間以上走って帰ってきた後のほうが、バッテリーの状態が良い感じがする。 まぁそれはいいとして、冷却水がわずかににじんできているということで、部品交換を提案された。 今の走行距離の増え方だと、今度の車検まで引っ張っても問題ないだろうとのことで、そうすることにした。 部品交換に伴って冷却水も交換になるので、車検ついでのほうが作業としては都合がいい。 もしダバダバ漏れるようなことになれば、早急に対処が必要だが、そうはならないだろうと。 念のため、冷却水の量を前よりは頻繁に点検することにしよう。 まぁしかし、去年のスタビライザーリンク交換の件も含め、他車種との共通部分が少ない特殊プラットフォームの iQ でも、きっちり 10 年超から細々としたトラブルが出始め、それも即座に走行不能になるような致命的なトラブルでないあたり、トヨタらしさが出ていて良いw

きのう見た古畑任三郎が、「フェアな殺人者」、イチロー回。 どうやらその次の日に放送されたのが、「ラスト・ダンス」、スモーカー松嶋菜々子回。 1 時間 40 分! 松嶋菜々子って身長 173cm あるのか。 へぇ。 一人二役だけど、ソファーに座ったシーンでは身長差があるようにも見える。 合成の関係だろうか? 田村正和は身長 172cm、ほぼ同じ。 田村正和って、この古畑任三郎の印象が強すぎて、他の役を思い出せないな。

HP のノート PC、まーた再起動が永遠に終わらなくなり強制電源オフが必要になった。 どうも先月の、時間が掛かる Windows Update が適用されていなかったようだ。 Windows Update の重さには結構イライラさせられており、ちょっとバックグラウンドで負荷があると動画再生すらまともにできなくなる PC だ。 3 万円とはいえ、さすがにイラッとして Debian GNU/Linux をインストールしてみたのだが、なんと無線 LAN アダプターが認識されない。 検索すると最新 Linux にはあるらしく、drivers/net/wireless/realtek/rtw88/rtw8821ce.c のヒストリを見ると、なんと去年の 7 月が最初の commit だ! そりゃ安定版の Debian に入っていなくても何の不思議もない。 新しいにもほどがある。 それと、X 起動するのにどうやら AMDGPU のファームウェアが必要で、入れたらなぜか再起動時に画面がバックライトごと消えたところでハングするようになった。 最初 suspend-to-RAM を試して同様にハングするなぁと思ったが、再起動もだめとなると完全に AMDGPU のせいである。 これも最新カーネルなら大丈夫なのかも知れないが、何とも手間の掛かる PC だ。 SSD そのものは悪くなさそうでインストール中のファイルコピーは軽快だったのが惜しいところだ。

F1 モナコ GP。 きのうの予選はルクレールがトップタイムを出したもののクラッシュしてしまい、今日決勝はなんと懸念されていたギアボックスは無事だったのに、ドライブシャフトの問題が発生したとのことで出走せず。 ルクレールはモナコ国籍の地元だし走らずリタイアはつらいところだろう。 決勝はシケインのコース外走行の black and white flag が出るぐらいで、最初のピットストップまではものすごく何も起きないスムーズなレース。 ピットストップでボッタスがリタイア。 ホイールナットが外れないトラブルなんて初めて見た。 その後もセーフティカー等なし、オーバーテイクもなしw ルーキーみんなそろって black and white flag 出たかなw ノリスも出ていたっけ。

2021/05/23 のコメントを読む・書く


24 (月)

%1 げつようび

テレビアニメ『るろうに剣心』55 話、剣心対宗次郎の続き。 宗次郎の過去。 米問屋に引き取られこき使われた子供時代。 志々雄に遭遇して殺されそうになっていたのか。 宗次郎がなんで最初っから最強の技を繰り出さないのか、不思議に思っていたが、宗次郎にとって剣心は間違っているから、最強の技を使いたくはないっていうのか。 なんであのとき守ってくれなかったんですかはないよな、その場にいなかった相手にw そして 56 話はいつ配信されるのかな?

HP のノート PC にインストールした Debian GNU/Linux, とりあえず buster-backports のカーネルを入れてみた。 すると AMDGPU のハング問題は解決。 Suspend-to-RAM にも成功。 さらに無線 LAN もデバイスドライバーは含まれており、firmware-realtek が古いのが気に入らないようだったので、testing の firmware-realtek を入れてみた。 ら、"rfe 2 isn't supported" ってログが... どうやらそれのサポートは 5.10 に間に合わなかったようで、その buster-backports から持ってきたカーネルがまさに 5.10 系なのだった。 惜しい。 これ以上ぐりぐり凝ったことをするには、Secure Boot を無効にするか何かしなければならない。

とりあえずまぁいいや、ってことで、有線 LAN を使って試しに Mozilla Firefox で動画再生を試みた。 TVer でゆるキャン△ 2 を再生してみると、CPU アイドルが 50% 前後、たまに 20% 前後になるがその程度で極めて安定している。 Windows で試すと 30% 前後から、何かのバックグラウンドタスクで唐突に 0% になりコマ落ちが発生することもあるのとは大違いだ。 YouTube を試してみると、1080p はデコードが全く間に合わない様子。 720p はギリギリ過ぎて少しフレームレートが不安定な感じに見える。 720p でも CPU アイドルは 3% 前後で厳しい。 フーン。

まぁーデスクトップの Windows PC も省エネ Athlon 5350 な上に、クロックスピードを 2.1GHz から 1.1GHz に落としてあるのでめちゃくちゃ厳しいはずなのだが、動画再生の引っかかりがないのはやっぱり A4-9125 と比べるとコア数が倍なのがきいているんだろうなぁ。

%2 きのうの F1

あまりにも何も起きないモナコでぼけーっと見ていて、ボッタスの珍しいトラブルでちょっと注目し始めたせいで、なんでハミルトンが順位を落とすことになったのか理解していなかったのを、今日理解した。 そもそもルクレールがスタートできずで順位はひとつ上がっていて、最初のスティントは上位勢はほとんど順位変動なく進んでいたはず。 そのためハミルトンはガスリーの後ろにいて、ずーっと抜けずにいた。 そこでメルセデス勢はアンダーカットを試みたらしい。 ガスリーはそれにすぐさま反応して次の周にタイヤ交換をしたらしい。 その時に、ボッタスがトラブっていたからあまり映像に映らなかったようだ。

んでハミルトンはアンダーカットに失敗、無線で文句をたれ始めた。 ベッテルはここで引き続きいいペースを保っていたらしく、その後タイヤ交換をして出てきたらガスリーと併走、結局ベッテルがガスリーとハミルトンをオーバーカットした形になった。 きのうのベッテルはドライバーオブザデイもとったみたいだが本当に良い仕事をしていた。 前が開けた時のペースが非常に良かったペレスは、ベッテルとガスリーとハミルトンをオーバーカットしたことになる。 ハミルトンもペレスみたいな戦略のほうが良かった可能性があるが、メルセデスだとタイヤがそこまで持たなかったのではないかとも。

それ以外気になったのはアルピーヌのレースペースが悪かった。 オコンは前についていくことができず、おかげでストロールは硬いタイヤで長いスティントを走り、タイヤ交換しても前に出られるだけの時間を稼ぐことができた。 アロンソも前についていけていない時間帯があった。 角田はアロンソの後ろで詰まっているように見えたが、とにかくきのうはオーバーテイクは非常に少なかったため、事故らなければ OK みたいな感じだったと思う。

ライコネンはうまく上げてきたけど結局ジョビナッツィのすぐ後ろ、ポイント有無の差はあるがまぁ、アルファロメオの位置としてはここなんだろうな。 リカルドはノリスに比べてだいぶ苦労していたなぁ。

ルクレールはかわいそうだったものの、サインツの走りはフェラーリとしてはだいぶうれしい結果だっただろうな。 去年のフェラーリがあまりにもぐだぐだだったから、こんなに生き生きとトップ争いをしているフェラーリを見るのが久しぶりな気がした。 サインツって、トロロッソからルノー、マクラーレンを経てフェラーリに入ったから、実は昔強かったチームを 2 チームも経験しているわけで、地味にその経験が生かせるのかも? ベッテルがフェラーリに入った時はレッドブルの経験だけだったからなぁ。

2021/05/24 のコメントを読む・書く


25 (火)

%1 かようび

HP 14s-dk0000 の Secure Boot を無効にして、最新 stable Linux kernel 5.12.6 のソースコードの drivers/net/wireless/realtek/rtw88/ あたりを展開して、

make -C /lib/modules/`uname -r`/build M=`pwd` modules

でビルドして、カーネルモジュールを差し替えて無線 LAN が使えるようになった。 ふんふん。 確か rtw_{8821c,8821ce,pci,core}.ko の 4 つだったかな? カーネルまわりとファームウェアの変更ぐらいでこのぐらい使えるようになるならまぁいいかな、ホームディレクトリの暗号化とか、フォントとか、いろいろ設定しようか。

テレビアニメ『るろうに剣心』56 話、剣心対宗次郎の続き。 長々と心を揺さぶって、最後は一瞬で決まった。 緋村さんは志々雄さんより厳しいか。 フーン。 そして斎藤一が国の力でアジトに入り込んでいるのか。 宗次郎は志々雄に剣心の技の真実を伝えた上で、志々雄と別れるのか。 フーン。 次回予告がなかったな?

テレビアニメ『るろうに剣心』57 話、志々雄対剣心。 過去の振り返りもたっぷり入れて引っ張るなぁw 実写映画は展開の都合で船の中だったかと思うが、アニメ版ではアジトの屋外に立派な場所ができている。 そして 15 分で決着をつけるとな? 15 分なんて 1 話で過ぎてしまわないか?w 炎が出る刀は実写映画でも出てきた通りだが、噛み技はあったっけ? まだ斎藤一が出てこない。

テレビアニメ『るろうに剣心』58 話、志々雄対剣心の続き。 あーだこーだ言って爆弾爆発? 10 分弱。 そして斎藤一かぁ。 あれ? 剣心も斎藤も倒れる? そうすると左之助が? 腕一本でも負けそうだが... っていうか負けたじゃんw と、そこで蒼紫なのか。 そっか、蒼紫がアジトに残っていたのがきいてくるのか。 なるほど。

テレビアニメ『るろうに剣心』59 話、志々雄戦の続き。 いちいち振り返りが長いのはアニメ製作が大変だったんだろうか。 蒼紫が意外と粘る。 意外と粘って 3 人復活か。 いや剣心以外は見ているだけか? 粘りで 15 分突破して熱の問題ね。 謎理論で高熱のほうがさらに性能アップとなw 佐渡島方治って側近もはちゃめちゃだなw

2021/05/25 のコメントを読む・書く


26 (水)

%1 すいようび

皆既月食だと話題になっていたが、その頃の時間帯に買い物に出てみたら、しっかりとした雲が出ていて星一つ見えやしないw その後、月食は見える時間があったようだ。 近所の国立天文台でも月食は見えたようだ。

新型ウイルスのワクチン接種は、都内では小金井市が進んでいるとのこと。 スクーターで信号待ちの時に横を見たら、小さな整形外科の入口に「ワクチン接種会場」みたいな張り紙があるのを見つけて、おおっ、と思ったのも小金井市内だった。 人口は 12 万人ちょっと、鹿児島県で言えば霧島市ぐらいの人口だ。 面積は 1/50 ぐらいだけどね! 隣接自治体では調布市も府中市もその倍ぐらいの人口で、そのぶん難しさも増すのだろう。 鹿児島県だと鹿児島市がダントツの人口で八王子市並み、2 番目がその霧島市だから、鹿児島市以外は案外サクサク進む可能性もありそう。

都内感染者数のほうは市区町村で見てもちょっとは落ち着きつつある。 1 月みたいな超ひどい数字にはなっていない。 先月、関西方面の状況を見て都知事が多少早く決断してくれたのが一応きいてそう。 大型連休前に緊急事態宣言を出していなかったらと思うと。 しばらく連休がないのが救いではあるが、油断は禁物である。

HP のノート PC の Debian GNU/Linux だが、gparted でパーティションサイズを調整した。 インストールディスクの中身を展開してあったパーティションを消し、rootfs を拡大した。 Ext4 の rootfs も動的にサイズ変更できた。 RAM が 4GiB しかないので、一応 swap のためのスペースは確保してある。 Swap は暗号化する方法があるらしいので、それを設定しようと思うが、パーティションの指定を間違えて悲しいことにならないようにしたい。 たぶん GPT の GUID を使うのがいいかな。 ホームディレクトリ暗号化は最初 LUKS を考えていたが、パーティションを別にするとサイズが足りなくなった時が面倒だ。 今時は fscrypt ってのもおもしろそうだから試してみようかな。

HP のノート PC の CPU (APU) は低スペックな A4-9125 だが、GNU/Linux は意外とサクサク動く感じがする。 Web ブラウザーで YouTube の動画再生してフルスクリーンの切り替えをする時にはかなりもたつくけど、それ以外は割とスムーズに動いている。 少なくとも Raspberry Pi 4 (BCM2711) の Ubuntu MATE よりは速そうだ。 前の ThinkPad X201 (Core i5-560M) よりはどうだろうか? PassMark を見ると確かに BCM2711 はかなりスコアが低く、i5-560M はそこそこ高く、A4-9125 は i5-560M よりは低いが BCM2711 に比べたらかなり高い、みたいな感じ。 なんかこう意外と反応がいいように感じるのは、GPU の世代のほうがきいているかも知れないな。 なお、AMDGPU と無線 LAN は stable そのままだと動かない問題があったが、SSD はもちろんキーボードやオーディオやタッチパッドや有線 LAN も特に何もせずとも普通に動作しておりそこはありがたいところ。 画面の明るさ調整のキーも使えるし明るさ調整もできる。 (なお Debian GNU/Linux のグラフィカルインストーラーではタッチパッドは全然反応しなかったので、テキストモードのほうを使った。)

2021/05/26 のコメントを読む・書く


27 (木)

%1 もくようび

今日は雨で、ここ数日、いや、ここ数週間? の中でかなり気温が低かった。 ストーブなおしちゃったけど、まぁなんとかなった。 そして明日からはまた暖かくなるらしい。 天気予報ではしばらく晴れマークが続くようだから、関東の梅雨入りはもう少し先か?

HP のノート PC の Debian GNU/Linux は、fscrypt でログインパスワードを暗号化キーにしてホームディレクトリを暗号化するのを試してみようかと思っているのだが、それで簡単なパスワードはさすがにまずいから、めんどくさくなるなぁ、と思って調べていて libpam-pwdfile というのを発見。 別のパスワードファイルを使うという代物で、pam の特定のプログラムにだけ設定して使う。 これで画面ロックや sudo なんかだけ簡単なパスワードにする、という手がありそう。 そうすると最初のログイン時だけは難しいパスワードを入れて、その後はログアウトかシャットダウンするまで簡単なパスワードで使う、と。 スリープから復帰時の画面ロックも簡単なパスワードってことになりそうだけど、まぁいいや。

アニメ『スーパーカブ』#7, 冬支度編。 秋だけど。 郵政カブは前の富士山で壊したので終わって CT110 に。 文化祭の荷物運びの手伝いも。 リヤカー引っ張るんか。 出前機も。 シーンには出てこないけど 25km/h 走行か? まぁあと、想像するに現実の道路はそんなに平らじゃないから、結構ガタガタ跳ねるはずだけど、そういう描写もなかったな。 しかしあのオタクは軍手好きだなw

2021/05/27 のコメントを読む・書く


28 (金)

%1 きんようび

昼休みに耳鼻科。 空いてた。 交通系 IC カード対応のセルフ支払機が導入されていた。 アレルギー性鼻炎は、引き続き飲み薬を減らした状態で様子を見る。 やはり季節によって変わることはあるとのこと。 今年は黄砂の影響で花粉症がひどくなる人も多かったそうだが、そういえば自分はそうでもなかったな。 ワクチンの話になったらちょっと長くなったw 何しろ待合室誰もいなかったからなw

テレビアニメ『るろうに剣心』60 話、志々雄戦最後。 まぁ引っ張るなぁw 剣心の奥義は空気も動かす 2 段構えかw そして例の、体を貫く一撃があって、ふたりともぼろぼろ限界で志々雄の熱が限界を超え、剣心はとどめを刺さぬまま役目を果たしたつもりになってから、復活。 やっぱり引っ張るなぁ。 でもそこからは攻撃を何とか受けて耐えている時に志々雄が燃え上がって終わりか。 実写映画もこんなだったっけ?

テレビでやってた映画『スタンド・バイ・ミー』(原題: Stand By Me)。 1986 年のアメリカ映画。 主人公の子供時代の死体発見物語。 線路に枕木がないシーンは違和感あるな。 ちゃんと枕木があるシーンもあった。 たばこはアレだが、スーパーマンが real だとか何とか言っている小学生らしい会話がおもしろいw フランスはたばこの年齢制限ないからな、フランスだと思えば。 フランス系の子供は 4 人中 1 人だったけど。 護身用の拳銃が役に立つのがアメリカ映画らしい。 最後に出てくる PC は IBM PC か!?

%2 Windows の寿命

やっぱり低スペック PC に Windows 10 は厳しいなぁ、と思うことが増えてきたけど、そういえば Windows の各バージョンが世間で使われなくなるまでの期間はどれぐらいだったっけな、とぼけっと考えた。

Windows 3.1 は 1992〜1993 年に登場して、対応ビジネスソフトなんかも多く登場し実用的になったやつ。 Win32s で多少延命できたが、プリエンプションはなく (スレッドが使えず)、通信もパソコン通信ならともかく、インターネット対応はほとんどないに等しく、早々に Windows 95 にアップグレードした人も多そう。 年賀状を印刷するだけみたいな用途なら長く使った人もいるかも知れないが、結局それもプリンターを買い換える時点で対応機種がなくなっていて終了というところかな。

Windows 95 はインターネット対応もしていてそこそこ長く使った人もいそう。 周辺機器も Windows 95 対応のものは 10 年ぐらいは手に入ったんじゃなかろうか。 デバイスドライバーまわりが Me までほぼ同じだったおかげで。 USB がほぼ未対応だったのでちょっと短命だったか?

Windows 98 はいろいろバランスがよくて、普通に 10 年ぐらい使った人がいそうだな。 Windows Update があったけど今みたいに頻繁に更新があるわけではなかった気がする。 Internet Explorer のシェル統合が標準になったので、CPU と RAM の要求スペックはそれまでより高くなっていたかな。

んで Windows XP, これがサポート期間も長くて奇妙なバージョン。 Service Pack で大きめの更新があったこともあり、2001 年の登場時とサポート終了時の 2014 年とでは必要なリソースが全然違った。 まぁーその、1995 年の Windows 95 で web が普及し始め、ダイナミック HTML、Mozilla, WebKit まで 10 年だ。 Internet Explorer が覇者だった頃は停滞していたが、Mozilla と WebKit がそろって web の進化が加速した、ような気がする。 その時代に普及していたのが Windows XP というわけだ。

まぁそれでリソースってのは昔から RAM 容量の影響が大きくて、Windows XP は様々なアップデートでそもそもの RAM 使用量が増えていたのもあるが、web の進化に伴って web ブラウザー (と web サイト) がどんどん RAM と CPU を要求していったんだよな。 10 年前に ThinkPad X31 用のジャンク RAM を買っているが、この頃にはすでに RAM 512MiB を web ブラウザーだけで軽く食いつぶしていたし、1GiB あっても妥協が必要な状況だった。

っていう感じでやっぱり、Windows XP より前と後はちょっと感覚が違うかな。 全体的に世代が進むごとにちょっとずつ CPU と RAM の要求も高くなってきていたけど、Windows XP からはオペレーティングシステムとは違う web 側の要求が重要になってきた感じ。 今は本当に web 中心の世界で、Windows である必要もなくなっている。

まぁオペレーティングシステム側も、Windows Vista は極端に要求が高くなってしまって不評で、7 で多少改善して、8 でさらに軽快になって、という風に思っていたんだけど、根本的には Vista の頃からさほど変わっていない。 相変わらずバックグラウンドタスクは多いし、Windows Update は信じられないぐらい遅い。 大型アップデートで更新履歴の蓄積が一掃されて Windows Update がマシになる、程度。

んで Windows 10 は何度も大型アップデートが来ており、必要スペックも上がってきているのかも知れないな。 大型でなくても、Spectre/Meltdown の件は、投機的実行を行う古い Intel プロセッサ環境では致命的な影響があったように思う。 古いプロセッサが見捨てられたのは Windows 8.1 の PAE 必須あたりがたぶん最後で、それ以降は一応動くんだけど、Windows Update に何時間もかかるのを見ると、まぁ限界だな、って感じはするな。

GNU/Linux のデスクトップ用途はどうかっていうとそれも web 側の要求は変わらないから、必要リソースはだいぶ増えたんだけど、バックグラウンドタスクはあまり増えていない。 HDD 環境だとわかりやすいのだが、GNU/Linux は触っていない時はシーンとしていることが多いのに対し、Windows はドライブの最適化をオフにしていたとしても、放っておくと HDD がガリガリと音を立て始める。 そして GNU/Linux のアップデートは、たいていのディストリビューションではパッケージ単位で行われてかなり速い。 再起動が必要になるのは Windows と同様にあるけど、速いから許す、みたいな世界。

2021/05/28 のコメントを読む・書く


29 (土)

%1 どようび

暑い日。

コストコ行ったらすげぇ人の数。 そもそも交差点の右折待ちの車の列も異様に長かったし。 バイクだから住宅地裏道ルート使ったけど。 駐車場に出入りするだけで何十分も並ぶ人の気が知れん。

ホンダの店行って NC750X の納期を聞いてみると、今なら 7 月分に間に合ってしまうそうで、それが売れると次は秋〜冬か? (未確定) みたいな話であった。 フーン。 試乗は緊急事態宣言期間中は購入をほぼ決めた人に限っているとのこと。 それはまぁいいや。 パニア等の追加装備品は純正をおすすめするが、サードパーティーでも有名メーカー製は店舗から注文あるいは持ち込みでの取り付けも OK とのこと。 怪しい安物になるとうまくつかない場合があるから断っているとのこと。 それこそ自分の今のバイクに付けてもらったエンジンガードがキジマのやつだが、そういうところのパーツは OK だそうだ。 へぇ。

まぁあれなんだよな、純正パニア・サイドケースは色が選べないのがいまいちだと思っているんだけど、サードパーティーもほとんど存在しない、ってのが実情なのかな。 検索していたら、塗装ってのが出てきて、そうか純正を塗装するほうが手っ取り早いのか。 そういう塗装をしてくれる塗装屋さんも存在するらしく、お金で解決できる話のようだw

テレビアニメ『るろうに剣心』61 話、アジト炎上崩壊から感動の再会編。 志々雄側の地獄も登場w 宗次郎は剣心みたいに 10 年さまようつもりか。 斎藤一がしんだ扱いになっているがやつはしなねぇよな? と思っていたら 62 話で斎藤一は出てきたな。 剣心達は船の切符を取り、汽車の見送り。 港は出てこなかったけど、京都なら舞鶴か? いや、明治 10 年頃に鉄道の京都-神戸間が開通したらしいからそれかも。 そろそろ一段落だからテーマ曲変わるかなと思ったけど、63 話もまだ変わらない。 63 話から TV オリジナル編、昔人斬りを繰り返した男の物語。 64 話は弥彦王子、そっくりな王子の身代わり。

『ゆるキャン△ 2』9 話はなでしこ初ソロキャンプ! だが途中で富士宮焼きそばの店に入るまで、まだキャンプ場に着いていないw 並行してしまりんも早川町観光か。 この作品は相変わらずゆるくていいな。

%2 ワクチン

新型コロナウイルスワクチンを接種した人物が毎日採血して「ウイルス抗体価がどのように変化したのか?」を調べデータで公開 - GIGAZINE

元はこのツイートで見た話だが、抗体価の変化を見てみたという人のグラフ。 毎日採血を繰り返すっていう、なかなかつらそうな方法。 抗体価が何かって知識は自分にはないけど、ブースター効果って言っているのはこれかー! という、なんかよくわからんけどすごい、みたいな気分になれる。

2021/05/29 のコメントを読む・書く


30 (日)

%1 にちようび

のんびり。 いい天気だったが午後は何度か雨が降った。

GNU/Linux の X11 日本語入力環境に uim-mozc を使い始めてからもう 6 年ぐらい経つが、入力中や候補選択時のカーソル移動に ダイアモンドカーソル が使えることに今更気づいたw Ctrl-{W,S,D,X} のアレだ。 HP のノート PC はキー配置が本当にひどく誤入力をよくやらかすのだが、バックスペースや Delete キーすら押し間違えやすく、さらにひどい目に遭うので、たまたま誤入力してうっかり Home キーを押してカーソルが動いてしまった時に、押しやすいキーとして GNU Emacs 的に Ctrl-D を押してみたらカーソルが右に進んだことで気づいた。 Ctrl-H がバックスペースの代わりになることには気づいていたが、まさかのダイアモンドカーソルとは。 そしてその流れで Ctrl-G が Delete キーの代わりになっていることがわかった。 へぇー。 Ctrl-Z は全消しなのかな。 uim の全体設定とは違うので、mozc 側がそうなっているのかも。 なお Windows 3.1 で Ctrl-X が切り取り、Ctrl-S が保存なのが主流になってしまったせい (?) で、DOS 時代に広く使われていたダイアモンドカーソルはすっかり絶滅したと思っていた。 Vz や一太郎も対応しており存在は知っていたが、正直ほとんど使っていなかったし、ここ 20 年は対応ソフトを触る機会さえほとんどなかったと思う。 カーソル移動に Ctrl キーを多用するようになったのも GNU Emacs (Mule, Meadow) を使い出した 22 年前頃からだもんな、記憶が正しければ。

%2 HP

HP のノート PC の GNU/Linux をいろいろ使えるように設定。 ホームディレクトリの暗号化に fscrypt を設定。 復号できていない状態では、ぐちゃぐちゃなファイル名が並んで見える。 見えるが書き込むことはできない。 コンソールで設定をして、よしよしと思って再起動して、lightdm からログインしてみると直後にログアウトされてしまった。 コンソールからログインするとちゃんと見えていて、そのまま lightdm からログインすると今度は変なエラーが出て止まってしまった。

lightdm って修復用に端末だけ起動するモードはないのかな。 よくわからなかったので TWM をインストールし、TWM を選ぶとログインはできた。 そこで端末を開いて見てみると、ホームディレクトリと一部のサブディレクトリだけが復号できている状態。 例えば .config ディレクトリの下が見えないので、今時のデスクトップ環境はまともに立ち上がってこない。 なんじゃこりゃ、と思って調べてみるとどうも PAM の設定に問題があるらしい。 とりあえず、関係ありそうな systemd パッケージを buster-backports から持ってきたが、それでは解決せず。 /etc/pam.d/login を見ながら手で以下の設定を /etc/pam.d/lightdm に書き込んだら解決した!

session    optional   pam_keyinit.so force revoke

暗号化 swap は crypttab に書くだけかと思ったら、それは /dev/mapper/swap ができるだけだったので、別途 fstab にも書いた。 Sudo も画面ロックと同じパスワードで使えるように設定。 Mozilla Firefox の設定は、クッキーなど一部を Windows 側の設定から持ってきて流用。 uim-mozc をインストールしてからの設定がいつも手探りだが、去年 Raspberry Pi 4 の Ubuntu MATE を設定したからだいたいわかる。

外観は、フォントの DPI は 125 にして、ポインタのサイズを最大から少し小さいのにした。 あとスクロールバーが使いにくいやつだったので、テーマは TraditionalOk を選択。 フォントは fonts-mplus を入れただけでかなりいい感じになり、端末のフォントは手で M+ 1m regular 13 を選択し、太字フォントを有効に。 fonts-ricty-diminished を入れたら全体がいまいちな感じになったので、それは消した。 フォントの優先度の設定は未だによくわからん。

これでだいたい満足。 自宅サーバー PC には、去年 Ubuntu MATE 用に改造 luit を入れたおかげで、UTF-8 端末なら何でも使える。 Windows でも使えるのだが、Windows Terminal がちょっと物足りない出来だし、Windows Update の不満もあって結局 Debian 入れて満足ってわけだw Rootfs の使用容量は 6.4GiB, ここに linux-5.12.6 のソースコードが 1.2GB 含まれているから、実際はもうちょっと少ない。 前の MUGA ストイック PC2 だとストレージが 31GB しかなかったからデュアルブートにするのは厳しかったが、この HP 14s-dk0000 は 119GB あるので余裕を持ってデュアルブート化できる。 しかもインストール等の作業をしていても特に不満がない感じで動くのを見ると、SSD の性能も悪くなさそう。 そうそう、Windows に比べて suspend-to-RAM が異様に速い。 Windows のハイブリッドスリープがオフでもだ。

例の無理やりデバイスドライバーを組み込んだ無線 LAN は、5GHz 帯が使えていて、iperf で 200Mbps を超える。 小一時間触ってみた感じでは安定性も問題なさそう。

時々キーが押されっぱなしになる事象が起きているのはちょっと気になる。 Raspberry Pi 4 の Ubuntu MATE でも起きるんだけど、USB 接続の Raspberry Pi 4 とは違って、このノート PC のキーボードは PS/2 接続のようなのだが... まさか MATE Terminal の問題か? いや、キーリピートは X11 側の仕事だよな...

2021/05/30 のコメントを読む・書く


31 (月)

%1 フォント設定

GNU/Linux のフォント設定 (fontconfig), M+ になっていい感じと思っていたが、よく見ると monospace まで M+ 1c が使われていて都合が悪い。 それで Ubuntu MATE のほうをどうしたのか見てみたら、Noto CJK を入れてあった。 同じように入れてみたら、例によってすべての UI のフォントが Noto CJK に変わる。 ちょっとごつごつしたフォントでいまいち。 まぁ Ubuntu MATE のほうはそれで使っているんだけどね...

それじゃあ、ってんで fontconfig をいじり、sans-serif に M+ 1c を設定し、確かに設定されたことが fc-match コマンドでは確認できたのだが、なぜか UI が変わらない。 ウーン。 Noto CJK のパッケージが /etc/fonts/conf.d に導入した設定を見ても serif と sans-serif と monospace しか Noto CJK になる設定にはなっていないのに... どうなってんだよ... 意味わからん... そもそも M+ の設定なんて一言も /etc/fonts に入っていないしな。

なんか深く追求するのもめんどくさいので、また Noto CJK を消して (笑), monospace が M+ 1m になるように fontconfig をいじって、これでいいことにした。 インストールすらされていないフォントが使われることは絶対ないからね!

そういえば Windows では web ブラウザー等でメイリオを使っているが、伸ばす音「ー」だけ太かったり、「茨城」という漢字の上下位置がガタガタだったり横線の太さが変だったりと、正直見た目は良くない。 サイズによるんだとは思うけど、とにかく良くない。 そのへんは GNU/Linux で M+ なり Noto なり使っている時のほうがよほどまともに見える。 あるいは昔のビットマップフォントは悪くはなかったんだけど、ディスプレイの解像度が高くなるにつれて厳しくなってきたよねぇ。 17 型ぐらいのブラウン管ディスプレイで 1024x768 ぐらいまでならビットマップフォントは良かったと思う。 M+ だって元は小さなビットマップフォントだったな。 8x16 より小さなビットマップフォントは小さすぎて見づらいから自分は使ってはいなかったけど。

%2 Debian

そういえば自分が Debian を初めて触ってから 20 年が過ぎていた。 初めて触ったのは 2001 年初めぐらいじゃないかなぁ... たぶん。 Omoikane が先だったか、よく覚えていないけどとにかく、インターネット常時接続でない環境で使うために、わざわざ CD-ROM 3 枚組がついてくる本を買ったんだった。 バージョン 2.2。 まぁ apt-cdrom が使えるだけでなくて Debian の基本的な使い方を知るという意味でも役には立ったんだけど、本でいろいろ説明されていた dselect だけはろくに触ることなくここまで来ているw dselect って未だに生き残っているんだよなw

まぁでもあのころはマルチブートで時々使う程度だった気がする。 何しろ 2001 年頃は Internet Explorer 全盛期、Mozilla がやっと使えるようになり始めたぐらい。 GNU/Linux でフリーソフトウェアで固めようと思っても、漢字変換は FreeWnn か Canna だったし日本語フォントもろくなものがなくて、今思えばなかなか厳しい時代だ。 2002 年に大学に導入された計算機システムは Red Hat Linux 7.1 だったから、常時稼働の GNU/Linux を毎日のように使う機会はそっちが最初だったかも知れない。

毎日のように Debian 環境を使うっていうのは 2004 年の研究室配属からだろうな。 研究室の PC に迷わず Debian GNU/Linux を入れて、xkobo... いや、研究にいそしんでいた。 2005 年には自宅で PowerBook に Debian GNU/Linux を入れ、2007 年には中古の ThinkPad X31 を買って Debian を... 2011 年にはファンレス省エネ PC を買って自宅サーバー PC として常時稼働 Debian 環境を構築、さらに中古の ThinkPad X201 も買って毎日 Debian... という感じで今に至る。

IPA フォント (2006 年に FreeBSD で使っているがこの時はフォント単体公開でない) と、2010 年の Mozc の登場が大きいんだよな。 無料日本語フォントは、印刷用であれば PDF を作って Adobe の PDF 表示ソフトについてくるフォントで印刷という技が 2004 年頃にはすでにあったが、画面用は微妙なのが使われていたと思う。 IPA フォントで実用的な日本語アウトラインフォントが手に入り、それに Mozc でそこそこ実用に耐えるかな漢字変換が手に入った。 (有料なら、自分は一太郎 for Linux を買ったので、ジャストシステムのフォントと ATOK があるけど。)

2021/05/31 のコメントを読む・書く


prev, this, next

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

トップ / 日記索引 / 日記 (2021 年 5 月)

Hideki EIRAKU