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

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

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

0705ナイコンさん2019/12/23(月) 06:07:27.97
通常のPAL(4.43MHz)で滲みカラーを表現しようと思うと
400x240か800x240の解像度が必要だがこの解像度が使用されている
パソコンや家庭用ゲーム機は内と思われ

0706ナイコンさん2019/12/23(月) 06:20:01.06
まだ間違ってたやんけ

PAL-M
■■■■■■ ←黒
■■■■■■

□□□□□□ ←白
□□□□□□

■□■□■□ ←緑
■■■■■■

□■□■□■ ←紫
■■■■■■

■■■■■■ ←オレンジ
■□■□■□

■■■■■■ ←青
□■□■□■

■□■□■□ ←黄
■□■□■□

□■□■□■ ←青紫
□■□■□■


■□■□■□ ←赤
□■□■□■

□■□■□■ ←水色
■□■□■□

0707ナイコンさん2019/12/24(火) 20:39:56.74
ベタ塗りなら更にタイルパターンで色を増やせるね。
たぶんテクポリあたりに擬似色のパターン塗りの説明があった。

0708ナイコンさん2019/12/30(月) 02:24:23.62
アナログビデオテープでNTSCやPALをガードバンド無しで低域変換で記録する方法を
考えた技術者は凄いね。(Betamax、VHS、8mm等)
VHSはBetamaxの特許を開始する信号処理を考案した。
しかしPAL版のBetamaxの場合はVHSの特許を使用しないとうまくPALの信号が
処理できない、しかたなく超越変態的な方法を使用した。
(8mmではVHSに準する信号処理を使用した)

0709ナイコンさん2019/12/30(月) 12:48:30.74
そもそもアナログ信号を磁気媒体に記録するメカニズムが解らない

0710ナイコンさん2019/12/30(月) 17:25:36.65
んなこといったら、現代科学のほとんどがよくわからんわ。w

0711ナイコンさん2019/12/31(火) 02:19:58.96
>>708
超越変態的な方法とは何か書こうと思ったが、肝心なところを忘れてしまって書かなかったが、
確かPAL版Betamaxは2つの色信号低域変換周波数をヘッドごとに切り替えていた。
一方を312.5×50×Aとするともう一方は312.5×50×(A+0.5)のような感じ

0712ナイコンさん2019/12/31(火) 02:26:59.59
ただBetamaxの上記の方法はSECAM方式でも用いられており、
SECAM版BetamaxはVHSのMESECAM的な方法で記録されるが
BetamaxはSECAM信号の記録でも画質上有利に働いたと思われる

0713ナイコンさん2019/12/31(火) 02:40:54.86
あんまりやりすぎるとスレチになるが家庭用VTRにSECAM信号を記録する方式は
PAL用の信号処理回路を流用して(PAL用のヘテロダインにSECAM信号を突っこんで)記録
する方式@
U-matic SECAM
Betamax SECAM
VHS MESECAM
8mm SECAM

SECAM信号の周波数を1/4にして記録するA
VHS SECAM

SECAM用のVHSはもともと色信号を記録できる大域が狭い為@の方法がフランスで
採用されたが、コストのかからないAの方式がフランス以外の国で採用された

0714ナイコンさん2020/01/01(水) 03:50:58.01
間違えてるやんけ

SECAM用のVHSはもともと色信号を記録できる大域が狭い為Aの方法がフランスで
採用されたが、コストのかからない@の方式がフランス以外の国で採用された

MESECAMのMEはMiddle Eastつまり中東(アジア)のことである

0715ナイコンさん2020/01/01(水) 08:09:03.74
ヨーロッパ発祥のパソコンで、現地のテレビに出力する8bit機の
後に出てきたような、専用モニタへの出力が前提の機種って
あんまり思いつかないけど(Acorn Archimedesとか?)
そういうPALやSECAMに縛られない環境になった場合でも、
相変わらず出力は50fpsだったのだろうか?

0716ナイコンさん2020/03/09(月) 23:31:35.15
普通のPCATだとマルチシンクモニタだし、Amigaでも確か15-32khz対応マルチシンク
モニタだよ。A3000の上位機種になるとTV信号の15khz以上のモードがあったはず。
TVをモニタとして流用する8bit機以外は特にPAL/SECAM縛りはないと思う。

あとVTR機械ってテープに対してヘッドが回転していて高速にヘッド切り替えつつ
トラックを追従して記録再生している。NTSC同期信号なしのフリーラン状態で大体
数Mhzくらいの帯域があるのでアナログテープでMhz帯域の信号が記録できるので
昔はデジタルオーディオ用の記録メディアとして使われたこともある。
NTSCの信号に重なる文字放送のデータレートですら5-7Mbpsくらいあるので
Mhz帯まで信号が記録できるのでモデムの作り方次第で今でもバックアップに使用
できると思う。

