1# genesis-core
2
3Sega Genesis / Mega Drive emulation core.
4
5The Genesis contains the following components, some of which were reused from the Master System:
6* 68000 CPU clocked at 7.67 MHz
7* Z80 CPU clocked at 3.58 MHz, meant primarily for audio processing
8* VDP (video display processor) that is based on the Master System VDP but adds yet another more advanced graphics mode
9  * Can render in either 256x224 or 320x224; PAL consoles additionally support 256x240 and 320x240
10  * Supports 9-bit RGB color with up to 64 colors onscreen simultaneously
11  * Supports shadowing and highlighting to create additional colors beyond the 512 colors of 9-bit RGB
12  * Supports two background layers with per-pixel priority
13  * Supports per-scanline and per-16px-column background scrolling
14  * Supports up to 80 sprites per frame and up to 20 sprites per scanline, with sprites ranging in size from 8x8 to 32x32
15* YM2612, an FM synthesis sound chip
16  * Contains 6 fully configurable FM synthesis channels, each with 4 operators that can be arranged in 1 of 8 different configurations
17  * One of the 6 channels can be swapped out for a raw DAC channel which directly outputs a PCM sample
18  * Output frequency of 53.267 KHz
19* SN76489, a PSG lifted directly from the Master System
20* 64KB of working RAM for the 68000
21* 8KB of working/audio RAM for the Z80
22* 64KB of VRAM
23* 128 bytes of CRAM (color RAM for storing palettes)
24* 80 bytes of VSRAM (vertical scroll RAM for storing per-column V-scroll values)
25
26This crate contains code for the following:
27* Genesis VDP
28* Genesis FM sound chip
29* Genesis memory map
30* SVP chip, an auxiliary processor used by _Virtua Racing_
31* Genesis main loop