#define SPCENCTR_STROBE_FREQ (9.00) /* Hz - calculated from the 555 timer */
#define SPCENCTR_STROBE_DUTY_CYCLE (95) /* % */
static TIMER_DEVICE_CALLBACK( spcenctr_strobe_timer_callback )
{
mw8080bw_state *state = timer.machine->driver_data<mw8080bw_state>();
output_set_value("STROBE", param && state->spcenctr_strobe_state);
}
[...]
static MACHINE_CONFIG_DERIVED( spcenctr, mw8080bw_root )
[...]
/* timers */
MDRV_TIMER_ADD_PERIODIC("strobeon", spcenctr_strobe_timer_callback, HZ(SPCENCTR_STROBE_FREQ))
MDRV_TIMER_PARAM(TRUE) /* indicates strobe ON */
MDRV_TIMER_ADD_PERIODIC("strobeoff", spcenctr_strobe_timer_callback, HZ(SPCENCTR_STROBE_FREQ))
MDRV_TIMER_START_DELAY(HZ(SPCENCTR_STROBE_FREQ * 100 / SPCENCTR_STROBE_DUTY_CYCLE))
MDRV_TIMER_PARAM(FALSE) /* indicates strobe OFF */
[...]
MACHINE_CONFIG_END