31-Aug-2007
[h8300h→h8300hn(7)]

cpu_support.Sを読んで、@Csym(ほげふが)なキーワードと、それに対応する変数の型を追っかけているんだけど…よく分かんないのがknl_int_nest(INT)とknl_lowpow_discnt(UINT)とknl_taskindp(W)。

なにがどー分からんのかっつーと。文章にするのが面倒だからソースを引用しちゃおう。


mov.l   @Csym(knl_int_nest), er2        // interrupt nest count
mov.l   er2, er5
inc.l   #1, er2
mov.l   er2, @Csym(knl_int_nest)

mov.l   @Csym(knl_lowpow_discnt), er0   // Is 'low_pow' disabled?
bne     l_dispatch11

mov.l   @Csym(knl_taskindp), er6        // enter task independent mode
inc.l   #1, er6
mov.l   er6, @Csym(knl_taskindp)

INT/UINTが32bitってのはどういうことなんだろう?

$(BD)/etc/sysdepend/app_h8s2212/makerules.sysdependに書いてあるコンパイルオプションは、_CPUTYPE_FLAGS = -mrelax -ms -fomit-frame-pointerだけなので、INT/UINTは16bitなんじゃないかなと思っているのですよ(-mint32が無いとINT/UINTは32bit化しないはず)。

んでもって、INT/UINTが16bitなら、タスク独立部に居るかどうかを示すフラグに32bit幅を割り当てるのもどうなのかと。

コンパイルオプションの類は一応見てから作業してるんだけどねえ…どこをどう間違っちゃったのかなあ…orz

朝昼:いつもの。夕:某かっぱ寿司(某付ける意味が無い)。(21:30)

30-Aug-2007
[h8300h→h8300hn(6)]

$(BD)/include/tk/sysdepend/app_h8s2212/asm_depend.hを直した。

オリジナルは左。なんかムカついて改造したのが右。


(ソース)
stm.l   (er0-er1), @-er7


mov.l   #\vecno, er0
mov.l   #Csym(knl_intvec), er1
mov.l   @(\vecno * 4, er1), er1
jmp     @er1

(ソース)
stm.l   (er0-er1), @-er7

sub.l   er0, er0
mov.b   #\vecno, r0l
mov.w   #Csym(knl_intvec), r1
mov.w   @(\vecno * 2, r1), r1
jmp     @er1

(アセンブル結果)
34:       01 10 6d f0     stm.l   er0-er1,@-sp
38:       7a 00 00 00     mov.l   #0x1,er0
3c:       00 01 
3e:       7a 01 00 00     mov.l   #0xf870,er1
42:       f8 70 
44:       01 00 6f 11     mov.l   @(0x4:16,er1),er1
48:       00 04 
4a:       59 10           jmp     @er1

(アセンブル結果)
34:       01 10 6d f0     stm.l   er0-er1,@-sp
38:       1a 80           sub.l   er0,er0
3a:       f8 01           mov.b   #0x1,r0l
3c:       79 01 f8 70     mov.w   #0xf870,r1

40:       6f 11 00 02     mov.w   @(0x2:16,er1),r1

44:       59 10           jmp     @er1

オリジナルと微妙に動作が違う(E1レジスタの内容が不定になる)というのはあるんだけど、これでちゃんと動くのなら、割り込み要因一つにつき4byteの領域が浮くことに。26要因だったら104byte…ほくほく♪

ついでに、$(BD)/kernel/sysdepend/device/app_h8s2212/icrt0.Sも再修正中。

ステート数とバイト数数えながらチューニングするのって、この辺りのマイコンだったらまだ俺でもできそうな気がする。RISC系な奴は自信無し。

てゆーか、こんな調子では、いつ移植が終わるのかまったく見当が付かない…(多分永遠に終わらず、どこかで放り出しそうな予感)>俺

朝昼:いつもの。夕:妻にお任せ(冷食の明石焼、セロリ、即席スープ)。(21:25)

29-Aug-2007
[h8300h→h8300hn(5)]

