IT Junk Box
- March, 2008 -
2008.03.01(土)
■ FreeBSD 7.0 と DragonFlyBSD 1.12 リリース [BSD]
The FreeBSD Project : FreeBSD 7.0-RELEASE
DragonFlyBSD.org : DragonFly-1.12.0 Release
リリースされてるようですが、インストールして楽しむ余裕が無いっす。
2008.03.05(水)
■ DJGPP な P7zip とか Smbclient とか [DOS]
DOS に MPlayer を移植したロシアのMichael 氏ですが、他にも P7zip とか
Smbclient とか面白そうなファイルがあります。でも、ソースは無いみたい。
[3月28日追記]
ソースも公開されてました。
■ Watt-32 のタイマー [PC] [DOS]
Watt-32 tcp/ip のタイマーのコード(timer.c)を眺めてみると面白いことをやって
ました。10ミリ秒に設定するために i8254 のチップを 11931 に設定して、55ミリ秒
に戻すために 0 に設定しています。55ミリ秒って 65535 じゃなくて 0 だったんだ。
アイデアは、Allegro からのようです。
#define TIMER_ISR_PERIOD 10UL /* 10 msec between interrupts */
#define TIMER_INTR 8
#define TIMER_8254_COUNT ((1193181UL * TIMER_ISR_PERIOD) / 1000UL)void init_timer_isr (void)
_dx_rmiv_get (8, &old_int_8);
_dx_rmiv_set (8, int8_cback);_outportb (0x43, 0x34);
_outportb (0x40, loBYTE(TIMER_8254_COUNT));
_outportb (0x40, hiBYTE(TIMER_8254_COUNT));void exit_timer_isr (void)
_outportb (0x43, 0x34); /* restore default timer rate */
_outportb (0x40, 0);
_outportb (0x40, 0);
システムで使っている PIT (Programmable Interval Timer) のカウント数が、
ズレるので対策が必要なんですが、PC-98x1 のような使い方というのは珍しいです。
2008.03.13(木)
■ HX DOS Extender の機種依存部分 [PC] [DOS]
HX DOS Extenderのコードで機種依存しそうなところを調べてみました。
ローダーの dpmild32.exe だと
- BIOS の int 11h で周辺機器のリストを取得している。(dpmildr.asm)
本体の hdpmi32.exe だと
- キーボードの I/O アドレス (hdpmi.inc)
- ハードウェア割り込みのベクタ(int 67h)が、違ってると終了する (hdpmi.inc, init.asm)
- Phoenix BIOS (int 15h) を呼び出す (hdpmi.asm)
- キーボードの状態 (int 16h) 取得 (hdpmi.asm)
- EMS の開放 (int 67h) (hdpmi.asm)
- A20 gate の設定アドレス (a20gate.asm)
- ディスク BIOS (int 13h) を呼び出す (int13api.asm)
- テキストモードでアドレスを指定して直接書き込むようにしている (putchr.asm)
取り敢えずここらへんを何とかすれば、Windows のコンソールで動くツール
(7-Zip, lha とか)が、動かせそうな気がする。気のせいかもしれないが。
2008.03.20(木)
■ オーディオファイル変換ツール [音楽]
Open Tech Press : Linux 用各種オーディオ変換ツール
見たことの無いツールが紹介されてるので、取り敢えずメモしておく。
■ HX DOS Extender 用のツール [PC] [DOS]
HX DOS Extender の DPMI サーバーの hdpmi32.exe をソースから作ってみまし
た。Japheth 氏は、nmake, masm 6.1, MS OMF LIB, valx を使ってるようですが、
Microsoft 社の lib コマンドは配布されてないし、nmake がエミュレータ上で正
常に動かなかったりで Open Watcom C/C++ で配布されている nmake と lib386
で代用しました。
また、Wine は、DOSBox と比べるとアセンブルの時間が短くなるようで、Wine を
使った方がいいようです。
なんとか、コードを弄れるようになりました。
2008.03.23(日)
■ 春暁の季節? [世間]
暖かくなったせいかやたらと眠い。何かやろうとしても暫くするとうとうとと
していることに気付いて、もういいかと眠ってしまう今日この頃。
■ Wine のドライブ割り当て [Unix] [Windows]
Wine で認識しないドライブがあるのでおかしいなと調べてみると設定ファイル
~/.wine/config を反映せずに ~/.wine/dosdevices/ にあるドライブだけを認識
していました。気付かないうちに winecfg で設定するようになっていたみたい。
試しに ln コマンドでリンクしてみたら認識するようになった。
> cd ~/.wine/dosdevices
> ln -s ~/work w:
2008.03.24(月)
■ Haiku Alpha も間近のようで [Haiku] [BeOS]
Haiku Project : Haiku Alpha 1 Status Update (#1)
まだ、Alpha ? なんですが、これから楽しみが増えてきそうです。
■ Belarus の KolibriOS [PC] [MenuetOS]
KolibriOS は、32bit 版の MenuetOS から派生した OS です。ソースは、本家
と同じ様に FASM のみで C/C++ のコードがありません。FASM のみというのが、
流行ってるような。で、なんだか ru 方面の人が多いようで Forum は、ru な
世界になっていて読めませんでした。理解不能な世界です。
whois で調べると by (Belarus) で登録されていました。
2008.03.30(日)
■ Gnash 0.8.2 を使ってみた [Net] [FreeBSD]
ベータ版が出ていた Gnash を Flash のプラグインで使って見ました。現在のバージョンは、Shockwave Flash 8.0 r99 互換のようで YouTube の動画は再生できましたが、他の動画サイトはまだ対応していないようです。Google Video は何も表示さず、Dailymotion では X.Org が落ちたりします。まだ、ベータ版なので使わない方がいいでしょう。
それから、gnash-0.8.2.tar.bz2 で OpenGL を利用したい場合は、ファイルが足りないので Gnash の CVS から backend/render_handler_ogl.h を入手する必要があります。
■ 計算用の小道具 [Unix]
Open Tech Press : コマンドラインから実行する迅速かつ柔軟な算術計算機
何時の間にか Python を電卓代わりに使っていたので記事で紹介されている
bc, Calc, Genius といったツールを使ってな
いけど、面白そうなのでメモして
おきます。
■ 「ざ・べ」の引き取り手を探してるようで [PC]
居酒屋ガレージ日記で技術評論社「ざ・べ」を譲ってもらえるようです。
近ければ喜んで受け取りに行くんですが、パスするしかないような。