void sc2_state::sc2_update_display() { UINT8 digit_data = BITSWAP8( m_digit_data,7,0,1,2,3,4,5,6 ) & 0x7f; if (!BIT(m_led_selected, 0)) { output_set_digit_value(0, digit_data); m_led_7seg_data[0] = digit_data; output_set_led_value(0, BIT(m_digit_data, 7)); } if (!BIT(m_led_selected, 1)) { output_set_digit_value(1, digit_data); m_led_7seg_data[1] = digit_data; output_set_led_value(1, BIT(m_digit_data, 7)); } if (!BIT(m_led_selected, 2)) { output_set_digit_value(2, digit_data); m_led_7seg_data[2] = digit_data; } if (!BIT(m_led_selected, 3)) { output_set_digit_value(3, digit_data); m_led_7seg_data[3] = digit_data; } }
void fidelz80_state::update_display(running_machine &machine) { // data for the 4x 7seg leds, bits are 0bxABCDEFG UINT8 out_digit = BITSWAP8( m_digit_data,7,0,1,2,3,4,5,6 ) & 0x7f; if (m_led_selected&0x04) { output_set_digit_value(0, out_digit); output_set_led_value(1, m_led_selected & 0x01); } if (m_led_selected&0x08) { output_set_digit_value(1, out_digit); output_set_led_value(0, m_led_selected & 0x01); } if (m_led_selected&0x10) { output_set_digit_value(2, out_digit); } if (m_led_selected&0x20) { output_set_digit_value(3, out_digit); } }
void device_output_interface::set_led_value(int value) { if (m_output_name) output_set_value(m_output_name, value); else output_set_led_value(m_output_index, value); }
INPUT_PORTS_END TIMER_DEVICE_CALLBACK_MEMBER(mk2_state::update_leds) { int i; for (i=0; i<4; i++) output_set_digit_value(i, m_led[i]); output_set_led_value(0, BIT(m_led[4], 3)); output_set_led_value(1, BIT(m_led[4], 5)); output_set_led_value(2, BIT(m_led[4], 4)); output_set_led_value(3, BIT(m_led[4], 4) ? 0 : 1); m_led[0]= m_led[1]= m_led[2]= m_led[3]= m_led[4]= 0; }
INPUT_PORTS_END static TIMER_DEVICE_CALLBACK( update_leds ) { mk2_state *state = timer.machine().driver_data<mk2_state>(); int i; for (i=0; i<4; i++) output_set_digit_value(i, state->m_led[i]); output_set_led_value(0, BIT(state->m_led[4], 3)); output_set_led_value(1, BIT(state->m_led[4], 5)); output_set_led_value(2, BIT(state->m_led[4], 4)); output_set_led_value(3, BIT(state->m_led[4], 4) ? 0 : 1); state->m_led[0]= state->m_led[1]= state->m_led[2]= state->m_led[3]= state->m_led[4]= 0; }
void cosmicos_state::clear_input_data() { int i; m_data = 0; for (i = 0; i < 8; i++) { output_set_led_value(LED_D0 - i, 0); } }
static WRITE8_HANDLER ( write_led ) { mephisto_state *state = space->machine().driver_data<mephisto_state>(); UINT8 LED_offset=100; data &= 0x80; if (data==0)state->m_led_status &= 255-(1<<offset) ; else state->m_led_status|=1<<offset; if (offset<6)output_set_led_value(LED_offset+offset, state->m_led_status&1<<offset?1:0); if (offset==7) state->m_led7=data& 0x80 ? 0x00 :0xff; logerror("LEDs Offset = %d Data = %d\n",offset,data); }
INPUT_PORTS_END TIMER_DEVICE_CALLBACK_MEMBER(mk1_state::mk1_update_leds) { for (int i = 0; i < 4; i++) { output_set_digit_value(i, m_led[i] >> 1); output_set_led_value(i, m_led[i] & 0x01); m_led[i] = 0; } }
void bw12_state::ls259_w(int address, int data) { switch (address) { case 0: /* LS138 A0 */ m_bank = (m_bank & 0x02) | data; bankswitch(); break; case 1: /* LS138 A1 */ m_bank = (data << 1) | (m_bank & 0x01); bankswitch(); break; case 2: /* not connected */ break; case 3: /* _INIT */ break; case 4: /* CAP LOCK */ output_set_led_value(0, data); break; case 5: /* MOTOR 0 */ m_motor0 = data; if (data) { floppy_mon_w(m_floppy0, CLEAR_LINE); floppy_drive_set_ready_state(m_floppy0, 1, 0); } set_floppy_motor_off_timer(); break; case 6: /* MOTOR 1 */ m_motor1 = data; if (data) { floppy_mon_w(m_floppy1, CLEAR_LINE); floppy_drive_set_ready_state(m_floppy1, 1, 0); } set_floppy_motor_off_timer(); break; case 7: /* FDC TC */ upd765_tc_w(m_fdc, data); break; } }
static void write_LED(UINT8 data) { int i; UINT8 i_AH, i_18; UINT8 LED; mboard_lcd_invert = 1; /* Example: turn led E2 on mask: fd 1111 1101 Line 2 data: 10 0001 0000 Line E */ for (i=0; i < 64; i++) /* all LED's off */ output_set_led_value(i, 0); if (Line18_LED) { for (i_AH = 0; i_AH < 8; i_AH++) /* turn LED on depending on bit masks */ { if (BIT(data,i_AH)) { for (i_18 = 0; i_18 < 8; i_18++) { LED = (i_18*8 + 8-i_AH-1); if (!(Line18_LED & (1 << i_18))) /* cleared bit */ output_set_led_value(LED, 1); //else // output_set_led_value(LED, 0); } } } } }
void cosmicos_state::set_cdp1802_mode(int mode) { output_set_led_value(LED_RUN, 0); output_set_led_value(LED_LOAD, 0); output_set_led_value(LED_PAUSE, 0); output_set_led_value(LED_RESET, 0); switch (mode) { case MODE_RUN: output_set_led_value(LED_RUN, 1); m_wait = 1; m_clear = 1; break; case MODE_LOAD: output_set_led_value(LED_LOAD, 1); m_wait = 0; m_clear = 0; break; case MODE_PAUSE: output_set_led_value(LED_PAUSE, 1); m_wait = 1; m_clear = 0; break; case MODE_RESET: m_maincpu->set_input_line(COSMAC_INPUT_LINE_INT, CLEAR_LINE); m_maincpu->set_input_line(COSMAC_INPUT_LINE_DMAIN, CLEAR_LINE); m_wait = 1; m_clear = 0; m_boot = 1; output_set_led_value(LED_RESET, 1); break; } }
ADDRESS_MAP_END /* Input Ports */ INPUT_CHANGED_MEMBER( cosmicos_state::data ) { UINT8 data = ioport("DATA")->read(); int i; for (i = 0; i < 8; i++) { if (!BIT(data, i)) { m_data |= (1 << i); output_set_led_value(LED_D0 - i, 1); } } }
ADDRESS_MAP_END /* Input Ports */ static INPUT_CHANGED( data ) { cosmicos_state *state = field->port->machine().driver_data<cosmicos_state>(); UINT8 data = input_port_read(field->port->machine(), "DATA"); int i; for (i = 0; i < 8; i++) { if (!BIT(data, i)) { state->m_data |= (1 << i); output_set_led_value(LED_D0 - i, 1); } } }
void bw12_state::ls259_w(int address, int data) { switch (address) { case 0: /* LS138 A0 */ m_bank = (m_bank & 0x02) | data; bankswitch(); break; case 1: /* LS138 A1 */ m_bank = (data << 1) | (m_bank & 0x01); bankswitch(); break; case 2: /* not connected */ break; case 3: /* _INIT */ break; case 4: /* CAP LOCK */ output_set_led_value(0, data); break; case 5: /* MOTOR 0 */ m_motor0 = data; break; case 6: /* MOTOR 1 */ m_motor1 = data; break; case 7: /* FDC TC */ m_fdc->tc_w(data); break; } m_motor_on = m_motor0 || m_motor1; m_floppy0->mon_w(!m_motor_on); m_floppy1->mon_w(!m_motor_on); }
static void update_leds( supercon_state *state ) { int i; for (i = 0; i < 8; i++) { if (BIT(state->m_LED_18, i)) output_set_led_value(i + 1, 1); else output_set_led_value(i + 1, 0); if (BIT(state->m_LED_AH, i)) output_set_led_value(i + 9, 1); else output_set_led_value(i + 9, 0); if (BIT(state->m_LED_ST, i)) output_set_led_value(i + 17, 1); else output_set_led_value(i + 17, 0); } }
void prof80_state::ls259_w(int fa, int sa, int fb, int sb) { switch (sa) { case 0: // C0/TDI m_rtc->data_in_w(fa); m_rtc->c0_w(fa); m_c0 = fa; break; case 1: // C1 m_rtc->c1_w(fa); m_c1 = fa; break; case 2: // C2 m_rtc->c2_w(fa); m_c2 = fa; break; case 3: // READY m_fdc->ready_w(fa); break; case 4: // TCK m_rtc->clk_w(fa); break; case 5: // IN USE output_set_led_value(0, fa); break; case 6: // _MOTOR if (fa) { // trigger floppy motor off NE555 timer int t = 110 * RES_M(10) * CAP_U(6.8); // t = 1.1 * R8 * C6 timer_set(attotime::from_msec(t), TIMER_ID_MOTOR); } else { // turn on floppy motor if(m_floppy0) m_floppy0->mon_w(false); if(m_floppy1) m_floppy1->mon_w(false); m_motor = 1; // reset floppy motor off NE555 timer timer_set(attotime::never, TIMER_ID_MOTOR); } break; case 7: // SELECT break; } switch (sb) { case 0: // RESF if (fb) m_fdc->reset(); break; case 1: // MINI break; case 2: // _RTS break; case 3: // TX break; case 4: // _MSTOP if (!fb) { // immediately turn off floppy motor synchronize(TIMER_ID_MOTOR); } break; case 5: // TXP break; case 6: // TSTB m_rtc->stb_w(fb); break; case 7: // MME //logerror("INIT %u\n", fb); m_init = fb; bankswitch(); break; } }
void set_led_status(running_machine &machine, int num, int on) { output_set_led_value(num, on); }
void set_led_status(int num, int on) { output_set_led_value(num, on); }