【8bit機】CRTC,VDP,ALU,メモリマップ,MMU 専スレ

1ナイコンさん2008/09/14(日) 15:51:06
64KBの制約の中、各社様々な工夫を凝らした
VRAMのバンク切り替え,MMU管理,I/O空間配置, 専用GPU
高速化のための 直線補完、サイクルスチール、プレーン同時書き込み

当時のマシン(PC,FM,X1,MSX等)のメモリマップのあり方、アクセス方法の技術について語ろう

543sage2018/05/04(金) 07:15:05.02
>>542
HAMモードだね
Hold And Modifyの略、名前の通りRGBの一要素を変化させたりして多色表現を可能にした、
一種の簡易的な画像圧縮みたいな考え方だと思う

544sage2018/05/04(金) 07:20:47.72
>>541
ATARI 8bitは、カスタムチップのANTICが後のAmigaのAGNUSの祖先みたいな感じで面白い、なかなかに変態的。
ミサイルオブジェクト(スプライト)の考え方も独特。

個人的には当時、先進的だと感動した!

545ナイコンさん2018/05/04(金) 07:48:26.87
>>542
> 「増設のためのRAMくらい買うよ!」
当時のメモリーの価格を知らない人の言葉やね

546ナイコンさん2018/05/04(金) 13:00:22.36
メモリも高かったけどロジックはそれ以上に高価だったしなあ
特に80年代前半でアナログカラーパレットとかすぐ言い出すアホが居るけど
多色対応のDAC組むだけで厳しかったし
インデックスカラーで同時発色数を増やすとその分レジスタ(パレット)も増える訳で
カラー情報のレジスタなんてそれこそドットクロック毎に参照されまくるから、超高負荷つまり高発熱で…

547ナイコンさん2018/05/04(金) 13:20:09.32
>>546
ファミリーコンピューター…

548ナイコンさん2018/05/04(金) 15:56:42.69
>>547
だからファミコンはすごいよね、って話なんだけど、なんだろう反証とか論破とかのつもりなのかこれ。

549ナイコンさん2018/05/04(金) 15:58:39.02
馬鹿なやつが「メモリ(VRAM)さえ増やせばもっと色数増やせたはず」とか言うんだよな
色情報を格納するためにメモリはもちろん必要だが、それを制御するロジックのコストがわかってない系。

550ナイコンさん2018/05/04(金) 18:14:55.28
>>544
ATARI 8bitパソコンのテクニカルノート見てると、本当にこれが1978年の技術かよ!と驚かされるばかりだよ。うまく動いたら、また書き込むわ。

551ナイコンさん2018/05/04(金) 19:45:11.59
>>543
MSX2+の自然画モードの元ネタ?

552sage2018/05/04(金) 19:55:36.34
>>551
程度モノだけど、センスが似てるのは確か。
でもこれまで元ネタと言っちゃうのは誤解が大きくなる気がするw

553ナイコンさん2018/05/04(金) 21:00:31.91
FM-77AVかなにかにフルカラーモードがあったけど、あれはどうなん?
時期的には、AMIGAより後、MSX2より前だっけ?

554ナイコンさん2018/05/04(金) 21:33:06.46
X68は仕事でしか使ったことないけど、TVRAMなくても良かったとおもうよ。ゲームマシンかオタクのおもちゃなんだし、余計なもの載せずにビットマップでwindow系を動かす方がマニアは嬉しいはず。
あと、9938は時期や日本だということを考えると凄いVDPだった。あれで速度だけでも高速化していってくれればね。
ところで、FM-11より先に6829じゃなく独自のMMU採用したPCは日本に限らずあるのかな?

555ナイコンさん2018/05/04(金) 22:09:37.20
>>553
FM77AVの4096色は勿論のことAV40の26万色モードもMSX2+自然画モードみたいにRGB情報を数ドット単位に簡略化して輝度で色数を水増しした自然画モード等ではなく
1ドット単位にRGB情報を持つ4096色、26万色モードらしい
しかもパックドピクセルではなくビットプレーン方式なので凄まじい枚数のプレーンを操作しないといけないw

556ナイコンさん2018/05/04(金) 22:11:56.57
>>555
その反面
キャラの重ね合わせが他機種より楽になってるけど

557ナイコンさん2018/05/04(金) 22:15:11.52
>>554
X68のTVRAM(PC98のグラフィック画面と同じビットプレーン構造)はゲームでもよくスコア表示やステータス表示に使われてて便利
まぁX68は様々な画面が同時にいっぱい使えてBGもあるからBGでスコア表示してもいいんだけど
パターンRAMを節約したい場合BG使わない方がいいしね

