Difference between revisions of "Sega Master System/Hardware comparison"

From Sega Retro

(→‎Vs. Game Gear: Refactored a ton of this.)
(→‎Vs. NES: What the fuck is this "hybrid 8/16-bit" shit? The SMS VDP is 8-bit; it's a direct successor of the TMS9918A. Also, no one refers to "NEC 780C"; it's a second-sourced Zilog Z80.)
Line 11: Line 11:
  
 
==Vs. NES==
 
==Vs. NES==
The Master System is overall a more powerful console than the [[Nintendo Entertainment System]] (NES), its main rival. The NES is an entirely 8-bit console, with an 8-bit [[Ricoh]] [[wikipedia:Ricoh 2A03|2A03]] (MOS 6502) [[CPU]] and 8-bit [[wikipedia:Picture Processing Unit|Ricoh PPU]] graphics processor, each with an 8-bit data bus. In comparison, the Master System is a hybrid 8/16-bit system, with its [[NEC]] [[Z80|780C]] ([[Zilog]] [[Z80]]) CPU supporting both 8-bit and 16-bit instructions and having an 8-bit data bus, while its [[Sega]] [[VDP]] graphics processor has a 16-bit data bus.
+
The Master System is overall a more powerful console than the [[Nintendo Entertainment System]] (NES), its main rival. The NES's main CPU is an 8-bit [[Ricoh]] [[wikipedia:Ricoh 2A03|2A03]] (MOS 6502) [[CPU]] and its video processor is a custom-built [[wikipedia:Picture Processing Unit|Ricoh PPU]] graphics processor. The Master System's main CPU is an [[NEC]] [[Z80|780C]] ([[Zilog]] [[Z80]]) CPU and its video processor is a [[Sega]] [[VDP]], which is an extended version of the on the [[Texas Instruments]] [[TMS9918|TMS9918A]].
  
The Master System's 780C CPU has approximately twice the clock rate (MHz) of the NES's 2A03 CPU, but this does not necessarily mean twice the performance. The 2A03 requires less cycles per instruction, thus it can actually output slightly more instructions per second (MIPS) than the 780C. However, comparing the MIPS of both CPUs would be just as misleading as comparing their MHz. The 780C has a more powerful hybrid 8/16-bit instruction set, so it requires fewer instructions to perform similar tasks. The performance of each CPU varies depending on the tasks. For accessing memory, the 2A03 is faster in that regard, but the 780C doesn't need to access the memory as much since it requires fewer instructions to perform similar tasks. Where the 780C has a significant performance advantage is the arithmetic. While both CPUs have similar performance when it comes to the addition and subtraction of smaller 8-bit numbers, the 780C has a significant performance advantage for most other arithmetic operations, including multiplications and divisions (for both 8-bit and 16-bit numbers), as well as the addition and subtraction of larger 16-bit numbers (due to the 780C having native support for 16-bit operations). The faster arithmetic of the 780C gives it an overall performance advantage over the 2A03.
+
The Master System's Z80 CPU has approximately twice the clock rate (MHz) of the NES's 2A03 CPU, but this does not necessarily mean twice the performance. The 2A03 requires less cycles per instruction, thus it can actually output slightly more instructions per second (MIPS) than the Z80. However, comparing the MIPS of both CPUs would be just as misleading as comparing their MHz. The Z80 has a more powerful hybrid 8/16-bit instruction set, so it requires fewer instructions to perform similar tasks. The performance of each CPU varies depending on the tasks. For accessing memory, the 2A03 is faster in that regard, but the Z80 doesn't need to access the memory as much since it requires fewer instructions to perform similar tasks. Where the Z80 has a significant performance advantage is the arithmetic. While both CPUs have similar performance when it comes to the addition and subtraction of smaller 8-bit numbers, the Z80 has a significant performance advantage for most other arithmetic operations, including multiplications and divisions (for both 8-bit and 16-bit numbers), as well as the addition and subtraction of larger 16-bit numbers (due to the Z80 having native support for 16-bit operations). The faster arithmetic of the Z80 gives it an overall performance advantage over the 2A03.
  
The Master System's VDP has has 16-bit data bus, compared to the NES's PPU which has an 8-bit data bus, thus the Master System has a higher memory [[Byte|bandwidth]] than the NES. The highest bandwidth allows the SMS to to access and transfer more graphics data. The Master System displays 16 colors per tile and 16 colors per [[sprite]], like the 16-bit [[Mega Drive]] and [[SNES]], compared to 4 colors per tile and 4 colors per sprite for the NES. The Master System displays 32 colors on screen, compared to the Nintendo's 25 colors on screen. The Master System also supports diagonal scrolling as well as line scrolling, allowing it to simulate [[wikipedia:Parallax scrolling|parallax scrolling]].
+
The Master System displays 16 colors per tile and 16 colors per [[sprite]], like the 16-bit [[Mega Drive]] and [[SNES]], compared to 4 colors per tile and 4 colors per sprite for the NES. The Master System displays 32 colors on screen, compared to the Nintendo's 25 colors on screen. The Master System also supports diagonal scrolling as well as line scrolling, allowing it to simulate [[wikipedia:Parallax scrolling|parallax scrolling]].
  
 
One hardware feature that the NES has (as well as the Atari 7800) which the SMS hardware lacks is DMA (direct memory access), which allows data transfers between different parts of the memory architecture. The NES (like the 7800) relies on DMA to transfer sprite display lists between the GPU cache and the RAM. However, the SMS doesn't need to use DMA for such a task, as the SMS addresses sprite display information directly from its [[VRAM]], which has a higher bandwidth, bypassing the need for DMA to access a sprite display list. Both of their 16-bit successors, the [[Mega Drive]] and [[SNES]], have DMA controllers which make more extensive use of DMA, particularly the Mega Drive which has faster DMA bandwidth.
 
One hardware feature that the NES has (as well as the Atari 7800) which the SMS hardware lacks is DMA (direct memory access), which allows data transfers between different parts of the memory architecture. The NES (like the 7800) relies on DMA to transfer sprite display lists between the GPU cache and the RAM. However, the SMS doesn't need to use DMA for such a task, as the SMS addresses sprite display information directly from its [[VRAM]], which has a higher bandwidth, bypassing the need for DMA to access a sprite display list. Both of their 16-bit successors, the [[Mega Drive]] and [[SNES]], have DMA controllers which make more extensive use of DMA, particularly the Mega Drive which has faster DMA bandwidth.

Revision as of 21:00, 30 April 2019

For technical details on the Sega Master System, see Sega Master System/Technical specifications.


This article presents a hardware comparison between the Sega Master System (SMS) and other rival systems in its time, most notably the NES. The article compares the technical specifications and hardware advantages/disadvantages between the systems.

Vs. Game Gear

As was tradition with Sega consoles at the time, the handheld Sega Game Gear is backwards compatible with the Master System and can run Master System carts through an adapter. The most noticeable hardware difference is the VDP's color palette allows selecting 32 out of 4,096 possible colors (12-bit). The Master System VDP has the same number of active colors, but can only select out of 64 colors (6-bit). Due to the higher color depth, the Game Gear has twice as much color RAM, and it doesn't use the same format as the Master System. As such, if you attempt to run a Game Gear game on a Master System, it will run, but the colors will be incorrect.

The Game Gear's display is also lower resolution than the Master System: 160x144 compared to 256x192. For Game Gear games, the 160x144 is a window within the 256x192 SMS display. When using the Master Gear adapter, the 256x192 SMS display is shrunken to fit, which can result in image artifacting.

Finally, the Game Gear has a Start button, and it also has an extra register for PSG stereo. The Start button is technically a separate register, not part of the controller, which prevents Game Gear games from being run on Master System without modifications.

Vs. NES

The Master System is overall a more powerful console than the Nintendo Entertainment System (NES), its main rival. The NES's main CPU is an 8-bit Ricoh 2A03 (MOS 6502) CPU and its video processor is a custom-built Ricoh PPU graphics processor. The Master System's main CPU is an NEC 780C (Zilog Z80) CPU and its video processor is a Sega VDP, which is an extended version of the on the Texas Instruments TMS9918A.

The Master System's Z80 CPU has approximately twice the clock rate (MHz) of the NES's 2A03 CPU, but this does not necessarily mean twice the performance. The 2A03 requires less cycles per instruction, thus it can actually output slightly more instructions per second (MIPS) than the Z80. However, comparing the MIPS of both CPUs would be just as misleading as comparing their MHz. The Z80 has a more powerful hybrid 8/16-bit instruction set, so it requires fewer instructions to perform similar tasks. The performance of each CPU varies depending on the tasks. For accessing memory, the 2A03 is faster in that regard, but the Z80 doesn't need to access the memory as much since it requires fewer instructions to perform similar tasks. Where the Z80 has a significant performance advantage is the arithmetic. While both CPUs have similar performance when it comes to the addition and subtraction of smaller 8-bit numbers, the Z80 has a significant performance advantage for most other arithmetic operations, including multiplications and divisions (for both 8-bit and 16-bit numbers), as well as the addition and subtraction of larger 16-bit numbers (due to the Z80 having native support for 16-bit operations). The faster arithmetic of the Z80 gives it an overall performance advantage over the 2A03.

The Master System displays 16 colors per tile and 16 colors per sprite, like the 16-bit Mega Drive and SNES, compared to 4 colors per tile and 4 colors per sprite for the NES. The Master System displays 32 colors on screen, compared to the Nintendo's 25 colors on screen. The Master System also supports diagonal scrolling as well as line scrolling, allowing it to simulate parallax scrolling.

One hardware feature that the NES has (as well as the Atari 7800) which the SMS hardware lacks is DMA (direct memory access), which allows data transfers between different parts of the memory architecture. The NES (like the 7800) relies on DMA to transfer sprite display lists between the GPU cache and the RAM. However, the SMS doesn't need to use DMA for such a task, as the SMS addresses sprite display information directly from its VRAM, which has a higher bandwidth, bypassing the need for DMA to access a sprite display list. Both of their 16-bit successors, the Mega Drive and SNES, have DMA controllers which make more extensive use of DMA, particularly the Mega Drive which has faster DMA bandwidth.

A clear advantage of the NES its its Ricoh sound chip, which is more advanced than the PSG in Western Master System hardware, but not quite as advanced as the Yamaha FM synthesis chip in Japanese Master System hardware. The NES was also capable of enhancement chips. Some of them added diagonal scrolling and line scrolling, both of which the Master System was already capable of. There were also enhancement chips which added FM synthesis capabilities, which only the Japanese Master System was capable of.

Vs. 7800

The Master System is a more powerful system than the Atari 7800. Its CPU, the MOS 6502, is nearly identical to the 6502-based 2A03 CPU of the NES. The SMS thus has most of the same advantages over the 7800 CPU as it does over the NES CPU, for the same reasons as mentioned in the NES section above.

Both the NES and SMS use tile-based graphics compression, where the graphics are rendered tile-by-tile, rather than pixel-by-pixel. They have two planes, a background (BG) tilemap plane below and hardware sprites on top, each referencing and recycling sets of tiles. In comparison, the 7800 uses uncompressed bitmap rendering, where the graphics are rendered pixel-by-pixel and line-by-line. As the 7800 doesn't have enough RAM for a framebuffer, it renders graphics by "zones" which typically refers to a set of 4-16 scanlines. The 7800 does not have hardware sprites or a BG tilemap plane, but can use software rendering routines accelerated by its MARIA graphics chip to draw software sprites and tiles, but this can strain the MARIA which has to draw them pixel-by-pixel and line-by-line. The tile-based compression of the NES and SMS allows much more efficient usage of resources, including a significant reduction in processing, memory and bandwidth requirements for rendering graphics.

Both the NES and SMS also have separate data buses for the CPU and GPU, with a combined system data bus width of 16-bit for the NES (8-bit CPU bus and 8-bit PPU bus) and 24-bit for the SMS (8-bit CPU bus and 16-bit VDP bus). In comparison, the 7800 only has a single 8-bit data bus, which is shared by both its CPU and MARIA graphics chip. This means the 7800 has a smaller bus width and thus a lower memory bandwidth than both the NES and SMS. This also negatively affects the performance of both the CPU and MARIA, as the CPU has to be halted whenever MARIA accesses the bus, as only one of the two processors can access the memory at any one time. The lack of bandwidth, combined with the lack of tile compression, means that the 7800 cannot push as much graphics data as the NES or SMS. The 7800 also lacks smooth per-pixel hardware scrolling, but supports coarse scrolling, which scrolls in 8-pixel increments (though smooth scrolling is possible on the 7800, with intensive software routines).

On the other hand, the 7800's bitmap rendering is more flexible in some ways. While its ability to render large, detailed, scrolling backgrounds is inferior to the NES and especially the SMS, the 7800 can push a large amount of software sprites for games that have no backgrounds, such as Robotron. However, such games without backgrounds became rare in the NES/SMS era, where games with full scrolling backgrounds became the norm. The SMS's ability to flip background tiles also allows it to essentially manipulate background tiles as if they are sprites, or manipulate its tilemap background as if it was a bitmap, thus the SMS could technically also push a large amount of software sprites in a similar manner in addition to having a full background (as seen in titles such as Golden Axe, Space Harrier, Altered Beast, Road Rash and Mortal Kombat).

An advantage of the 7800 is that it has access to a larger selectable color palette. While this allows more shades, its overall palette is darker and more muted compared to the NES and SMS, both of which have brighter palettes with more contrast and luminance.[1] The number of colors the 7800 can practically display on each scanline is also more limited than the NES and SMS, as the 7800 is limited to 12 colors per "zone" (4-16 scanlines), whereas the NES and SMS can display up to 25 colors and 32 colors per scanline, respectively.[2] The 7800 also displays less colors on screen than the SMS, as well as less colors per tile. The 7800 also has a hi-res mode that displays a higher resolution than the NES and SMS resolutions, but the 7800's hi-res mode was rarely used by games as it displays significantly less colors on screen, and the MARIA did not have enough processing power to render a full background in this mode.

Vs. C64 and ZX

The Master System's main rivals in Europe were the 8-bit home computers, the ZX Spectrum and Commodore 64 (C64). Despite the rivalry, however, Sega supported these platforms as a third-party licensor of arcade ports. The Master System was the most powerful 8-bit home system, surpassing the NES, ZX, and C64, while at the same time the SMS had a lower price point than the ZX and C64.

Vs. Amiga

The Commodore Amiga 500 (A500) released just a month after the Master System's European release in 1987. However, they were generally not in direct competition, as the Amiga was significantly more expensive than the Master System. The Amiga's direct competitor would later be the Sega Mega Drive. The Master System was instead competing with the 8-bit home computers, particularly the ZX and C64, though the Master System's hardware capabilities were closer to the Amiga than to the ZX or C64.

Compared to the 16-bit Amiga 500, the A500 was generally more powerful overall, with a more powerful 16-bit 68000 CPU, higher resolution, larger color palette, larger sprites, faster blitting, and superior audio capabilities (like the Mega Drive released a year later). However, the Master System did have several advantages, with its VDP graphics chip supporting more hardware sprites, superior hardware tile capabilities, and smoother scrolling. Its tilemap backgrounds require up to 64 times less processing, memory and bandwidth than the A500's bitmap backgrounds,[3] allowing the Master System to produce smoother scrolling and animations. The Master System displays 32 hardware sprites on screen, compared to the A500's 8 hardware sprites (though blitting allows the A500 to exceed this limit). The Master System displays 32 colors on screen and 16 colors per sprite, while for the A500, colors range from 2 to 32 on screen and it displays 2 to 4 colors per sprite. The A500's parallax scrolling reduces performance and colors, while the Master System's line scrolling simulates parallax scrolling without affecting performance or colors. The Master System's cartridges also have faster loading than the Amiga's floppy disks. While the A500 was still more advanced overall, the Master System hardware was strong enough to remain competitive at a significantly lower price point, up until the release of the more advanced Mega Drive.

Vs. PC Engine

The Master System has a similar 8/16-bit hybrid design as the NEC PC Engine (TurboGrafx-16). The Master System has an 8/16-bit NEC 780C (Zilog Z80) CPU, supporting both 8-bit and 16-bit instructions and with an 8-bit data bus, compared to the PC Engine which has an entirely 8-bit CPU. The Master System's Sega VDP graphics processor has a 16-bit data bus, while the PC-Engine has a dual-GPU setup sharing a 16-bit data bus. The Master System is thus no less of a "16-bit" system than the TurboGrafx-16. Nevertheless, the PC Engine is a more powerful system than the Master System, and can be considered a next-generation system, even if both systems have a similar numbers of "bits".

Comparison table

