29-Nov-2007
[むう。]

tray2fileの逆を頼まれているので、その作業を始めようとしているのだけど…実はこっちの方が大変(あっちの方が楽)かも、とTADデータ列を見て思うのであります。

省メモリとかコードの美しさとか考えずに(いつも考えてないとか言われそうだが)、ずばーんとやっちゃおうかなあ。

日経ソフトウェア2008年1月号の特集は、普通の入門記事でした。

個人的には、読者限定freescale 8bitマイコン評価キットセットが税込み\6k(ただし送料は別)というのが気になります…って、おまけが無くてもこの値段だから慌てて手を出す必要は無いのかも。

まずは、手元のH8/3069Fを何とかしましょうねー>俺

朝昼:いつもの。夕:ピザ。(23:00)

28-Nov-2007
[えー]

日経ソフトウェア2008年1月号の特集って…一度どんな物か、本屋で立ち読みくらいはしておきましょうか(まだ見てすらいない)。

プロとアマチュアの境界が薄くなりつつあるという現実を完全に無視していると思いました。

あと、「プロのコンテンツが王様」だそうですが…こういうこと言ってる人をどうやってステージから引きずり降ろすか、本気で考えたくなりました。

朝昼:いつもの。夕:妻にお任せ(COSTCOで買ってきたカレーとパン)。(22:00)

27-Nov-2007
[多分こうかなー]

H8用簡易モニタをh8300-elf-as(binutils-2.17)でアセンブルしてみるテスト

吐き出されたload3069.exeを、h8300-elf-objdump使ってセクションの位置を目視した程度のチェックしかしてません。当然ですが、実機での動作は全然未確認。

.mondataと.uservecにallocatableな属性が付いているのは、h8300-hms版と同じような.motを吐き出したかったという理由によるものなんですが…なんとなく、allocatableな属性なんか無くたっておk、という気がします。

なお、アライメントの関係で、h8300-hms版と若干異なったバイナリになります。

…早くボードを組み立てて、実機でのテストをしたいのですが。

朝昼:いつもの。夕:白飯、唐揚、野菜スープ。(23:20)

26-Nov-2007
[本当は他のことをしないといけないんですが]

現実逃避に、H8用簡易モニタをビルドして遊んでます。

手元にあるbinutils-2.16.1のh8300-hms-asだと何故か

andc.b #~hoge, ccr

こいつをうまくアセンブルできない状況が発生しています。正確には、hogeが0x00〜0x7fまではokで、hogeが0x80〜0xffだと駄目っぽくて。という訳で、

andc.b #(~hoge):8, ccr

みたいな形でごにょごにょしました。()は余計な気もしますが、なんとなく。

ついでに、binutils-2.17以降ではh8300-elfしか対応してやんねーぞということらしいので、そっちへ移行させようかと試行錯誤中。

.bssに配置されるはずの物を何故か.textに配置しちゃうというポカは直したとして、割り込みベクタがなんか.motファイルに出力されてないな…って、一体何やってるんだろうね、俺。

朝昼:いつもの。夕:野菜スープ、白飯、焼売、納豆。(22:05)

とりあえず、h8300-hms-as(binutils-2.16.1)でアセンブルできるようにするためのパッチ(ったって、上に書いてある修正を加えただけなんだけどさあ)を転がしとく。一応、同一の.motを吐き出していることは確認したけど…使うのは自己責任ってことで。(23:05)

25-Nov-2007
[おかげさまで]

酒宴、ランク10達成です。

Skill Up!!

でもその先があるんですよね…ランク15まで。

next: 10/10000

職業によっては優遇スキルにならない(つまり、ランク10が上限になる)ので、ここまで来れば大体困らないのですが…やっぱ目指さないとダメっぽいので、そうしてみます。

酒代、どうやって工面しましょうか…(悩)

ちなみに、ジョーの沈没日記でエレナの手料理渡した人ってのがここで日記書いてたりするんですが…あの料理、世界周航レースで渡されるものだったりします。

もうちょい気の利いたやりとりができれば良かったんですがねえと反省…

24-Nov-2007: 朝:寝てた。昼:なんだっけ?夕:思い出せない…

25-Nov-2007: 朝:妻にお任せ。昼:適当に。夕:何か作った気がする。(22:25)

23-Nov-2007
[HDD交換〜]

手狭になってきたのでrougeのHDDを、DiamondMax 16 4R080L0(80GB)からBarracuda 7200.10 ST3250620A(250GB)に交換。出費が…orz

データの移動は、例によってCD-ROMから起動したLinuxからdd if=/dev/hda of=/dev/hdbで。5400rpm物から7200rpm物に変わった割には、あんまり速くなった気がしないんですが…orz

とりあえず、Slackware-12.0を突っ込む余裕はできたので、今度こそ移行したいのですが…orz

押し入れの中とか本棚の上とかの埃を払って、照明器具も拭いたので、次は窓掃除…

朝:パン。昼:マクドナルドにて。夕:府中のらいおんらーめん。(22:05)

22-Nov-2007
[で、結局]

K-168 AKI-H8/3069FフラッシュマイコンLANボードにしてみました。マザーボードとLCDモジュールを付けた時のお値段が一番安かったのと、2MbyteのRAMが付いてるみたいなので。

H8/3664キットを買ってから遊ぶまで相当時間がかかってますので(4年も放ってたのか>俺)、多分これで遊び始めるのはかなり先のことになると思います。そろそろ大掃除とか始めないと、寒くてできなくなるし。

FDD用のゴムベルト(85TB-3EJP, ι186×0.4×2.8mm)も買ってきましたので、A1-ST/GT共に交換しておきました。フォーマットも通るみたいなので、どっちも大丈夫でしょう。

ゴムベルトの交換程度では済まないレベルでFDDが壊れた時のことを考えると、SVD(Semi-Virtual Diskette)のようなものがMSXにも必要なのかなーという気がしています。要するに、ディスクイメージをRAMに格納して、FDDのインタフェース経由で読み書きしようぜというフロッピーディスクドライブもどきって奴です。

ぃゃこれ、こういう物が実在するという話を聞いて結構びっくりなんですけど<SVD

一応書いておきますが、本来の目的を忘れて秋葉をふらふらしていた訳ではありませんから、御安心を>って誰に

朝昼:いつもの。夕:白飯、鍋物。(22:20)

21-Nov-2007
[おぼえがき]

秋月に売ってるH8キットで使われている石について、簡単にまとめてみる。実際に持ってるのはH8/3664Fだけなので、他のは合ってないかもしれないけど。

ボード名 動作クロック 対応モード ROM容量 RAM容量 割り込みベクタ数
K-159 AKI-H8/3664F(QFP)タイニーマイコンキット 16MHz ノーマルモードのみ 32k (0x0000〜0x7fff) 2k (0xf780〜0xff7f) 26
K-855 AKI-H8/3694F(QFP)タイニーマイコンキット 20MHz ノーマルモードのみ 32k (0x0000〜0x7fff) 2k (0xf780〜0xff7f) 26
K-3 AKI-H8/3048Fマイコンボード 16MHz アドバンストモードのみ 128k (0x000000〜0x01ffff) 4k (0x0fef10〜0x0fff0f) 61
K-205 AKI-H8/3052Fマイコンボード 25MHz アドバンストモードのみ 512k (0x000000〜0x07ffff) 8k (0x0fdf10〜0x0fff0f) 61
K-8 AKI-H8/3067F超高性能マイコンモジュールボード 20MHz ノーマルモード, アドバンストモード 128k (0x000000〜0x01ffff) 4k (0x0fef20〜0x0fff1f) 64
K-1386 AKI-H8/3069Fマイコンボードキット 25MHz アドバンストモードのみ 512k (0x000000〜0x07ffff) 16k (0x0fbf20〜0x0fff1f) 64

なんか動作モード多すぎで、まとめるのが嫌になってくる…とりあえず、H8/3048Fが基本に据えられているように見えなくもない。

とりあえず、目的に応じて、目的が無ければ好み(必要な電源電圧とか、ROM/RAM容量とか、クロック)で選べば良いに違いない。

…ということに、1時間以上かけて調べている俺って、なんなんだろう。あんまり暇じゃねーんだけどな。

朝昼:いつもの。夕:白飯、野菜と鶏肉の炒め物、スーパーで買った惣菜。(21:35)

20-Nov-2007
[なんてこったい]

久々にFS-A1GTの電源を入れてみたら、FDDのベルトが劣化しているらしく、FDDが動かない。

FS-A1ST/GTのFDDベルトと言えば千石電商なんですが…会社帰りにそこ寄って、帰った後にベルトが劣化していたという事実に気付くともうね、ヘコむヘコむ。

ところで。

drink!

大航海時代Onlineの酒宴スキル上げ、ちょっと挫折しそうです。このためだけに、翻訳家やってるのに…

酒宴スキルについて簡単に書いておくと、ひたすら酒類交易品を船員に飲ませるという、実に簡単なもの(そこ、駄目人間言わない!)。でも、何故か艦隊の行動力やら疲労度やらを回復してくれるので重宝するのです。たまに混乱するけど。

言語学も行き詰まってきたしなあ…これからどうしよう。

19-Nov-2007: 朝昼:いつもの。夕:焼きそば。

20-Nov-2007: 朝昼:いつもの。夕:白飯、納豆、鮭と野菜の汁物。(21:50)

18-Nov-2007
[特に意味は無いんだけど]

なんとなく、R8C(M16C)向けのgccが欲しくなったので、構築してみる。binutilsは手元にある2.17でも良いんだけど、折角なので2.18にする。

binutils-2.18
cd binutils-2.18; mkdir m32c-elf; cd m32c-elf; ../configure --target=m32c-elf --prefix=/usr/local; gmake; gmake install
gcc-4.2.2, newlib-1.15.0
cd gcc-4.2.2; ln -s (somewhere)/newlib-1.15.0/newlib .; ./configure --target=m32c-elf --enable-languages=c --with-newlib --prefix=/usr/local; gmake; gmake install

…ぃゃh8300-elfの時とそう変わらないんだけどさ。

で、出来上がった m32c-elf-gccがなんかゴネてる。アセンブラソースは吐けるみたいだから…ldっていうとリンカ絡みか。むぅ。


uaa@rouge:~$ m32c-elf-gcc -mcpu=r8c test.c
/usr/local/lib/gcc/m32c-elf/4.2.2/../../../../m32c-elf/bin/ld:
cannot open linker script file r8c.ld: No such file or directory
collect2: ld returned 1 exit status
uaa@rouge:~$ m32c-elf-gcc -mcpu=r8c test.c -o test.o
/usr/local/lib/gcc/m32c-elf/4.2.2/../../../../m32c-elf/bin/ld:
cannot open linker script file r8c.ld: No such file or directory
collect2: ld returned 1 exit status
uaa@rouge:~$ m32c-elf-gcc -mcpu=r8c test.c -S
uaa@rouge:~$ cat test.s
        .file   "test.c"
        .section        .rodata
.LC0:
        .string "hello, world!"
.text
        .global _main
        .type   _main, @function
_main:
        mov.w   #.LC0,r1
        jsr.a   _puts
        rts
        .size   _main, .-_main
        .ident  "GCC: (GNU) 4.2.2"
uaa@rouge:~$ 

ひょっとして(ひょっとしなくても)、リンカスクリプトは自分で用意、が基本とか?

(それ以前に、ccすりゃコンパイルが通るだろっていう単純な考えが甘いのではないかと>俺)

とりあえず、車載用GPS loggerの製作にあるソースコードをコンパイルできているので、ツール類のビルドはできていると考えておくことにしよう。

binutils-2.18を適当に見ていたら、Z80なんて文字列を見たので、ちょいとbuildしてみる。

binutils-2.18 (z80)
cd binutils-2.18; mkdir z80-unknown-coff; ../configure --target=z80-unknown-coff --prefix=/usr/local; gmake ;gmake install

gcc-4.2.2はZ80用のコードを吐けないというのが、なんとも残念。

朝:寝てた。昼:パンを適当に。夕:白飯、冷食餃子、モヤシの味噌汁。(21:05)

17-Nov-2007
[夕食メモだけ]

14-Nov-2007: 朝昼:いつもの。夕:白飯、白菜と油揚の炒め物、焼魚(もうかざめ…って魚じゃないような気もするけど)。

15-Nov-2007: 朝昼:いつもの。夕:吉野家にて。

16-Nov-2007: 朝昼:いつもの。夕:妻にお任せ(フォーもどき)。

17-Nov-2007: 朝:寝てた。昼:妻にお任せ(冷凍庫の中から色々)。夕:七輪や@橋本にて。(21:55)

13-Nov-2007
[なんとなく]

部品箱をごそごそ漁って、適当に部品選り分けて、にんまりしてみる。

LED, etc...

壊れたFDDからひっぺがしたLEDとか、洗濯機の壊れた操作盤からひっぺがしたLEDとか、多分何かからひっぺがしたコンデンサとか←ひっぺがした物ばかり。

朝昼:いつもの。夕:冷凍庫に転がってた物をもそもそと。(22:55)

12-Nov-2007
[手元に]

OAKS8のサンプル版(R8C/11)とか、トラ技の付録(R8C/15)が転がっているから、Linux上でコーディングしたり書き込みできたりしないかなーと妄想中。

で。

書き込みツールって、これなのかな…fischl.deのR8C Programmiertoolに転がっている、m16c-flash-0.1.tar.gz。ドイツ語で書かれているページなので、それっぽい文字列から判断するしかできないのですよ。

…って、ソース読めば良いのか。

朝昼:いつもの。夕:妻にお任せ(白飯、八宝菜)。(22:45)

11-Nov-2007
[気になったので]

勝手にリンク張っておく。苦情は一切受け付けないので、そのつもりで。

…RENESASのサイト(日本および米国)からこのドキュメントを落とせれば良いんだけど、見つからないのは探し方が悪いのかな?という話。

朝:特に食べていない。昼:妻の実家にて。夕:妻の実家にて頂いたもの、白飯。いつもありがとうございます。(21:20)

10-Nov-2007
[h8300s→h8300hn(26)]

12-Dec-2007補足:《ここから補足》念のため書いておきますが、ここにあるパッチを当てたμT-Kernelは、互換性検証を通していないためμT-Kernelと呼ぶことができません。

「どこの馬の骨とも分からぬ個人が、神聖なるμT-Kernelのソースコードに軽々しく触れるでないわ」と考えている可能性があるかどうかは分かりませんが、とりあえず現時点において一般の個人ユーザに対して互換性を確認する方法が提供されていない以上、仕方がありません。

名前が無いのも不便なので、ここではとりあえず便宜上μT-Kernelと書いてありますが、誤解しないようお願いします。また、ここにある非公式なパッチを当てたμT-Kernelソースコードも、T-Licenseの管理下にありますので、それに従って下さい(パッチそのものの著作権は、public domainとします)。《ここまで補足》

前回からの差分と、オリジナルからの差分です。

SCI3のBRRレジスタに設定する値の計算を間違えていたので、RS-232Cへ何か出力されているけどどう頑張っても読めねーぜ状態になっていました。

動作テストを三つほどやってみました。

とりあえず、ポート5のbit0〜7のレベルを変化させるようにしていますので、ここにLEDを繋ぐなり、テスタの針を当てるなりして下さい。

【テスト1】単純にμT-Kernelを起動させてみる

【テスト2】システムタイマ(tk_dly_tsk()によるウェイト)の動作を見てみる

【テスト3】割り込みハンドラ(タイマVの割り込みを使用)の動作を見てみる

gccに-gオプションを付けた状態でコンパイルしているので、.mapの内容がかなりアレですが….motへの影響はそんなに大きくないと思います(不安)。

テスト1を動かすと、こんな感じのメッセージが出るはずです。RS-232Cの設定は、9600bps, データ長8bit, ストップビット長1bit, パリティ制御無し、フロー制御無しでお願いしますね。

Push any key to shutdown the micro T-Kernel.

とりあえず、秋月のH8/3664FキットにμT-Kernelがある程度載るんだなーということが分かりましたので、このシリーズは一旦ここで終了です。

09-Nov-2007: 朝昼:いつもの。夕:都内某所で飲み会。

10-Nov-2007: 朝:寝てた。昼:パンなどを適当に。夕:妻にお任せ(デパ地下のお弁当)。(21:35)

08-Nov-2007
[h8300h→h8300hn(25)]

修正したソースコードを確認しながら、オリジナルのソースコードをどんな風にいじったかというドキュメントを作成。ぃゃ最初に作っとけよって言われちゃ確かにそうなんだけどさあ。

とりあえず、適当なコード書いて、実機での動作チェックに移りましょうかね…

そういや、ちょいと雑用で秋葉へ行ったので、AKIBA PC Hotline! Junk Blog.で話題になっていたヤツを入手してみました。

まだ残ってたんですね、というのはともかく…POPでは8個セットとあるんですが、

tdscf1401.jpg tdscf1403.jpg
tdscf1404.jpg tdscf1405.jpg

何故か9個あるんです。何故か。

で、結論を先に書いちゃうと、これプリンタ用の漢字ROMです。24×24ドットの、JIS第一水準の書体が入ってます。こんな感じの。

decode sample

前に吸い出したNECの物と同じく、24×24ドットの領域を、8×8ドットの領域×9で構成しています。

朝昼:いつもの。夕:スーパーで買った弁当。(22:05)

FM-7のお部屋

JIS第1水準漢字キャラクタジェネレータ(MB83256-019〜022)を使用

と書かれているのを見ると、おそらくMB83256-023〜026はJIS第二水準/16×16ドットという予感。(22:35)

07-Nov-2007
[食事メモだけ]

05-Nov-2007: 朝昼:いつもの。夕:パンと野菜スープ。

06-Nov-2007: 朝昼:いつもの。夕:妻にお任せ(以前作った栗入り炊き込みごはん、イカと野菜の炒め物)。

07-Nov-2007: 朝昼:いつもの。夕:パンと野菜スープ。…げ、メニューが(21:30)

04-Nov-2007
[今週は]

体調不良によって停止していたH8/3664関連をどうにかしたいなあ…(希望)

03-Nov-2007: 朝:鍋物の残り。昼夜:都内某所にて。

04-Nov-2007: 朝:寝てた。昼:白飯、納豆。夕:妻にお任せ(白飯、モヤシの和え物、焼肉)。(21:25)

02-Nov-2007
[なんかさー]

投網投げたら悪意が大漁って感じ?ってくらい、嫌ーな話が多いっすね。

美味しく調理して食べようにも、悪意だからなあ…腹壊しそうだな。

かといって、水揚げした物を捨てちゃうのも勿体無い気がするし。

…って話を書けるくらいには復活してるけども、まだ本調子じゃないねえ。

24-May-2007に書いた、風邪引いた時期一覧を更新してみた。時期的に微妙だけど、とりあえず10月扱いで。

DecNovOctSepAugJulJunMayAprMarFebJan
2007                 
2006                     
2005                   
2004                   
2003                 
2002                   
2001                 
2000                   
1999                   
1998                     

というのが、大まかな傾向か。

01-Nov-2007: 朝:即席麺とおにぎり。昼:白飯+α。夕:妻にお任せ(栗入りごはん、以前作った汁物、モヤシの和え物)。

02-Nov-2007: 朝:即席麺とおにぎり。昼:白飯+α。夕:妻にお任せ(鍋物とうどん)。(21:05)