558ナイコンさん2018/05/04(金) 22:40:39.47
MS-DOSならVRAMは640x400@16色で32KBプレーン×4バンク切り替えだと
UMBが広くなっていいな

559ナイコンさん2018/05/04(金) 23:15:06.15
>>554
>ところで、FM-11より先に6829じゃなく独自のMMU採用したPCは日本に限らずあるのかな?

GIMIX社のGMX 6809 CPUV Boardが該当するかと。
正確な時期は不明だがボード上には(C)1982と印字されているので
FM-11(1982年11月)とほぼ同時期か早かったと思われる。

560ナイコンさん2018/05/04(金) 23:19:11.07
85年から86年にかけてRAMの価格がガクっと下がったんだっけ?
AMIGAの時はまだ高価だったようだけど、翌86年秋にはVRAM128K
搭載のMSX2が2万円代で買えるようになったんだよね。

561ナイコンさん2018/05/05(土) 04:45:42.94
ゲルビーも640GBあれば十分って言ってたもんね
今その何倍あるか知ってる?

562ナイコンさん2018/05/05(土) 06:57:23.86
>>554
あの時代にビットマップのみだとプロセッサパワーが足りなさすぎ
日立の2050って言うワークステーションがビットマップのみで68010@16MHzでもスクロールがなみうってた

563ナイコンさん2018/05/05(土) 07:00:05.78
>>560
256kbitとか1MbitとかD-RAMの集積度がガンガン上がってた時代だし

564ナイコンさん2018/05/05(土) 09:39:18.63
>>560
そういえばV9938の設計上MAXの192KBのVRAM搭載したMSX2って発売されたっけ?

565ナイコンさん2018/05/05(土) 09:42:27.43
>>562
X68はグラフィックVRAMだけじゃなくテキストVRAMもビットマップだけどね
ハードウェアスクロールやラスターコピー機能があるから実用的な速度で文字スクロールするけど

566ナイコンさん2018/05/05(土) 12:52:07.09
>>564
聞いたことないなぁ。
もしあれば、screen5が6ページ、scrren7/8が3ページ持てるようになったのかも。
ビデオテロッパとしても使われたビクターのHC-95は、後期出荷版にMSX2なのに
9958が載ってるものがあるらしいけど、これはおそらく部品調達の都合。

それはともかく9958は横スクロールと自然画だけじゃなくて、パレット部分も改良して
VRAMも192Kが標準になっていれば、MSX2+はもっと評価されたかも。
512(640)x212(200) 64色二画面とか、256(320)x212(200) 4096色ニ画面とか
使えるようになっていたら、絶対買い換えたと思う。

567ナイコンさん2018/05/05(土) 12:58:19.01
>>566
V9958はグラフィックよりスプライトのパワーアップを行って欲しかったなぁ
MSX2+登場の1988年にMSX2と同じスプライト 16x16ドット(ライン毎16色中1色) 画面32個/ライン8個ってスペックはちょっと厳しすぎる
せめて倍に改良を加えて欲しかった

568sage2018/05/05(土) 15:56:30.85
>>566
確か、仕様上は表示用のメモリとしては使えなかったはずなので、バッファとして使えるだけ

V9938最大の欠点はCPUとの間のバスの貧弱さなので、出来るだけビデオメモリを増やしてCPUとの
やり取りを減らし、VRAM内だけで完結する機能、
つまりVDPコマンドの拡充が必須だった

ある意味、奇しくも現代PCのグラフィック周りと基本構造が同じなんだよねw

569ナイコンさん2018/05/05(土) 16:50:23.72
>>568
文字表示用にビットパターンのデータをパックドピクセルに変換して描画してくれるVDPコマンドとか欲しかったなぁ

570sage2018/05/05(土) 19:04:27.53
>>569
自分は兎に角スピードが欲しかったかな。
実際z80と同等程度かそれ以下の性能しか無かった。

でも、最近知ったんだけどアレは、VDPがというよりメモリこそが遅かったらしい。
帯域が表示の為のリードで精一杯で、ライトが厳しかったとか。

VRAM64KBの機種は256色表示も出来なかったそうな。本来なら1ページ分の容量があるのに。
何でも、128KB搭載すればRAMチップが倍乗るので、RAMチップAとBを交互にアクセスする事で実質の倍速、やっとで256色表示が出来る。
それくらいメモリアクセス帯域が狭かった。

結局は全て価格なんだよね、 MSXの価格帯で高速なRAMが載せれなかったわけだ。
スプライトも色々と希望はあったけど上記のような事情もあり、夢のまた夢ですよw

571ナイコンさん2018/05/05(土) 23:47:23.68
MSXに比べてPC88は、CPUとかメモリ容量とか外面だけ見ればだいたい同じなのに、価格がはるかに高かったのは、やっぱりそういう細かいスペックがちゃんとしてたせいなんかな。

