Stern S.A.M.

pinmame.sam

controllers/pinmame/sam.json
41
Machines
21
Author ready
6
Address groups

Polarity is already normalised

PinMAME reports logical active state on this platform. A consumer must not invert again. Whether a real switch is normally closed stays recorded per device as a physical fact, so a recreation can build the right hardware without changing what the emulator reports.

Address groups

Switch and dedicated-switch inputs

pinmame.input.switch

Switch
Legal addresses
  • -7 … 7280 slots
  • 81 … 888 slots
Transports
  • libpinmamechannel=switch
  • controller_plugingroup_id=1 · contract_revision=a6f6d7266d30
Technical details for Switch and dedicated-switch inputsSource-derived address behavior and exceptions

Public input ranges

SAM uses sequential public switch numbering.

Hardware inputs Public addresses
Matrix switches 1-64
Dedicated D1-D8 65-72
Dedicated D17-D24 -7 through 0
Flipper D9-D16 81-88, in PinMAME's flipper column with right/left and EOS ordering

Polarity

The platform leaves the per-game invSw mask zero, so physical normally-closed/opto construction remains a per-game evidence question. inversion_applied_by_emulator only states that consumers must not re-invert the public API state.

Dedicated DIP switch bank

pinmame.input.dip

DIP switch
Legal addresses
  • 1 … 88 slots
Transports
  • libpinmamechannel=dip

Optional ticket-dispenser service functions

physical.output.ticket

Solenoid
Legal addresses
  • 33 … 353 slots
Transports

No stable transport — these are physical identities the public API does not carry.

Technical details for Optional ticket-dispenser service functionsSource-derived address behavior and exceptions

Physical service-diagnostic identities for optional ticket hardware.

They are deliberately not LibPinMAME solenoid addresses: SAM public solenoid 33 is PinMAME's synthetic game-on state, and the stable API does not expose these cabinet functions.

Main and auxiliary driver outputs

pinmame.output.solenoid

Solenoid
Legal addresses
  • 1 … 6666 slots
Transports
  • libpinmamechannel=solenoid
  • controller_plugingroup_id=1 · contract_revision=a6f6d7266d30
Technical details for Main and auxiliary driver outputsSource-derived address behavior and exceptions

Shared address space

SAM main-driver and game-specific auxiliary outputs share PinMAME's public solenoid address space.

Addresses Meaning
1-32 Base driver outputs
33 PinMAME's synthetic game-on/fast-flip state; never a physical transistor
51-66 Full custom range published by the platform macro for every SAM game

Auxiliary write paths

gameSpecific1 selects which auxiliary write path, if any, can drive 51-66. Each machine must therefore mark inactive public holes unused.

Lamp matrix outputs

pinmame.output.lamp

Lamp
Legal addresses
  • 1 … 339339 slots
Transports
  • libpinmamechannel=lamp
  • controller_plugingroup_id=512 · contract_revision=a6f6d7266d30
Technical details for Lamp matrix outputsSource-derived address behavior and exceptions

Conventional matrix: 1-80.

SAM node-board games expose additional LED channels through backward-compatible ChangedLamps addresses. Star Trek configures four node boards and reaches public address 339; the deliberate compatibility gaps at 145, 210, and 275 are not device addresses.

General illumination outputs

pinmame.output.gi

General illumination
Legal addresses
  • 01 slot
Transports
  • libpinmamechannel=gi
  • controller_plugingroup_id=256 · contract_revision=a6f6d7266d30

Evidence

Something wrong or missing?

Address ranges, transports and normalisation rules live in one profile file. If PinMAME exposes a group this profile does not describe — or describes wrongly — the fix belongs there.

Cite a source for anything you change — a manual page, a line in a working VPX script, PinMAME source, or a reading from the machine's own service menu. Claims without provenance cannot be validated.

Machines on this platform

All 41 machines