0717ナイコンさん2020/03/10(火) 22:22:53.29
そういうのは実現した時代背景というものの影響がある訳で
2020年の今作るなら安価で普及している2k(FHD)モニタへの出力をスルーできないように
80年代それも前半とかならRF出力はともかく15kHzRGB出力は無視できないだろう

0718ナイコンさん2021/08/14(土) 21:16:06.90
あげ

0719ナイコンさん2021/10/17(日) 23:18:39.01
32bit I/O搭載してそこにVRAMを接続しる

0720ナイコンさん2022/03/13(日) 12:34:14.48
落ちそうなので上げとく

0721ナイコンさん2022/03/13(日) 12:44:47.48
この板のスレは滅多な事じゃ落ちないよ
1年や2年くらい余裕

0722ナイコンさん2022/03/25(金) 14:00:45.68
8ビットパソコンのグラフィック画面の横ドット数は
ほぼ全て320ドットか640ドットだけど、
それ以外のドット数(256/288/384/448/512)もサポートするのは
技術的に不可能だったの?

0723ナイコンさん2022/03/25(金) 16:41:48.85
280ドット×192ドットな超有名機があったような

0724ナイコンさん2022/03/25(金) 18:12:00.54
1キャラクタが横7ピクセルと少し変態だったな
ドットクロックを3.5795454...MHzの整数倍にしなきゃならんし
FDCのクロックにもなっていたから永遠に高速化できないマシンだった

0725ナイコンさん2022/03/25(金) 22:25:07.77
MSBをアトリビュートとして使うなんてウォズしか思いつかなかっただろうな

0726ナイコンさん2022/05/24(火) 21:08:24.55
うりゃあーーーー!!

0727ナイコンさん2022/05/27(金) 12:18:01.10
>>722
ドット比まで変えようとするとオシレーターが増えるのでコストが嵩む
黒枠で横のドット数調整するだけなら可能ではあると思う

0728ナイコンさん2022/06/02(木) 02:24:47.13
>>722
40*25文字、80*25文字。8ビットのフォントだと200ラインで320ドットか640ドットになる
重ね合わせの関係でグラフィックのピクセル数が機械的に決まってしまう
16ドット漢字表示ができる8bit時はPC9801と同様に640*400だった

0729ナイコンさん2022/06/02(木) 10:44:22.88
80桁と8dotフォントとの組み合わせでも文字間スペースを1dot別に取った、
720dot表示も綺麗で人気有った、国内以外では
漢字TVRAM化して16dot漢字と2dot文字間スペースやってたら綺麗さ増してたろう
罫線に隙間が空いてしまうから、最初から点線や破線や二点鎖線で罫線引いて種類増やして違和感無くして

0730ナイコンさん2022/10/08(土) 18:51:23.27
>>699の動画は非公開になってしまっていますね。

ブラジルのCCE MC-1000というパソコンで詳しく検証したやつを見つけた
CCE MC-1000仕様
CPU:Z80
ビデオ:Motorola MC6847 (PAL-M)

Color artifacting no MC-1000 | Locutório de Ensjo
http://ensjo.blogspot.com/2006/11/color-artifacting-no-mc-1000.html

Color artifacting no MC-1000
https://www.youtube.com/watch?v=tLPGTs_M_6k

Color artifacting e outros bugalhos no MC-1000
https://www.youtube.com/watch?v=F923qkq76A8

0731ナイコンさん2022/10/08(土) 18:51:56.69
>>730
P6みたいな構成だな

0732ナイコンさん2022/10/08(土) 19:10:29.18

0733ナイコンさん2022/10/08(土) 19:21:29.61
NTSCの滲みカラーは同じく約3.58MHzのPAL-M、PAL-Nでも生成可能だが、
4.43MHzの本家PALは適切な滲みカラーを生成できるピクセルくろっくを持つマシンが
ほぼ無いんだよな。おおよそ400x288とか800x288の解像度が必要

0734ナイコンさん2022/10/09(日) 00:37:45.64
後々、800×512画面なんかが使われるんだから、当時も800×256ノンインターレース表示が出てても良さそうなもんだが
メモリ的に区切りの良い800×327との差が大きすぎ中途半端で無駄の多い解像度扱いされてたか

0735ナイコンさん2023/02/16(木) 16:59:41.99
800x256とか凄い横長だな
現在の16:9画面でも天地に空きが出る

0736ナイコンさん2023/02/16(木) 20:03:09.39
ああなるほど、当時を知らないと、昔の人は640×200なんて凄い横長な表示を使ってて不思議となるのか

0737ナイコンさん2023/02/17(金) 22:56:49.82
いや、今でもドットが正方形とは限らんから、セーフ!
あさはかなだけやろ。w