572sage2018/05/06(日) 00:05:03.11
>>571
そうかもね。

8bit 64KBで可能な、拡張性まで含めたアーキテクチャとしては、スロットシステムを中心に据えた
MSXが極めて優れてたと思うけど。
自分も当時MSXユーザーだったけど、これは先進的だと感心した。

でもハードウェアは良くなく、やっぱ低コスト志向。
低速RAMに対応する為、CPUだってノーウェイトじゃなかったし(88はmk2SR位からノーウェイト
じゃないかな?)、VDPも低コスト向け。
3.58MHzなのにM1サイクルで1ウェイト入ると4クロック命令が5クロックで動く。事実上4/5倍の
速度で動く事になる。

このように色々と制限があった訳だけど、MSXは本当は実用PCになるはずだったのに、
ゲーム機扱いになっていったのが残念だった。

573ナイコンさん2018/05/06(日) 07:59:44.76
>>571
それにしたってPC88のグラフィック性能は酷すぎるけどね
8色で裏画面すらないなんて…

574ナイコンさん2018/05/06(日) 16:04:55.65
仮想VRAMと言う技術があってだな…

575ナイコンさん2018/05/06(日) 16:59:31.71
88ユーザーだった俺は、「カラー画面が1面しかないからティアリングの呪縛からは逃れられない」と悟っていたよ。

576ナイコンさん2018/05/06(日) 17:45:39.98
>>572
あんな解像度で実用PCはムリだろ。
テレビ前提、さらにRF入力さえ認めるようではやはりホビー用途しか。

577ナイコンさん2018/05/07(月) 18:24:32.47
>>576
それよなー
MSX信者はそんな簡単なことすら理解出来てない...当時から

578ナイコンさん2018/05/07(月) 18:31:56.59
>>577
ホビー需要が圧倒的でゲーム遊びたい&ゲーム作りたい需要が強かったのに
アスキーはとんちんかんなバージョンアップばかりでMSXは死滅した
1→2は結構いい感じだったのになぁ

579ナイコンさん2018/05/07(月) 18:47:59.54
やはりゲルビッツは正しかったんだ

580ナイコンさん2018/05/07(月) 19:46:33.59
文字色が1文字単位でなくて1画面単位だからな

581ナイコンさん2018/05/08(火) 04:09:47.71
V9938/9958で残念だったのは、スプライトの拡充よりも9938の段階で横スクロール対応しとけってのと、
ビットプレーン→パックドピクセル展開のVDPコマンド(平たく言えばビットプレーンで格納されているフォントパターンをVDPに食わせるだけで8ドット分描いてくれる機能)の不備。
全体的な遅さや16色BGの不備も残念と言えば残念だけど、
BGに関して言えば8ドット毎2色でもスプライトとBGでカラーパレットを別に持てればだいぶ違ったと思う。

9938の段階で横スクロールとBG/OBJ別パレット(32/512色)が実現していれば、表現力的にはファミコンに十分対抗できたと思うよ。
まあ10〜15万のパソコンでようやくファミコン並みですってどうなの、って話はあるが。
それはそれとして85年に256/512x224x16色と256x224x256色ビットマップというのは、かなり贅沢な仕様だった。
それだけに、本当にあと少しの配慮とトランジスタが足りてなかった>V9938

