[Ancient 3D] In-place実行を採用した最後のハードは何か

おそらくGBAが最後のIn-place実行(= ROMに格納されたコードをRAMにコピーせずに実行)するハードだろう。いわゆる据え置きハードウェアでは(Atari Jaguarを除くと)なんとスーパーファミコンが最後となる。以降のハードは、プログラムコードを一旦RAMにロードする必要があり、相応のRAMの搭載を要求する。
ROMカートリッジを挿して遊ぶのが家庭用ゲーム機だったが、近年のハードはCD-ROM/DVD/BDのような外部メディアに頼っている。外部メディアにゲームデータが格納されることによって、一旦RAMにコードを"ロード"する必要が生じた。これはひとえにCPU/バスのクロックが向上し、バスの幅が増大したことで、CPUバスをROMカートリッジコネクタに収めることが困難になったことに依る(もちろん、CD-ROMのような直接アドレス可能なROMに比べて価格的に有利なメディアを採用したいという需要もあるが)。
難しいのは、ROMカートリッジだからといってIn-place実行するわけではない点。Nintendo64やDSはROMカートリッジを採用しているが、In-place実行でない。

各社の状況

SEGAはサターンがカートリッジスロットを備えていたので、原理的にはここからプログラムを実行できるが、実際にそれを採用したゲームは無いように見える。拡張RAMカートリッジ(パワーメモリー)が発売されていることからわかるように、サターンのカートリッジスロットは過去のハードと同様の機能性を提供していた。
Sonyは(おそらく)PocketStationを除いてIn-place実行なハードを発売していない。PS1/一部のPS2では外部接続のROMに可能性があるが、正式に採用したハードウェアは無いように見える。
任天堂は、Nintendo64やDSから、ROMカートリッジであっても内蔵RAMに一旦コピーさせるデザインにしている。GBAは32bit ARMを採用しつつ、カートリッジスロットは16bit幅であるためか多くのゲームはthumbで書かれている。thumbで書かれたコードは常識的な速度でROMから直接実行できる。これは、プログラムコードのためのRAMを搭載するよりはマシという判断だろう。
この手のCPUバスは問題を起こすことが多い。PS1のパラレルポートはいわゆるcheat device等に"活用"されてしまった。DSはGBA互換やGBAスロット + DSカード協調のためにGBAスロット側のROMに格納されたコードを実行可能にしていた。これらは結果的にセキュリティホールとなり、多くの不正デバイスの温床となった。
"真の"最後のIn-place実行アーキテクチャAtari Jaguarが相当する。Jaguarのカートリッジスロットは内部バスへのアクセスが可能で、原理的にはプログラムを配置して動作させることができる。AtariJaguarで家庭用ゲーム機からは撤退したため、一度もIn-placeでないハードを発売していない(Jaguar CDを除いて)。
PCエンジンや他のハードは特に例外はない。ROMカートリッジ形態であればIn-place実行と言える。

グラフィックスの取り扱い

グラフィックスはより早期に専用RAMの使用に切り替えている。
常識的なROMは一度に1つのアドレスしか入力できない。このため、プログラムコードとグラフィックスデータを同時に1つのROMバスから提供するのは高速なROMを必要としあまり現実的でない可能性がある。
場合によっては、CPUコード用のRAMよりもグラフィックス用のRAMの方が高い帯域を必要とする。(これは、現状のPC用グラフィックスでも、CPUに接続するメモリよりもGPUに接続されるメモリの方が広帯域であることが多いことからも類推できる。)

NTSCのドットクロックは14.31818MHzのような高い周波数になる。実際のTVゲーム機は(解像度を犠牲にして)これよりも低いクロックでピクセルを送出しているが、それでも、数MHzの速度でピクセルを送出する必要があることを意味する。これは、CPUのクロック周波数に匹敵する(実際にはCPUのクロック周波数はこれよりも低いことが多い)。
ファミコンを除いた殆どのハードでは、専用のVRAMをカートリッジ側ではなくハード側に持ち、CPUコードによってROMからコピーしていることが多い。ファミコンはキャラクタROM専用のバスを持っているが、そこにROMではなくRAM(CHR-RAM)を搭載しているソフトはかなり多い。