Console Sega Master System (SMS)[4][5] Nintendo Entertainment System (NES)[6][7][8][9][10] Atari 7800[11][12][13]
System master
clock rate
NTSC 53.693175 MHz 21.47727 MHz 14.31818 MHz
PAL 53.203424 MHz 26.6017125 MHz 14.187576 MHz
System data bus width 24-bit (8-bit CPU bus, 16-bit VDP bus) 16-bit (8-bit CPU bus, 8-bit PPU bus) 8-bit (shared by CPU and MARIA)
Central processing unit (CPU) NEC 780C (Zilog Z80) Ricoh 2A03 (MOS 6502) MOS 6502
Clock rate NTSC 3.579545 MHz 1.789773 MHz 1.789773 MHz (default), 1.193182 MHz (2600 mode)
PAL 3.546894 MHz 1.662607 MHz 1.773447 MHz (default), 1.182298 MHz (2600 mode)
Data bus width 8-bit (dedicated) 8-bit (dedicated) 8-bit (shared with MARIA)
Word length 8-bit 8-bit 8-bit
Instructions Instruction set 8-bit, 16-bit 8-bit 8-bit
Instructions per second 0.52 MIPS (8-bit and 16-bit instructions) 0.7 MIPS (8-bit instructions)[14] Default: 0.7 MIPS (8-bit instructions)
2600 mode: 0.51 MIPS (8-bit instructions)
8-bit arithmetic Additions[n 1] Up to 800,000 adds/sec[n 2] Up to 800,000 adds/sec[n 3] Up to 800,000 adds/sec
Multiplications Up to 140,000 multiplies/sec[n 4] Up to 100,000 multiplies/sec[n 5] Up to 100,000 multiplies/sec
Divisions Up to 40,000 divides/sec[n 6] Up to 18,000 divides/sec[n 7] Up to 18,000 divides/sec
16-bit arithmetic Additions[n 1] Up to 300,000 adds/sec[n 8] Up to 80,000 adds/sec[n 9] Up to 80,000 adds/sec
Multiplications Up to 30,000 multiplies/sec[n 10] Up to 9,000 multiplies/sec[n 11] Up to 9,000 multiplies/sec
Divisions Up to 3,000 divides/sec[n 12] Up to 1,000 divides/sec[n 13] Up to 1,000 divides/sec
Graphics processing unit (GPU) Sega VDP Ricoh PPU GCC MARIA
Clock rate NTSC 10.738635 MHz 5.369317 MHz 7.159091 MHz
PAL 10.640685 MHz 5.320342 MHz 7.093788 MHz
Bits Data bus width 16-bit (dedicated) 8-bit (dedicated) 8-bit (shared with CPU)
Registers 8-bit, 16-bit 8-bit 8-bit
Internal cache Cache 64 bytes (32 bytes CRAM, 32 bytes sprite line buffer) 256 bytes (OAM) 225 bytes (200 bytes line buffer, 25 bytes color map)
Bandwidth 10 MB/s 5.369317 MB/s (NTSC), 5.320342 MB/s (PAL) 7.15909 MB/s (NTSC), 7.093788 MB/s (PAL)
Hardware
rendering
Tile compression Yes Yes No
Hardware sprites Yes Yes No
Bitmap rendering SG-1000 mode only No Yes
Graphical planes 2 planes (hardware sprites, tilemap background) 2 planes (hardware sprites, tilemap background) 1 plane (bitmap)
Scrolling capabilities Per-pixel scrolling, vertical/horizontal scrolling,
diagonal scrolling, line scrolling, split-screen scrolling
Per-pixel scrolling, vertical/horizontal scrolling,
split-screen scrolling
Coarse scrolling (8-pixel increments),
vertical/horizontal scrolling
IRQ interrupt Yes MMC enhancement chips only No
Resolution Pixel clock rate 5.369318 MHz (NTSC), 5.320342 MHz (PAL) 5.369318 MHz (NTSC), 5.320342 MHz (PAL) Default: 3.579546 MHz (NTSC), 3.546894 MHz (PAL)
Hi-res: 7.159091 MHz (NTSC), 7.093788 MHz (PAL)
Overscan 342×262 (NTSC), 342×313 (PAL) 341×262 (NTSC), 341×312 (PAL)[26][27] 227×263 (NTSC), 227×313 (PAL)
Display resolution Default: 256×192, 256×224
Hi-res: 256×240
Default: 256×192, 256×224
Hi-res: 256×240
Default: 160×192
Hi-res: 160×242, 320×192
Refresh rate 59.922743 Hz (NTSC), 49.701459 Hz (PAL) 60.099143 Hz (NTSC), 50.006979 Hz (PAL) 59.957873 Hz (NTSC), 49.920395 Hz (PAL)
Colors Color format RGB YIQ Y/C[1]
Luma brightness 100% 100% 50%[1]
Total palette 64 colors (absolute) 54 colors (absolute) 16 colors (absolute), 256 colors (relative)[1]
Colors on screen 32 colors 25 colors 25 colors (160×192 mode), 6 colors (320×192 mode)[28]
Colors per scanline 32 colors 25 colors 12 colors[29]
Colors per tile 16 colors (default), 2 colors (SG-1000 mode) 4 colors 3-8 colors (160×192 display),
1-3 colors (320×192 display)[30]
Tiles 8×8 tiles on screen 1152 tiles (16-color), 1280 tiles (2-color) 1152 tiles (4-color) 252 tiles (4-color)[31]
Unique 8×8 tiles on screen 488 tiles (16-color), 1024 tiles (2-color) 512 tiles (4-color) 252 tiles (4-color)[31]
8×8 tiles per scanline 40 tiles (16-color), 48 tiles (2-color) 40 tiles (4-color) 21 tiles (4-color)[31]
8×8 tile draw fillrate 16-color tiles: 69,030 tiles/sec (NTSC), 57,256 tiles/sec (PAL)
2-color tiles: 76,701 tiles/sec, 63,617 tiles/sec (PAL)
4-color tiles: 69,234 tiles/sec (NTSC), 57,608 tiles/sec (PAL) 4-color tiles: 15,109 tiles/sec (NTSC),
12,579 tiles/sec (PAL)
Tile texels Tile texels per scanline 320 texels (16-color tiles), 342 texels (2-color tiles) 320 texels (4-color tiles) 168 texels (4-color tiles)[31]
Tile draw fillrate 16-color tiles: 4.417 MTexels/s (NTSC), 3.664 MTexels/s (PAL)
2-color tiles: 4.908 MTexels/s, 4.071 MTexels/s (PAL)
4-color tiles: 4.43 MTexels/s (NTSC), 3.686 MTexels/s (PAL) 4-color tiles: 966,976 texels/s (NTSC),
805,056 texels/s (PAL)
VRAM tile transfer
(VBlank/HBlank)
Texel fillrate
(256×192 display)
16-color tiles: 348,990 texels/s (NTSC), 359,440 texels/s (PAL)[n 14]
2-color tiles: 1.395 MTexels/s (NTSC), 1.447 MTExels/s (PAL)[n 15]
4-color tiles: 234,627 texels/s (NTSC), 361,650 texels/s (PAL)[n 16] N/A
Texel fillrate
(256×224 display)
16-color tiles: 161,072 texels/s (NTSC), 241,747 texels/s (PAL)[n 17]
2-color tiles: 651,959 texels/s (NTSC), 973,353 texels/s (PAL)[n 18]
4-color tiles: 88,465 texels/s (NTSC), 246,434 texels/s (PAL)[n 19]
Tile fillrate
(256×192 display)
16-color tiles: 5452 tiles/sec (NTSC), 5616 tiles/sec (PAL)
2-color tiles: 21,811 tiles/sec (NTSC), 22,614 tiles/sec (PAL)
4-color tiles: 3666 tiles/sec (NTSC), 5650 tiles/sec (PAL)
Tile fillrate
(256×224 display)
16-color tiles: 2516 tiles/sec (NTSC), 3777 tiles/sec (PAL)
2-color tiles: 10,186 tiles/sec (NTSC), 15,208 tiles/sec (PAL)
4-color tiles: 1382 tiles/sec (NTSC), 3850 tiles/sec (PAL)
Transfer per refresh
(256×192 display)
16-color tiles: 91 tiles (NTSC), 113 tiles (PAL)
2-color tiles: 364 tiles (NTSC), 455 tiles (PAL)[n 20]
4-color tiles: 61 tiles (NTSC), 113 tiles (PAL)[n 21]
Transfer per refresh
(256×224 display)
16-color tiles: 42 tiles (NTSC), 76 tiles (PAL)[n 22]
2-color tiles: 170 tiles (NTSC), 306 tiles (PAL)[n 23]
4-color tiles: 23 tiles (NTSC), 77 tiles (PAL)[n 24]
Hardware sprite
plane
Colors per sprite 16 colors (default), 2 colors (SG-1000 mode) 4 colors N/A
Sprites on screen 64 sprites 64 sprites
Sprite tiles on screen 128 sprite tiles (16-color),
256 sprite tiles (2-color)
128 sprite tiles (4-color)
Sprite sizes 16-color sprites: 8×8, 8×16
2-color sprites: 8×8, 16×16
4-color sprites: 8x8, 8x16
Sprite zooming 16-color sprites: 16×16, 16×32
2-color sprites: 16×16, 32×32
N/A
Sprites per scanline 8 sprites 8 sprites
Sprite tiles per scanline 8 sprite tiles (16-color),
16 sprite tiles (2-color)
8 sprite tiles (4-color)
Sprite texels per scanline 64 texels (16-color), 128 texels (2-color) 64 texels (4-color)
Sprite flipping No Yes
Draw fillrate 490,000 texels/s (16-color sprites),
980,000 texels/s (2-color sprites)
490,000 texels/s (4-color sprites)
Write fillrate
(256×192 display)
16-color sprites: 349,000 texels/s (NTSC), 362,000 texels/s
2-color sprites: 980,000 texels/s
4-color sprites: 236,000 pixels/s (NTSC), 362,000 pixels/s (PAL)
Write fillrate
(256×224 display)
16-color sprites: 163,000 pixels/s (NTSC), 243,000 pixels/s (PAL)
2-color sprites: 655,000 pixels/s (NTSC), 974,000 pixels/s (PAL)
4-color sprites: 90,000 pixels/s (NTSC), 248,000 pixels/s (PAL)
Transfer per frame (256×192) 16-color sprites: 64 sprites[5] 4-color sprites: 61 sprites (NTSC), 64 sprites (PAL)
Transfer per frame (256×224) 16-color tiles: 42 sprites (NTSC), 64 sprites (PAL),
2-color sprites: 64 sprites
4-color tiles: 23 sprites (NTSC), 64 sprites (PAL)
Background (BG)
tilemap plane
Tilemap resolution 256×256 texels 256×256 texels N/A
Colors per BG tile 16 colors (default), 2 colors (SG-1000 mode) 4 colors
BG tiles on screen 1024 tiles 1024 tiles
Unique BG tiles on screen 448 tiles (16-color), 768 tiles (2-color) 512 tiles (4-color)
Background tile flipping Yes No
BG tiles per scanline 32 tiles 32 tiles
BG texels per scanline 256 texels 256 texels
Random access memory (RAM) Sega Master System (SMS) Nintendo Entertainment System (NES) Atari 7800
Total RAM Memory 24 KB (XRAM/SRAM, PSRAM) 4 KB (SRAM) 4 KB (SRAM)
Data bus width 24-bit (8-bit WRAM, 16-bit VRAM) 16-bit (8-bit WRAM, 8-bit VRAM) 8-bit (shared by CPU and MARIA)
Bandwidth 11 MB/s 7.15 MB/s (NTSC), 6.66 MB/s (PAL) 1.78 MB/s to 6.66 MB/s[n 25]
CPU instruction fetch 1.2 MB/s[n 26] Up to 1.6 MB/s[n 27] Up to 1.6 MB/s
GPU tile fetch 2.208 MB/s (NTSC), 1.832 MB/s (PAL) 1.107 MB/s (NTSC), 921,728 KB/s (PAL) 241.75 KB/s (NTSC), 201.279 KB/s (PAL)[31]
CPU Work RAM
(WRAM)
Memory 8 KB (XRAM/SRAM, 8-bit) 2 KB (SRAM, 8-bit) N/A
Bandwidth 3.579545 MB/s (NTSC), 3.546894 MB/s (PAL) 1.789773 MB/s (NTSC), 1.662607 MB/s (PAL)
GPU Video RAM
(VRAM)
Memory 16 KB (XRAM/PSRAM) 2 KB (SRAM) N/A
Bandwidth 7.692306 MB/s[n 28] 5.369317 MB/s (NTSC), 5 MB/s (PAL)[n 29]
Transfer (inactive display) 298.295 KB/s (NTSC), 295.574 KB/s (PAL)[n 30] 298.295 KB/s (NTSC), 277.101 KB/s (PAL)[n 31]
Transfer (256×192 display) 174.794 KB/s (NTSC),[n 32] 181.112 KB/s (PAL)[n 33] 59.137 KB/s (NTSC),[n 34] 90.562 KB/s (PAL)[n 35]
Transfer (256×224 display) 81.914 KB/s (NTSC),[n 36] 121.818 KB/s (PAL)[n 37] 22.717 KB/s (NTSC),[n 38] 62.158 KB/s (PAL)[n 39]

