Skip to content

Expanded lightgun support #21

@StormedBubbles

Description

@StormedBubbles

Hello,

This piggybacks a little on #12.

The Zapper and (Bandai) Hypershot are currently using the POINTER API, which, as far as I can tell, doesn't allow screen edges to count as out of bounds. The LIGHTGUN API does and would allow things like menu cycling in Duck Hunt or even reloading in the unlicensed port of Lethal Enforcers known as Lethal Weapon by shooting away from the screen. The Oeka Kids Tablet is also set up as a pointer device. It's hard to tell from just pictures, but this appears to be okay because I think its only button-like function was a screen press.

In addition, it appears that the pointer guns are set up so that the same mouse index controls all of them. This makes dual-Zapper games Chiller and Zap Ruder impossible to play with two separate gun devices. One will always control both of them. See lr-fceumm for a working dual-Zapper setup.

I should be able to set up everything I mentioned so far without too much trouble. I will try that in the near future if no one else wishes to.

One other thing that I won't know how to do is adding the additional Russian/Chinese dual-lightgun setup. This specifically affects the games Hit Marmot and Fantasy of Gun, each of which used some mysterious dual-gun setup to get two simultaneous players. This is different from Chiller and Zap Ruder, which used dual Zappers. Dual Zappers doesn't work with these games. I believe this other peripheral either:

  • Plugged in to the Famicom expansion port and had a second gun daisy-chained to it, or
  • Was used on Famicom clone systems that had two expansion ports so that each gun could have its own port

This is a bit of a white whale for me with NES/Famicom emulation, so any information anyone has would be greatly appreciated 😃

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions