28-May-2008
[こんちくしょおぉぉぉおおぉおう]

光学ドライブを買って、PCケースに取り付けようとしたら…取り付け用のレールが無いよ!

ケースの型番はChenbro A2011と呼ばれるものらしいので(SR205とかSR20503とも呼ばれているらしい?詳細不明…)、これをキーワードにレール探してみるしかなさそうです。←ケースの出自がバレバレ

汎用品(あるのか?)が使えれば、それで済ませたいところですが…物が物なだけに、非常に難しそうな気がします。電源取り付け用パネルと同様に、作るというのはもうコリゴリですし。

…ここまで来てこんなトラブルに悩まされるなんて。立ち直れる気がしないorz

朝昼:いつもの。夕:白飯、納豆、中華風炒め物(キット使用)。(22:30)

27-May-2008
[…]

lib/の下は終わったので、残りはconfig/, include/, kernel/。

…面倒なものばかり残すのはいつもの癖。

.code16gcc使ったとしても、基本的にCS=DS(=SS)を前提としているので、結局何も問題が解決していないということに最近気づいた。←遅ぇよ

Choosing a Memory Modelを見ると、件のケースはCompact modelを使えば解決できるような気がしているんだけど…かなり特殊な使い方になるよね。

…牛刀持って鶏を捌くような気がしなくもない。それ以前に、そういうコードを吐けるコンパイラって絶滅危惧種的な?

イヤッッホォォォオオォオウ!は、し損ねた。←微妙に用法が違う

光学ドライブのついでにファン買おう→サイズいくつだっけ?→取付用のネジ別売りだけど、確かどこかに転がってたっけ→まずはネジを確保してからという理由で。

…明日こそは。

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

26-May-2008
[んーじゃ、はじめるよー]

例のブツ、ソースコードの修正部分を再確認。量が量なので結構面倒なのですよ。

Phenomマシンですが、DP83815入れるの止めてVT6122を入れることにしました。そろそろ光学ドライブをイヤッッホォォォオオォオウ!したいな。したいよね。

gccでも16bitコード書けるって話聞きました。.code16gccがなんとかかんとかで。要調査。

朝から腹具合がおかしいです。落ち着きません。

朝昼:いつもの。夕:白飯、冷しゃぶ風サラダ、納豆。(22:30)

25-May-2008
[みゃう。]

24-May-2008: 朝:寝てた。昼:妻の作ったパスタ。夕:白飯、納豆、野菜スープ。

25-May-2008: 朝:寝てた。昼:チキンラーメン、冷食餃子。夕:焼きそば+パン。

とりあえず、当面のToDoを冷静に書いてみるか。

μT-kernel 1.01.00のH8/3664への移植
途中で放ったまま、きちんと片付いてないのがキモいという状態。でもさ、こんなことやっても意味あんのかね。
Phenomマシンの組み立て
実験機にするか、実用機にするかの方針すら未定。ケースファンとHDDと光学ドライブさえ揃えば…でも金が無いので頓挫中。
MikeOSで遊ぶ
bcc(Dev86)なオブジェクトを走らせるのはちょっと難しいんじゃないかなーという結論に。じゃあどうすれば楽しく遊べるかを思案しようか兄弟。これも需要があるかどうかは分からんが。
大航海時代Onlineで遊ぶ
メインで使っているキャラクタのLvとスキル上げ、副官育成か。基本的にはゆるゆる航海してる派なのだけど、商会とかでPvPとか始めちゃうとねえ…多少の荒事はこなせるようにしないと楽しめない。
日々の生活
こればっかりはhibernateとかsuspendとかpauseとかできないしなー。
庭木の手入れ(というほどでもないが)
梅雨入りする前にすぱっと。
その他
まだ書けない話が一つはあるってことで。

あ、マウスの交換もToDoに入れないとダメか。ホイールを覆っているゴムがゆるくなったらしく、ホイールを回すとゴムしか回らないという状態なので…(23:30)

24-May-2008
[今まで溜め込んでいたデータの入ったDVDを漁っていたら]

「Generic Turbo XT Bios 1987 for 8088 or V20 cpu (c)Anonymous」なるものを見つけた。おそらく、今ならhttp://www.phatcode.net/downloads.php?id=101辺りにある物が相当品となるのだろうか。

最近はニコニコ動画ばかり見ていて、いわゆる生産性とは無関係な日々が続いております。コンテンツを生産するのではなく消費する側に回りっぱなし、みたいな?

趣味の世界に生産性を求めるなっていう気もしなくもないのですが、web上で(場末とはいえ)日記書きやってると常に意識してしまうのですよ。ああ今日も無意味なものを書いてしまった、役に立たないことしかやっておらぬ、成果のせの字も出ていない、ってね。

なにしろ、「遊んでいる間にみんなは上に行ってしまいますよ?」が合言葉ですからね。「何もしなければ評価が下がる」と言い替えても良いかもしれません。大航海時代Online風に書くなら、日々の航海で下がっていく悪名ですか←それ違うから

…もっとも、なんでもかんでも実行して上に進めば良いかというと決してそうではないというのがまた現実で。待っているものが絶望とかその手の類だったら、誰かを人柱にしてしまう方がお得なケースもありますし。

まあ要するに、つかれておるのですよ。色々なことやらものやらに。

食事メモは後日。(24:45)

23-May-2008
[むーん…]

やっぱり「ちゃんとした」シリアルポートが無いと厳しいかも。

I/Oポートが0x3f8にあってIRQ4を使う、NS16550およびその互換系なアレです。

int 14hで操作可能な、COM1とか呼ばれるアレです。

でもシリアルポートのブラケットって結構良いお値段がするんですよねえ…

頂き物のケースなので、ケースファンも交換しておきたいし…どうしろと…

22-May-2008: 朝昼:いつもの。夕:野菜煮込みうどん。

23-May-2008: 朝昼:いつもの。夕:白飯、納豆、野菜スープ。(24:15)

21-May-2008
[ふー…]

19-May-2008: 朝昼:いつもの。夕:白飯、鰯の蒸し焼き、舞茸とじゃがいもの炒め物。

20-May-2008: 朝昼:いつもの。夕:妻にお任せ(白飯、冷しゃぶ+サラダ)。

21-May-2008: 朝昼:いつもの。夕:野菜スープ、白飯。妻が買ってきた豆腐と惣菜。

逃した魚は大きかったようあああんorz(22:50)

20-May-2008
[…。]

…。(21:55)

18-May-2008
[ちょい白旗上げます、降参。]

The MikeOS Handbook読めばすぐ分かることではあるんですが。

(segment << 4) + offsetなアドレスでメモリマップを書くと、多分こんな感じ。

0x00000         +=======================+ [SS=0x0000]
                |Interrupt vector       |
0x00400         +-----------------------+
                |(BIOS data area)       |
0x00500         +-----------------------+
                |                       |
                +- - - - - - - - - - - -+
                |Stack                  |
0x0f000         +-----------------------+ <- SP
                |Unused                 |
0x10000         +=======================+

0x20000         +=======================+ [CS=DS=0x2000]
                |User                   |
0x28000         +-----------------------+
                |Kernel                 |
0x30000         +=======================+

コードもデータもnear(64k)で収まるので、SmallないしTinyモデルが使えそう。ただし…TinyだとCS=DS=SS、SmallはCS!=DS=SSになるはずなので、今回のようなCS=DS!=SSというケースにはどうやって対処すりゃ良いのかなという悩みが。

Tinyモデルを選んで、crt0.o辺りでSSとSPを修正(終了時にSSとSPを復帰)するという手はありそうなんだけど…MikeOSそのものがSS=0を前提として書かれているとこの手は使えない。仮に使えたとしても、復帰を忘れると確実に暴走するし。

って訳で、この件は一旦ここで保留。

朝:妻にお任せ(パスタ)。昼:コンビニのパンとおにぎり。夕:白飯、冷食餃子、即席味噌汁、野菜炒めの残り。(21:50)

17-May-2008
[うがー]

crt0.o→dos_start.o(libdos.a)→main()という流れなので、ここをどうにかすりゃ良いんだろうが…スタートアップだけ交換して後はDOSのライブラリを使うなんていう都合の良いことはできるのかねえ。

16-May-2008: 朝昼:いつもの。夕:都内某所にて。

17-May-2008: 朝昼:寝てた。夕:妻にお任せ(野菜炒め、白飯、焼魚)。(22:45)

15-May-2008
[…はぁ]

きちんと御挨拶しなきゃと思いつつ、実際にお会いして舞い上がってしまったためにきちんと御挨拶できなかった自分に反省。

…明日から頑張ろう(何を。

14-May-2008: 朝昼。いつもの。夕:肉と野菜の煮込みうどん。危うく思い出せないところだった。

15-May-2008: 朝:いつもの。昼:コンビニのパンとおにぎり。夕:スーパーで買った弁当。(23:25)

13-May-2008
[失われてからでは遅いような気がしますので…]

FUTURE FORUM版のSmall-C 3.21、正式な配布元が見つかるまでの間、ちょっとここに置かせて下さい。※見つかったら速攻で消します

ただし、ここに置いてある物が正しいアーカイブかどうかはこちらでは判断できませんし、質問されても困ってしまいます…この辺りは、既に持っている方に検証して頂くとか、作者の降臨を期待する方向で。

何故こんなことをおっ始めたかというと、古典電脳物語-80系プログラムの開発にある以下の記述…

Cコンパイラは以前ニフティ・サーブのFuture Forumで配布していたSmall-Cを使った。これはもう配布されていないので、うちのカビくさいフロッピーにあったものを再配布する。実は一部の文書ファイルが破損していて修正したとき末尾が消えてしまったのだが、プログラムの本体や大切なマニュアルは残っているから問題はないと思う。

…これを見て、ネットワーク上に誰か転がしてないのかよ!って思って探してみたけど見つけ出せなかったというのが理由です。

探し方が悪いのだろうとは思っています。でも見つけ出せなかった以上、それは存在していない状態と同じなので…というのは強引な解釈ですが、でもそう思われてしまうのはちょっと悲しかったものですから。

という訳で、とにかく色々御面倒をお掛けしますが、よろしくお願いします。

Small-Cを使って作られたishmvというツールには、大変お世話になりました。あまりのディスクアクセスの多さに、RAMディスクを使わないととても辛かったというのはありますが…それでも復元できなかったファイルが復元できるようになったことに対する感謝の気持ちは変わりません。

朝昼:いつもの。夕:白飯、納豆、餃子、野菜炒め。(23:30)

12-May-2008
[…ま。]

朝昼:いつもの。夕:白飯、野菜スープ・ウィンナー入り。

最近、「そのバグの原因をどうやって見つけたか」というのが分からなくなる時があるんですよね。見つけりゃいーじゃんで済ませても良いのかもしれませんが、なんか気分がねえ。

マシン語を知らない子ども達にあるような、「死神の目」と呼ばれるものなのかどうかは分かりませんが…少なくともそれに類するものを使っている(持っている)覚えはありません。

でも無性におなか空くんですけどね。てへ♪(22:20)

11-May-2008
[…も。]

秋月のH8/3664なアレにμT-Kernel 1.01.00を移植してみるテスト。ざらっとコンパイルが通る程度まで持っていったものの、ソースコードの内容も動作も未チェックの状態。

しかしこれどうやってデバッグするんだろうねえ…(棒読み)。

朝:妻にお任せ(サラダ、トースト)。昼:おにぎりとチキンラーメン。夕:白飯、焼いた鶏肉、野菜炒め。(23:20)

12-May-2008補足:試しに動かして、スクリーンショット取ってみた。

uT-Kernel 1.01.00 on H8/3664 (test)

10-May-2008
[…め。]

DOSとの互換性をわずかに有しているとはいえ、わずかに、というレベルをよく認識しておかないとやっぱダメみたいですね。ついでに、セグメントで指定されたメモリ(64kByte)をフルに使える訳では無いという点も。

bcc(dev86)で作ったバイナリがMikeOSで動いたら面白いかな、と思っていたんですが…ちょっと一筋縄ではいかない感じです。DOSの知識をちゃんと持っていない人間が手を出している、という時点で終わっていますけど。

朝:寝てた。昼:八王子某所にて。夕:トースト、野菜スープ。(24:10)

09-May-2008
[…む。]

やること(でもここに書けるような成果となるかは謎)が増えてしまったので食事メモだけ。しかも一昨日以前の食事忘れてるし。

08-May-2008: 朝昼:いつもの。夕:アジア風ぶっかけ御飯もどき。エアニャンちゅうと簡単アジア風ランチを作ろうの真似をしようとしたんだが…

09-May-2008: 朝昼:いつもの。夕:妻にお任せ(焼きそば、揚げ春巻き、サラダ)。(22:10)

05-May-2008
[…]

HDDの整理とデータのバックアップ。

OpenBSDの場合、cdrecordのデバイスの指定はdev=/dev/rcd0c:0,0,0というスタイルになる。
例)cdrecord -v -dao speed=16 dev=/dev/rcd0c:0,0,0 puppy-301-JP.isoとか、readcd dev=/dev/rcd0c:0,0,0 f=bar.isoとか
dvdrecordをmakeするのもなんか面倒そうなので、/usr/ports/sysutils/dvd+rw-toolsを使うことに。ツールが違うので、引数の指定もこんな風に変わる。
例)growisofs -dvd-compat -Z /dev/rcd0c=foo.iso -speed=2

growisofsで焼いたDVDをreadcdで吸い出してベリファイを行おうとすると、吸い出したisoイメージは焼く時に使ったisoイメージと違うとdiffに言われた。何故だろう…DVDをmountして、ファイル単位でdiffした場合は問題ないのになあ。

lspci(に相当するもの)をどうにか、という話は…色々とごにょごにょして、こんな感じのものを得てみました。


[   0] Vend:10de Dev:0547 Rev:a2 Class:0500:00 sVen:1043 sDev:82b3
[   8] Vend:10de Dev:0548 Rev:a2 Class:0601:00 sVen:1043 sDev:82b3
[   9] Vend:10de Dev:0542 Rev:a2 Class:0c05:00 sVen:1043 sDev:82b3
[  10] Vend:10de Dev:055e Rev:a2 Class:0c03:10 sVen:1043 sDev:82b3
[  11] Vend:10de Dev:055f Rev:a2 Class:0c03:20 sVen:1043 sDev:82b3
[  20] Vend:10de Dev:055e Rev:a2 Class:0c03:10 sVen:1043 sDev:82b3
[  21] Vend:10de Dev:055f Rev:a2 Class:0c03:20 sVen:1043 sDev:82b3
[  30] Vend:10de Dev:0560 Rev:a1 Class:0101:8a sVen:1043 sDev:82b3
[  38] Vend:10de Dev:055c Rev:a1 Class:0403:00 sVen:1043 sDev:8230
[  40] Vend:10de Dev:0561 Rev:a2 Class:0604:01 sVen:0000 sDev:0000
[  48] Vend:10de Dev:0550 Rev:a2 Class:0101:85 sVen:1043 sDev:82b3
[  50] Vend:10de Dev:054c Rev:a2 Class:0200:00 sVen:1043 sDev:82b3
[  58] Vend:10de Dev:0562 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  60] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  68] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  70] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  78] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  80] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  88] Vend:10de Dev:0563 Rev:a2 Class:0604:00 sVen:0000 sDev:0000
[  90] Vend:10de Dev:053b Rev:a2 Class:0300:00 sVen:1043 sDev:82b3
[  c0] Vend:1022 Dev:1200 Rev:00 Class:0600:00 sVen:0000 sDev:0000
[  c1] Vend:1022 Dev:1201 Rev:00 Class:0600:00 sVen:0000 sDev:0000
[  c2] Vend:1022 Dev:1202 Rev:00 Class:0600:00 sVen:0000 sDev:0000
[  c3] Vend:1022 Dev:1203 Rev:00 Class:0600:00 sVen:0000 sDev:0000
[  c4] Vend:1022 Dev:1204 Rev:00 Class:0600:00 sVen:0000 sDev:0000
[ 130] Vend:14db Dev:2130 Rev:00 Class:0700:02 sVen:14db sDev:2130
[ 138] Vend:100b Dev:0020 Rev:00 Class:0200:00 sVen:1385 sDev:f311

OHCI(Class:0c03:10)はともかく、EHCI(Class:0c03:20)が複数というのはマジありえなーい、と思いました。あんびりーばぼー。GbEとUSB2.0×2がフルに動いても大丈夫だろうという判断なのかな?

ニコ動を見ていたら、戦場のヴァルキュリアとPS3が欲しくなりました。どうしましょう←自分でどうにかしましょう。

Killer7ラジルギもそうなんですが、トゥーンレンダリングってなんか萌えるのですよ。はうぅぅ。

朝:チキンラーメンとトースト。昼:ビッグマックを頼んだら何故かメガマックが!(代金もしっかり請求されたorz)。夕:酢豚(キット使用)、妻が買ってきたトルティーヤサンド。(23:00)

