Top

IT Junk Box

- April, 2008 -

2008.04.01(火)

GLib 2.16.0 で GIO の追加 [FreeBSD] [Linux]

 GLib 2.16.0 で GIO が追加されています。で、この GIO を使っているソフトが多い
ようなので、GLib 2.x のバージョンアップをしておいた方がいいです。

> ls /usr/local/lib/libgio*
/usr/local/lib/libgio-2.0.a    /usr/local/lib/libgio-2.0.so@
/usr/local/lib/libgio-2.0.la*  /usr/local/lib/libgio-2.0.so.0*

Gnash を試してみようとしたときに GIO 2.0 が無くてエラーになりました。

2008.04.02(水)

Retro PC Network が更新されたようです [PC] [Net]

 去年の年末に移転した Retro PC Network が、4月1日に更新したみたいっす。
まだ、移転中のようですが。


■ C のインタプリタ [DOS]

 復刊ドットコムに「実用Cプログラミング生粋のCプログラマへ」という本の
リクエストが5年近く前から出ているようです。この本は、McGraw-Hill 社
「Born to code in C」という Herbert Schildt 氏の本なんですが、実は第1
章の「C のインタプリタ」に相当する部分
がネットで公開されています。

 Dr. Dobb's Journal : Building Your Own C Interpreter

で、この本を何故か持っていたりするんですが、記事中のプログラムもほとん
どそのまま公開されてるようなので、興味のある人は保存しておいた方がいい
と思います。


■ 秋月電子の GPS モジュールキット [GPS]

 Fenrir's Blog : 秋月GPSモジュール@4800円

 新製品なのにもう分解されてます。以前使っていたハンディGPSが壊れてしまった
ので代わりが欲しいと思っているのですが、これも候補に入れときましょう。

2008.04.07(月)

MICRODOS とか LT-DOS とか [PC] [DOS]

 Operan systm Litux : MICRODOS LT-DOS

 NASMMICRODOS とか LT-DOS を作ってしまった人がいるようです。ソース
も配布されています。.cz ということなので、チェコ共和国(Czech Republic)の
人みたいです。


■ パソコンが壊れた [PC] [DOS]

 DOS/V 専用にしてたノートパソコンの液晶に寿命がきたようで、使っていると
表示がおかしくなっていきます。十数年前のパソコンなので何時壊れても仕方な
いんですが、ネイティブな DOS/V を使う機会が減っていきそうです。

まぁ、DOS のソフトは、エミュレータで大体動いてしまうので困ることは、無い
んじゃないかと思いますが、本当に残念なのは、本物の 2.88MB の FD で起動で
きなくなることか。

2008.04.08(火)

カレンダ時計の割り込み [DOS] [PC98]

 web technology 社の UNDOCUMENTED 9801/9821 メモリ・I/Oポート編にカレンダ
時計に関する資料(io_cal.txt)があります。以前から割り込みの部分が気になって
いたので、試行錯誤で調べてみました。結果として下記のような手順で、カレンダ
時計の割り込みが使えました。

 初期設定
・ I/O の 0128h に割り込み周期のパラメータを書き込む
・ 割り込みベクタ (0x17) を設定する
・ スレーブの割り込みコントローラ(PIC)の設定をする

 割り込みのとき
・ I/O の 0128h を読むと割り込みがクリアされる
・ 割り込みコントローラ(PIC)に EOI(0x20) を送る

 終了するとき
・ 割り込みベクタを元に戻す
・ スレーブの割り込みコントローラ(PIC)を元に戻す

見ての通りであまり特殊なことをやっていないんですが、割り込み周期のパラメータ
が不明でした。とはひへ、1 byte のデータなんで全てのパターンをソフトにやらせ
てみました。で、こんなパラメータで設定できるようです。

  • 0x80 (1/64秒: 15.625ms)
  • 0x81 (1/32秒: 31.250ms)
  • 0x83 (1/16秒: 62.500ms)

[04月10日追記]
 割り込み周期を修正しました。起動時には、0x81 なので 1/32秒の設定なんですね。

