#[non_exhaustive]pub enum VsHardwareType {
UniSystem,
UniSystemRbiBaseball,
UniSystemTkoBoxing,
UniSystemSuperXevious,
UniSystemIceClimberJapan,
DualSystem,
DualSystemRaidOnBungelingBay,
Reserved(u8),
}Expand description
Vs. System hardware type: NES 2.0 header byte 13, high nibble, when the console type (byte 7 bits 0-1) is 1.
Values per the Nesdev wiki’s “NES 2.0” page, §“Vs. System Type”. Types 0-4 are
the single-board Vs. UniSystem with its non-PPU copy-protection variant;
5 and 6 are the two-CPU / two-PPU Vs. DualSystem. Values 7-15 are not
assigned and are kept, unaltered, in VsHardwareType::Reserved.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UniSystem
$0: Vs. UniSystem (normal).
UniSystemRbiBaseball
$1: Vs. UniSystem, RBI Baseball protection.
UniSystemTkoBoxing
$2: Vs. UniSystem, TKO Boxing protection.
UniSystemSuperXevious
$3: Vs. UniSystem, Super Xevious protection.
UniSystemIceClimberJapan
$4: Vs. UniSystem, Vs. Ice Climber Japan protection.
DualSystem
$5: Vs. DualSystem (normal).
DualSystemRaidOnBungelingBay
$6: Vs. DualSystem, Raid on Bungeling Bay protection.
Reserved(u8)
$7-$F: unassigned. The value is the nibble itself (7..=15).
Implementations§
Source§impl VsHardwareType
impl VsHardwareType
Sourcepub const fn from_nibble(nibble: u8) -> Self
pub const fn from_nibble(nibble: u8) -> Self
Decode the byte-13 high nibble (nibble is masked to four bits).
Sourcepub const fn to_nibble(self) -> u8
pub const fn to_nibble(self) -> u8
The byte-13 high nibble this type encodes to (0..=15). A
Self::Reserved value outside 7..=15 is masked to four bits.
Sourcepub const fn is_dual_system(self) -> bool
pub const fn is_dual_system(self) -> bool
True for the two Vs. DualSystem types (5 and 6).
Trait Implementations§
Source§impl Clone for VsHardwareType
impl Clone for VsHardwareType
Source§fn clone(&self) -> VsHardwareType
fn clone(&self) -> VsHardwareType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more