pub enum PortDevice {
Gamepad,
Mouse,
SuperScope,
Multitap,
}Expand description
Which peripheral occupies a controller port (0 = port 1, 1 = port 2).
Variants§
Gamepad
The original standard SNES pad — crate::Bus’s own 16-bit joypad shift register,
unchanged by this module.
Mouse
SNES Mouse — a 32-bit data1-only shift register (relative X/Y + buttons + speed).
SuperScope
Super Scope light gun — an 8-bit data1-only shift register, plus a PPU H/V-counter-latch
side channel driven from crate::Bus::advance_master (real hardware: wired only to
controller port 2’s IOBIT pin — a Super Scope in port 1 never receives a beam-position
latch, matching ares’ own documented hardware note).
Multitap
Super Multitap — four independent standard-pad sub-ports, data1/data2 both live
simultaneously, the currently-addressed pair ([0,1] vs [2,3]) selected by the shared
IOBIT pin.
Trait Implementations§
Source§impl Clone for PortDevice
impl Clone for PortDevice
Source§fn clone(&self) -> PortDevice
fn clone(&self) -> PortDevice
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PortDevice
impl Debug for PortDevice
Source§impl Default for PortDevice
impl Default for PortDevice
Source§fn default() -> PortDevice
fn default() -> PortDevice
Returns the “default value” for a type. Read more
Source§impl PartialEq for PortDevice
impl PartialEq for PortDevice
impl Copy for PortDevice
impl Eq for PortDevice
impl StructuralPartialEq for PortDevice
Auto Trait Implementations§
impl Freeze for PortDevice
impl RefUnwindSafe for PortDevice
impl Send for PortDevice
impl Sync for PortDevice
impl Unpin for PortDevice
impl UnsafeUnpin for PortDevice
impl UnwindSafe for PortDevice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.