Notes

  1. 1.0 1.1 [Same performance for subtractions Same performance for subtractions]
  2. [Minimum 4 cycles per 8-bit add[15] Minimum 4 cycles per 8-bit add[15]]
  3. [Minimum 2 cycles per 8-bit add[16] Minimum 2 cycles per 8-bit add[16]]
  4. [Minimum 25 cycles per 8-bit multiply[17] Minimum 25 cycles per 8-bit multiply[17]]
  5. [Minimum 17 cycles per 8-bit multiply[18] Minimum 17 cycles per 8-bit multiply[18]]
  6. [Minimum 81 cycles per 8-bit divide[19] Minimum 81 cycles per 8-bit divide[19]]
  7. [Minimum 98 cycles per 8-bit divide[20] Minimum 98 cycles per 8-bit divide[20]]
  8. [Minimum 11 cycles per 16-bit add[15] Minimum 11 cycles per 16-bit add[15]]
  9. [Minimum 22 cycles per 16-bit add (2 cycles CLC, 4 cycles LDA, 4 cycles ADC, 6 cycles STA, 6 cycles RTS)[21][16] Minimum 22 cycles per 16-bit add (2 cycles CLC, 4 cycles LDA, 4 cycles ADC, 6 cycles STA, 6 cycles RTS)[21][16]]
  10. [Minimum 95 cycles per 16-bit multiply (10 cycles LD HL, 7 cycles LD A, 22 cycles ADD HL, 16 cycles RL, 10 cycles JP NC, 6 cycles INC DE, 4 cycles DEC A, 10 cycles JP NZ, 10 cycles RET)[22][15] Minimum 95 cycles per 16-bit multiply (10 cycles LD HL, 7 cycles LD A, 22 cycles ADD HL, 16 cycles RL, 10 cycles JP NC, 6 cycles INC DE, 4 cycles DEC A, 10 cycles JP NZ, 10 cycles RET)[22][15]]
  11. [Minimum 192 cycles per 16-bit multiply[23] Minimum 192 cycles per 16-bit multiply[23]]
  12. [Approximately 1070 cycles per 16-bit divide[24] Approximately 1070 cycles per 16-bit divide[24]]
  13. [Approximately 1900 cycles per 16-bit divide[25] Approximately 1900 cycles per 16-bit divide[25]]
  14. [NTSC: 91 tiles per frame
    113 tiles per frame NTSC: 91 tiles per frame
    113 tiles per frame]
  15. [NTSC: 2.917 KB (364 tiles) per frame
    PAL: 3.644 KB (455 tiles) per frame NTSC: 2.917 KB (364 tiles) per frame
    PAL: 3.644 KB (455 tiles) per frame]
  16. [NTSC: 984 bytes (61 tiles) per frame, 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte
    PAL: 1.811 KB (113 tiles) per frame, 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte NTSC: 984 bytes (61 tiles) per frame, 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte
    PAL: 1.811 KB (113 tiles) per frame, 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]
  17. [NTSC: 1.367 KB (42 tiles) per frame, 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line)
    PAL: 2.451 KB (76 tiles) per frame, 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line) NTSC: 1.367 KB (42 tiles) per frame, 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line)
    PAL: 2.451 KB (76 tiles) per frame, 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line)]
  18. [NTSC: 1.367 KB (170 tiles) per frame
    PAL: 2.451 KB (306 tiles) per frame NTSC: 1.367 KB (170 tiles) per frame
    PAL: 2.451 KB (306 tiles) per frame]
  19. [NTSC: 378 bytes (23 tiles) per frame, 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte
    PAL: 1.243 KB (77 tiles) per frame, 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte NTSC: 378 bytes (23 tiles) per frame, 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte
    PAL: 1.243 KB (77 tiles) per frame, 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]
  20. [NTSC: 2.917 KB per frame
    PAL: 3.644 KB per frame NTSC: 2.917 KB per frame
    PAL: 3.644 KB per frame]
  21. [NTSC: 984 bytes per frame, 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte
    PAL: 1.811 KB per frame, 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte NTSC: 984 bytes per frame, 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte
    PAL: 1.811 KB per frame, 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]
  22. [NTSC: 1.367 KB per frame, 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line)
    PAL: 2.451 KB per frame, 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line) NTSC: 1.367 KB per frame, 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line)
    PAL: 2.451 KB per frame, 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line)]
  23. [NTSC: 1.367 KB per frame
    PAL: 2.451 KB per frame NTSC: 1.367 KB per frame
    PAL: 2.451 KB per frame]
  24. [NTSC: 378 bytes per frame, 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte
    PAL: 1.243 KB per frame, 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte NTSC: 378 bytes per frame, 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte
    PAL: 1.243 KB per frame, 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]
  25. [150 ns[32] 150 ns[32]]
  26. [3 cycles per byte[33] 3 cycles per byte[33]]
  27. [Minimum 1 cycle per byte Minimum 1 cycle per byte]
  28. [16-bit, 260 ns 16-bit, 260 ns]
  29. [8-bit, 150 ns (NTSC), 200 ns (PAL)[8] 8-bit, 150 ns (NTSC), 200 ns (PAL)[8]]
  30. [12 CPU cycles per byte 12 CPU cycles per byte]
  31. [6 CPU cycles per byte 6 CPU cycles per byte]
  32. [2.917 KB per frame 2.917 KB per frame]
  33. [3.644 KB per frame 3.644 KB per frame]
  34. [984 bytes per frame: 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte 984 bytes per frame: 52 VBlank scanlines, 5909 CPU cycles, 6 cycles per byte]
  35. [1.811 KB per frame: 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte 1.811 KB per frame: 102 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]
  36. [1.367 KB per frame: 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line) 1.367 KB per frame: 224 active scanlines (2.5 bytes per line), 38 VBlank scanlines (21.25 bytes per line)]
  37. [2.451 KB per frame: 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line) 2.451 KB per frame: 224 active scanlines (2.5 bytes per line), 89 VBlank scanlines (21.25 bytes per line)]
  38. [378 bytes per frame: 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte 378 bytes per frame: 20 VBlank scanlines, 2273 CPU cycles, 6 cycles per byte]
  39. [1.243 KB per frame: 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte 1.243 KB per frame: 70 VBlank scanlines, 7459 CPU cycles, 6 cycles per byte]

References


Hardware comparisons
SG-1000 / SC-3000 (specs) vs. Famicom | vs. Master System | vs. C64 | vs. MSX
Sega Master System (specs) Hardware comparison | vs. NES | vs. Atari 7800 | vs. Game Gear | vs. Mega Drive | vs. C64 and ZX | vs. Amiga
Sega Mega Drive (specs) Hardware comparison | vs. 32X | vs. Amiga | vs. Atari Jaguar | vs. Atari ST | vs. Mega-CD | vs. Neo Geo | vs. Saturn | vs. SNES | vs. TurboGrafx-16
Sega Game Gear (specs) vs. Atari Lynx | vs. Game Boy | vs. Master System
Sega Mega-CD (specs) vs. 32X | vs. 3DO | vs. Amiga CD32 | vs. Atari Jaguar CD | vs. Neo Geo CD | vs. SNES | vs. Saturn | vs. TurboGrafx-CD
Sega 32X (specs) Hardware comparison | vs. 3DO | vs. Atari Jaguar | vs. SNES | vs. Saturn
Sega Saturn (specs) Hardware comparison | vs. Atari Jaguar | vs. Dreamcast | vs. Nintendo 64 | vs. PC-FX | vs. PlayStation | vs. SNES | vs. PC | vs. Sega Model 2
Sega Dreamcast (specs) Hardware comparison | vs. GameCube | vs. Nintendo 64 | vs. PlayStation | vs. PlayStation 2 | vs. Xbox | vs. Arcade | vs. PC