gooドクター有料プランが1ヶ月間無料!

昔にパソコンでMS-DOSを動かしていたときもグラフィックスボードは使っていましたか? CPUで画面を表示させることはできないのでしょうか?

gooドクター

A 回答 (10件)

 16ビットパソコン時代から続いているVRAM領域にグラフィックデータを直接書き込んで表示させる手法は現在も使えますが、WINDOWS7以降は表示機能が使えないようになっているようです。



 WINDOWS-XPまでならば、VGAモードの全画面表示に設定すれば、640×480ドット×16色表示と320×200ドット×256色表示が可能です。

 VRAM領域はA0000H~BFFFFHまでの128KBです。このVRAMアドレスにグラフィックデータを直接書き込んで表示することが可能です。セグメントレジスタDS,ES,FS,GSにA000Hをセットし、インデックスレジスタBX,SI,DIにアドレスの値を入れて書き込みます。

 漢字表示の為のフォントデータをメモリー上に読み込む処理系も割り込みを使って呼び出せるようになっています。詳しくは参照URLを読んでください。

参考URL:http://www.oadg.or.jp/techref/oadghwd.pdf
    • good
    • 0

>CPUで画面を表示させることはできないのでしょうか?



「グラフィックスボードを使わないでできないものだろうか」と受け取れますが違いますでしょうか?

CPUで直接画面を表示させることはできません。画面表示機能を持ったCPU、ということならば話は別ですが。通常、画面表示専用のハードウェアがあり、それがグラフィックスボードということになります。グラフィックスボードもメモリを持ち、そのメモリ内容を画面表示に出す、というのが役割です。そのグラフィックボードのメモリに対して、CPUから読み書きすることにより画面表示に反映させることができるわけです。

「グラフィックスボード」っていう表現もちょっと違和感を感じます。というのもCPUとメモリを共有するグラフィックス機能をもったマザーボードのチップセットがあったりして種類は様々です。

今も昔も変わっていないのは「CPUだけで画面表示できない」ということです。
    • good
    • 0

日本でMS-DOSといえばNEC PC-9800で、表計算ソフトといえばLotus 1-2-3だった頃の話。



グラフィック拡張ボードというのはありました。
でも、通常の画面ではなくある特定ソフトでの話。確かIO Dataが1-2-3用拡張グラフィックボードを出していたはずで、当時のグラフィック解像度が640*400だった頃1024*768というハイレゾ表示が可能だったと思います。そのためには水平周波数の高いモニタも必要だったはずなので、ものすごく高いものになっていたはず。
当時のモニタはほとんどPC-98がターゲットだったので高解像度の表示は無理でした。H98用のモニタもものすごく高価だったはずです。

Windows3.0(NEC判では3.0B)がではじめると640*400では物足りなくなってグラフィックアクセラレーターボードというものが出始め、800*600などもSVGAクラスの表示が徐々に可能になってきました。が、あくまでもWindows用。MS-DOS用のドライバは少なかったはずで、一部の機種では有志が独自開発したDOS用ドライバもあったはずです。

DOS(98)時代のグラフィックプログラミングはグラフィックメモリに直接データを書き込むという、今では考えられない泥臭いことをやっていました。
    • good
    • 0

そこにどれだけ複雑な歴史があったかを知らないと


質問のしどころもわからなければ、答える側も答えるべき情報がわからない。

MS-DOSの時代は、パソコンの規格乱立の時代で、海外ではIBM PC
日本ではPC-9801、それにFM-TOWNSやH16やMZなどでも使われていました。

MS-DOSのOSとして備える機能は、ファイル入出力や文字表示などの機能ですから
グラフィック機能と呼べるものは備わっていなかったと言えます。

そのため、グラフィック機能はPC-9801で16色、IBM PCもPC/XTではしょぼいものでした。
PC-9801には上級製品としてH98という高解像度製品があり
またIBM PCもPC/ATでのVGA採用ののち、仕様公開の好影響により
各社により多種多様のグラフィックカードが開発されました。
これが規格整備されたものがSVGAで、現行Windowsのセーフモードなどに使われています。

この時点でのグラフィックカードは、基本的な画像表示のための仕組みと
それを、より高解像度で、より多い発色数で、より高速な表示で競われていました。

日本では、NECが自社開発のGDCを採用し、さらにEGCを開発し
EPSONのPC-9801互換機がEGC互換機能を持たないために
一部のゲームソフトが動かせなかったりとか、不便な時代でした(笑)

なお、グラフィックボードというのは、和製英語で
IBM PC/ATやMacでは古来からグラフィックカードと呼びます。
出版社の誤った用語統一ルールで、今もグラボとか言いますけど
英語圏ではまったく違うものに勘違いされる可能性があります。


こういった状況が大きく変わったのは、Windows3.0の登場する1990年代です。
Windowsがグラフィック表示の機能を持つことにより
アプリケーションからのグラフィック利用手段が統一され
OSによる抽象化が得られることにより、グラフィック機能の側でも
特別な機能を大幅に盛り込むことができたわけです。

