30-Nov-2025
[空の軌跡 the 1st、一周目終了。]

WindowsXP版で遊んでいたことがあるので、一通りのストーリーは知っています。なので、第2章の学園潜入ミッションは制服着せたいですよねということでデジタルデラックス版を買うことにしたのですが、Steam版はシーズンパスおよびデジタルデラックス版の配信が事情により遅延中だったため発売日当日に手にすることができませんでした。数日程度の遅延で済んだとはいえ、これだけは残念です。

20251130/t20251013180707_1.jpg

難易度はNormal、女王陛下救出時のロランス少尉戦で勝ててしまったのでラスボスもエステル・クローゼ・シェラザード+ヨシュアで挑みました。一周目クリア特典の追加衣装があるのと、データ引き継ぎができるので二周目も始めています(難易度はNormalのままですが敵Lv+50は追加しました)。果たして二周目も勝たせてもらえるのか、ラスボス戦のメンバーを誰にするかは悩ましいところです。

そういえば、WindowsXP版と比べて補助系アーツの使い勝手が随分良くなっているような気がします。比較してみたいところですが、流石にWindowsXP版を引っ張り出してインストールするだけの気力はありません。物語を「あの部分」で終わらせているのはきちんと準拠していて、あとはthe 2ndに期待です…どれだけ待たせるのかも含めて。SCの時は2年近く待ちましたからね、モヤモヤを引きずったまま。56.6kg(23:30)

22-Nov-2025
[城山湖の水、抜けています]

久々に車を走らせて城山湖へ行ってみたら、これでした。

timg_20251122_150826_333.jpg

水を抜くのは、2010年2018年以来と思っていましたが…2023年にも行われていたというblog記事YouTube動画もあります。メンテナンスの周期が短くなる程度には、城山湖もあちこち痛んでいるのかもしれません。

今日はタイヤを交換した車の試走目的でふらっと出かけただけなので、今回の工事の説明に関する看板までは撮っていません。工事の目的や期間を知るために、もう一度見に行けると良いのですが。58.0kg(23:00)

30-Nov-2025補足:23-Nov-2025にちょっと見てきたのですが、発電所入り口にあったこの看板の工事によるものかもしれません。

timg_20251123_100209_245.jpg

来年の3月中旬くらいまで「城山(発)2号調整ゲートの修理工事を行っています」とのことなので、もうしばらくは水の抜けた城山湖を見ることができるのでしょうかねえ。

15-Nov-2025
[こうか…?]

CQ ham radio Sep/1981の「アクセプト区間を工夫した メモリー付きエレキー」(JA4DWQ)に基づいた、汎用CMOSロジックICを使ったキーヤーの製作(JI1CSH)を見て…plain-avr-keyerをこんな風に修正し、keyer-testに食わせてみました。


uaa@framboise:~/z/keyer-test$ ./keyer-test /dev/ttyU1
wait for device...
device ready

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> a
* dit/dah length
dit: on=1187, off=1170, on/off=1.015
dah: on=3545, off=1170, on/off=3.030
dah/dit: 2.987
dit: total=2357, total/on=1.986, total/off=2.015
dah: total=4715, total/on=1.330, total/off=4.030
dah total/dit total=2.000
* simple
dit 1- 1/ 4     .
dit 1- 5/ 4     ..
dah 1- 1/ 8     -
dah 1- 9/ 8     --
* dit/dah memory (non-squeeze)
dit -> dah  1/ 4        .
dit -> dah  3/ 4        .-
dah -> dit  1/ 8        -
dah -> dit  4/ 8        -.
* dit/dah memory (squeeze)
dit on, dah  1/ 4       .
dit on, dah  3/ 4       .-
dit on, dah  5/ 4       ..
dit on, dah  7/ 4       ..-
dah on, dit  1/ 8       -
dah on, dit  4/ 8       -.
dah on, dit  9/ 8       --
dah on, dit 12/ 8       --.
* squeeze
dit + dah  1/12 .
dit + dah  5/12 .-
dit + dah  8/12 .-.
dit + dah 17/12 .-.-
dit + dah 20/12 .-.-.
dah + dit  1/12 -
dah + dit  6/12 -.
dah + dit  7/12 -
dah + dit  9/12 -.
dah + dit 11/12 -.-
dah + dit 21/12 -.-.
dah + dit 23/12 -.-.-

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> x
uaa@framboise:~/z/keyer-test$

