1# snes-core
2
3Emulation core for the Super Nintendo Entertainment System (SNES) / Super Famicom.
4
5This system contains the following components:
6* 65C816 CPU clocked at 3.58 MHz
7  * The SNES augments this CPU with some additional components, including multiplication and division units
8* Technically two PPUs (picture processing units), though they function as a single unit
9  * Can render in 256x224, 256x239, 512x224, 512x239, 512x448, or 512x478
10    * 512px resolutions were not commonly used due to memory usage and the quality of 90s TV setups
11    * 512x448 and 512x478 only possible using interlaced rendering modes
12  * Supports 15-bit RGB color (32,768 possible colors) with up to 256 different colors onscreen simultaneously
13  * Supports 4 different background layers, though most BG modes only use 2 or 3
14    * Each BG layer can be 4-color, 16-color, or 256-color depending on BG mode
15  * Supports 8 different background modes
16    * One mode supports background rotation and scaling via affine transformations (Mode 7)
17    * Two modes support 512px high-resolution backgrounds (Modes 5 & 6)
18  * Supports 128 sprites onscreen simultaneously and up to 32 sprites per line, with sprites ranging in size from 8x8 to 64x64
19  * Supports layer blending via "color math", commonly used for transparency and lighting effects
20* APU (audio processing unit)
21  * Contains an embedded SPC700 CPU clocked at 1.024 MHz, used to drive the DSP
22  * The embedded DSP is an 8-channel ADPCM playback device with per-channel envelopes, a noise generator, pitch modulation, and an echo filter
23  * Emits an audio signal at 32 KHz
24* 128KB of working RAM
25* 64KB of VRAM
26* 512+32 bytes of OAM (object/sprite attribute memory)
27* 512 bytes of CGRAM (color palette memory)
28* 64KB of audio RAM shared between the SPC700 and the audio DSP
29
30The SNES may have had a fairly awful CPU compared to its most significant competition, but it made up for it with its extremely capable graphics processor.