>>768
その辺は当時のファミコンのハードウェアの制約が分からないと理解が難しいだろうね

ファミコンのプログラムのメモリ空間は64KBで、前半はワーク用RAMやコントローラの入力内容等が
読み書きできるメモリマップドIOで、後半32KBにカセットのROMが見えるようになっている
グラフィックのメモリは別に8KB扱えるようになっていて、カセットのROMを読めるようにもできるし
VRAMとしてプログラムから書きこむこともできるようになってる

初期の頃のゲームは32KB+8KBでも足りていたが、すぐ全然足らなくなったのとコピー対策も兼ねて
カセットにメモリコントローラを入れて、カセットのROMを32KB単位や16KB単位、8KB単位、4KB単位で
何個も用意し、ROMに対して書き込みをするとメモリコントローラへの入力となりプログラムや
グラフィックが入れ替わるバンク切り替えの仕組みで容量を増やしていた

DQ1はグラフィックのみ切り替えられるメモリコントローラを使っていて、32KBのプログラムが1個と
8KBのグラフィックが4個あり、グラフィックの側を切り替えていた

DQ2はプログラムのみ切り替えられるメモリコントローラを使っていて、16KBのプログラムが8個あり、
グラフィックはVRAMにしてプログラムから書き込むようにしていた

DQ3はDQ1より後なので、自由にバンク切り替えができる高度なメモリコントローラのMMC1を使っていて、
16KBのプログラムが16個あり、グラフィックはDQ2と同様にVRAMでプログラムから書いていた

メモリコントローラによってプログラムの構造が決まるので、一度決めたメモリコントローラを変更すると
プログラムをほとんど最初から書き直すことになり簡単には変更できないから、DQ1の場合プログラムの
容量は増やせなかったはず