If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Nintendo Entertainment System/Hardware information: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 52: | Line 52: | ||
== On Startup == | == On Startup == | ||
On startup, the NES loads the first 16k of ROM to address $8000, and the last program bank to $C000, and begins program execution at the 16-bit address suggested bytes from the end of the last prog bank (address $FFFC). | On startup, the NES loads the first 16k of ROM to address $8000, and the last program bank to $C000, and begins program execution at the 16-bit address suggested two bytes from the end of the last prog bank (address $FFFC in memory). | ||
== See Also == | == See Also == |
Revision as of 21:29, 2 March 2016
The Nintendo Entertainment System (NES for short) consists of:
- 2A03 Central Processing Unit
- A 6502 8-bit (using a custom MOS Technology 6502 class) Processor running at 1.789Mhz
- On-die PSG sound supporting 5 channels:
- 2 pulse wave
- 1 triangle wave
- 1 noise
- 1 DPCM
- 16 Kbit (2kb) of RAM
- 2C02 Picture Processing Unit
- 16 Kbit (2kb) of VRAM
- Screen Resolution of 256x240
- 52 Colors Available (four levels of gray, and four levels of each of 12 hues)
- 8 color emphasis modes
- Up to 25 colors on screen through normal means, though with special tricks, several hundred colors can be on screen
- Maximum of 64 sprites
- Maximum of 8 sprites per scanline
- 8x8 or 8x16 sprite size
- Two picture scrolls, Horizontal and Vertical
- Game Pak
- Min/Max attested cart size: 192 Kbit - 4 Mbit
- More than 320 Kbit requires bankswitching hardware
- Some games contain extra RAM for the CPU and/or PPU
ROM Layout
In iNES format, a cartridge ROM consists of the cartridge's dedicated program data banks ("PRG ROM") ordered from first to last, followed by the dedicated video graphics banks ("CHR ROM") also so sequenced.
Example of a 96k rom with 4 PRG banks and 4 CHR banks:
$00000 | PRG Bank 1 |
$04000 | PRG Bank 2 |
$08000 | PRG Bank 3 |
$0C000 | PRG Bank 4 |
$10000 | CHR Bank 1 |
$12000 | CHR Bank 2 |
$14000 | CHR Bank 3 |
$16000 | CHR Bank 4 |
On Startup
On startup, the NES loads the first 16k of ROM to address $8000, and the last program bank to $C000, and begins program execution at the 16-bit address suggested two bytes from the end of the last prog bank (address $FFFC in memory).
See Also
- 6502 opcodes
- More NES hardware information can be found at The NESDev Wiki.