pub enum InputDevice {
Zapper(ZapperState),
Vaus(VausState),
PowerPad(PowerPadState),
SnesMouse(SnesMouseState),
FamilyKeyboard(FamilyKeyboardState),
FamilyTrainer(PowerPadState),
SuborKeyboard(FamilyKeyboardState),
KonamiHyperShot(KonamiHyperShotState),
BandaiHyperShot(BandaiHyperShotState),
}Expand description
An optional non-standard device overlaid on a controller port. When set,
the bus’s $4016/$4017 read path returns this device’s byte instead of
the standard controller / Four Score serial byte.
Variants§
Zapper(ZapperState)
NES Zapper light gun.
Vaus(VausState)
Arkanoid “Vaus” paddle.
PowerPad(PowerPadState)
NES Power Pad / Family Fun Fitness mat (12 buttons).
SnesMouse(SnesMouseState)
SNES-style serial mouse (Hyperkin / Nintendo), D0 serial-out.
FamilyKeyboard(FamilyKeyboardState)
Famicom Family BASIC keyboard (72-key matrix on $4017).
FamilyTrainer(PowerPadState)
Bandai Family Trainer mat (v1.3.0 Workstream F1). Layout-equivalent
to the PowerPad: the Famicom mat reuses the exact
12-button parallel-in/serial-out scan (it differs only in the expansion-
port wiring vs the NES controller-port Power Pad), so the same
PowerPadState drives it.
SuborKeyboard(FamilyKeyboardState)
Subor keyboard (v1.3.0 Workstream F1). A Family BASIC keyboard
work-alike (the Subor clone matrix), reusing the same
FamilyKeyboardState 9 x 8 matrix scan.
KonamiHyperShot(KonamiHyperShotState)
Konami Hyper Shot (v1.3.0 Workstream F1): a 4-button (2-player Run/Jump) parallel-read expansion controller.
BandaiHyperShot(BandaiHyperShotState)
Bandai Hyper Shot / Exciting Boxing punching bag (v1.3.0 Workstream F1): an 8-sensor expansion controller multiplexed into two groups.
Implementations§
Source§impl InputDevice
impl InputDevice
Trait Implementations§
Source§impl Clone for InputDevice
impl Clone for InputDevice
Source§fn clone(&self) -> InputDevice
fn clone(&self) -> InputDevice
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more