Before the basics: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎Background: thread)
(→‎Background: updated Wikipedia links)
Line 11: Line 11:
*[[wikipedia:Bit|Bit]]
*[[wikipedia:Bit|Bit]]
**[[wikipedia:Boolean logic|Boolean logic]]
**[[wikipedia:Boolean logic|Boolean logic]]
**[[wikipedia:Boolean algebra (introduction)|Boolean algebra (introduction)]]
**[[wikipedia:Introduction to Boolean algebra|Introduction to Boolean algebra]]
**[[wikipedia:Logic gate|Logic gate]]
**[[wikipedia:Logic gate|Logic gate]]
*[[wikipedia:Binary numeral system|Binary numeral system]]
*[[wikipedia:Binary numeral system|Binary numeral system]]
Line 17: Line 17:
**[[wikipedia:Arithmetic logic unit|Arithmetic logic unit]]
**[[wikipedia:Arithmetic logic unit|Arithmetic logic unit]]
**[[wikipedia:Binary prefix|Binary prefix]] (KiB, MiB)
**[[wikipedia:Binary prefix|Binary prefix]] (KiB, MiB)
*[[wikipedia:Random access memory|Random access memory]] (RAM)
*[[wikipedia:Random-access memory|Random-access memory]] (RAM)
*[[wikipedia:Read-only memory|Read-only memory]] (ROM)
*[[wikipedia:Read-only memory|Read-only memory]] (ROM)
*[[wikipedia:Bus (computing)|Bus]]
*[[wikipedia:Bus (computing)|Bus]]
Line 33: Line 33:
**[[wikipedia:Object file|Object file]]
**[[wikipedia:Object file|Object file]]
**[[wikipedia:Compiler|Compiler]]
**[[wikipedia:Compiler|Compiler]]
**[[wikipedia:Thread_(computer_science)|Thread_(computer_science)]]
**[[wikipedia:Thread (computer science)|Thread]]
*[[wikipedia:Input/output|Input/output]] (I/O)
*[[wikipedia:Input/output|Input/output]] (I/O)
**[[wikipedia:Memory-mapped I/O|Memory-mapped I/O]]
**[[wikipedia:Memory-mapped I/O|Memory-mapped I/O]]
Line 53: Line 53:
**[[wikipedia:Scrolling|Scrolling]]
**[[wikipedia:Scrolling|Scrolling]]
**[[wikipedia:Sprite (computer graphics)|Sprite]]
**[[wikipedia:Sprite (computer graphics)|Sprite]]
*[[wikipedia:Command line interface|Command line interface]]
*[[wikipedia:Command-line interface|Command-line interface]]
**[[wikipedia:COMMAND.COM|MS-DOS Prompt]]
**[[wikipedia:COMMAND.COM|MS-DOS Prompt]]
**[[wikipedia:Command Prompt (Windows)|Command Prompt]]
**[[wikipedia:Command Prompt|Windows Command Prompt]]
**[[wikipedia:Batch file|Batch file]]
**[[wikipedia:Batch file|Batch file]]
**[[wikipedia:Extension|Extension]]
**[[wikipedia:Plug-in (computing)|Plug-in]]
**[[wikipedia:Filename extension|Filename extension]]
**[[wikipedia:Filename extension|Filename extension]]
**[[wikipedia:ZIP (file format)|ZIP]]
**[[wikipedia:ZIP (file format)|ZIP]]

Revision as of 22:00, 28 March 2010

Background

A digital computer, such as a PC or NES, is filled with millions of tiny switches that can be turned on or off. Some switches store information for short time; these are called memory. Other switches calculate things based on the output of other switches; these are called logic. Each switch can be on or off, representing true or false, or the numbers 1 or 0. Multiple switches grouped together can represent larger values. A CPU reads machine code from a memory and treats it as instructions to perform arithmetic and logic operations on other values in memory or to perform input and output. Some of the input and output involve user interaction: the user gives commands to the computer, and the computer displays the result.

If you're confused, now is the opportunity to become familiar with the following basic concepts from computer engineering and computer science. These articles from Wikipedia are in English, and many have been translated into other languages.

Introducing the NES

The Nintendo Entertainment System has the following components:

  • 2A03 CPU IC made by Ricoh
    • CPU based on the MOS Technology 6502 8-bit microprocessor
    • serial input for game controllers
    • audio output comprising four tone generators and a delta modulation playback device
  • 2 KiB of RAM for use by the CPU
  • 2C02 PPU (picture processing unit)
    • tile-based background image
    • 64 sprites (individually moving objects)
    • 25 colors out of 53
    • 256x240 pixel progressive picture generator
    • NTSC color encoder
  • 2 KiB of RAM for use by the PPU

Cartridges have the following components:

  • 16 KiB or more PRG ROM, for use by the CPU
  • 8 KiB or more CHR ROM or CHR RAM, for use by the PPU (and in some cases by the CPU)
  • (optional) Bank switching hardware for the ROMs
  • (optional) Logic to generate interrupts