VGA PROBLEMS
2000/10/08
インストレーションの段階で VGA カードの種類が認識されない場合にはグラフィックスモードに入らす % のプロンプトが現れる。 この時にインストーラは VGA カードに関する情報をフロッピーディスクに落とす。 ファイル名は vgainfo.txt である。 以下にその例を載せる。 ------------ vgainfo.txt -------------- aux/vga: controller not in /lib/vgadb 0xC0000 55 AA 60 EB 4D 37 34 30 30 30 37 E8 72 2A 2A 52 U.`.M740007.r**R 0xC0010 45 53 45 52 56 45 44 20 AB 00 6E 01 20 49 42 4D ESERVED ..n. IBM 0xC0020 20 43 4F 4D 50 41 54 49 42 49 4C 49 54 59 20 2A COMPATIBILITY * 0xC0030 2A 2A 67 DB 00 00 90 10 30 31 2F 30 35 2F 32 30 **g.....01/05/20 0xC0040 30 30 00 00 47 20 59 20 36 2E 30 30 43 20 20 20 00..G Y 6.00C 0xC0050 20 20 E9 C3 54 07 43 6F 70 79 72 69 67 68 74 20 ..T.Copyright 0xC0060 31 39 39 38 20 54 52 49 44 45 4E 54 20 4D 49 43 1998 TRIDENT MIC 0xC0070 52 4F 53 59 53 54 45 4D 53 20 49 4E 43 2E 00 00 ROSYSTEMS INC... 0xC0080 00 07 07 43 6F 70 79 72 69 67 68 74 20 31 39 39 ...Copyright 199 0xC0090 30 20 50 68 6F 65 6E 69 78 20 54 65 63 68 6E 6F 0 Phoenix Techno 0xC00A0 6C 6F 67 69 65 73 2E 00 01 00 00 50 43 49 52 23 logies.....PCIR# 0xC00B0 10 00 84 00 00 18 00 00 00 00 03 60 00 00 00 00 ...........`.... 0xC00C0 80 00 00 0E 20 32 35 36 00 0E 20 35 31 32 00 0E .... 256.. 512.. 0xC00D0 20 37 36 38 00 0E 31 30 32 34 00 0E 32 30 34 38 768..1024..2048 0xC00E0 00 0E 34 30 39 36 00 07 4B 20 20 00 0E 56 47 41 ..4096..K ..VGA 0xC00F0 00 0E 45 47 41 00 0E 43 47 41 00 0E 4D 44 41 00 ..EGA..CGA..MDA. main->snarf vga->snarf vga->dump vga misc 67 vga feature 00 vga sequencer 03 00 03 00 02 vga crt 5F 4F 50 82 55 81 BF 1F - 00 4F 0E 0F 00 00 07 80 9C 8E 8F 28 1F 96 B9 A3 - FF vga graphics 00 00 00 00 00 10 0E 00 - FF vga attribute 00 01 02 03 04 05 14 07 - 38 39 3A 3B 3C 3D 3E 3F 0C 00 0F 08 00 vga apz 0 vga linear 0 vmf 25175000 vmdf 0 vf1 0 vbw 0 vga->init dbdumpmode type=vga, size=640x480x1 frequency=25175000 x=640 (0x280), y=480 (0x1E0), z=1 (0x1) ht=800 (0x320), shb=664 (0x298), ehb=760 (0x2F8) shs=664 (0x298), ehs=760 (0x2F8) vt=525 (0x20D), vrs=491 (0x1EB), vre=493 (0x1ED) hsync=0, vsync=0, interlace=0 vga->dump vga flag Fdump|Finit|Fsnarf vga misc E3 vga feature 00 vga sequencer 03 01 0F 00 06 vga crt 5F 4F 52 9F 53 1F20B 3E - 00 40 00 00 00 00 00 00 1EB 2D1DF 28 001EB1EC C3 -7FF vga graphics 00 00 00 00 00 00 05 0F - FF vga attribute 00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F 01 FF 0F 00 00 vga apz 0 vga linear 0 main->exits ------------------------------------------ Plan9 はこのファイルの先頭に現れる 16進数で示したメモリーのダンプリストに現れる特徴のある文字列に 基づいてVGAカードの種類を決定している。 この例では、このVGAカードは TRIDENT MICROSYSTEMS 社ものである事が分る。この例ではチップの 型番までは分らないが、大抵はもっと詳しい情報が載っているのである。 さて、こうした特徴ある文字列とその開始位置は配布 FD のファイル vgadb の ctlr で記述されている情報と比較される。例えば vgadb の ctlr 0xC00DC="MACH64CTPCIU" # ATI Graphics Xpression 0xC00E7="MACH64GPPCIM" # ATI xpert@work 0xC00E7="MACH64GBPCIM" # ATI xpert@work 0xC00E7="MACH64GZPCIM" # Rage IIC AGP はダンプで表示されたメモリの特徴のある文字列とその位置を表しているのである。 インストーラがグラフィックスモードに入れずに % のプロンプトを出す場合には2通りの可能性がある。 1. そのチップはサポートされていない 2. そのチップはサポートされているが、認識できない 後者であれば vgadb の ctlr エントリに認識に必要な情報を加えてやれば解決する。 (残念ながら筆者の TRIDENT はサポートされていない)