• ベストアンサー

ファミコンって8ビットしかないのに

ファミコンって8ビットしかないのに 256通りにどのようなプログラムを書き込まれているんですか? 色や文字設定があると思うんですが他にどのようなプログラムが書き込まれているんですか? ハード機とカセットの役割とプログラム内容を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.4

ファミコンのメモリ、RAMは2KB、ビデオRAMが2KBですね。 あまりにも小さいのでプログラマ泣かせだったそうです。 ROMカセットの容量はCPUから直接アクセスできるのは48KBまで、それ以上はバンク切り替えと言って部分的にメモリを切り替えて読んでいます。その方法でのROMカセットの最大容量は512KB(4Mbit)~1MB(8Mbit)ですね。(1MBまで使っているのは一部のソフトだけです) CPUが8bitというのはあくまで命令やデータ用のデータバスのbitで、アドレスバスは別になっています。 8bitのZ80などのCPUならアドレスバスは16bitで最大のメモリは64KBになります。 (先のバンク切り替えで扱えるメモリを増やす方法があります。) 16bitのCPUの8086などはセグメントレジスタを追加してメモリ管理させる事で1MBまでメモリアドレスが増えています。 32bitのCPUの80386からはアドレスバスが完全に32bit化されメモリアドレスが4GBまで増えています。 今のCore 2などは32bit/64bit両対応のCPUです。 ただし、CPUのアドレスバスが増えても必ずフルに使える訳でなく、ハードやソフト側で制限があったりします。

その他の回答 (3)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.3

8ビットはCPUがメモリーから一度に扱えるデータの大きさを表します。 よって記憶容量はもっと大きいです。 アドレスは16ビットで処理されますので(データではない)、16ビットで表せる数値分のアドレス指定ができ、1アドレスに対して8ビット=1バイト(当時はニブルという単位があり2ニブル分)、単純計算で少なくとも64キロバイトの記憶容量が扱える計算になります。 ちなみにCPUは6502というCPUの互換品でした、また、ゲーム用の画像処理用に専用のオリジナルCPUが別にくっついていました。 本体にあるのはCPUと最小限のメモリがあり、メインメモリーはゲームのカートリッジということになります。 過去に某出版社より解析MOOKが出ていましたので探してみてください。

  • wakko777
  • ベストアンサー率22% (1067/4682)
回答No.2

CPUの実効処理能力が8ビットなだけであって、プログラムは大きくても(8ビット以上)あっても問題ないですよ。

回答No.1

 もしかして、「8BIT」を記憶容量だと思ってます? 一命令で処理できるデータの桁数が二進で8桁というだけですよ。

corone25
質問者

補足

本当に勘違いしてました。すみません。