dit/dash memory(non-squeeze)の結果を見るに、意図した通りの動作(長点メモリは短点送信後のブランク期間のみ、短点メモリは長点の後半1/2〜長点送信後のブランク期間)になっているように思われます。このCQ誌のキーヤーや、それを元にしたと言われているらしいDAIWA DK-200/DK-210が同じような結果を示すかどうかは、ちょっと気になります。

国会図書館に複写申込を出していたキーヤーの記事、届きました。B5サイズの雑誌なのでB4サイズの紙に見開きでコピーされているのは当然として、若干縮小された状態になっているのはそういうものなのでしょうか?(A4まではいかなくてもそれに近いサイズになってしまっています)。ざっと内容を確認する目的は果たせますが、記事中のプリントパターンをそのまま使って基板を起こすことは難しそうです。

A Digital CMOS Iambic Keyer(N9BQ)と比較してみると、

【JK1DLQキーヤー】

【N9BQキーヤー】

となるのでしょうか(ロジックICで組まれた回路図を真面目に読むのってこれが初めてかも、正しく読めている保証はありません)。

full-inhibitとは符号の後の1短点分の時間は同じ符号の入力を禁止するという動作で、この他に3/4-inhibit(3/4短点分の時間は禁止)、inhibitなし(符号を送出している間のみ同じ符号の入力を禁止)という実装もあったようです。マイコンを使用したエレキーだと、full-inhibitよりも3/4-inhibitを実装する方が面倒そうですけど。

JK1DLQキーヤーはN9BQキーヤーの派生ではないかと想像していましたが、これは逆で、N9BQキーヤーの方が後(QST Jun/1982)に登場しています。細かい部分に違いはありますが、どちらも同じような動作をするキーヤーであるように見えますので、既に手元に基板のあるN9BQキーヤーを組み立てれば十分なのかもしれません。57.1kg(23:25)

09-Nov-2025
[とりあえず]

無人航空機操縦者技能証明書(二等、限定事項:マルチ・25kg・昼間・目視内)を受け取って、懸念事項となっていたドローンの件は一旦ここで一区切り。腕を鈍らせないよう、何かしら飛ばしたいものではあります。

電信の受信練習は牛の歩みよりも遅いんじゃないの?というくらいのんびりやっています。欧文で1/J、和文でヲ/ヤの受信間違いが最近多いので、これに対処する必要があります(欧文でのJ/Wの取り違えは今のところ無さそうですが、和文でやらかしているので欧文で同じような問題を起こす可能性は高そうです)。

14-Jun-2025で触れた、コッホ法における和文での文字を覚える順番…「どの順序を使うかは重要ではありません。」ということですし、結局は必要とする符号は全て覚えないといけない以上、今はこんな順番で覚え直しをやっているところ(まだ途中)です。

コソネフケニマハレリワホヤナウラヲツロカノチクヌ

23WPMでいきなりヘ/゛を持ってこられても書くのが追いつかないのと、フ/ネの区別が怪しかったのでここを徹底してまずは練習したい…という理由により、22-Oct-2025で分類した4要素の16文字を確実に押さえつつ、3要素の8文字を混ぜてみた感じです。ここがしっかりできるようになったら2要素と1要素のものを入れて、30文字をまずはモノにしようかと。その後5要素・6要素物の攻略で。

