pub enum PpuPalette {
Composite2C02,
Rgb2C03,
Rgb2C04_0001,
Rgb2C04_0002,
Rgb2C04_0003,
Rgb2C04_0004,
Rgb2C05,
}Expand description
Which PPU palette is active for the running console.
The default 2C02 (Self::Composite2C02) is the standard NES/Famicom
composite palette (NES_PALETTE + apply_emphasis). The other variants
are the hardware RGB palettes baked into the Vs. System / PlayChoice-10
arcade PPUs (the 2C03 / 2C04-xxxx / 2C05), which output digital RGB rather
than composite video. Selected from the NES 2.0 header byte 13 Vs. PPU type
when the console type is Vs. System.
Source: nesdev “PPU palettes” (https://www.nesdev.org/wiki/PPU_palettes)
— the per-PPU 9-bit DAC tables converted with C = 255 * DAC / 7 (integer
truncation, matching the wiki’s rendered hex).
Variants§
Composite2C02
Standard 2C02 NES/Famicom composite palette (default).
Rgb2C03
2C03 RGB PPU (PlayChoice-10, Vs. Duck Hunt / Tennis, Sharp C1). Shared with the 2C05.
Rgb2C04_0001
RP2C04-0001 RGB PPU (Vs. System).
Rgb2C04_0002
RP2C04-0002 RGB PPU (Vs. System).
Rgb2C04_0003
RP2C04-0003 RGB PPU (Vs. System).
Rgb2C04_0004
RP2C04-0004 RGB PPU (Vs. System).
Rgb2C05
2C05 RGB PPU — uses the 2C03 master palette (the 2C05’s quirks are the
$2000/$2001 swap and the $2002 identifier, not the colors).
Implementations§
Source§impl PpuPalette
impl PpuPalette
Sourcepub const fn is_composite(self) -> bool
pub const fn is_composite(self) -> bool
True for the composite 2C02 (the default NES/Famicom path).
Trait Implementations§
Source§impl Clone for PpuPalette
impl Clone for PpuPalette
Source§fn clone(&self) -> PpuPalette
fn clone(&self) -> PpuPalette
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more