ファミコン等の限界について語るスレ Ver.6
■ このスレッドは過去ログ倉庫に格納されています
>>29
知りもしない癖に勝手な思い込みで相手を馬鹿にするとか酷いな。
演算じゃなく、読めないと書いてあるのにな。 >>32
どこで聞いた話かしらんが、それを疑えつってんだよw
お前が自分の頭で考える能力無いんか?w MSX,ファミコン、PCエンジン、メガドライブ、GB、GBA、DS…ROMカセット側の都合で本体のCPUクロック制限がでるようなもの一つもないのにSFCのROMだけそんな謎縛りがでるのを簡単に信じちゃうのってやべーよ >>31
MSX系のは逆に互換性の為にROMスロットは分離された仕様だから全く違う
MSXターボRだろうが、データバス8bitのままだし、ROMカセットアクセスする時はMSX初代同等速度。
それにZ80系での3.58MHzと6502系のクロックじゃあメモリアクセスも違うので
クロックだけで単純比較出来んの知らんで偉そうに >>35
だからROMでなんで「本体のCPU」のモードが関係すんだよw
>>36
馬鹿乙
結局本体のCPUの種類やクロック関係ないってことを自分で言ってるじゃんw
それでなんでSFCだけ意味不明な本体のCPUクロック制限でるんだっつの
ちょっとは考えてからものいえよ、低能 ROMへのアクセス速度(要はカセットの帯域)が低かろうと、本体のCPUのクロックを低くしないといけない理由は皆無 開発者がロムによる制限があったとはっきり言っているのに
お前のいう事なんか誰も聞かないよ あー、ROMが対応してない云々は確かに眉唾
だって初期のスーファミのソフトを改造でオーバークロックした本体で動かしてるのあるもの
https://www.youtube.com/watch?v=prs66pabTTg
それに実カセットを使うレトロ互換機でも動かすのがFPGAでもエミュでもオーバークロック設定できるがちゃんと初期のカセットも動くでしょ ROMによりCPU速度が〜っての元ソースはこの人でしょ
https://www.wizforest.com/diary/131121.html
バイトでサブプログラマーしていたっていう人の話
…よくよく改めて読むとどうなのかな?
安いROMだと帯域が低いのでアクセス速度が低くなるっていう当たり前の話のなかでCPUの速度が変わる〜って書かれてるけど…
帯域が低い部分、高い部分が別個にあったところで、そこへアクセスするのにCPUのクロックを上げ下げしないといけない理由ってあるの?
まぁ何か理由があったところでこれはROMデータへアクセスする場合の話だから通常は普通に最高クロック(3.58MHz)で動いてるんでは? >>40
オーバークロックして動いてるから眉唾ってのはアホ過ぎる
製品レベルでマージンすらない設計って方が非現実的であり得ない なんかねじ曲がって伝わってない?
俺が聞いたことある話だと、SFCのCPUは言われているほど遅くはないっていう開発者の話があってその中で、
なぜ遅いと言われるかというと、コスト低いROMのアクセス速度が遅くて特にSFCの音源関連のRAMとのやり取りの中で問題が発生しやすいって話と、
CPUの16bit命令が思ってる以上に遅くてここがネックになってたというもの、中期以降はここを工夫してメインループは8bit命令だけで構成したりして処理速度を稼いだという話 >>42-43
そりゃあプログラムの側で完全に対応してないとバグることはあるでしょ
この当時のプログラムなんてクロックでタイミング決め打ちで処理しているようなのあるし
でもオーバークロックでちゃんと読み込めて動作しているってことはROMが高クロックに対応してないっていうのは無いと判断していいかと
っていうかそんな話どこから出たんだ? ファミコンのBGとスプライト(3色+背景色)にもう1色ずつパレット(4色+背景色)があればなぁ
移植ものとかでもっと豊かで忠実な表現が出来たろうに >>45
> でもオーバークロックでちゃんと読み込めて動作しているってことはROMが高クロックに対応してないっていうのは無いと判断していいかと
マージンってなんだか知らないアホ。そんなのは判断材料にはならん。
> っていうかそんな話どこから出たんだ?
>>40 というアホレスが発端だろ。 >>34
> MSX,ファミコン、PCエンジン、メガドライブ、GB、GBA、DS…ROMカセット側の都合で本体のCPUクロック制限がでるようなもの一つもないのに
DSだけはROMカセットと言っても、SDカードなんかと同様のストレージなので
同列にしてる時点で根本の問題が判ってないのが丸わかり。
それにDS以外はSFCと同じ縛りは存在するけど。なんでないって言ってるんだ? 当時のシステム知らない人多いみたいだけど昔はバススピード固定
あるデバイスが1.79MHzにしか対応してなきゃ当然CPU側も1.79MHzに落とす
これはRAMでもROMでも同じ
無理やり使って動く場合もあるけど運悪けりゃ暴走する
当時のOC記事なんかでも壊れても自己責任ってしつこく書かれてた
MSXturboRの例出してる人いるけどあれはシステムチップがROMアクセスする時に強制的にウェイト入れるから高クロック設定でも動く
SFCがこういう機能持たせてたって話聞かないから一律でクロック落とす方法にしたんじゃないの
システムチップ起こすよりソフトの方で対応すれば安く済むし >>49
バススピード固定なんか当たり前
むしろ当時で可変のほうが無いわ >>50
今みたいにCPU高クロックのままで遅いデバイスにアクセスできると思ってる人が多いんで書いた >>49
> SFCがこういう機能持たせてたって話聞かないから一律でクロック落とす方法にしたんじゃないの
> システムチップ起こすよりソフトの方で対応すれば安く済むし
メモリアクセスする時に細かく可変してるってだけなら一緒だろう
問題は>25の言うようなROMの全メモリが低コスト版の時にメモリアクセス時以外もずっとCPUが最低クロックのままなのか?だ >>52
それはプログラム次第だから分からんな
メインプログラムがROM側にあれば低クロックのままだろうし、高速化したければRAMに展開して速度稼ぐだろうし
最悪なのは手抜きプログラマーがクロック変更なんて面倒くせえって低クロック決め打ちのまま出す
遅いって叩かれてるのはほとんどこれじゃないの >>51
出来るわ
ただ非同期アクセスのメモリだと非効率で高クロックが”活かしきれない”だけ
いい加減なこと書くでないわ
あとスーパーファミコンでメモリアクセスでROMこ都合でCPU可変にしてたなんか聞いたことない
41のがソースだとしたらそいつが間違ってるだけだろ
おそらく音源チップのメモリアクセスの部分が低帯域かつ音源チップの独立したプロセッサのクロック1.024 MHz.のものと混同したんじゃないか?
スーパーファミコンの時代でROMのメモリが3.58 MHzにも対応してないものなんかあるわけない >>54
出来ないよ
実際当時のパソコンで普通に暴走した
いい加減なことは書いてない >>55
暴走したとしたら他の要因
そもそもOSのプログラムが高クロックで誤作動するとか 一応補足
高クロックのまま低速デバイスにアクセスする際にはウェイトを入れる
各デバイス毎にタイミングは決まっててそれに合わせてプログラムを書く
こうすれば高クロックのままでも動く
逆にこれやらないと変な動作したり暴走したり最悪壊れる 当時の開発者の証言が複数あるのに
今さら覆したいなら
しょぼい推測じゃなくて
さっさと証拠か証言でも持って来いよ
偉そうにいっているんだから簡単だろ パッチでROM読み取りを高速化して処理落ち減らすプロジェクトもあるんだし無知ってのは怖いねぇ
https://github.com/VitorVilela7/fastrom >>52
おい、オマエアホか、最低クロックに落すなんてか言ってないだろ >>41
のいう事とほぼ同じ事は以下にも書いてある。
https://w.atwiki.jp/snesspec/pages/19.html
CPU の内部動作サイクルは常に 6 マスターサイクルで、 Fast メモリアクセスサイクルは 6 マスターサイクル、
Slow メモリアクセスサイクルは 8 マスターサイクル、 XSlow メモリアクセスサイクルは 12 マスターサイクル
これが3.58、2.68、1.79MHzに対応かな
同じROM内でもアドレスで速度変わるのか信じ難いけど。
>>54 の
>スーパーファミコンの時代でROMのメモリが3.58 MHzにも対応してないものなんかあるわけない
は
https://w.atwiki.jp/snesspec/pages/12.html
に細かくあるマスタークロック21.47727 MHzで、こういうクロックと勘違いではないか?
バス: 3.58 MHz, 2.68 MHz, 1.79 MHz のいずれか
とあるようにCPUだけバス非同期で動くとも書いてないのでクロック可変 >>59
そこの情報が正しいとすると、128kBのWRAMも3.58MHz出ないという事になってる
ROMが遅いのが有るのは知ってたがコチラも本当なんだろうか?
WRAM @ 2.68 MHz、PPU @ 3.58 MHz、DMA @ 2.68 MHz、SRAM @ 2.68MHz
だと? すみません。
教えてほしいのですがこれら3つのクロックはどうやって発生させているのでしょうか?
源発振が○○MHzで、それを分周している、逓倍している等 バス同期だからROM=CPU=RAMで、PPUがVRAM依存で常に3.58MHzって解釈してる
特殊な分周回路がないからコスト削減と安定性の為だろう
https://i.imgur.com/Gdz8HL7.png >>64
回路図見ました。21.477MHzから分周して作っているようですね。
ただ3.58MHzはカラーバースト(fc)なので、リージョンが違うと源発振も変わるのでしょうね。(PALやSECAMとか) >>65
>>61 の下のURL先にPALも書いてある。
>>64
の回路図でもSPC700の方64kBのRAM繋がってるけど、上記の説明だと32kBで、
別ページでもメモリマップに8000Hからが使用不可となってるのよね。
どういうことかいな。 >>66
SPCは実質独立してるから……
あと32kb×2なので >>66
ありがとうございます。
最近のゲーム機は放送方式に関係なくHSyncを生成できる13.5MHzや27MHzをベースに作っているそうですが、スーファミの頃は放送方式で源発振がかわっていたのですね。 >>69
資料にミスが多いとなるとクロック部分も信憑性がね。
ROMアドレスでアクセス速度が変わるという所とか メモリーのアクセス速度がどうたら言う話ならメモリークロックの話かと思うんだけど、なんでCPUクロック?
RAMもROMもアクセス経路違うところでアクセスする度にCPUのクロックがちゃかちゃか変わるの? 数ミリセコンドとかで何度も切り替わったりしちゃうじゃんw そもそもSRAMとマスクROMが乗ってるだけのゲーム機にメモリークロックなんてないからな
メモリチップに対してアドレス線とCEがイネーブルになってから入出力が確定するまでのアクセスタイムが
要件を満たしているか満たしてないか、その問題でしかない
今どきのCPUと違って当時のCPUのメモリアクセスはクロック数が決まってるから
CPUの動作周波数と読み書き時のクロック数から、必要となるアクセスタイムのメモリが決まるだけ
アクセスタイムが遅いROMを使うなら、CPUの動作速度を下げてシステム全体の速度を落とすしかない
微妙に言葉使いがおかしいのはスルーしてたが、そういうズレたことを言ってる奴全員が
あまり判ってないのに適当なことを言ってるだけなんだろう >>74
このスレは前からそうじゃん
話題がない時は過疎るどころか止まってて何か話題が伸びると色んな奴が出てくる
>>73
SFCのハードには詳しいわけじゃないがどうもそのままのようじゃないようだ
デバイスのアドレス空間ごとにサイクルがハード的に設定されていて
カセットのROMエリアのみFastROM用とSlowROM用に切替えられるようになってるらしい なんでこんなややこしいことになってんだろな
メガドライブのカセットROMはそこんところどうなのだ? >>73
SFCの128kBのWRAMはDRAMみたいだぞ、
本当にワークメモリのつもりで速度求めなかったのか2.68MHz相当のアクセスっぽい。
ファミコンディスクのRAMアダプタもDRAMにしてある
Z80勢のMSXやセガmk3なんかもDRAM。これはZ80にリフレッシュ機能有るからだろうが。 >>77
DRAMだから、3.58MHzだけどリフレッシュがあるから2.68MHz相当になるってことかな。 SFCの後期ソフトの方が明らかに処理能力が高いのが目に見えて分かった。 製作ノウハウも蓄積されるからゲーム機は後期の方がプログラムレベルも向上するわな >>79
リフレッシュで動作クロックの25%も取られないけどな
なんか他の事に使ってるんじゃないの >>83
rowやcolumnを入れるところで時間がかかっているのかな。 >>78
そういう意味では0ページとポインタの1ページとメモリマップIO部分重要なんでココだけでも何とかせんかったのかね?
前スレで初期8kBだった話はSRAM予定で全部DRAMにする代わり128kBになったのかな
>>79
6502系は2相クロックだったので、サイクルスチールし易く、そこでリフレッシュできそうだが、DMAに使ってるのかな
>>81
後期はカセットに本体より速いCPUやRAM積むとかも色々あったからな。
16bitモードの方が遅いとかいって8bit6502互換モードに切り替えてで使うとかカオス
メモリマップ見て思い知るけど64kB単位でバンク切り替えしてるのと変わらん16bitCPUなんだなあ
>>84
一応アドレスバスは24bitだしな、データバス8bitだけど。 そう考えるとスーパーアレスタは初期のソフトでシューティングなのに処理落ち無しの快適プレイで良かった
プログラマーのじぇみに広野氏によればピーク時でも70パーセントくらいの負荷に収めてたとか >>85
DMAを忘れていました。
画面表示のためにはDMAが必須ですね。 うん、凄いなおまいら
言ってることの5%も理解出来ないわ 任天堂でも最初は遅いロムなのだろうか
その辺の判別をしている人っているのかな >>87
画面表示は、CPUバスの向うのPPUに繋がったVRAM側へのアクセス
>>89
>>59 のリンク先のSlowROMへのパッチにF-Zeroがある
同時に5台以上の車が居る状態でも遅くならなくなるってさ。
1992年コナミのアクスレイも遅いROMだと。 たまにスーファミなのに処理落ちしないのが凄いって感想があるけど
それがプログラマーの腕なのかロムの違いなのかは論じられていなかったわな 魂斗羅はSA-1rootで改修されてるしなぁ、slowだったらfastromプロジェクトで手入れされてるだろう 魂斗羅スピリッツは素でもそんなに処理落ちは気にならないレベルで楽しく遊べたけどね じゃあメガドライブとかは全部fastROMなの?w 当時マジコンでromに二種類あることを知ったな(自動判別されて表示された)
どのゲームがどうか律儀にメモってたけどさすがにどっか行った 年末辺りにスターフォックスのファストロムパッチあったけどその流れ?
スーパーFXチップも10.7mhzから21.4 mhzにクロックアップさせてあったらしいけど目に見えて違いある? それはsuperFXチップ周りの話だから内部バスとは無関係 何個か前のスレでさんざん話題にしてたゾーマのセンタリングについて
開発者本人がYoutubeで、ほんとは直したかったって嘆いてたぞ。 >>104
内藤さんボヤいてたね
直したかったけど時間も容量も足りなかったって いや最初からさっさと貼ってくれ
ttps://youtu.be/gwvYKPOzKzk?t=917 時間も容量もなかった、が理由なら前スレで憶測で書かれてた通りじゃね?
どの憶測を主張したり支持してたかによるだろうけど
https://www.youtube.com/watch?v=Ghu8oKVgor4&t=606s
こっちは別の問題の件だけど、こんな寸劇通りならありがちな展開だし
俺が思うに前スレの憶測はほぼ当たりと言って良さそう > ゾーのマーさんは
> 通常の町人4人分と
> 同じ仕組みで表示しています
> 時間も容量もなかったので
> ここだけ特殊な表示を行うことが
> 出来なかった事を
> いまだに嘆いています・・
ここまで言ってのか
これなら憶測が本当に当たりと言って過言じゃないじゃん 優先順位は限りなく低いものなw ゾーマのセンタリングポジション修正なんて だが数十時間〜かけて辿り着いた冒険のクライマックスだぞ
やりきりたいって思いもそりゃ沸くだろ 毎回起動して最初に見る事になる大事なタイトル画面だって文字だけなんだし
仕方ないね
そこ専用のプログラム入れるってのは工数はかかるだろうけど容量的にはどんなもんなんだろう
現代のソフトの感覚だと無に近そうだがカツカツに詰めたファミコンでは馬鹿にならん大きさかな 前スレだかでも話題が出てた気がするけど、そんな容量すら残ってなかったって話もされてたような
特殊演出と言ってもコードだけなら数十バイトから多くても数百バイト程度だろうと思う
最初から盛り込まれてたらどうとでもなるサイズだろうけど
開発終盤で、いろんなことをやりくりしてる状況では致命的なサイズではあったろうね 容量つめこみで有名な話にスーパーマリオの👑があるね。
様々な1upテクを経て残機が10機を越えたらご褒美の隠しグラとして👑をわざわざ入れたって話。
皮肉にも無限1upで10機どころじゃない機数になってから見ることが多いので文字化けの一つにしか思われていない。 スーパーマリオといえば最近ニュース?になった、ステージクリアのBGMがキノコ取って巨大化するときの効果音に流用されてるってのは驚いたね
当時のハードの容量削減のテクニックってすごいわ >>108
通常の町人4人組で表示しているのであれば、6人組にすれば中央寄せできる気がするけど、ROMの容量がカツカツなんだろうな。 >>116
4人組なら、
頭
体体体
でゾーマを描けば中央寄せできたなw >>116
容量が確保できたとしても横に半キャラ空間があるのにヒットはあるがどうすんの?とか
苦労して直す割に別の箇所で割り切りが発生するんだろうな
>>117
そんな形に変えたら、戦闘時のデカキャラと別物になるけどどうすんの?
そもそも鳥山デザインのキャラなのに勝手にデザイン変えるのか?
みたいな話になって却下されるだろうけど ドラクエ3出た当時はガキだったが、
ゾーマのセンタリング問題なんてまったく気にならなかった
今、改めて動画て見たらめちゃくちゃ違和感あるな
大人になるってそういうことなのかな?と思った >>119
イラストとしては横にずれてる構図の方が格好良いけどな ドラクエ3はタイトル画面がなかったりオルテガがカンダタだったりなんか雜感は子供心に感じた >>118
> >>117
> そんな形に変えたら、戦闘時のデカキャラと別物になるけどどうすんの?
> そもそも鳥山デザインのキャラなのに勝手にデザイン変えるのか?
> みたいな話になって却下されるだろうけど
今しがた30分くらいで適当に117の言うような4キャラ分でドットつくってみた
https://light.dotup.org/uploda/light.dotup.org12890.jpg
https://light.dotup.org/uploda/light.dotup.org12891.jpg
超素人のドット絵でもこれくらいできるんだから問題なくね?w 歩いてくるとき炎でスプライトオーバーするんじゃね忘れたけど 容量不足の問題はプログラムの保守性を崩壊させながら全体からかき集めてくれば大抵なんとかなりはする
問題はそこまでしてやる価値がある変更かどうか
コストと利益を勘案して正しい答えを出すのは真にソフト的な問いで、アスペオタクには理解できない領域 だから今までの中では>>117が一番いい解決法だと思う
>>123の絵もいいね ゾーマまでって自由に歩けたっけ?
下手に横に並ばれたらちらつきひどくなるから横3キャラにはしないのでは。
横幅8ドットスプライトは汎用の処理では扱えないのかもね。 >>114
探してyoutubeの解説見たけど、わからんかった >>127
ゾーマが主人公に向かって歩いてくる
その際両端にたいまつの炎(スプライト)が設置された通路を通ってくる >>122
確かにカンダタはないと思った。
あと、すぎやまこういちさんの回想では、
あの場面が普通の戦闘BGMだったのを後悔していた。
これも容量の関係だけど、本当はレクイエムのBGMを入れたかったそうだ。 ■ このスレッドは過去ログ倉庫に格納されています