trunk/src/mame/drivers/segaybd.c
r241778 | r241779 | |
396 | 396 | // switches we need to fix |
397 | 397 | |
398 | 398 | //------------------------------------------------- |
| 399 | // gforce2_output_cb1 - output #1 handler for |
| 400 | // Galaxy Force |
| 401 | //------------------------------------------------- |
| 402 | |
| 403 | void segaybd_state::gforce2_output_cb1(UINT16 data) |
| 404 | { |
| 405 | logerror("gforce2_output_cb1: '%02X'\n", data & 0xFF); |
| 406 | //bits 4, 5, and 7 seem to be used to multiplex the PORTC signals |
| 407 | //The exact mapping of these signals is yet not perfectly understood. |
| 408 | //You can observe how this value changes when switching pages in the |
| 409 | //service mode motor test menu |
| 410 | } |
| 411 | |
| 412 | //------------------------------------------------- |
399 | 413 | // gforce2_output_cb2 - output #2 handler for |
400 | 414 | // Galaxy Force |
401 | 415 | //------------------------------------------------- |
r241778 | r241779 | |
873 | 887 | |
874 | 888 | PORT_MODIFY("PORTC") |
875 | 889 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Floor Switch") |
876 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Beam Sensor 2 / Down Limit") |
877 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Beam Sensor 1 / Up Limit") |
| 890 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Beam Sensor 2 / Down Limit") //The meaning of these portbits seems to be selected |
| 891 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Beam Sensor 1 / Up Limit") // by the output value written to gforce2_output_cb1 |
878 | 892 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Left CCW Limit") |
879 | 893 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Right CW Limit") |
880 | 894 | |
r241778 | r241779 | |
2524 | 2538 | DRIVER_INIT_MEMBER(segaybd_state,gforce2) |
2525 | 2539 | { |
2526 | 2540 | DRIVER_INIT_CALL(generic); |
| 2541 | m_output_cb1 = output_delegate(FUNC(segaybd_state::gforce2_output_cb1), this); |
2527 | 2542 | m_output_cb2 = output_delegate(FUNC(segaybd_state::gforce2_output_cb2), this); |
2528 | 2543 | } |
2529 | 2544 | |