582ナイコンさん2018/06/17(日) 15:12:42.63
今のスマホ用のGPUはすごく速いぞ。ぬるぬる動く。
スマホ側でV9958エミュレータ動かしてウエイト無しで動作させて8bitCPUから通信経由で
制御したらものすごく早いぞ(w

583ナイコンさん2018/06/18(月) 02:35:27.53
オナホ用のGPU?

584ナイコンさん2018/06/23(土) 10:04:11.04
MSXみたいなVDPの使い方をする設計だと、turboRみたいにいくらCPUが高速になっても画面周りは結局VDP次第になってしまうのが、低価格パソコンとしての生い立ちから来る宿命なのかも。
この設計だと仮にVDPの機能強化をしたとしても、いずれ「用意されている機能では表現できない描画をしようとすると、狭いバス越しにVDP経由でCPUがビットマップを操作することになる」問題に直面することになるのは変わらないし。

それならむしろ、VDPはスプライト等の固定機能を充実させるのではなくて、表示用のVRAMのほかにワークや共有・メインCPUとの通信用に使えるローカルメモリも用意して、
よりプログラマブルでサブCPU的な使い方が可能な方向へと進化していれば…と妄想してみたけれど、これってほぼ今のGPUだよな。

585ナイコンさん2018/06/23(土) 10:22:07.73
しょせん当時のクロックの8ビットCPUでは絶対に無理。
処理速度もアドレス空間もデータ帯域も、あらゆるすべてが足りてない。

586ナイコンさん2018/06/23(土) 10:46:20.51
>>584
でもプレイステーションもMSX2方式だからね
当時としては一番良い解決方法であった
turboRはあまりにもCPUとVDPの性能差がおかしかっただけで

587ナイコンさん2018/06/30(土) 12:02:23.98
80年代半ばの時点では、「パレットの本数を増やす」のって、技術やコストの問題でそんなに難しいコトだったん?
いやね、77AVは改良で26万色出るようになったり、画面のページ数が増えたりするけど、パレットは変わらないまんまだったので。

「26万色」は、購入を検討する人へのPRにはなるし、取り込み画像の再現度が上がるから、いらないわけではないんだけど、
例えばパレットに置ける色数が、低解像度モードで64色→256色とか、640x200で8色→32色みたいに増えていれば、
どのモードでも8bitクラス最高の表現力を得て、実用性はかなり向上したのではないかなーと。

588ナイコンさん2018/06/30(土) 20:34:12.25
メモリの値段だろ。
パレットを増やすと、高価なメモリがそのぶんさらに必要になるから。
また、密度が今と違うから、チップもでかかったし、実装の大変さも増えそう。

589ナイコンさん2018/06/30(土) 21:33:43.03
>>587
パレット用のメモリはCRTCから高速なアクセスを要求されるからSRAM使わないといけないんだよ
小容量で超高価
まさにコストの問題

590ナイコンさん2018/06/30(土) 22:36:33.82
>>588-589
コストの壁はどうにもならなかった、というわけでしたか。
チップの数が増えてくると、コネクタを介して基板に垂直に
立てる追加ボード形式になってしまって色々面倒そうだし、
簡単にはいかなそうですね。

591ナイコンさん2018/07/01(日) 00:16:11.05
パレットはドットクロックをサイクルタイムとするメモリを使用したテーブル引きなので、まずドットクロックが
いか程かを知らないと始まらない。
77AVの320x200モードのドットクロック周期は124nsなので、これに関しては特段高速なメモリじゃなくても
充分間に合う。ただし、サイクルタイムが124nsなのでDRAMでは無理で、やはりSRAMということにはなる。
87年のCQ規格表を見ると62256-10が記載されているので、これを2個使いすれば 15bit color → 16bit color
つまり65536色中32768色のパレットを実現できる。
が、64KBもの容量だね…メインメモリに寄越せと言われるのが関の山かと。

640x200になるとドットクロックは倍で周期は半分の62nsとなるため、流石に当時の高速SRAMでないと
間に合わない。77AVでは55nsのSRAMを使ったのでさすがにこのモードでは遅すぎて使用不可能。
45ns品なら何とか間に合うかもだけど、4096色中8色というパレットに存在意義を見い出せるかは…判らない。
しかも、デジタルパレットは互換性上無くせないので、デジタルパレット→アナログパレットみたいな構成
になり意味不明化の一歩手前かと。
この頃使えた高速SRAMとしては64kbit品までなので、多色化するならそれを多数並べる覚悟が要るね。

最後に、26万色(256k色、18bit color)中26万色のパレットを組もうとする場合。
これはアドレス18bit データ幅18bitのメモリを要するので、メモリ容量として4.5Mbit必要。無理やりバイト数
換算すれば576KB。これこそメインメモリに寄越せ状態だね。

592ナイコンさん2018/07/01(日) 01:16:55.62
表示解像度を上げるごとに、
〇〇色中××色の××色の部分だけじゃなくて、
○○色の部分も減らせば、パレット用に必要な
メモリも減らせそうに思うけど、そんなPC見たこと
ないから、現実には無理なんだろうな。

593ナイコンさん2018/07/01(日) 03:22:44.99
あ、失礼、FM77AVでもVRAMは96KBあるんだった。
ということは 640x200 で6bit colorも可能なので、4096色中64色ってモードも普通に
できるね。富士通は 35ns品のSRAM(MB81C69A-35)も持っていたからそれに換装
して周辺もSかAS TTLにすれば充分イケるでしょう。
ちなみに、この頃の富士通の 640x400 はドットクロック周期が47.5nsなので、さらに
高速な-25あたりに変えればこのモードでもイケるという気が…

4096色中4096色のパレットを既に持っていながらやらなかった理由としては…当時
どれくらいあったのか知らないけれど、55ns品と35ns品の値差…
それと、6プレーンに書き込まないといけなくなるから、テキスト表示が遅くなること…
それくらい?

新着レスの表示
レスを投稿する