04-May-2008
[あれだ、あれですね。]

「有害情報の規制」という名目を掲げて、情報統制を行いたいのですね、分かります。(14:15)

OpenBSD 4.3が出ていますが…とりあえず面倒なので4.2のままにしておこうかと。

そういやhalt -pで電源切れないなと思っていたんですが、OpenBSD/amd64曰く

However there is not yet any ACPI support (so halt -p doesn't work, nor does suspend/hibernate), and various legacy PC hardware is not supported.

ということなので、そういうことらしいです。※APM BIOSは16bit/32bitしか対応していないし…

Slackware 12.1も出てるんだよなあ。

季節も暖かくなったことだし、OpenBSD 4.2/amd64の動いているマシンのCPUクロックを下げてみることにしました。CPUはAthlon64/3000+(ClawHammer, SH-G0 stepping)という古いものですから、OS側の対応もばっちり。

cpu0: Cool'n'Quiet K8 2009 MHz: speeds: 2000 1800 800 MHz

クロックの調整は、sysctl hw.setperfで行います。0〜33で800MHz動作、34〜66で1.8GHz動作、67〜100で2.0GHz動作…って、CPUの周波数に応じたパーセンテージじゃないみたいです。

bash-3.2# sysctl hw.setperf=100
hw.setperf: 0 -> 100
bash-3.2# sysctl hw.cpuspeed
hw.cpuspeed=2000
bash-3.2# sysctl hw.setperf=67 
hw.setperf: 100 -> 67
bash-3.2# sysctl hw.cpuspeed
hw.cpuspeed=2000
bash-3.2# sysctl hw.setperf=66
hw.setperf: 67 -> 66
bash-3.2# sysctl hw.cpuspeed
hw.cpuspeed=1800
bash-3.2# sysctl hw.setperf=34
hw.setperf: 66 -> 34
bash-3.2# sysctl hw.cpuspeed
hw.cpuspeed=1800
bash-3.2# sysctl hw.setperf=33
hw.setperf: 34 -> 33
bash-3.2# sysctl hw.cpuspeed
hw.cpuspeed=800
bash-3.2# 

とりあえず、/etc/sysctl.confにhw.setperf=66を突っ込んで様子を見ることにします。(17:20)

Phenomマシン、どうしましょう(って何を)。

このマシンで適当なOSを動かして、Linuxでいうところのlspciを実行した結果を保存したいのですが…USBメモリかFDしか使えないって状況がなんとも。←光学ドライブやHDDを買う金は無い。

とりあえず、USBメモリへPuppy Linux(日本語版)のインストールを試みているのですが、苦戦しています。vmlinuz, initrd.gz, pup_301.sfsの在処を指定しろってインストーラに言われるんですが、見つからないのですよ…orz

03-May-2008: 朝:寝てた。昼:八王子某所にて。夕:焼き魚、白飯、白菜と油揚の炒め物。

04-May-2008: 朝:寝てた。昼:餃子、白飯。夕:白飯、納豆、ゴーヤと豚肉の炒め物。(22:20)

02-May-2008
[やったあああ(歓喜)。]
smile(1) you feel lucky!
smile(2) lot number

グリコパナップ、グレープ味。出現頻度低めのスマイルソースモデル。やっと出ました。

一度お目にかかったことはあるのですが、何かのネタだと思ってそのまま食べてしまったんです…という訳で、再び出そうと頑張っていたのですよ。

出た瞬間、頭の中で「You are an idiot, ahahahahahaha ahahahahaha〜♪」が鳴り響いたというのは、秘密ということで。※リンク先はPanda LabsのサイトにあるMP3ファイル

個人的に、同じパナップでもクリアテイストはバニラアイスの味が薄いので却下。

30-Apr-2008: 朝:コンビニのパンとおにぎり。昼:玉子屋の弁当。夕:白飯、キムチ入りのスープ、鶏肉を焼いたもの。

01-May-2008: 朝昼:いつもの。夕:妻にお任せ(パン、ミートローフ、野菜炒め)。

02-May-2008: 朝昼:いつもの。夕:白飯、野菜炒め、イワシのベーコン巻。

魚のベーコン巻はもっと味に癖のない魚の方が良かったかも…川魚とか。(24:20)