2008.04.10(木)

Haiku のクロスビルド [Haiku] [Linux]

 5分だけのわがまま : Haikuインストールメモ(Linuxホスト編)

 Linux (Ubuntu)のインストールから解説されています。ReadMe.cross-compile
見ると FreeBSD もサポートされているようなので、試してみたいと思います。

2008.04.16(水)

FreeBSDベースのデスクトップOS PC-BSD [FreeBSD]

 マイコミジャーナル: FreeBSDベースのデスクトップOS PC-BSD - AsiaBSDCon 2008

 PC-BSDも普及に熱心なようですね。

最初から多言語対応しているため、日本のユーザも導入しやすいところも
ポイントだ。フォントも改善されている。

なるほどねぇ。

Flash9を組み込んだ Windows Firefox を Wine で動作させる PBI が用意
されているなどアドバンストアプリケーションも多く、FreeBSDを手っ取り
早く体験してみたいノービスユーザにもお薦めできるプロダクトだ。

Linux 版じゃなくて Windows 版を使うというのは、珍しいような。
インストールしてみようかな。


■ HX DOS Extender でビデオモードを変更する [DOS] [PC]

 HX DOS Extender で VGA BIOS のビデオモードの変更(INT 10h ah=00h)を呼び出し
たいときは、hdpmi32.exe にこんなパッチを当てると動作するようになります。


Code:
INTXXAPI.ASM.orig 2007-12-26 05:53:32.000000000 +0900
--- INTXXAPI.ASM 2008-04-13 07:42:14.000000000 +0900
*
48,53 *
- 48,55 --
@strout <"i10 call ax=%X,bx=%X,cx=%X,dx=%X",lf>,ax,bx,cx,dx
if ?INT10MAPPING
pushfd
+ cmp ah,00h
+ jz intr1000
cmp ah,10h
jz intr1010
cmp ah,4Fh
*
62,67 ****
- 64,74 --
intr10_ endp

if ?INT10MAPPING
+ intr1000:
+ popfd
+ jmp short nomappcall
+ align 4
+
intr104E:
intr104F:
popfd


DPMI の DOS API Translation サービスが、VESA BIOS にしか対応してないという
のは、ちと使い難いんじゃないかと思ったりします。解像度より互換性を優先したい
場合もありますから。

2008.04.17(木)

qemu が、カーネルの aio を要求してくる [FreeBSD]

 qemu のバージョンを上げると落ちるようになったので、よく見るとエラーが出
てました。aio が無いということなので取り敢えず aio を追加して

# kldload aio

/boot/loader.conf におまじないを追加しました。

aio_load="YES"

で、早速使ってみると以前より早くなったような感じです。

2008.04.20(日)

TEEN の修正 [DOS] [Net]

 MASM 版 TEEN の修正をしました。内容は、下記の通りです。

  • MASM のオプション(/Cx)を追加して OPTASM と同等にした。
  • PC/AT 機の時刻取得を元に戻した。
  • RTC の初期化の修正

2008.04.21(月)

TEEN に仲間を追加してみた [DOS] [Net]

 MASM 版 TEEN に PC-98 専用のカレンダ時計版を追加しました。カレンダ時計
(μPD4993A)の 1/64 秒の割り込みを利用することで、他のソフトが i8253A 相当
のインターバルタイマを使っているときにも影響を受け難くなります。

設定ファイル teen.def で下記のように設定します。

[TIMER]
200     16
 
[TCU]
;100    0

もっと時間がかかるかと思っていたのですが、動いてしまったので公開します。
但し、ソースのみの公開です。

2008.04.23(水)

TEEN にさらに仲間を追加してみた [DOS] [Net]

 MASM 版 TEEN を PC/XT 互換機でも動くようにしてみました。意味が無いように
見えるかもしれませんが、HP 100/200LX でも動くようにしておきたかったんです。
LX は、壊れてしまったのでもう使っていませんが。

2008.04.25(金)