とりあえず、以下のファイルへのパッチ

例によって、cd $(BD); patch -p1 < ほんげーふんがー。

一応これで、_CPUTYPE_FLAGS_に-Wall -Werrorを追加してもコンパイルは通るはず。

あとは、一番厄介なcpu_support.Sを何とかしないとね…

朝昼:いつもの。夕:冷食炒飯。(22:25)

28-Aug-2007
[h8300h→h8300hn(4)]

悲しいときー(悲しいときー)

折角修正したのに、gmake cleanとかすると修正したファイルが消されちゃったときー(消されちゃったときー)

どうも、いくつかのファイルは、元となるファイルから関数単位に分割して生成しているらしいので、元を正さない限り永遠にwarningが出続ける罠…orz

朝昼:いつもの。夕:白飯、肉と豆腐と野菜の煮物。(22:30)

27-Aug-2007
[h8300h→h8300hn(3)]

まだまだ続くよー。

とりあえず、icrt0.S, inthdr_startup.S, vector.Sへのパッチと、kernel-rom.lnk, kernel-ram.lnkへのパッチを作ってみた。…と言っても、kernel-ram.lnkは意味が無いんだけどさ。

あとは、cpu_support.Sを直して、C言語な奴をうりうり直せば良いはず。もっとも、それだけで動くようになるとは思ってないけどねー。

utk_config_depend.hを適当にいじって、各種オブジェクトの数を2、USE_HOOK_TRACE=1でコンパイルすると、こんな感じ。RAMも足りないけど、それよりもずっとROMの容量が足りない。必要なオブジェクトに限って有効にすれば、収まるのかなー。

朝昼:いつもの。夕:妻にお任せ(買ってきた寿司)。(21:50)

25-Aug-2007
[h8300h→h8300hn(3)]

icrt0.Sにある、knl_lowmem_top, knl_lowmem_limitのサイズは、4byteのまま放っておく方が良さそうに見えるというのはどうも間違いという気がしている。

こいつらは$(BD)/kernel/tkernel/src/memory.cで、VP型、つまりポインタのサイズで参照しているのだが…H8/300Hのノーマルモードでは、このサイズが2byteとなる。

詳細な説明を書くのが面倒なので表だけで誤魔化すが、ビッグエンディアンにおいてはこんな風に、読み出しサイズを変えてしまうと読み出す値が変わるというアレが起こるのではないかと思う。

endianlittlebig
address+0+1+2+3+0+1+2+3
data(byte)0x780x560x340x120x120x340x560x78
data(word)0x56780x12340x12340x5678
data(long)0x123456780x12345678

リトルエンディアンにおいては、32bit値を書き込んだアドレスと同じアドレスで16bit幅の読み出しを行うと、32bit値の下位側16bitを読み出すことができる。

しかしビッグエンディアンで同じことを行うと、32bit値の上位側16bitを読み出してしまう…つまり、H8/300Hのノーマルモードではアドレスの下位16bitしか有効にならないため、上位側の値なんぞを読み出されても困るという訳だ。

ハムフェア会場にて、以下の品物をげっと。ちょっと出費が…orz

東野電気 θ-777
RTTYマシン。動作未確認だけど、美品…動くと良いなあ。
ICOM FL-100
IC-746用クリスタルフィルタ。9MHz帯用で500Hz幅。
3アマ用の教本
えーと、色々必要となる事情があるんです。色々と。
ローテク電鍵 伝心君・ジュニア
ちょっとしたスイッチとして使うのに便利なんです、この手のアイテムって。
ぺんてる airpen A4ハードウェアセット EA-CS1
会社で使おうかと。

FL-100を早速IC-746に装備してみましたが、これは良いです。確かに混信を抑えて目的の局が聴きやすくなっています。しかし…IC-746の蓋を開けたら虫の死体が出てきたのは正直勘弁して欲しかったです。

なお、FL-102(6kHz@9MHz)の在庫についてお店の人に聞いたら「既に買い尽くされていますので諦めてください」と言われたので、多分そういうものらしいです。しゅーん。

