■ このスレッドは過去ログ倉庫に格納されています
【勉学】昔のPCを勝手に教えるスレ【歴史】
- 18 :隣のグラフィック事情:01/12/24 01:36.net
- ○ PC-8801(NEC CPU:Z80A)
PC-8801も640×200ドット・フルカラーとなり、PC-8001から大幅にグラフィック機能を向上させた。
PC-8801ではバンク切り替えによってGRAMへのアクセスを行っていた。普段はメインメモリの一部
(C000-FFFFの16KB分)であるバンクを、OUT命令によって必要に応じGRAMの青、赤、緑のプレーン
にそれぞれ切り替えられた。一見単純なこの方法は、例えば1ドットを描画するにも
青プレーン切替→書き込み→赤プレーン切替→書き込み→赤プレーンに切替→書き込み
という具合に、頻繁にバンク切り替えを行わねばならず、速度的には不利な部分が多かった。
当然、グラフィックを描画する時には、C000以降のRAMにあるデータやプログラムは使うことが出来ない。
○ X1(SHARP CPU:Z80A)
Z80には68系のCPUと異なり、メインメモリの他に256バイト分のI/Oポートが存在する
(I/O-mapped I/O)。ところが OUT (C),reg , IN reg,(C) 命令はアドレスバスの下位8ビットに
Cレジスタの内容が現れると同時に、上位8ビットにはBレジスタが出力されている。
これはメインメモリと独立な64KBの空間を有している事を意味している。そこに目をつけた
SHARPはGRAM48KBをI/O空間に配置してしまった。と同時にテキストVRAMとPCGもI/O空間へ
追いやり、メインRAM64KB分を完全にプログラム用として開放してしまった。これにより、
メインメモリ上のどこからでも、バンク切り替えなどを行うことなくGRAMへの直接アクセスが可能
となった。ただし、あくまでI/O空間へのアクセスであることに変わりは無く、普通のRAMへアクセス
するよりも遅く(OUT (C),reg が12ステート、LD (HL),A が7ステート)、グラフィック描画時に便利な
ブロック転送命令なども使えなかった。
とりあえず書ける機種だけ書いてみました。MZがありませんが、ちゃんと知らないんで書けんのです・・・
(MZ-2000とかはバンク切り替え?)。他のマシンもGRAMは苦労していたはずで、どんな風に実現して
いたんでしょうか。あと容量的な問題では無いのですが、パピコンの画面モードなども「どうなっとるんじゃ!」
と不思議に思っていました。
FMとPC88も所有していた訳ではないので、記述に不満な点などがあるかもしれません。レベル3やX1も含め、
訂正等々ありましたら指摘ください。
総レス数 309
88 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200