スレッド作成 : paropuseさん
(1997/11/27 16:46:34)
FM-7もX1も88も、グラフィックは640x200の8色ですし、見た目のスペックには大差ありませんが、実際のCPU回りの速度的にはだいたい、88:X1:FM-7で、1:2:2.5くらいに感じました。かなり大きな差があります。
PCGのような特殊技も持つX1はゲームには特に強く、サンダーフォースだと1:6:2くらいになります。・・・が、X1版は更にサンプリングで自分の声も入れれるし、絵もきれいだし(88とFM版は背景2色)、音も良かったです。音はFM-7も良かったですけど。
88が遅いと言ってもmkIIまでの話で、SRになってかなりまともになり、普通のZ80(4MHz)マシンより少し遅い程度の速度になりました。
toyo さんのコメント
(1997/11/27 16:46:50)
PC-8801のカタログ値との速度の違いはPC-8001までさかのぼります。PC-8001はT-VRAM(文字用のVRAMね)をDMAと言う方式でいちいち画面にCPUが転送していたんです。PC-8001mkIIやPC-8801でもその方式はそのままで、GVRAM(グラフィック用のRAMね)の転送を人任せにしてました。そんで、T-VRAMの転送のために、4MHzのZ80は実質2.8MHzと言われていました。市販のゲームソフトなんかは、T-VRAMを使用しないので、DMAを停止して、速度を稼いでました。更に、アドベンチャーゲームなんかでは、描画中はキースキャンも止めて速度を稼いでいました。
PC-6001系は、T-VRAMだけでなく、GVRAMもDMAだったため、柔軟な画面構成を作れた代わりに、4MHzのZ80は実質1.6MHzとまで言われました。描画中は消して、描画後に復活という涙ぐましい努力が行われました。
その点、数年後に新アーキテクチャとして出てきたX1やFM-7はしっかりとした設計で、CPUの力をかなり出せてたみたいです。X1なんかは下手すると、98を越えると言われてましたから(Turboですけど(^_^;))
paropuse さんのコメント
(1997/11/27 16:47:16)
よく「DMAのせいで半速」と言われていたように記憶していたのですが、2.8MHz相当だったのですか知りませんでした(^^;)。実際動いているのを見るとてっきり1.5MHz相当くらいしか無いのかと思っていました。
DMAというのは、CPUを通さずにメモリをやりとりする方法のことで、テキスト転送の為にCPUが働くわけではなく、テキスト転送中はCPUが止まっています。
X1は、画面表示のために速度が下がるようなことはありませんが、I/O空間にVRAMをマッピングしたためVRAMのアクセス速度自体は速くはありません(メモリよりもI/Oアクセスの方が遅い)。
Turboでも同じで本当はそれほど速くはないのですが、BASICのペイント速度やゲームなどの速度で速く見えました。ノーマルのX1でも新バージョンのBASICを使えば、旧バージョンよりも数10倍もペイント速度が改善されました。Turboのペイントは、ハードが速いのではなく、ソフトがチューンされてたからというのが速かった理由といえるでしょう。
ゲームなどでX1シリーズが速いのは、グラフィックと同時に使用できるPCGを搭載していたことによる効果が大きそうです。
FM-7は、テキスト画面を持っていませんが、グラフィック画面表示の犠牲になって、実はCPUは半速しか出ていません。でも、6809はもともと結構速いのと、画面を司るのはサブCPUで、メインCPUからはアクセスできないかわりに影響も受けないので、遅いのはサブCPUだけです。この欠点はFM-77になって改善されています。
DMAっていうか (^^;
あきよし さんのコメント
(1998/1/9 13:57:56)
VDP (Video Display Processor) の読み出しですね (^^;
これは多くの機種で問題になるところでして・・・
・・・現在も涙ぐましい努力が行われています。
PC-88 のように「何の工夫も無く」というのは珍しい部類です。
Apple// では、CPU と VDP が動作するタイミングを、ちょうど逆にすることで
CPU に Wait がかからないようにしていました。
(もっとも、これは CPU が低速だから出来た技です)
ゲーム機の「ファミコン」では、
VRAMのBUS と CPU の BUS を分離し、
VDP が画面描画中は CPU が VRAM をいじることを禁止しています。
X68k では、データバスを2つつなげられる特殊な RAM を
VRAM に使用していました。
現在は、VRAM と CPU の BUS を分離した上で、
この間にバッファを設けるのが一般的です。
こうすることで、読み出しは CPU が待たされますが、
書込みは問題なくなります。
安い AT 互換機では、メインメモリの一部を
VRAM に割り振る機械もあります。
しかし、こういう構成は BUS の衝突がしょっちゅう起こり、
速度を極端に低下させる原因となります。
#Nintendo64 も、せっかく 100MHz の RISC チップを
使っているのに、こういう BUS 構成なので、
CPU の性能が活かしきれないようです。
TVRAM
mio さんのコメント
(1998/1/16 11:23:19 - E-Mail)
PC88SRになって搭載されたFTVRAMによって、DMA転送中に
CPUが止まることはなくなりました。
ちなみにもとのTVRAMも残っており、バンク切り替えで使用
することができました。外部と接続されていないので、プロ
グラムする際未使用メモリとして重宝したものです。
VDP/CRTC
ma3 さんのコメント
(1998/3/5 14:44:31)
88などではCRTCというのが通称のようですね。VDPと呼んでいるのは私の知る限りではMSXのTMS9918/V99x8系と、あとSSのVDP1/VDP2...他には何かあるのかな?
'85年前後からのAV志向のホビーパソコンでは、VRAM操作周りに凝るようになりました。
88mk2SRではALUを拡張して3プレーン同時リードライトができたり、MSX2ではVDPにコマンドを実行させるとCPUと独立して画面操作ができたりしました。
X1turboとかFM77AVでも、複数プレーン同時書き込み等ができるようになってますね。
98はテキストとグラフィックで共にGDCというチップを使っています。グラフィック側のGDCでは、やっぱりCPUと独立した描画コマンドを持っているようです。これは98VM以降のGRCG(4プレーン同時書き込み)、98VX以降の主に286以上のマシンのEGC(4プレーン同時読み書き)、の追加でさらに強化されています。
ただEGCについては、EPSON互換機ではかなり後まで対応していなかったので、利用の普及が遅れました。
VRAM同時書き込み、読み込み
ma3 さんのコメント
(1998/3/9 13:52:14)
書き込みは77AVやX1turbo等でもできましたが、読み込みは88mk2SRや98のEGCくらいだったんでしょうか?
同時読み込みと言っても、同時書き込みと併用してVRAM間でブロック転送するためのものです。読んだ時にレジスタに何の値が入るのかは、見てみたことがないのでわかりません(^^;)
VDP
ma3 さんのコメント
(1998/3/24 17:22:29)
ゲームギアとか88VAでもVDPって呼んでますね。
CPUと並列動作できるコマンドをCRTCに持たせたものをVDPと呼んでいるような感じです。
Insert
Saiey さんのコメント
(1998/6/24 17:41:56)
Insert(INS)キーって、押すと挿入モードになって、その後入力した文字が間に入るというのが一般的ですけど、昔INSキーを押した分だけ間にスペースが挿入されるという機種があったと記憶してるんですが、なんでしたっけ?
結構あったのでは?
あきよし さんのコメント
(1998/6/25 11:09:12)
昔の BASIC では、結構そういう機種も一般的だったような気がします。
ファミベーとかも、INS 押したぶんだけ スペースが入るのではなかったかな。
シャープのポケコン
やまかん さんのコメント
(1998/6/25 12:28:19)
INSキーで空白挿入ですが,私の持っているシャープのポケコン『PC-G800』シリーズでもそうでした。
おそらく,他のシャープのポケコンも一緒なのでは。
E500では
あきよし さんのコメント
(1998/6/25 18:54:03)
上の記事を読んで、反射的に机の上にいつも置いてある E500 をとり、久しぶりに BASIC を起動。
AAA と書いてカーソルを2個戻し、INS キーを押す。
カーソルは、右向きの三角形にかわった。
・・・そーでした。実験するまでもなく、良く使っていたのに、もう2〜3年ただの電卓といて使っていたので忘れていました。
E500 では、INS キーは「挿入モード」への切り替えです。
あら,E500は違いましたか
やまかん さんのコメント
(1998/6/25 20:21:22)
同じシャープのポケコンでも,違うものなんですね。
E500系は借りて少しだけ使ったときに,E200系とはだいぶ違うなあ,と思った印象があったのですが,INSキーのことはすっかり忘れてしまってました。
他のポケコンはどうなんでしょうね?
INS
Saiey さんのコメント
(1998/6/26 09:27:38)
PC-G800って、時期的にいつ頃の機種なんですか?(E500と比べて)。昔は空白挿入で、後の機種になって挿入モードに替わった、とか。
NECマシンは昔から挿入モードですよね?自分が使ったことのあるマシンって考えると・・・FM-7かなぁ?FM-7ってどっちでした?
G800シリーズは……
やまかん さんのコメント
(1998/6/26 13:26:35)
シャープのPC-G800シリーズというのは,学校教育専用機の型番で,一般販売のPC-E200とほぼ同じものです(同様に,PC-E500の学校教育専用機はPC-1480Uという型番になる)。
で,発売時期のはっきりしたものを知らないのですが,E200とE500は同じ頃('87年頃?)ではないかと思います。
G800
Saiey さんのコメント
(1998/6/29 09:20:52)
あ、G800ってE200と同じものですか。E500とE200はほぼ同時発売だと思いましたから、同じメーカーの同じ時期の、しかもいっしょにカタログに載っているようなマシン同士でも、違ったりするんですねぇ。
元になった機種が全然別のシリーズってことなのかなぁ。
それにしても
Saiey さんのコメント
(1998/6/29 09:24:15)
どう考えても「挿入モード」の方が使いやすいと思うし、処理的に「挿入モード」の方が特に大変だということもなさそうだし、「空白挿入」っていうのは、何なんでしょうね?
# 何なんでしょうねって言い方も、なんか変ですが。(^^;
INS/DEL
ma3 さんのコメント
(1998/6/29 12:36:53)
MZ-2500のM25-BASICがそうでした。
そういえば、N88-BASICってBSとDELが同じ機能でしたね。
INSで空白挿入
笹井シンヤ さんのコメント
(1998/6/29 20:20:24)
MZシリーズのSHARP系BASICでは空白が挿入されました。
X1もINSで空白挿入でしたね。で、CTRL-Aで挿入モードに切り替わったという記憶があります。両方使えて便利だったです。
ちなみに、FM-7では、INSキーにLEDが付いてるくらいなので、当然挿入モードです。
X1も!
Saiey さんのコメント
(1998/6/30 09:11:18)
MZもX1も空白挿入だったんですかー。じゃあ、全体で見ると半々くらいだったんですかね。NECと富士通が挿入モードで、SHARPが空白挿入ってことなのかな?
BSとDELは、同じ機能というよりは、NECの8bitマシンって、BSキーがなかったような気がします。で、DELが機能的にBSだったと。PC-88はちょっと自信ないですけど、PC-60はそうでしたね。
MACもDeleteがBSですよね。キーボードによるのかな?他の機種は・・・?
SHARP系か・・・
あきよし さんのコメント
(1998/6/30 11:52:26)
そう考えると、確かに ファミリー BASIC も SHARP 系だからなぁ。
空白挿入って言うのは、やっぱり「見た目のわかりやすさ」を選んだ結果なのではないですかね。
モード切り替えって言うのは、便利な反面馴れないと分かり難い点があるし。
初期のパソコンは「どうやって素人にプログラムを組ませるか」という無理難題に無謀にも挑んでいたので、「モード分けは分かり難いからやめよう」とか言う話があっても不思議はないという気がします。
#そういえば、ポケコンでは「プログラムモード」と「実行モード」があったりしますね。
古いデスクトップの一部にもあるけど。
わかりやすさ
Saiey さんのコメント
(1998/7/1 09:15:52)
モード切替はわかりづらいっていうのは、確かにそうかもしれませんね。でも、「モード切替も理解できない人に、プログラムが組めるかーっ」っていう気も、ちょっとしますけど。(^^;;
「プログラムモード」と「実行モード」っていうのは、どっちかといえばメモリのやりくりの問題ってことはないですか?
モード切り替え
あきよし さんのコメント
(1998/7/2 19:09:25)
まったくそのとおり (^^;
だけど、「プログラムが組めないのは、論理的思考の出来ないせい」だなんて言ってしまうのは、当時としては敗北でした。
だから、文字ばかりなのが分かり難いのではないかとグラフィカルにしてみたり、英語なのがいけないのではないかと日本語化してみたり・・・
実行モードとプログラムモードは、そのとおりメモリ確保のためです。
プログラムモードではプログラムを編集しやすいかたちで置いておき、実行モードに切り替えたときに隙間なく詰め込むのです。
もっとも、ワンボード時代の名残もあったのかも知れません。
#ワンボードでは「プログラム」というのは CPU に HALT 信号を与えておいて、RAM を直接書き換える事、
「実行」というのは、HALT をはずして一瞬リセット信号を入れる事です。
グラフィカル
Saiey さんのコメント
(1998/7/3 09:56:41)
プログラムでグラフィカルって言うのは、どんなのですか?いわゆるGUI?
グラフィカル
笹井シンヤ さんのコメント
(1998/7/3 13:20:31)
プログラムでグラフィカルなやつっつーと、例えばプログラフみたいな、ユニットの組み合わせでプログラムを組んでいくようなもんがそうなのでは。傍目にはフローチャートを書いてるか、アウトラインプロセッサを使っているようにも見える・・・
コムサイトが難しいからフロンティアブレインみたいにしてみようっという発想か(そりゃ違う)
Saiey さんのコメント
(1998/7/6 09:44:14)
あ。R.C.とか、カルネージハートとか、ああいうのですねっ。
なるへそ。
そういうつもりで
あきよし さんのコメント
(1998/7/6 10:14:47)
グラフィカル、というのを書いたときに、頭の中にあったのは
「パピルス」
という言語です。
研究されただけで、発売されなかったんですけどね (^^;
ファミコンで作られていた(ファミリーベーシックより後)言語で、なんだか詳しい事はわかりませんが、Apple が最近研究していた「COCOA」みたいな感じなようでした。
TMS9918
ちんちく さんのコメント
(2001/09/02 23:31:06 - E-Mail Web)
はじめまして、ちんちくと申します。
TMS9918のピン配置やその機能を知りたいのですが、どんな書籍を求めたら良いのでしょうか?
Re:TMS9918
Oh!石 さんのコメント
(2001/09/03 09:07:59)
ここのスレッドは適当でないような気もしますが…。
MSXに使われたビデオICですので、MSX関係の書籍を探すのが適当でしょう。手に入らないだろうしあってもソフト面からの説明ばかりでしょうけど。
というわけで、英語ですけどこんなのはいかが。
http://www.hardwareinfo.msx2.com/pdf/TexasInstruments/TMS9918.pdf
英語よりVHDLの方がわかりやすいという人にはこちら。
http://www.t3.rim.or.jp/~kuni/nikuniku/meruhonu/hardware/videocontroller/
Re^2:TMS9918
ちんちく さんのコメント
(2001/09/10 08:21:35 - E-Mail Web)
ご回答ありがとうございました。
ここで質問をしてよいのかどうか迷いましたが、他に回答を得られそうな場所を知らなかったものですからここを選びました。
自分のHPの企画(個人的興味)として、PV−200(楽がき)の解析をしているのですが、まだまだ先は遠そうです。
どうもお世話になりました。