朝:コンビニの弁当。昼:会場内の弁当。夕:白飯、タラコ。(21:35)

24-Aug-2007
[h8300h→h8300hn(2)]

まずは、$(BD)/libにあるアセンブラの類を機械的にh8300hn化。この手のパッチを転がすのはライセンス的にマズい気もするが、進捗を書かなければ狼少年で終わるのも事実なので、とりあえず置く。$(BD)辺りで、patch -p1 < うにゃうにゃ、とでもすれば当たるだろう。

アセンブラ系で残っているのは、とりあえず以下の4つ。ていうか、どれも面倒そうな物ばかり。

ざっと見た限りでは、inthdr_startup.Sとvector.Sは全部書き直し。んでもって、タイマハンドラはここで決め打ちだから…使用するタイマをさっさと決めないとダメ。

icrt0.Sは、h8300s→h8300hnへの修正と、ldc.b #0x07, exrの削除だけかなあ。knl_lowmem_top, knl_lowmem_limitのサイズは、4byteのまま放っておく方が良さそうに見えるし。

cpu_support.Sは、後でゆっくり考えよう(今はやりたくない)。

23-Aug-2007: 朝昼:いつもの。夕:妻にお任せ(スーパーで買ったサラダ、モツ焼き、白飯)。

24-Aug-2007: 朝昼:いつもの。夕:カレーライス(以前作った奴)。(21:30)

23-Aug-2007
[h8300h→h8300hn]

という訳で、ここからが本番…。

22-Aug-2007でいじったファイルは当然h8300h→h8300hnに変更して、_CPUTYPE_FLAGS_も-mhから-mh -mnにする。

電車の中でW-ZERO3[es]片手にH8のPDFをひたすら見ていたんだが、例外(trapあるいは割り込み)で積まれるスタックのバイト数はアドバンスドモードでもスタンダードモードでも変わらない。

jsr/bsr/rts命令で操作するスタックのサイズとか、C言語ならポインタのサイズとかが4→2byteに変わるっていう方が問題。

ざっとmakeした限りでは、以下のファイルで「ポインタと変数のサイズが違いますが、何か?」って文句を言われているから、こいつらは直さないと多分動かない。

これら以外にも、多分まだあるはず。メモリ操作系の関数が大半というのが、すごーく嫌な感じ。あと、ほとんど全てのソースコード中にある、(H8S2212)という文字列は直すなり潰さないとマズいだろうねえ。

正直言って、素直にアドバンスドモード使ってる石をターゲットにした方が良いんじゃないかって気がしてきている。orz

