作りたいものに妥協しないために、会社を興してまで完成させた作品です。うれろー、うれろー。

2010年01月17日

QEMU/9821とWindows98SEのインストール

100117-5.png

システム領域の16MBフラグとかプリンタI/Fの種類のフラグを
補正してやったり、システムポートやプリンタポートの
8255のモードレジスタをちゃんと実装したり、ちょこちょこと
修正は入れているのですが。

一体何が効果があったのか判りませんが、Windows 98 SEの
インストーラが普通に起動してしまいました。
折角なので、QEMU/9821上でクリーンな環境を構築してみます。

しかし、Windowsがちゃんと動くようになると、CIRRUS VGAを
ちゃんと動作するようにしたくなりますね。
現状のQEMUのCIRRUSの実装は、メモリの配置などPC/ATでの
仕様にべったりなので、色々パッチしないと駄目そうです。


(2010/1/17 23:30追記)
100117-6.png

インストール終わりました。
プラグ&プレイデバイスの認識のところでフリーズしたかと
思うくらい時間が掛かりましたが、ブートして全部のデバイスが
認識してしまえば結構な速度で動いてます。

IE6とDirectX9C(Feldlotosさんとこのパッチをあてて)を
インストールして、Windows Updateを一通りあてて、取り敢えず
問題なく動いているみたいです。


(2010/1/18 1:15追記)
パフォーマンスがどれくらい出てるか、ちょっと興味がてら
Adobe Flash Playerを入れてニコニコ動画を再生してみました。

100118-1.png
キャーシバタサーン!このシリーズ大好きです。

エコノミーだったら、動画部分はちゃんと滑らかに動いてます。
640x480の256色でも結構みられるものです。
VRAMにべたに転送するだけだから、表示速度はCPU次第とは言え
ちょっと驚きです。
流石にサウンドはちょっと飛び飛びになりますが…
posted by 武田 at 17:36| Comment(7) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
あの、Windows NT/2000 on QEMU/9821はどう?
Posted by Roy at 2010年01月17日 19:15
snprintf(filename, sizeof(filename), "%s/%s", bios_dir, BIOS_FILE_NAME);
if (load_image(filename, buf + BIOS_OFS) == BIOS_FILE_SIZE) {
loaded |= (7 << PCI_ROM_BANK);
}
BIOS_ROM_BANKじゃ…?
Posted by Roy at 2010年01月17日 20:02
あ、ほんとだ。
ありがとうございます、次で直しておきます。

Win2k、インストーラは問題なく起動するんですが。
何かフリーズしたかってくらい遅いんですよ。
次の週末あたり、時間のあるときに試してみます。
Posted by 武田 at 2010年01月17日 23:34
技術資料ではありませんが CIRRUS VGA 関連でこれはどうでしょうか?
http://zzt-kuruma.hp.infoseek.co.jp/kai/pc9821.htm
Posted by だる at 2010年01月30日 22:35
ありがとうございます、参考にさせていただきます。
色々面白そうなサンプル一杯ですね、ここ。
Posted by 武田 at 2010年02月07日 00:14
NP2のVX BIOSは起動できるなんて、しかも「ビー」ってw
画面に何も映ってないけどw

roy@roy-ubuntu:~/qemu-pc9821/i386-softmmu$ ./qemu -M pc98 -L ../../qemu-pc98-20091029-p5/i386-softmmu/NP2VX -fda ../../qemu-pc98-20091029-p5/i386-softmmu/dos62.hdm -monitor stdio
Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No such file or directory
QEMU 0.10.6 monitor - type 'help' for more information
(qemu) info cpus
* CPU #0: pc=0x000d9e68
(qemu) info cpus
* CPU #0: pc=0x000d9e61
(qemu) info cpus
* CPU #0: pc=0x000d9e68
(qemu) info cpus
* CPU #0: pc=0x000d9e8e
(qemu) info cpus
* CPU #0: pc=0x000d9e61
(qemu) info cpus
* CPU #0: pc=0x000d9e8e
(qemu) info cpus
* CPU #0: pc=0x000d9e61
(qemu) info cpus
* CPU #0: pc=0x000d9e68
(qemu) info cpus
* CPU #0: pc=0x000d9e61
(qemu) info cpus
* CPU #0: pc=0x000d9e68
(qemu) info cpus
* CPU #0: pc=0x000d9e8e
(qemu) info cpus
* CPU #0: pc=0x000d9aae
(qemu) info cpus
* CPU #0: pc=0x00000489
(qemu) info cpus
* CPU #0: pc=0x000040dd
(qemu) x/25i $pc-64
0x0000409d: add %al,(%bx)
0x0000409f: or $0xe8,%al
0x000040a1: add %al,4(%bp)
0x000040a5: add %al,4(%bp)
0x000040a9: add %al,-28643(%bp)
0x000040ad: add 4(%bp),%al
0x000040b1: add (%bx,%di),%cl
0x000040b3: or $0x0,%al
0x000040b5: add %al,4(%bp)
0x000040b9: add %al,4(%bp)
0x000040bd: add %al,29700(%bp)
0x000040c1: add %bh,%cl
0x000040c3: add $0x0,%al
0x000040c5: add %ah,15941(%bx,%si)
0x000040c9: xchg %al,%ds:(%si)
0x000040cc: add %al,(%bx,%si)
0x000040ce: pop %es
0x000040cf: or $0x0,%al
0x000040d1: add %al,(%bp,%di)
0x000040d3: xor %al,(%bx,%si)
0x000040d5: add %al,4(%bp,%si)
0x000040d9: add %al,32432(%bp)
0x000040dd: jl 0x40dd
0x000040df: add $0x0,%al
0x000040e1: add %al,-32252(%bp,%si)
(qemu)
Posted by Roy at 2010年03月09日 12:16
--audio-drv-list=sdl の時、なぜか QEMU は閉じられないです。Linux/Win32も同じです。pcspkの問題でしょうか。
Posted by Roy at 2010年03月09日 20:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/138557373

この記事へのトラックバック
まるくん、がんばれ、ちょうがんばれ