Difference between revisions of "Sega Mega Drive/Technical specifications"
From Sega Retro
AllisonKidd (talk | contribs) m (you've missed one) |
|||
Line 205: | Line 205: | ||
** Vertex transformations: 10,000 vertices/sec (767 cycles/vertex), 500 vertices/frame | ** Vertex transformations: 10,000 vertices/sec (767 cycles/vertex), 500 vertices/frame | ||
** Polygon transformations: 3300 polygons/sec (2301 cycles/triangle), 166 polygons/frame | ** Polygon transformations: 3300 polygons/sec (2301 cycles/triangle), 166 polygons/frame | ||
− | ** Framebuffer rendering: 256×160, double-buffered, 15–30 FPS,{{ref|[https://www.youtube.com/watch?v=oHLc0AzD85g Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA (YouTube)]}}{{ref|40 KB memory, 614.4 KB/s (15 FPS) to 1.2288 MB/s (30 FPS) bandwidth, 2.383275 CPU cycles per byte VRAM DMA transfer, 1.464285 MHz (15 FPS) to 2.928568 MHz (30 FPS) DMA, 4.741885 MHz (30 FPS) to 6.206168 MHz (15 FPS) remaining for polygons|group=n}} | + | ** Framebuffer rendering: 256×160, double-buffered, 15–30 FPS,{{ref|1=[https://www.youtube.com/watch?v=oHLc0AzD85g Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA (YouTube)]}}{{ref|40 KB memory, 614.4 KB/s (15 FPS) to 1.2288 MB/s (30 FPS) bandwidth, 2.383275 CPU cycles per byte VRAM DMA transfer, 1.464285 MHz (15 FPS) to 2.928568 MHz (30 FPS) DMA, 4.741885 MHz (30 FPS) to 6.206168 MHz (15 FPS) remaining for polygons|group=n}} |
** Flat shading: 1800 polygons/sec{{ref|32-pixel polygons, 15 FPS, [[wikipedia:Scanline rendering|scanline rendering]], 250 cycles/scanline per poly,{{ref|1=[http://www.sega-16.com/forum/showthread.php?26488-Cycles-cycles-and-cycles!&p=627804&viewfull=1#post627804 Polygon cycles]}}{{ref|1=[http://gendev.spritesmind.net/forum/viewtopic.php?p=23322&sid=3dca9ad5e595f35217790cdeb4252b9a#p23322 3D on the Sega Genesis is possible (SpritesMind)]}} 3301 cycles/poly (32-pixel), 166 polygons/frame | ** Flat shading: 1800 polygons/sec{{ref|32-pixel polygons, 15 FPS, [[wikipedia:Scanline rendering|scanline rendering]], 250 cycles/scanline per poly,{{ref|1=[http://www.sega-16.com/forum/showthread.php?26488-Cycles-cycles-and-cycles!&p=627804&viewfull=1#post627804 Polygon cycles]}}{{ref|1=[http://gendev.spritesmind.net/forum/viewtopic.php?p=23322&sid=3dca9ad5e595f35217790cdeb4252b9a#p23322 3D on the Sega Genesis is possible (SpritesMind)]}} 3301 cycles/poly (32-pixel), 166 polygons/frame | ||
* Polygon memory: 40 bytes/poly, 6.485 KB memory (166 polygons/frame), 72 KB/s bandwidth (1800 polygons/sec) | * Polygon memory: 40 bytes/poly, 6.485 KB memory (166 polygons/frame), 72 KB/s bandwidth (1800 polygons/sec) |
Revision as of 20:20, 20 December 2017
- Back to: Sega Mega Drive.
Technical specifications for the Sega Mega Drive.
Contents
- System master clock rate: 53.693175 MHz (NTSC), 53.203424 MHz (PAL)[1]
- Master clock cycles per frame: 896,040 (NTSC), 1,067,040 (PAL)
- Master clock cycles per scanline: 3420[2]
Processors
- Main CPU: Motorola 68000
- Clock rate: 7.670453 MHz (NTSC), 7.600489 MHz (PAL)
- The 68000 has a 24‑bit address space, allowing access to up to 16 MB of memory. Sega's memory map for the Mega Drive allowed games to be up to 4 MB without the use of a memory mapper; games that tried to go up to 10 MB would find their memory maps crushed by the Sega CD (which took the second 4 MB block) and Sega 32X (which took 2 MB of the third 4 MB block). All devices are memory mapped.
- Games using save memory also needed to have the memory in the cartridge map; larger games, such as Phantasy Star IV, used a mapper to swap out cart space for SRAM during a save.
- Instruction set: 16‑bit and 32‑bit CISC instructions
- Data bus width: 32-bit internal,[3] 16‑bit external[4]
- External data bus clock rate: 5 MHz (5 MB/s external data access bandwidth)[5]
- Arithmetic logic units: 16-bit data ALU, 32-bit address ALU (2x 16-bit ALU)[6]
- Sound CPU: Zilog Z80
- Clock rate: 3.579545 MHz (NTSC), 3.546894 MHz (PAL)
- Some games did not use the Z80, other games used it only for sample playback, but most used it for sound processing
- 8 KB program RAM which the 68000 and the Z80 can freely write to (though the 68000 must request the Z80 bus)
- Can access 32 KB of the 68000 memory map at once (while it should be used for accessing the cartridge, setting the bank register elsewhere can work on some hardware)
- Instruction set: 8‑bit and 16‑bit instructions
- Data bus width: 8‑bit
- CPU instruction performance: 1.861363 MIPS (NTSC), 1.844386 MIPS (PAL)[7]
- 68000 performance: 1.342329 MIPS (NTSC), 1.330086 MIPS (PAL)
- Z80 performance: 0.519034 MIPS (NTSC), 0.5143 MIPS (PAL)
Audio
- FM sound chip: Yamaha YM2612, clocked at the 68000 clock speed (7.670453 MHz in NTSC, 7.600489 MHz in PAL)
- 6 channels of FM synthesis, Operator Type‑N
- The third channel can enter a Special Mode, or multifrequency mode, where each individual operator has a different frequency
- The sixth channel can enter a DAC mode where the sound program constantly streams 8‑bit unsigned PCM data to mix directly into the output waveform
- PCM sampling quality: 8‑bit depth, 8–22 kHz sampling rate[8]
- Stereo output capability[9]
- 1 sine wave LFO (low frequency oscillator) channel
- Mapped to the Z80 address space — 68000 must request the Z80 bus to use
- Some Mega Drive 2 systems actually use the core from the chip's CMOS equivalent, the YM3438
- IRQ interrupt capabilities: IRQ2 sound interrupt[10]
- 6 channels of FM synthesis, Operator Type‑N
- PSG sound chip: Sega PSG (SN76496),[11] clocked at the Z80 clock speed (3.579545 MHz in NTSC, 3.546894 MHz in PAL) and built into the VDP — same as with the Master System
- Based on TI SN76489
- 4 audio channels: Three channels of pure square wave tones, and one noise channel
- The noise channel can play either white noise or "periodic noise" either at one of three preset frequencies or using the frequency of the third tone channel (consequently, that channel will be mute)
- Can be freely accessed by both the 68000 through the VDP and the Z80 through its memory map
- The cartridge connector has two pins which allow stereo sound mixing directly from cart. No game used this, however, but the 32X uses it for its PWM audio
- The Mega Drive 1 has mono audio output from the TV output and stereo output from a built‑in headphone jack, plus a built‑in volume control. Future models drop the headphone jack and do stereo output from the TV output
Graphics
- GPU: Sega 315‑5313 VDP (Yamaha YM7101)[1][12]
- An evolution of the Sega Master System VDP (which is, in turn, an evolution of the TMS9918)
- All TMS9918 modes were removed and replaced with several new modes
- Controls background playfields and foreground sprites[13]
- Clock rate: 13.423294 MHz (NTSC), 13.300856 MHz (PAL)
- Pixel clock rate: 6.711647 MHz (NTSC), 6.650428 MHz (PAL)
- Internal data bus: 16-bit[14]
- External data buses: 16-bit CPU bus,[14] 8/16-bit VRAM bus (Dual Port VRAM, 16-bit RAM/SAM, 8-bit RAM)
- IRQ interrupt capabilities: IRQ6 VBlank interrupt, IRQ4 H‑Int (Horizontal Interrupt) scanline interrupt[10]
- DMA controller: Capable of DMA, high-speed fills and memory transfers, can transfer data from 68000 address space to VRAM/CRAM/VSRAM during active display and VBlank[15]
- RGB/Composite Video Encoder DAC: Sony CXA1145 (NTSC/PAL)[1][16] / Fujitsu MB3514 (PAL)[12][17]
- Colorburst clock frequency: 3.579545 MHz (NTSC), 4.433618 MHz (PAL)[18]
- Progressive scan resolutions:
- NTSC: 320×224 ("40 column mode"), 256×224 ("32 column mode")
- PAL: 320×224, 256×224, 320×240, 256×240
- Interlaced resolutions:
- NTSC: 320×448, 256×448
- PAL: 320×448, 256×448, 320×480, 256×480
- Note: "Interlaced mode" doubles the height of all resolutions; it was used by some games, such as Sonic 2 for two‑player mode.
- Overscan resolutions:
- Progressive scan: 427×262 (NTSC), 423×312 (PAL)[19]
- Interlaced: 427×524 (NTSC), 423×624 (PAL)
- Tilemap resolutions: 256×256 to 512×512 and 1024×256
- Refresh rate: 59.92274 Hz (NTSC), 49.701459 Hz (PAL)[20]
- Maximum frame rate: 59.92274 frames/sec (NTSC), 49.701459 frames/sec (PAL)
- Four graphics planes: 2 scrolling tile planes (grids of tiles), "window" tile plane (cannot be transparent), sprite plane
- Tilemap background planes: 2 scrolling planes, with horizontal and vertical tile flipping, individual tile priority, 6 tilemap sizes (256x256, 256x512, 256x1024, 512x256, 512x512, 1024x256),[21] 32 bytes per tile,[21] 16 colors per tile
- Scrolling capabilities: Parallax scrolling, line and row scrolling, vertical and horizontal line scrolling, column scrolling.[22][23]
- 40–64 scrolling layers: Each of the 2 tilemap planes can be split into multiple scrolling layers, 32 one-tile rows and 20 two-tile columns. Each scanline, row and column can be scrolled at different rates, and each row can be overlapped.[22][24]
- Background window plane, behind scrolling planes[23]
- Sprite plane: 80 sprites on screen, 20 sprites per scanline, 16 sprite sizes (8×8 to 32×32 pixels),[9] 16 colors per sprite,[25] integer sprite zooming[26] (up to 320x224),[23] definable sprite priorities, 32 bytes per sprite tile,[13] sprite flipping, virtual 512×512 sprite space,[27] sprites can be combined into larger sprites, up to 1280 sprite tiles (80x 32×32 sprites)
- Note: Priorities can be defined between planes.[13]
- Tilemap background planes: 2 scrolling planes, with horizontal and vertical tile flipping, individual tile priority, 6 tilemap sizes (256x256, 256x512, 256x1024, 512x256, 512x512, 1024x256),[21] 32 bytes per tile,[21] 16 colors per tile
- Color palette:[28]
- Standard: 512 colors (9-bit RGB)
- Shadow/Highlight mode: 1536 colors
- Colors on screen:[28][24]
- Standard: 61–64 colors
- Shadow/Highlight: 114–192 colors
- Mid‑frame palette swap: 75–256 colors (see Blast Processing below)
- Direct color: 256–512 colors (see Blast Processing below)
- Colors per pixel: 16 colors (4‑bit)[15]
- Mid‑frame palette swap: 16 colors (4-bit) to 256 colors (8-bit)
- Direct color: 256 colors (8-bit) to 512 colors (9-bit)
- Shadow/Highlight: Hardware lighting,[28] shadow generation (matching each character's shape),[23] triples color palette and colors on screen, increases colors per tile
- Video RAM: 64 KB VRAM (Dual-Port VRAM) — used to store graphics tiles, mappings for all layers, and horizontal scrolling[29]
- Scroll A Pattern Table: 2 KB (256x256) to 8 KB (512x512, 1024x256) for background tilemap plane A
- Scroll B Pattern Table: 2 KB (256x256) to 8 KB (512x512, 1024x256) for background tilemap plane B
- Window Pattern Name Table: 2 KB (256x224, 256x240) to 4 KB (320x224, 320x240) for static window plane
- H Scroll Data Table: 1 KB for horizontal scrolling
- Sprite Attribute Table: 512 bytes (256x224, 256x240) to 1 KB (320x224, 320x240) for sprite attributes
- Pattern Generator Table: 2 KB to 56.5 KB for background tiles (64 to 1808 tiles, 32 KB per tile)
- Sprite Generator Table: Up to 40 KB for sprite tiles (up to 1280 tiles, 32 KB per tile)
- SAM buffer: 256 bytes separate cache within VRAM chips, for sending continuous stream of video screen refresh data to VDP while it reads/writes VRAM
- VDP internal cache: 232 bytes
- 64 9‑bit words (72 bytes) of internal CRAM (Color RAM) — used to store the color palette
- 64 colors split into four 16‑color lines; each tile can be drawn with one of these four color lines
- The first color in each line is transparent and any color of the entire palette can be used as a "background color" (when no pixels are drawn at a location); consequently the Mega Drive can display 61 colors on screen at once (unless raster effects or the Shadow/Highlight modes are used, in which case this number increases depending on the extent used)
- Colors are 9‑bit RGB with 3 bits per color component, allowing for 512 colors
- Shadow/Highlight modes increase color gamut (183—192 colors on screen, out of 1536 color palette)
- 80 bytes internal VSRAM (Vertical Scrolling RAM) — used for vertical scrolling (10‑bit words, up to 20 different vertical scroll values for each of the two scrolling playfields)[9]
- 80 bytes internal sprite buffer — 8 bytes per sprite[30][31]
- 64 9‑bit words (72 bytes) of internal CRAM (Color RAM) — used to store the color palette
- Other features: Semi‑transparency, FIFO memory circuit design, read/write of one line buffer method for drawing[23]
Blast Processing
- See Blast processing for more details and technical comparison with SNES
The term Blast Processing was primarily a reference to the Mega Drive VDP graphics processor's powerful DMA controller that could handle DMA (direct memory access) operations at much faster speeds than the Super NES.[32] The Mega Drive could write to VRAM during active display and VBlank,[9] and had a faster memory bandwidth than the SNES. The quicker DMA transfer rates and bandwidth gave the Mega Drive a faster performance than the SNES,[33] and helped give the Mega Drive a higher fillrate, higher gameplay resolution, faster parallax scrolling, fast data blitting, and high frame-rate with many moving objects on screen, and allowed it to display more unique tiles (background and sprite tiles) and large sprites (32×32 and higher) on screen, and quickly transfer more unique tiles and large sprites (16×16 and higher) on screen.
The Mega Drive's DMA capabilities also helped give it more flexibility, allowing the hardware to be programmed in various different ways. With DMA programming, it could replicate some of the Super NES's hardware features, such as larger 64×64 sprites (combining 32×32 sprites), background scaling and rotation (like the Sega X Board and Mode 7), and direct color (increasing colors on screen). Other DMA programmable capabilities of the Mega Drive include mid-frame palette swaps (increasing colors per scanline), sprite scaling and rotation, ray casting, bitmap framebuffers, and 3D polygon graphics; the base Mega Drive hardware (without needing any enhancement chips) could render 3D polygons with a performance comparable to the Super NES's optional Super FX enhancement chip,[34][35] which itself is significantly outperformed by the Mega Drive's optional Sega Virtua Processor (SVP) enhancement chip.
- DMA controller: Sega 315‑5313 VDP (Yamaha YM7101)[36][19]
- VRAM transfer per scanline: 205 bytes per VBlank scanline, 18 bytes per active scanline
- CRAM/VSRAM transfer per scanline: 410 bytes per VBlank scanline, 36 bytes per active scanline
- VBlank scanlines in standard 224-line display: 38 (NTSC), 88 (PAL)
- VBlank scanlines in custom 192-line display: 70 (NTSC), 120 (PAL)
- VBlank scanlines in custom 160-line display: 103 (NTSC), 153 (PAL)[37]
- Refresh rate: 59.92274 Hz (NTSC), 49.701459 Hz (PAL)
- VRAM bandwidth: 8–11.764705 MB/s (NTSC), 8–8.333333 MB/s (PAL) (see Memory below)[36][19]
- Maximum DMA transfer rate: 3.21845 MB/s (inactive display)
- Maximum DMA transfer per frame: 53.71 KB (NTSC), 63.96 KB (PAL)
- DMA transfer per frame during active display: 11.822–23.995 KB (NTSC), 22.072–34.245 KB (PAL)[n 1]
- DMA transfer rate during active display: 708.406 KB/s to 1.437846 MB/s (NTSC), 1.09701 MB/s to 1.702026 MB/s (PAL)[n 2]
- CRAM/VSRAM cache bandwidth: 26.846588 MB/s (NTSC), 26.601712 MB/s (PAL) (see Memory below)[36][19]
- Maximum DMA transfer rate: 6.4369 MB/s (inactive display)
- Maximum DMA transfer per frame: 107.42 KB (NTSC), 127.92 KB (PAL)
- DMA transfer per frame during active display: 23.644–47.99 KB (NTSC), 44.144–68.490 KB (PAL)[n 3]
- DMA transfer rate during active display: 1.416813–2.875692 MB/s (NTSC), 2.194021–3.404052 MB/s (PAL)[n 4]
- Pixel fillrate: 6.934358 MPixels/s (NTSC), 6.650428 MPixels/s (PAL)
- Maximum write fillrate: 6.4369 MPixels/s, 410 pixels/scanline
- Maximum write per frame: 107,420 pixels (NTSC), 127,920 pixels (PAL)
- Write per frame during active display: 23,644–47,990 pixels (NTSC), 44,144–68,490 pixels (PAL)[n 5]
- Write fillrate during active display: 1.416813–2.875692 MPixels/s (NTSC), 2.194021–3.404052 MPixels/s (PAL)[n 6]
- Tile fillrate: 1808 tiles per frame,[21] 108,340 tiles/sec (NTSC), 89,860 tiles/sec (PAL)
- Sprite fillrate: 80 sprites/frame, 4793 sprites/sec (NTSC), 3976 sprites/sec (PAL)
- Sprite texel fillrate: 320 texels/scanline, 81,920 texels (80× 32×32 sprites) per frame,[28] 4.90887 MTexels/s (NTSC), 4.071543 MTexels/s (PAL)
- Sprite tile fillrate: 1280 sprite tiles (80x 32×32 sprites) per frame, 76,701 sprite tiles/sec (NTSC), 63,617 sprite tiles/sec (PAL)
- Sprite display per frame: 80 sprites (8×8 to 32×32), 20 sprites (64×64), 4 sprites (128×128)
- Sprite display per scanline: 20 sprites (8×8 to 16×16), 13 sprites (24×24), 10 sprites (32×32), 5 sprites (64×64)
- Sprite transfer per frame during standard 224-line active display:
- NTSC: 80 sprites (8×8 to 16×16), 41 sprites (24×24), 23 sprites (32×32), 5 sprites (64×64)
- PAL: 80 sprites (8×8 to 16×16), 76 sprites (24×24), 43 sprites (32×32), 10 sprites (64×64)
- Sprite transfer per frame during custom 160-line active display:
- NTSC: 80 sprites (8×8 to 24×24), 46 sprites (32×32), 11 sprites (64×64)
- PAL: 80 sprites (8×8 to 24×24), 66 sprites (32×32), 16 sprites (64×64)
- Effective fillrate: 2 tilemaps (256×256 to 512×512), 80 sprites (8×8 to 32×32)
- Effective tile fillrate: 1808–9472 tiles/frame, 108,340–567,588 tiles/sec
- Effective pixel fillrate: 115,712–606,208 pixels/frame, 6.934358–36.325644 MPixels/s
- Programmable custom resolutions:
- Mid-frame palette swap: Can use DMA to change color while drawing each scanline, sending more data/colors to the CRAM and DAC[39][23]
- Colors on screen: 75 colors (Sonic 2) to 512 colors (demo with scrolling background)
- Shadow/Highlight colors on screen: 114 colors (Sonic 2 prototype) to 1536 colors (demo with scrolling background)
- Colors per pixel: 16 colors (4-bit) to 256 colors (8-bit)
- Direct color: Can use DMA to reprogram CRAM from a color palette to a direct color display[33]
- Colors on screen: 256 colors (8-bit) to 512 colors (9-bit)
- Colors per pixel: 256 colors (8-bit) to 512 colors (9-bit)
- Resolutions: 160×224, 128×224
- 3D polygon graphics: Capable of 3D polygons with stock Mega Drive hardware (without needing enhancement chips), capable of 3D texture mapping,[40] can use DMA to render bitmap framebuffer (double-buffered) that displays 3D polygons[34][37]
- Vertex transformations: 10,000 vertices/sec (767 cycles/vertex), 500 vertices/frame
- Polygon transformations: 3300 polygons/sec (2301 cycles/triangle), 166 polygons/frame
- Framebuffer rendering: 256×160, double-buffered, 15–30 FPS,[35][n 9]
- Flat shading: 1800 polygons/sec[n 10]
- Texture mapping: 1000 polygons/sec[n 11]
- Other DMA programmable capabilities: Scaling and rotation (like Sega X Board and Mode 7),[44][45] ray casting
- Optional cartridge enhancement chip: Sega Virtua Processor (only used in Virtua Racing), enhances Mega Drive's 3D polygon performance. It can calculate geometry for 50,000 polygons/sec and render 20,000 polygons/sec. It also has higher memory, bandwidth, fillrate, framebuffer resolution, and frame rate.
Memory
Configuration
- System memory buses:[1]
- 16‑bit system bus — 68000 & VDP <‑> Main RAM & Cartridge ROM/RAM
- 8‑bit system bus — Z80 & YM2612 <‑> Audio RAM
- 8/16‑bit video bus — VDP <‑> VRAM
- System RAM chips:[12][46]
- Main RAM: 16‑bit (2x 8‑bit), PSRAM, 5.263157 MHz (190 ns)[51][52]
- CPU access: 5 MHz (200 ns)
- VRAM: 8/16-bit Dual‑Port VRAM, 16-bit RAM/SRAM, 8-bit RAM (see Mega Drive PCB revisions)[53][54]
- FPM DRAM: 2048-bit internal (8x 256-bit arrays), 8-bit external (2x 4‑bit), 11.764705 MHz (NTSC, 85 ns),[47] 8.333333 MHz (PAL, 120 ns),[55] 8 MHz (125 ns, when reading SAM)[47]
- SAM buffer cache: 8-bit (2x 4‑bit), 13.423294 MHz (NTSC, 74 ns), 13.300856 MHz (PAL, 75 ns), VDP reads continuous stream of video screen refresh data from SAM while reading/writing DRAM[56]
- Audio RAM: 8‑bit, SRAM/XRAM, 3.030303 MHz (330 ns)[57][58][59][60]
- Main RAM: 16‑bit (2x 8‑bit), PSRAM, 5.263157 MHz (190 ns)[51][52]
- Cartridge ROM chips: 16‑bit[61]
Bandwidth
- System RAM bandwidth: 21.556617–25.321322 MB/s (NTSC), 21.556617–21.88995 MB/s (PAL)
- Main RAM: 10.526314 MB/s (16-bit, 5.263157 MHz)
- CPU access: 5 MB/s (5 MHz)
- VRAM: 8–11.764705 MB/s (NTSC), 8–8.333333 MB/s (PAL)
- FPM DRAM: 11.764705 MB/s (NTSC), 8.333333 MB/s (PAL), 8 MB/s (when reading SAM)
- SAM buffer cache: 13.423294 MB/s (NTSC), 13.300856 MB/s (PAL)
- Audio RAM: 3.030303 MB/s (8-bit, 3.030303 MHz)
- Main RAM: 10.526314 MB/s (16-bit, 5.263157 MHz)
- Cartridge ROM bandwidth: 10 MB/s (most cartridges), 15.200978–15.340906 MB/s (some cartridges)
- CPU access: 5 MB/s (5 MHz)
- Internal processor bandwidth:
- 68000 internal bus: 30.681812 MB/s (NTSC, 32-bit, 7.670453 MHz), 30.401956 MB/s (PAL, 32-bit, 7.600489 MHz)
- Z80 internal bus: 3.579545 MB/s (NTSC), 3.546894 MB/s (PAL)
- VDP internal RAM cache: 26.846588 MB/s (NTSC, 16-bit, 13.423294 MHz), 26.601712 MB/s (PAL, 16-bit, 13.423294 MHz)
Memory map
Start | End | Size | Description |
---|---|---|---|
$000000 | $3FFFFF | $400000 | ROM Cartridge |
$400000 | $7FFFFF | $400000 | Expansion Port Area (used by the Sega CD) |
$800000 | $9FFFFF | $200000 | Unallocated (used by the Sega 32X) |
$A00000 | $A0FFFF | $10000 | Z80 Memory |
$A10000 | $A10FFF | only various meaningful | System registers |
$A11000 | $A11FFF | only $A11100 and $A11200 meaningful | Z80 control (/BUSREQ and /RESET lines) |
$A12000 | $AFFFFF | only several meaningful | Assorted registers |
$B00000 | $BFFFFF | $100000 | Unallocated |
$C00000 | $DFFFFF | $1F; mirrored | VDP |
$E00000 | $FFFFFF | $10000; mirrored | Work RAM (games usually only use the uppermost mirror, at $FF0000) |
Input
- Controller input: Two male DE-9 controller ports; one female DE-9 expansion port (early MD1s only)
- Controller ports support two modes: parallel and serial
- Parallel supports 7‑bit bidirectional, with the console setting the direction of each bit.
- Parallel also supports optional active‑low interrupts on the TH line. (mapped to 68000 IRQ 2)
- Serial mode supports up to 4800 bps. (used by the Mega Modem on port 3)
- Expansion port: Used for Sega CD.
- Provides access to /FDC ($A120xx) and /DISK to indicate Sega CD presence.
- Maps Sega CD PRG RAM to $000000 when no cartridge is present, $400000 otherwise.
Notes
- ↑ [DMA transfer per frame during active display:
- 224-line display: 11.822 KB (NTSC), 22.072 KB (PAL)
- 192-line display: 17.806 KB (NTSC), 28.056 KB (PAL)
- 160-line display: 23.995 KB (NTSC), 34.245 KB (PAL)
- 224-line display: 11.822 KB (NTSC), 22.072 KB (PAL)
- 192-line display: 17.806 KB (NTSC), 28.056 KB (PAL)
- 160-line display: 23.995 KB (NTSC), 34.245 KB (PAL)]
- ↑ [DMA transfer rate during active display:
- 224-line display: 708.406 KB/s (NTSC), 1.09701 MB/s (PAL)
- 192-line display: 1.066984 MB/s (NTSC), 1.394424 MB/s (PAL)
- 160-line display: 1.437846 MB/s (NTSC), 1.702026 MB/s (PAL)
- 224-line display: 708.406 KB/s (NTSC), 1.09701 MB/s (PAL)
- 192-line display: 1.066984 MB/s (NTSC), 1.394424 MB/s (PAL)
- 160-line display: 1.437846 MB/s (NTSC), 1.702026 MB/s (PAL)]
- ↑ [DMA transfer per frame during active display:
- 224-line display: 23.644 KB (NTSC), 44.144 KB (PAL)
- 160-line display: 47.99 KB (NTSC), 68.490 KB (PAL)
- 224-line display: 23.644 KB (NTSC), 44.144 KB (PAL)
- 160-line display: 47.99 KB (NTSC), 68.490 KB (PAL)]
- ↑ [DMA transfer rate during active display:
- 224-line display: 1.416813 MB/s (NTSC), 2.194021 MB/s (PAL)
- 160-line display: 2.875692 MB/s (NTSC), 3.404052 MB/s (PAL)
- 224-line display: 1.416813 MB/s (NTSC), 2.194021 MB/s (PAL)
- 160-line display: 2.875692 MB/s (NTSC), 3.404052 MB/s (PAL)]
- ↑ [Write per frame during active display:
- 224-line display: 23,644 pixels (NTSC), 44,144 pixels (PAL)
- 160-line display: 47,990 pixels (NTSC), 68,490 pixels (PAL)
- 224-line display: 23,644 pixels (NTSC), 44,144 pixels (PAL)
- 160-line display: 47,990 pixels (NTSC), 68,490 pixels (PAL)]
- ↑ [Write fillrate during active display:
- 224-line display: 1.416813 MPixels/s (NTSC), 2.194021 MPixels/s (PAL)
- 160-line display: 2.875692 MPixels/s (NTSC), 3.404052 MPixels/s (PAL)
- 224-line display: 1.416813 MPixels/s (NTSC), 2.194021 MPixels/s (PAL)
- 160-line display: 2.875692 MPixels/s (NTSC), 3.404052 MPixels/s (PAL)]
- ↑ [Tile transfer per frame during active display:
- Standard 224-line display: 369 tiles (NTSC), 689 tiles (PAL)
- Custom 160-line display: 749 tiles (NTSC), 1070 tiles (PAL)
- Standard 224-line display: 369 tiles (NTSC), 689 tiles (PAL)
- Custom 160-line display: 749 tiles (NTSC), 1070 tiles (PAL)]
- ↑ [Bitmap framebuffer:
- Single buffering: 128×160 to 512×256 and 320×408
- Double buffering: 128×160 to 256×256 and 320×204
- Single buffering: 128×160 to 512×256 and 320×408
- Double buffering: 128×160 to 256×256 and 320×204]
- ↑ [40 KB memory, 614.4 KB/s (15 FPS) to 1.2288 MB/s (30 FPS) bandwidth, 2.383275 CPU cycles per byte VRAM DMA transfer, 1.464285 MHz (15 FPS) to 2.928568 MHz (30 FPS) DMA, 4.741885 MHz (30 FPS) to 6.206168 MHz (15 FPS) remaining for polygons 40 KB memory, 614.4 KB/s (15 FPS) to 1.2288 MB/s (30 FPS) bandwidth, 2.383275 CPU cycles per byte VRAM DMA transfer, 1.464285 MHz (15 FPS) to 2.928568 MHz (30 FPS) DMA, 4.741885 MHz (30 FPS) to 6.206168 MHz (15 FPS) remaining for polygons]
- ↑ [32-pixel polygons, 15 FPS, scanline rendering, 250 cycles/scanline per poly,[41][42] 3301 cycles/poly (32-pixel), 166 polygons/frame
- Polygon memory: 40 bytes/poly, 6.485 KB memory (166 polygons/frame), 72 KB/s bandwidth (1800 polygons/sec)
- Polygon memory: 40 bytes/poly, 6.485 KB memory (166 polygons/frame), 72 KB/s bandwidth (1800 polygons/sec)]
- ↑ [38 cycles/texel,[43] 2432 draw cycles per 8×8 texel texture, 77 cycles DMA transfer (32 bytes) per 8×8 texel texture, 5810 cycles (2509 texture cycles) per 8×8 texel polygon 38 cycles/texel,[43] 2432 draw cycles per 8×8 texel texture, 77 cycles DMA transfer (32 bytes) per 8×8 texel texture, 5810 cycles (2509 texture cycles) per 8×8 texel polygon]
References
- ↑ 1.0 1.1 1.2 1.3 File:Sega Service Manual - Genesis II - Mega Drive II (PAL) - 001 - June 1993.pdf
- ↑ https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/system.h
- ↑ Hardware and Computer Organization, page 136
- ↑ http://www.digitpress.com/faq/megadrive.htm
- ↑ 5.0 5.1 Ben Heck’s 16-Bit Console Wars! (6:07) (The Ben Heck Show)
- ↑ The 68000 Microprocessor, page 5
- ↑ Obsolete Microprocessors
- ↑ FM-Drive User Manual
- ↑ 9.0 9.1 9.2 9.3 File:GenesisTechnicalOverview.pdf
- ↑ 10.0 10.1 Genesis (MESS)
- ↑ SN76496 (MAME)
- ↑ 12.0 12.1 12.2 Mega Drive PCB revisions
- ↑ 13.0 13.1 13.2 File:GenesisTechnicalOverview.pdf, page 2
- ↑ 14.0 14.1 File:GenesisTechnicalOverview.pdf, page 15
- ↑ 15.0 15.1 File:GenesisTechnicalOverview.pdf, page 3
- ↑ File:CXA1145P datasheet.pdf
- ↑ File:MB3514 datasheet.pdf
- ↑ 315-5313 Information
- ↑ 19.0 19.1 19.2 19.3 File:GenesisTechnicalOverview.pdf, page 14
- ↑ Genesis Plus
- ↑ 21.0 21.1 21.2 File:GenesisTechnicalOverview.pdf, page 13
- ↑ 22.0 22.1 File:GenesisTechnicalOverview.pdf, page 46
- ↑ 23.0 23.1 23.2 23.3 23.4 23.5 How Sega Built the Genesis: Masami Ishikawa Inteview (Polygon)
- ↑ 24.0 24.1 Sega Genesis Comparison
- ↑ Sega Programming FAQ (October 18, 1995) (Wayback Machine: 2001-01-14 21:14)
- ↑ Sega Master System VDP Documentation
- ↑ 27.0 27.1 Sega Genesis VDP Documentation
- ↑ 28.0 28.1 28.2 28.3 Sega Genesis VDP Documentation
- ↑ File:GenesisTechnicalOverview.pdf, page 79
- ↑ 30.0 30.1 VDP: Sprites
- ↑ 31.0 31.1 VDP Sprite (SGDK)
- ↑ Blast Processing 101
- ↑ 33.0 33.1 Sega Genesis vs Super Nintendo
- ↑ 34.0 34.1 3D math engine (SGDK)
- ↑ 35.0 35.1 Star Fox 3D Tech Demo on Sega Genesis: Version 2 Using DMA (YouTube)
- ↑ 36.0 36.1 36.2 File:GenesisTechnicalOverview.pdf, page 45
- ↑ 37.0 37.1 Bitmap engine (SGDK)
- ↑ Sonic the Hedgehog 2 (The Cutting Room Floor)
- ↑ The Man Responsible For Sega's Blast Processing (Nintendo Life)
- ↑ D Polygonal Texturé - MegaDrive/Genesis (YouTube)
- ↑ Polygon cycles
- ↑ 3D on the Sega Genesis is possible (SpritesMind)
- ↑ 3D on the Sega Genesis is possible
- ↑ Sega Genesis Games That Pushed The Limits of Graphics & Sound (Racket Boy)
- ↑ Mode 7 demo for Genesis/MD (SpritesMind)
- ↑ 46.0 46.1 File:Sega Service Manual - Genesis II - Mega Drive II (PAL) - 001 - June 1993.pdf, page 8
- ↑ 47.0 47.1 47.2 File:UPD41264 datasheet.pdf
- ↑ 2010's Sega Mega Drive RPG Pier Solar coming to Xbox 360, PC and Mac in HD, Eurogamer
- ↑ SSFII Genesis Technical Information (2000-07-26)
- ↑ MegaDrive/Genesis Pinouts
- ↑ File:HM65256B datasheet.pdf
- ↑ File:TC51832 datasheet.pdf
- ↑ File:HM53461 datasheet.pdf
- ↑ File:KM424C64 datasheet.pdf
- ↑ File:MB81461 datasheet.pdf
- ↑ Understanding VRAM and SGRAM Operation (page 3) (IBM)
- ↑ File:TMM2063P datasheet.pdf
- ↑ File:UPD4168 datasheet.pdf
- ↑ File:KM6264B datasheet.pdf
- ↑ File:LC3664R datasheet.pdf
- ↑ ROM Part Numbers
- ↑ File:MB834200A datasheet.pdf
- ↑ 63.0 63.1 File:MB838200B datasheet.pdf
- ↑ File:M27C322 datasheet.pdf