https://ja.m.wikipedia.org/wiki/%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB%E3%82%A2%E3%82%B9%E3%83%9A%E3%82%AF%E3%83%88%E6%AF%94

0738ナイコンさん2023/03/11(土) 11:36:38.80
X68000を念頭に置いた疑問なんですが、
当時入手の難しかった高解像度ディスプレイ無しでも
(一応)GUIで広い画面を使えるようになったこと以外に
1024x1024という広い実画面を持っていることが役に立つ
シーンって他にどれくらいあったのでしょうか?

表・裏2画面使える前提のPC-98からの移植の時に、
見えていない部分を裏画面の代わりにするとか、
グラフィックツールのアンドゥバッファとか?

0739ナイコンさん2023/03/28(火) 14:46:49.39
(▼ω▼o)y-~~~

0740ナイコンさん2023/07/18(火) 08:33:25.49
>>632
シンクレアZX81で使われてたように、Z80そのものがソフトウェアCRTCと言える
X1でもZ80を2つ積んで、片方のZ80で表示してれば真のザイログ染めパソコンとなってた

0741ナイコンさん2023/07/18(火) 10:23:49.15
>>738
スクロールさせられる

0742ナイコンさん2023/07/18(火) 19:16:40.39
PC-8801元祖のG-VRAMは、テキストVRAMの
表示をOFFにすると、高速に書き込めるようになる
と聞いたことがあるんですが、真相を知っているかた
いらっしゃいませんか。
そういえば、Alphosというスクロールシューティングゲーム
を含めて、高速なゲームではテキストをOFFにしているものが
多かったですね。

0743ナイコンさん2023/07/18(火) 20:37:09.53
PC-8801mk2までの場合テキストVRAMからμPD3301にDMA転送が行われている間はCPUが停止する
DMA転送を止めればテキスト表示は止まるがCPUの処理できる時間が長くなるので速くなる
というだけの話でG-VRAMどうこうはここでは関係ない

0744ナイコンさん2023/07/19(水) 16:56:53.68
>>735
CRTC,VDPをPALの4.43MHz系で駆動すればそれくらいの解像度になる。

0745ナイコンさん2023/07/25(火) 18:32:13.63
>>743
貴重な情報有難うございます。
その場合、テキストはOFFになっても、グラフィックは
表示されたままなんでしょうか?

0746ナイコンさん2023/07/25(火) 19:08:03.19
ついに、見つけました!

http://mydocuments.g2.xrea.com/html/p8/vraminfo.html
V1 モードでは、ディスプレイの表示サイクルになると、メイン RAM と一体のテキスト VRAM に DMA コントローラがアクセスするために
メイン CPU が止められてしまい、その結果プログラムの実行速度が損なわれる結果になっていました。

V1 モード時代のゲームなどでテキストを用いないグラフィックだけのソフトでは、このテキスト表示のサイクルを止めてしまって
CPU が邪魔をされずに最高速を出せるように工夫したりしていました

0747ナイコンさん2023/07/25(火) 23:45:07.66
当時の88ユーザーにとってはDMA止めるのは当たり前のことだったと思う

0748ナイコンさん2023/07/26(水) 00:27:37.05
>>747
知りませんでした。
当時小中学生時代でマシン語でゲーム作ってみましたが、
どう単純化してもAlphosやテグザーほどは速度が出なくて、
なんでなんだろうな、と思い続けていたんですが、CRTCオフの
からくりがあったと、数年前に小耳に挟んだところです。

0749ナイコンさん2023/07/26(水) 07:20:31.27
88mk2では拡張コマンドにテキストOFFが追加されるくらいメジャーな技ではある

0750ナイコンさん2023/07/26(水) 07:27:16.22
ちなみにテキストが復帰したときに同期信号が乱れるため画面が揺れる
これはあらゆる88エミュレータで再現できてない

0751ナイコンさん2023/07/26(水) 10:31:42.23
>>750
width 80,25 を何度か繰り返して爆発を表現するようなゲームもあったような

0752ナイコンさん2023/07/26(水) 10:33:35.21
それを再現するためには同期信号レベルまで生成しなきゃだね。

あるいは、その切り替えを判別して画面をわざと乱すルーチンでも挿入するか。

0753ナイコンさん2023/07/26(水) 15:04:18.05
>>749
元祖8801だったんですが、全く知りませんでした。

0754む、2023/09/26(火) 07:07:52.55
>>733
NTSCの3.58MHzの5倍の17.9MHzで800ドット
PALの4.43MHzの4倍の17.72MHzで800ドット
1/3化クロックでZ80B約6MHz駆動
ホビーパソコンにピッタリだったのでは
何でこんなにクロックの都合の良い組み合わせだったのに出てなかったんた?

0755ナイコンさん2024/04/29(月) 01:19:59.97
緊急保守

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