これは当時Windows acceleratorと呼ばれ、GUI表示のための高速化
DirectXやOpenGLのための3D機能、マルチモニター機能などが実現されました。

Macintoshではそれに先んじてGUI表示に強い仕組みを実現していましたし
追加グラフィックカードによるマルチモニターも先行して実現していました。
これはMacintoshというハードウェアを活かすために
Appleが自社で、最適なOSを開発してきた成果だったはずです。

PC-9801での高機能グラフィックは…専用ソフトのみで動いたH98や
都築和彦氏が自作ソフトで大活用したフレームバッファーボードが先行し…
この時点では、グラフィック処理のほとんどはCPUによって行なわれていました。

Windows3.0発売に合わせて、SVGAチップを流用した拡張ボード
ついでWindows Acceleratorボードに注目が集まり…
一斉を風靡したCanoppus社はこの時代に同じチップを使いながら
デバイスドライバーの性能で、他社に大きな差を付け成長した企業でした。

やがてPC-9821により、高機能グラフィックは一般化し、コスト削減のために
PC-9801はIBM PC/ATとの部品共用率を高めつづけ…IBM PC/ATと同等のPCIスロットに
PC-9801,IBM PC/AT兼用グラフィックカードを挿せるような時代が来ました。
思えば、PC-9801の死亡フラグはこのころ立ったのだと思います。


話が戻りますが、MS-DOS時代のグラフィック表示は、すべてが専用ソフトで
CPUによる処理負担が大きいものでした。

ソフト自体は、共通のソフトウェアを作ることによって
ゲームソフト会社などでは開発コストを抑えていたわけですが
高速表示については、ほとんどがソフトウェア職人の仕事でした。

PC-9801ではGDCやEGCを活用する形で
IBM PC/ATではEGCやVGA規格に則る形で
CPU負荷を抑えることはできましたが
そこにあるグラフィックチップの機能は貧弱なものでした。

現在でも、その時代のSVGA規格に基づいたハードウェアは健在ですから
WindowsのセーフモードやLinuxでsvgaドライバーを利用した環境などでは
SVGA規格でのグラフィック処理が行なわれるはずです。

言い換えれば、グラフィックチップの機能を使わずに描画する事も
古典的な手法で行なえばできるとは言えます。
ただ、それはOS上の特権の都合で、普通はできません。
VRAMやグラフィックチップに直接アクセスできるソフトは
同時に重大なセキュリティリスクを秘めたものとなります。
    • good
    • 0

今の「A/T互換機」と呼ばれるPCは、元々「IBM」が発売してたPCと互換性がある事で、そう呼ばれるのです


そのIBMのPCは、CPUはここ、ビデオカードはここ、などと各メーカーから部品を寄せ集めて作っていたと聞きました
なので、ずーっと古い8ビットCPUの頃から、少なくとも「IBM互換機」ではビデオカードが使われていました
今ではIBMと関係なく「互換機」として進化しています(進化しすぎかも?)
    • good
    • 0

グラフィックボードと言うかマザーボード上に組み込まれていました。

    • good
    • 0

CPUで画面表示って?



MS-DOSってこた 最低でもPC-9801のことでいいのかな
普通はオンボですね Cバスにウインドウアクセラレーターてのはアリましたが
DOSでハイカラー フルカラーって意味あるのかなあ
アレ Win3.1やWin95使うのに なんとか9801でってことだったと思いますが

DOSゲーしかやらなかったので そこまでの各固有の機種ウンヌンまでは知りませんが
手持ちの一番古いので 9801 DX/U2 i80286マシンが現役で手元にありますが
DOS3.3D入ってますが別にそのままですねぇ

H-98 moldel8になんか入っていたと記憶してますが 忘れました
ムリやりハイレゾモードを表示させるのもあったと思うけど DOSやる分にそこまで必要か?
逆に使いにくかったと記憶しております
    • good
    • 0

画面に表示させる機構がグラフィックカードなんです


だから昔もありました

CPUに画像表示の演算をさせればその分パソコンが遅くなります。
    • good
    • 0

16年くらい前のパソコンにもビデオカードはありました。

ただ、今と違って冷却ファンなんてついてなかったです。
    • good
    • 0

使っていましたよ。

ですが、原理的にはCPUで画面表示可能です。
現在では、パソコン以外の制約がある機器ではよくやる話です。今の高速ワンチップマイコンなら、初期のビデオゲーム(ファミコンが出る前)くらいはワンチップで作れますしね。

しかし、当時はCPUが非力だったのでグラフィックチップは必須だったと思います。
メインメモリも1MB以下程度(数百kB、500kB以下のメモリで動いていたPCもありました)だったので、そこから拝借すると減ってしまって作業が出来ないため、ビデオメモリもあった方が。
なんせ、比較的重い処理である浮動小数点演算用のプロセッサ(コプロセッサ)があったくらいですから。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング