重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (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のアドレスバスが増えても必ずフルに使える訳でなく、ハードやソフト側で制限があったりします。
    • good
    • 0

8ビットはCPUがメモリーから一度に扱えるデータの大きさを表します。


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

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

    • good
    • 0

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

この回答への補足

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

補足日時:2010/07/20 13:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A