Hello World コレクション [PC]

 マイコミジャーナル : Hello World コレクション : C 編 : C++ 編 : アセンブラ編

 面白そうなんでメモしておく。アセンブラって gas なんだ。


■ Windows Vista は、どうなるんでしょう? [Windows]

 CNET News.com : Ballmer: You want XP, we'll keep XP

 これからも Windows XP の販売を続けるとか、

 CNET News.com : Gates: Windows 7 may come 'in the next year'

 次のバージョンを出すとか、何だか慌しいようで。

2008.04.26(土)

HP 200LX ってまだ入手できるんですね。 [DOS] [Wine]

 すみとも領 : HP 200LX (1) 入手編 : HP 200LX (2) ハード編

 1年程前に入手されたようです。で、こちらに気になることが書かれてました。

 すみとも領 : HP 200LX (3) ソフト編 : HP 200LX (4) ソフト編補足

前回MASMはもう配られていないと書きましたが、実はまだ手に入るようです。こちらからWindows Server 2003 SP1 DDKのISOイメージをダウンロードし、CD-Rに焼くなり仮想CDドライブを使うなりしてインストールします。

そうでしたか、こちらは1年経って知りました。ありがとうと感謝しつつ CDROM の
イメージファイルを入手しました。中のファイルを見るためにおまじないをして

 > mdconfig -a -t vnode -f 1830_usa_ddk.iso -u 0
 > mount -t cd9660 /dev/md0 /mnt/

中のファイルを見ると common/ のディレクトリに d16bebin.cab, d16beinc.cab,
d16belib.cab といったそれらしき圧縮ファイルがありました。3つのファイルを
取り出して展開してみると masm.exe とか cl.exe が出てきました。で、終わりの
おまじないをして

 > umount /mnt
 > mdconfig -d -u 0

試しに masm.exe を実行してみるとリアルモードで動くようです。

> masm.exe
Microsoft (R) Macro Assembler Version 5.10A
Copyright (C) Microsoft Corp 1981, 1989.  All rights reserved.

cl.exe の方は、DOS で実行しようとすると dosxnt.exe という Microsoft 社の
DOS Extender を要求します。でも、Wine から実行できたりするんだよなぁ。

$ wine cl.exe
Microsoft (R) C/C++ Optimizing Compiler Version 8.00c
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.

こんなモノまで配布していたとは!

 ちょっと使ってみて気付いたことを付け加えます。d16beinc.cab に入っている
.h ファイルの中に sys_ の付いたファイルが、5つあってサブディレクトリ sys/
のファイルのようです。

それから、cl.exe は、環境変数の設定が必要で下記のようなスクリプトを使うと
Wine 上で hello.c のコンパイルができます。

#!/bin/sh
CDRIVE=~/.wine/fake_windows
export PATH=$PATH:$CDRIVE/msc/bin
export INCLUDE=C:\\msc\\include
export LIB=C:\\msc\\lib
wine cl.exe /AT hello.c

[04月28日追記]
パスの設定は、regedit で変更したり ~/.wine/user.reg を書き換えたりした方が
いいようです。

2008.04.27(日)

スタジオ Wing が復活するようで [Game]

 スタジオ Wing が復活するとは、、、嬉しいことです。
新作は、対応機種も多いようなので遅れ気味のようですが。


■ DMAPLX を VGA に [DOS] [地図] [GPS]

 MSC 8 が、手に入ったので松川さん作の DMAPLX を再度 VGA 化してみました。
ドキュメント (technica.doc) によると

DMAPLXは、Microsoft C Ver7及び、MASM Ver6で作成されています。

ということなので、今回入手した MSC 8 の前のバージョンということになります。

以前 VGA 化したときは、Open Watcom C/C++ライセンス(日本語訳)が、ややこし
くなりそうだったので放置してました。

そういうことで、こっそり公開します。

2008.04.28(月)

レトロだとか [Net]

 Open Tech Press : レトロに楽しむWebブラウジング

 そうか、いつもレトロに楽しんでたのか。


Copyright (c) 2000-2009 by IT Junk Box
Generated by nDiary 0.9.4 and Ruby 1.9.1