Arduinoでエレキー的な動作をするプログラムも作ってみたことだし、ということで送信の練習もそろそろ始めたいところです。とはいえ、短点長50ms(PARIS 24WPM)の設定ではS/H/5の打ち分けができません。Hを打とうとするとSか5になってしまうので、本当に難しい。短点を何回送信したかをきちんと認識できていないのが原因だと思うのですが、どうしたものでしょう。56.4kg(23:45)

06-Nov-2025
[TAM-KEYER102のナゾ]

keyer-testでTAM-KEYER102の動きを見た際に、短点のon/offの比率が1:1ではないのが気になったのでちょっと調べてみました。まずは、スピードのつまみを適当に回してデータを取り、横軸をPARIS WPM、縦軸を短点off長÷(短点on長+短点off長)に変換したものをプロットしてみます。

1024.png

速度を上げると短点offの割合が随分と上がっていくのですが、6WPM時に0.505を示すことから、(200+2)÷(200×2)…key onの時間を2msだけ縮めている可能性を考えました。という訳で、2ms縮めた際の理論値との比較。

20.png

1.9msだと、こう。

19.png

2msとしたいところを、マイコン側の都合で1.92ms辺りになってしまったとかそんな感じなのでしょうか。それはともかく、なぜこんな作りになっているのかが気になります(なお、長点送信後の1短点分の空白についても短点送信時と同じ長さになるため、長点はほんのちょっと短くなります)。55.7kg(21:45)

03-Nov-2025
[なるほど]

昨日の続き。タイマの使い方に問題があるために(ということにしておく)短点の長さが揺らぐことで、keyer-testでは短点と正しく判定されないという問題でした。コードを直して、こんな感じ。


uaa@framboise:~/z/keyer-test$ ./keyer-test /dev/ttyU1
wait for device...
device ready

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> a
* dit/dah length
dit: on=1186, off=1171, on/off=1.013
dah: on=3545, off=1171, on/off=3.027
dah/dit: 2.989
dit: total=2357, total/on=1.987, total/off=2.013
dah: total=4716, total/on=1.330, total/off=4.027
dah total/dit total=2.001
* simple
dit 1- 1/ 4     .
dit 1- 5/ 4     ..
dah 1- 1/ 8     -
dah 1- 9/ 8     --
* dit/dah memory (non-squeeze)
dit -> dah  1/ 4        .-
dah -> dit  1/ 8        -.
* dit/dah memory (squeeze)
dit on, dah  1/ 4       .-
dit on, dah  5/ 4       ..-
dah on, dit  1/ 8       -.
dah on, dit  9/ 8       --.
* squeeze
dit + dah  1/12 .-
dit + dah  5/12 .-.
dit + dah 13/12 .-.-
dit + dah 17/12 .-.-.
dah + dit  1/12 -.
dah + dit  9/12 -.-
dah + dit 13/12 -.-.
dah + dit 21/12 -.-.-

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> x
uaa@framboise:~/z/keyer-test$

simple, dit/dah memory(squeeze), squeezeのテスト結果は10-Aug-2025のMX-K2の結果と一緒、と言って差し支えないと思います。plain-avr-keyerのREADME.mdも書いて、この件は一旦置くことにしますが…keyer-test/keyer-test-arduinoのREADME.md、どうしましょう?55.9kg(23:35)

02-Nov-2025
[作ってみないと分からないものですね…]

04-Mar-2004にある、エレキーの実装に関する話。

CQ ham radio Jun/1980 p.283「消費電流30μA〜送信機のキーイング極性を気にしないで使用できるCMOSエレキー/JK1DLQ 久保田 徹」の切り抜きを持っていたのですが、引っ越しか何かのドタバタでどこかへやってしまったのかいくら探しても見つかりません。仕方が無いので、国会図書館に複写申込を出しました。

とはいえ、複写物が届くのをぼーっと待っているのも時間が勿体ないので、引用していたフローチャートに従ってArduino上での実装を試みました。コードが書き上がったばかりで、READMEの記述は全然間に合っていません…keyer-test(04-Aug-2025)のドキュメントも未だ書いていなかったりしますが。

