Sega/Stern Whitestar

pinmame.whitestar

controllers/pinmame/whitestar.json
3
Machines
0
Author ready
5
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

Sequential matrix, cabinet-service, and flipper-column inputs

pinmame.input.switch

Switch
Legal addresses
  • -3 … 04 slots
  • 1 … 6464 slots
  • 81 … 888 slots
Transports
  • libpinmamechannel=switch
  • controller_plugingroup_id=1 · contract_revision=a6f6d7266d30
Technical details for Sequential matrix, cabinet-service, and flipper-column inputsSource-derived address behavior and exceptions

Public input ranges

Whitestar uses PinMAME's sequential switch conversion.

Inputs Public addresses
Eight-by-eight playfield/cabinet matrix 1-64
Coin-door memory protect -3
Red/green/black coin-door service buttons -2 / -1 / 0
Right EOS / right button / left EOS / left button 81-84
Fifth dedicated input for games with an upper flipper 88

Addresses 85-87 are explicit generic flipper-column holes.

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.

CPU-board country configuration bits

pinmame.input.dip

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

Country selector

The physical SW300 country selector consumes the low five bits.

The eight-address LibPinMAME DIP contract is retained so definitions can enumerate the complete public bank and mark bits 6-8 unused.

Main, auxiliary, synthetic-state, and generic flipper outputs

pinmame.output.solenoid

Solenoid
Legal addresses
  • 1 … 5050 slots
Transports
  • libpinmamechannel=solenoid
  • controller_plugingroup_id=1 · contract_revision=a6f6d7266d30
Technical details for Main, auxiliary, synthetic-state, and generic flipper outputsSource-derived address behavior and exceptions

Main and flipper outputs

Physical main-board Q1-Q14 and Q17-Q32 retain their public numbers. Physical Q15/Q16 are removed from public 15/16 and exposed through legacy lower-flipper pairs:

Physical output Side Power-phase address Canonical callback
Q16 Right 45 46
Q15 Left 47 48

PinMAME synthesizes each canonical callback's hold state whenever its power bit is active, so a recreation must not create duplicate flipper devices.

Synthetic and auxiliary outputs

  • Public 15 is PinMAME's synthetic fast-flip/game-on state, and public 16 is its unused companion slot.
  • Whitestar auxiliary boards use 33-36. Board 520-5068-01 exposes three outputs at 33-35 and leaves 36 unused.
  • Addresses 37-44 are reserved compatibility holes, 49 is the simulation shooter slot, and 50 is reserved.

Controlled-lamp matrix and game-specific auxiliary lamp columns

pinmame.output.lamp

Lamp
Legal addresses
  • 1 … 336336 slots
Transports
  • libpinmamechannel=lamp
  • controller_plugingroup_id=512 · contract_revision=a6f6d7266d30
Technical details for Controlled-lamp matrix and game-specific auxiliary lamp columnsSource-derived address behavior and exceptions

Controlled-lamp matrix

Whitestar reports the eight-by-ten controlled-lamp matrix as sequential public addresses 1-80, with addresses ordered across the eight columns before advancing to the next return row.

Shared transport ceiling

PinMAME sizes this shared transport to 64 + (lampCol * 8). src/wpc/bowlgames.c declares lampCol=34 in coinGameData, shared by the titanic and monopred coin-dropper drivers, hence the platform profile ceiling of 336.

A machine definition must enumerate only addresses its own hardware declaration and game-specific driver writes establish; the profile ceiling never creates physical devices.

General-illumination relay state

pinmame.output.gi

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

PinMAME exposes Whitestar's GI relay as aggregate channel 0 even when the cabinet has several separately fused physical illumination strings behind that relay.

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 3 machines