こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2010-07-20 08:12:41

QNo.6050806

困ってます

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

ファミコンのメモリ、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のアドレスバスが増えても必ずフルに使える訳でなく、ハードやソフト側で制限があったりします。

投稿日時 - 2010-07-20 10:43:55

このQ&Aは役に立ちましたか?

23人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

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

投稿日時 - 2010-07-20 10:16:51

ANo.2

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

投稿日時 - 2010-07-20 09:38:09

ANo.1

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

投稿日時 - 2010-07-20 08:41:24

補足

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

投稿日時 - 2010-07-20 13:14:18

あなたにオススメの質問