コードを書き動作を試したことで分かったのですが、これ、Iambic-Bの実装です(フローチャートを見りゃ分かるだろ、と言われそう)。パドルから手を離していても長点ないし短点メモリの内容が残っていればそれを送信して動作が停止する→つまり、スクイーズ操作後にパドルから手を離すと一つ余計な符号が出てしまうのは当然のことなのです。

だとしたら、Iambic-Aの実装はどう行えば良いのか?長点ないし短点の送信後、パドルの押下が一切行われていない場合は長短点メモリの内容をクリアする、という処理を入れれば良いのでしょうか。

パドル操作の検出も、GPIO割り込み+タイマによるポーリングの二段構えになっている部分は改良の余地があります。250μs周期ならGPIO割り込みを使う必要は無さそうですし、GPIO割り込みを使うならタイマの動作は符号の送信中に限定する方が省電力になりそうです。

今回はyack-arduino(ATTiny45→Arduinoへの移植)とは逆のアプローチで、Arduino化していないAVRでも動かせるようWiring APIを敢えて使わずに記述しています。そうすると、byte型もunsigned charに直さないといけませんね。

早速手を入れて、keyer-testにかけてみると…


uaa@framboise:~/z/keyer-test$ ./keyer-test /dev/ttyU1
wait for device...
device ready

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> a
* dit/dah length
dit: on=1438, off=1421, on/off=1.012
dah: on=4204, off=1563, on/off=2.690
dah/dit: 2.924
dit: total=2859, total/on=1.988, total/off=2.012
dah: total=5767, total/on=1.372, total/off=3.690
dah total/dit total=2.017
* simple
dit 1- 1/ 4	.   
dit 1- 4/ 4	.-  
dit 1- 5/ 4	..  
dit 1- 6/ 4	-.  
dit 1- 7/ 4	..  
dah 1- 1/ 8	-   
dah 1- 9/ 8	--  
* dit/dah memory (non-squeeze)
dit -> dah  1/ 4	.-  
dah -> dit  1/ 8	-.  
* dit/dah memory (squeeze)
dit on, dah  1/ 4	.-  
dit on, dah  5/ 4	.-. 
dit on, dah  6/ 4	..- 
dah on, dit  1/ 8	-.  
dah on, dit  5/ 8	--  
dah on, dit  6/ 8	-.  
dah on, dit  9/ 8	--- 
dah on, dit 10/ 8	--. 
* squeeze
dit + dah  1/12	.-   
dit + dah  2/12	--   
dit + dah  4/12	--.  
dit + dah  5/12	.-.  
dit + dah  7/12	.--  
dit + dah  8/12	--.  
dit + dah  9/12	.--  
dit + dah 10/12	---  
dit + dah 11/12	.--  
dit + dah 13/12	.-.- 
dit + dah 17/12	--.--
dit + dah 18/12	.-.-.
dit + dah 21/12	--.--
dit + dah 22/12	.-.-.
dit + dah 24/12	--.--
dah + dit  1/12	-.   
dah + dit  6/12	--   
dah + dit  8/12	-.   
dah + dit  9/12	-.-  
dah + dit 13/12	-.-. 
dah + dit 16/12	-.-- 
dah + dit 17/12	-.-. 
dah + dit 18/12	-.-- 
dah + dit 19/12	-.-. 
dah + dit 21/12	-.-.-

menu:
a) do all tests
0) check dit/dah length
1) check simple timing
2) check dit/dah memory (non-squeeze)
3) check dit/dah memory (squeeze)
4) check squeeze
c) calibration
v) verbose output on
x) exit
-> x
uaa@framboise:~/z/keyer-test$ 

※DOT_TICKはオリジナルの状態(300)から少し増やした、400で試しています

なかなか不思議な動きをしています。simpleのdit 1-4/4, 1-6/4は絶対に「-」があってはいけないはずなのですが、これは一体??55.8kg(23:45)