***本記事にはプロモーションが含まれています。***
DOS用のドライバのリンク
http://www.urr.ca/dosdrivers/drivers.htm
サウンドのドライバ
http://www.mpoli.fi/files/hardware/
でも、使い方がわからないけど。
***本記事にはプロモーションが含まれています。***
DOS用のドライバのリンク
http://www.urr.ca/dosdrivers/drivers.htm
サウンドのドライバ
http://www.mpoli.fi/files/hardware/
でも、使い方がわからないけど。
***本記事にはプロモーションが含まれています。***
サウンドが変というつっこみが入って、オーディオ関係をいじっております。
ところが、ドキュメントが全然ないですよね。せっかくいろいろ作ってあっても、これでは使えない。
結局、ソースコードを見つつ試行錯誤して動かしています。
今まで、サウンドカードなるものは買ったことがないですし、SoundBlasterくらいは知っていても、その他のことはまったく知らず。ES1370と聞いても何それ?な状態ですのでドライバ1つ入れるのにも四苦八苦です。やっぱり、プログラムを作った人がドキュメントを作ってくれないと、どうしようもないのに。と思ってしまいます。
他の、プロジェクトなんかはどんな感じなんでしょう。
***本記事にはプロモーションが含まれています。***
Intel版Mac OS Xが、QEMUにパッチを当てると起動するという話が載っています。CPUIDの時返す値をAMDから、Intelに変えるみたい。
http://qemu.dad-answers.com/viewtopic.php?t=223
メーリングリストによると、10.4.1は動くそうですけど、10.4.4とかはEFIを使うため動かないそうです。
http://lists.gnu.org/archive/html/qemu-devel/2006-01/msg00200.html
そのうち動くようになるのかな。
***本記事にはプロモーションが含まれています。***
ハイパースレッド、マルチコア、SMPで動かない問題については、splauncherがうまく回避してくれます。中では、SetProcessAffinityMaskを使用してプロセッサを限定してプロセスを実行する、ということをやっています。
SetThreadAffinityMaskを使うと同様のことがスレッドでもできるそうです。似たものにSetThreadIdealProcessorというのがあって、こちらは強制じゃなくてできるだけ1つのプロセッサでということらしい。
Linuxでも、Linux 2.5.8以降sched_setaffinity, sched_getaffinityが導入され、glibc 2.3以降で利用可能になっているそうです。
マルチコアだと、パフォーマンスカウンタがプロセッサごとに違うという記述も見つけた。これもいずれ問題になるかも。すでにメーリングリストでは話題になっているけど。
実際の使用例を見ていると、プロセスのプライオリティをREALTIME_PRIORITY_CLASS、スレッドのプライオリティをTHREAD_PRIORITY_TIME_CRITICALにしてQueryPerformanceCounterしている。こういうものなのか。
http://www.flipcode.com/cgi-bin/fcarticles.cgi?show=64089
***本記事にはプロモーションが含まれています。***
メーリングリストで見かけるメールの主はこういう人だったのですね。
***本記事にはプロモーションが含まれています。***
なんとかtapを使えるようになりました。
わりと簡単にできたなと喜んでいたのですが、しばらく使ってみて、socketと一緒に使うことができないことが判明。ぬぁぜだぁーーーっと叫んでいたのですが、それもほどなく判明。メモリーのバグも見つけて直せたからいいか、という感じです。少し遊んでおります。
デバッグで、Etherealまで入れることになってしまったのですが、これって、プログラムで開いたソケットを監視することってできないんですね。なんか知らないだけかもしれないですけど。
しばらくしたら公開することにしようかな。
***本記事にはプロモーションが含まれています。***
0.7.2では、
qemu_add_read_packetで、
qemu_add_fd_read_handlerが呼ばれる。
ne2000_can_receiveとne2000_receiveを登録するのに使われている。
0.8.0では、
qemu_set_fd_handler(s->fd, tap_send, NULL, s)
で、IOハンドラを登録。データが来たときに反応する。
qemu_new_vlan_clientでne2000_receiveを登録。ne2000_can_receiveは登録されなくなっている。
これで、1つのclientから出たデータを他のclientに分配するときの関数を登録している。
0.7.2では、
n = tap_win32_readで、データがあれば、
first_io_handler->fd_read
これは、ne2000_receiveが呼ばれる。
その後、
tap_win32_free_bufferしている。
などなど、やっております。
***本記事にはプロモーションが含まれています。***
VLANの使い方を作ったので、ホームページの方を更新しました。なかなかうまく書けないなと思ったりするのですが、精一杯なので…。
次は、TAPのパッチを見ようと思います。
***本記事にはプロモーションが含まれています。***
-isaオプションは-M isapcオプションになったとです。
***本記事にはプロモーションが含まれています。***
VLANのパッチとバイナリを作りました。
次のようにするとゲストOS同士で通信ができます。ゲストOSを2つ用意し、2つのコマンドプロンプトから起動します。
Prompt1> qemu.exe -L ./ -hda redhat1.img -net nic -net socket,listen=localhost:1234
Prompt2> qemu.exe -L ./ -hda redhat2.img -net nic,macaddr=52:54:00:12:34:57 -net socket,connect=localhost:1234
OSが立ち上がったら、IPアドレスを設定します。
Redhat1> ifconfig eth0 10.0.2.16
Redhat2> ifconfig eth0 10.0.2.17
もう少し詳しい使い方は、作成中です。
http://www.h7.dion.ne.jp/~qemu-win/download/qemu-20060102-vlan-2.patch
http://www.h6.dion.ne.jp/~kazuw/qemu-win/qemu-20060102-vlan.zip