…夏の宿題には多分間に合わないと思うよ?(謎

秋月で売ってるH8マイコンで、アドバンスドモードのノーマルモードの両方に対応してるのは3067Fと3069F。3048Fと3052Fはアドバンスドモードのみ対応。3664Fは散々書いているけど、ノーマルモードのみ。

行き詰まったら、購入を考えてみるか…お金無いけど。(23:30)

22-Aug-2007
[h8300s→h8300h]

H8の説明書とかにあれこれ目を通してみると、どうも秋月のH8/Tiny(3664F)な物はH8/300Hノーマルモード(h8300hn)とやらで動いているらしい。

という訳で、オプションスイッチをいじって動くだろうと思っていたら…甘かった。とりあえず、H8/300Hアドバンスドモード(h8300h)のバイナリを得るところから始めてみる。

$(BD)/etc/sysdepend/app_h8s2212/makerules.sysdepend
_CPUTYPE_FLAGS = -mrelax -mh -fomit-frame-pointer (-msを-mhに変えてる)
$(BD)kernel/sysmain/build/app_h8s2212/{kernel_rom,kernel_ram}.lnk
OUTPUT_ARCH(h8300s)→OUTPUT_ARCH(h8300h)
$(BD)/lib/libtk/src/sysdepend/app_h8s2212/disint.S
.h8300s→.h8300h
$(BD)/lib/libsvc/src/sysdepend/h8s2212/*.S
.h8300s→.h8300h ※utkernel_source/lib/libsvc/build/h8s2212/{makeifex,makeiftd,makeiftk}.plを使うのが筋だと思うが、使い方を調べる時間が惜しかったのでsedでごりごり
$(BD)/kernel/sysdepend/cpu/h8s2212/cpu_support.S
.h8300s→.h8300h
$(BD)/kernel/sysdepend/device/app_h8s2212/icrt0.S
.h8300s→.h8300hに加えて、ldc.b #0x07, exrをコメントアウト

…ってところかなあ。本当はapp_h8s2212じゃなく、適当なディレクトリ名…app_h83664tinyとでも付けて、新しく作るのが筋ではあるんだけどねえ。新しく作れるかどうかが分からんってことで、とりあえず棚上げ。

kernel-rom.motと一緒に得られた、kernel-rom.mapを載せとく。__data_orgの値がh8300sの時は0x00003a50、h8300hの時は0x00003bc0なので、368byte分ROMの使用量が増加している。RAMの使用量は変わっていない。

アドバンスドモード→ノーマルモードへの移行は、多分この程度じゃ済まないはずだと思う。あと、T-Engine Forum公式のビルド環境はgcc 4.1をベースにしているけど、ここでの実験はgcc 3.4.6…同じH8でもスタックフレームの配置が違う、っていう点が気にかかる。

でも本当に動くのかねえ…動かしてみない限りなんとも言えないってのがなんとも。

朝昼:いつもの。夕:白飯、ゴーヤと豚肉の炒め物。(21:25)

21-Aug-2007
[今日も計算だけ?]

昨日の計算値から、各種オブジェクトが消費するメモリを計算してみた

μT-Kernel H8S/2212仕様書をを見ると、割り込みスタックが192byteなので、これは同じ量を確保する。

んでもって、他に確実そうなのは…

この辺りか。

タスクの優先度は32も要らない(32タスクも動かせない)から、レディキューの消費するメモリ量も削減できる。レディキュー内部で使っているQUEUE構造体は1つにつき8byteだと思うので、削れればかなり嬉しいはずなんだけど…とりあえず、そのまま272byteとしておく。

ここまでで、1056byte。残り992byteで、どうにかする。

現実的には、タスク1〜2個、同期用のオブジェクトを1個、割り込みハンドラがいくつか載れば…いいなあってレベルかなあ、これは。

でもまあ、一応μT-Kernelが載りそうだっていう希望は持っても良いのかも。んなもん載っけて何をする/何ができる、については全く分からないけど。

ちなみにメモリ以外にもタイマという悩みの種があったりする…

もう、ね。妄想族モード発動中ってことで。

朝昼:いつもの。夕:焼きそば。(20:40)

20-Aug-2007
[計算だけ]

kernel-rom.mapから、使用しているメモリ量をざっと計算してみた

あとは、この値とutk_config_depend.hに書かれている値を使って、タスクだのなんだのを1つ用意する毎にどれくらいのメモリを消費するかを調べればokかな?

朝昼:いつもの。夕:白飯、スーパーで買った惣菜、炒めたモヤシ、アサリの味噌汁。(22:35)

19-Aug-2007
[俺的μT-Kernel/H8構築メモ]

前に秋月のH8/3664用のgccとか突っ込んだし、これでイケるのかなと思ったので試してみたんだが…どうもh8300-hmsではなくh8300-elfな環境が必要らしい(理由は後述)。

という訳で、まずはh8300-elfな開発環境を構築する。T-EngineフォーラムにもCygwin向けのバイナリとソースコードが転がっているが、なんとなくLinux上で俺環境を作ってみたかったので作ってみた。

binutils-2.17
cd binutils-2.17; mkdir h8300-elf; cd h8300-elf; ../configure --target=h8300-elf --prefix=/usr/local; gmake; gmake install
gcc-3.4.6, newlib-1.15.0
cd gcc-3.4.6; ln -s ../newlib-1.15.0/newlib .; ./configure --target=h8300-elf --enable-languages=c --with-newlib --prefix=/usr/local; gmake; gmake install

前にh8300-hmsなgcc-3.4.5を作った時のやり方では、何故かコンパイル中にtsystem.h絡みのエラーが起きる。理由は分からない。

出来上がったh8300-elf用の開発環境で、Strawberry-Linuxのサンプルプログラム(h8led-0.1-20020706.tar.gz)にLEDのポート修正用パッチを当ててコンパイルしたら、h8300-hmsの時と同じh8led.motが得られた。※サンプルプログラムのh8-3664.xにあるOUTPUT_FORMATは、coff-h8300をelf32-h8300に修正する必要がある。

T-Engine ForumからμT-Kernelのソースコードおよび説明書の類(imp_h8s2212.pdf, utkernel.1.00.00.tar.gz, utkernel.txt)をダウンロードしたら、とりあえず展開。

基本的には説明書(utkernel.txt)の「6. μT-Kernel の構築」に従うことになるが、注意すべき点を以下に書いておく。

環境変数BD
BDに関しては、utkernel.txtの説明に従えば良い。
環境変数GNU_BD
これは、$(BD)/etc/makerules, $(BD)/etc/sysdepend/app_h8s2212/makerules.sysdependで参照しており、h8300-elf-objcopy, h8300-elf-cppへのパスを記述する必要があるようだ(AT91(ARM)でも同様の状況にある)。とりあえず、/usr/local/binにh8300-elf-objcopyが存在するのであれば、export GNU_BD=/usr/localとでもしておけば良いのだろう。
$(BD)/etc/{mkfuncfiles,mkiflib,mktdsvc,mktksvc}
Perlの存在が、/usr/local/bin/perlを前提としているため、/usr/bin/perlな人は要修正。
$(BD)/etc/makerules
TOOL_ORIGIN = "environment" "command line"の行はコメントアウトして、makeする前にexport TOOL_ORIGIN=GNUh8300; export GNUh8300=/usr/local/h8300-elfで環境変数を設定。

h8300-hmsでは、.Sの類(例:libtkにあるdisint.S)がアセンブルできない。という訳で、h8300-elfの環境が必要になる。

あと、超漢字開発環境をインストールしている場合は、環境変数BD, GNU_BDの設定に注意すること。下手をすると、超漢字開発環境でμT-Kernel/H8のソースコードをコンパイルしようとして、おかしなことになる。

こちらでμT-Kernel for H8S/2212のビルドを試した際のログ、およびオブジェクトと共に得られたkernel-rom.mapを置いとく。kernel-ram.mapも得られるが、kernel-ram.lnkには「For this target, RAM version is not available.」という記述があるため、RAM版の存在は無視した方が良さそうだ。

ざっと見る限りでは、カーネルだけの状態で、ROMの消費量が14976(14928+48)byte, RAMの消費量は10104byteかな。H8S/2212のRAMが12224byteだから、余りは…

実は、H8/3664F(ROM 32Kbyte/RAM 2Kbyte)にμT-Kernelが載ったら面白いかなと思ってこんなことを始めてみたのだけど…似たようなCPUと言えど、一筋縄ではいかないものだねえ。

$(BD)/config/sysdepend/app_h8s2212/utk_config_depend.hに最大タスク数などの定義が書いてあるから、これをいじってkernel-rom.mapで示されるメモリ使用量をどこまで減らせるか、というところから始めてみますか。

18-Aug-2007: 朝:寝てた。昼:妻の実家にて。夕:橋本で飲み会。

19-Aug-2007: 朝:寝てた。昼:妻にお任せ(スパゲティ)。夕:白飯、冷凍庫にあった焼鳥、キャベツの炒め物。(21:50)

21-Aug-2007補足:細かい誤字脱字、H8の型番(3664N→3664F)、H8S/2212のRAM容量(12288byte→12224byte)を直しています。

17-Aug-2007
[ふぅん?]
地震注意情報の放送で目が覚めたという同市片瀬5丁目の不動産賃貸業風間武三さん(64)は「直後に津波情報が流れたので誤報だろうと思ったが、市役所に電話をしてもつながらず、不安だった。訂正放送におわびの言葉もなく腹が立った」と話した。

誤報である可能性を認識した上で、謝罪要求ですか。

その要求って、傷に塩を塗る or 揚げ足取り、という行為だよね?

その行為によって、自分の精神の安定以外に、何があるか説明して欲しいな。

15-Aug-2007: 朝:いつもの。昼:ファーストキッチンにて。夕:ミニトマトの炒め物、牛肉とモヤシの炒め物、妻が作ったサンドイッチ。

16-Aug-2007: 朝:寝てた。昼:パンと即席ラーメン。夕:八王子・我飯にて。

17-Aug-2007: 朝:パンと即席ラーメン。昼:マクドナルドにて。夕:カレーライス、焼いたスペアリブ。

Sky's DaughterでIC-746のFAQを見つけたので、リンク張っとく。

英語版だけど、まあ大体この手の道楽をやる人間だったらこれくらいの英語は何とかなるだろうから、何とかなるだろう。

こういうFAQが作られるくらいこの機種が使われている&この機種を使い込んでいる人間が居るという事実には、ただただ驚くばかり。そして、FAQとしてまとめた人達に感謝。

久々に実家近くの公民館へ行って、図書室を覗いたら…図書室のある場所が変わっていたのはともかく、蔵書の少なさにびっくり。

どうも公民館の改装と共に、古くなった本を整理したらしい。まあ整理することに関しては異論は無いのだが…子供向けの科学書、というのがやたらと減っているという事実にかなりショックを受けていたりする。

ぶっちゃけこの辺りのジャンル(子供向けの科学書)って、流行らないのかねえ。コンピュータの基礎とか電子工作の基礎とかってのはまあ俺の趣味丸出しなんだが、その辺りが完全に欠落してるっていう事実は正直かなり痛い。

かといって、有効な対策をここに書けない(思い付かないし)、というのもまた痛々しいのだが。(22:20)

14-Aug-2007
[ぁっぃ。]

14-Aug-2007: 朝:いつもの。昼:吉野家にて。夕:スーパーで買った弁当。

13-Aug-2007: 朝:いつもの。昼:吉野家にて。夕:白飯、焼き鰺、ナスの炒め物(キット使用)。

12-Aug-2007: 朝:寝てた。昼:妻にお任せ(焼いたソーセージ、マッシュポテトのサラダ)。夕:七輪やにて。

11-Aug-2007: 朝:パンを軽くつまむ。昼:特に食べていない。夕:冷食ピラフ他。

これ以前は思い出せない…写真でも撮ってあれば思い出せるのだが。撮ってあったとしても、手元にデジカメ(といってもPHS内蔵のアレ)が無いからデータ取り出せないし、置いてある場所まで取りに行くのも面倒だからパス。

とりあえず、メモ代わりに。

やっぱり一度、音を聞いてみないとピンと来ないんですよね。MFSK16とかPSK31とか。他にも見たことが無いモードがたっぷり山盛りで。

でもこれ全部聴き分けられるだけの自信は無い…MFSK16は脱力する音、PSK31は鈴虫みたいなの、THROBは音叉あるいは聴覚検査みたいな奴とか覚えとけば多分大丈夫だと思うんだけど。

これだけデジタルモードがたくさんあると、固定したハードウェアというよりはDSPなりPC持ってきてうにうにする方が楽っていうのも納得。(21:00)

13-Aug-2007
[そろそろですかねえ…]

rougeで使っている4R080L0(5400rpm)は16-May-2004に、abricotで使っている6Y080P0(7200rpm)は25-Mar-2004に買った物なので、どちらもそろそろ危険水域に入ってきたんじゃなかろうかと。HDDクラッシュの。

どうすっかねえ…Parallel ATAなHDDも絶滅危惧種っぽいしなあ…

正直書くなら、やたらと速いマシンとか使ってみたいんですよね。メモリ激盛りにして。でもすぐに陳腐化するって分かっているので、手を出さないんですけど。

自動車とか無線機の類とかだと、割とそのペースが遅いので手を出す価値もあるんでしょうが…

まあぶっちゃけた話、ジェラシーとか僻みとか、そういう類のアレを彼等に対して抱いているんです。

過去の名機ったって、PCじゃ流石に虚しいだけだしねえ…

でもAlphaとか使ってみたいと思う辺り、矛盾してるっていう自覚はある。

まずはお手軽にできる強化として、マシン達のメインメモリを512Mbyte→1Gbyteに増やしてみた。…といっても、予備として取っておいた部品を全て投入しただけなんだけど(壊れたら後が無いな)。

memtest86を回して一応問題はなさそうだということを確認したけども、DDR266で動いているabricot(SiS651)の方がDDR333で動いているrouge(VIA P4M800)よりも速いというのは、何故なんでしょうかねえ…

夕食メモはばっさり省略。ちょっと今それどころじゃない。(22:50)

07-Aug-2007
[あふ]

「FOREVER BLUE」の交換に関するお知らせ

FOREVER BLUE (buggy version)

…何故か手元にあります、交換対象。まだバグが出せる程遊んではいませんけどね(アクアリウムは、行けるようになったばかりだし)。

説明書のサウンドチームの欄に、めがてんAYAが居てびっくり。

朝昼:いつもの。夕:妻にお任せ(スーパーで買った寿司、以前作って冷凍保存しておいた餃子)。(22:50)

06-Aug-2007
[むう]

暑い…

あまりの暑さに、Fantasy Earth Zeroをマシンにインストールしてしまう。オンラインゲームは一つまで、という俺ルールを破って。

とりあえず、パッドの設定が…GAMECUBEのパッドだとボタン足りない…

なんとなく緊急警報放送について調べているうちに、国民保護に係る警報のサイレン音なんてものを見つけてしまったので、早速聞いてみました。

はっきり言って、緊急警報放送のアレの方が怖いですし、身構えますね。単に、刷り込みが足りないだけという話もありますが。

何故緊急警報放送について調べてたかというと、こいつで使うモデムってどこまで性能が出せるのかなーと思ったから。確か、FSKのキャリア周波数とボーレートの公式ってあったような気がしたんだけどなあ。

とりあえず…

緊急警報放送
mark('1')に1024Hz、space('0')に640Hz…384Hzシフトで、64bps
一般的なRTTY
mark('1')が2125Hz、space('0')に2295Hz…170Hzシフトで、45.45bps(45.45baudと等価)

という訳で、どちらもFSKを使って低速度なデータ通信をしていることに違いは無い。でも何故片方の音は平気でもう片方の音は耐えられないんだろう…

食事メモは明日から再開…(22:40)

04-Aug-2007
[やれやれ…]

root@rouge:/home/uaa# fdisk /dev/hda

The number of cylinders for this disk is set to 9964.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         261     2096451    6  FAT16
/dev/hda2             263        5064    38572065   83  Linux
/dev/hda3   *        5066        9870    38596162+  83  Linux
/dev/hda4            9871        9964      755055   82  Linux swap

Command (m for help): 

Slackware-10.0が入っているのが/dev/hda3。Slackware-12.0が入ってるのが/dev/hda2。swap領域を増やしたいんだけど…/dev/hda2を潰すしかないらしい(苦笑)。

という訳で、ぽちっとな。


root@rouge:/home/uaa# fdisk /dev/hda

The number of cylinders for this disk is set to 9964.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         261     2096451    6  FAT16
/dev/hda2             263        1010     6008310   82  Linux swap
/dev/hda3   *        5066        9870    38596162+  83  Linux

Command (m for help): 

とりあえず、6Gbyteくらいあれば大丈夫でしょう…当分は。Slackware-12.0はインストールし直しだけど、しゃーないです。

旅行先に置いてあった新聞で見たのだけど、なにやら「地デジ完全移行に向け簡易チューナは5,000円以下に」だそうで。

おそらく、NTSCコンポジットビデオ出力だけ出して、とりあえず映りゃいーぢゃん的な物になるんでしょうね…画質や音質は重視しないので、今のアナログ放送並の著作権管理も是非お願いします。

06-Nov-2005の日記の続き。hp56(純正インク)のカートリッジがやっと空いたので、早速詰替インクを入れてみましたに手を出すことができるようになりました。物は、アクティス・オカモトのE-inkです。

とりあえず、手順は説明書通りで大丈夫です。インクの残量表示は無視するとして…テスト印字は問題無し。

さてと、互換品(?)のお手並み拝見といきますか。

細かく書いてる時間が本当に無いので手短に書きますが…多分、日本人には「放射能」や「核」という言葉に、アレルギーを持っているのではないかと感じています。

原子力発電所で使っている物とは異なり、生化学用の半減期が非常に短いものではありますが、一応その手の物質を実習で扱ったことがあります。

ぶっちゃけた話、確かに気分の良い物ではないです。GMカウンタがバチバチ言ってるくせに目に見えないんですから、気持ち悪いですよ。

ただ、それを実際に使わざるを得ない状況がある以上、仕方無く使っているのもまた真実なんですよねえ。

その辺りのバランスというかなんというか、言葉を聞いて「それイクナイ」って思考停止してるのが一番危ないって気がするんですよ、なんとなく。

食事メモは省略、っていうか外食続いたし…(23:30)

01-Aug-2007
[あらら…]

AMラジオの特別番組をQT-MPA10で4時間ほど録音して、得られたMP3ファイルを適当に加工してみようとすると、なんとメモリ不足で編集できない。Windows上のGoldWaveでも、Linux上のSweepでも。

Windows機はHDDの空き容量がアレだし、Linux機はswapの容量が768Mbyteしか取ってないし、どっちのマシンも512Mbyteしかメモリ載せてないってことで、自業自得なんだけど。

QT-MPA10は、AMチューナがモノラルであるにも関わらず、AM放送をステレオのMP3で録音してくれるのが非常にムカつくのです。という訳で、

なんてことをしてます。

大抵はPCMエディタ上でデコード+モノラル化+編集ができるのですが、今回はデコードの段階でサイズを小さくするように仕向けないと駄目でした。

Dual/Quad-coreの64bit CPUで、4Gbyteくらいのメモリを載せた環境があれば、この手のデータを快適に扱えるんでしょうけど…現状では、手元のDDR SDRAMを総動員したり、swap領域を増やすくらいしか手段が無いようです。はあ。

IC-746で使用可能な、IFフィルタに関するメモ。てゆーか説明書から丸写し。

9MHz向けのフィルタは、標準装備のFL-272(2.4kHz)に加えて、空きソケットが2つある。以下のフィルタから、お好みの物を選択しよう。

455kHz向けのフィルタは、CFJ455K(2.4kHz), SFPC455G(9kHz), SFPC455E(15kHz)がデフォルト。空いている1つのソケットを、以下のフィルタで埋められる。

ICOMのQ&Aには他にもFL-102(6kHz@9MHz)なんて物が存在することが示されているんだけど…IC-746の説明書にはこいつに対応してるとは書かれてないんだよな。なんとなく、単純にファームウェアが対応していないだけというオチで、画面表示と実態が合わないだけで使用には問題ないとかそういうレベルの話だとは思うんだけど…IC-R75+FL-102という組み合わせもあるみたいだし。

とりあえず、CWフィルタを装備したリグを使ったことが無いので、入門用に何か一つは入れてみたいと思う…FL-100か、FL-232辺りが候補となるんだろうな。同じ帯域幅なら9MHz用より455kHz用のを載せる方が良いらしいので、FL-52Aを載せられればベストなんだろうけど…高いし。

International Radioの互換品(?)はちょっと微妙だよなあ…価格的に。

01-Aug-2007: 朝:コンビニでおにぎりとパン。昼:玉子屋の弁当。夕:酢豚(キット使用)、白飯。(23:15)