trunk/src/mame/includes/bfm_sc45.h
| r20505 | r20506 | |
| 20 | 20 | m_ymz(*this, "ymz"), |
| 21 | 21 | m_maincpu(*this, "maincpu"), |
| 22 | 22 | m_vfd0(*this, "vfd0"), |
| 23 | | m_nvram(*this, "nvram") |
| 24 | | |
| 23 | m_nvram(*this, "nvram"), |
| 24 | m_io1(*this, "IN-0"), |
| 25 | m_io2(*this, "IN-1"), |
| 26 | m_io3(*this, "IN-2"), |
| 27 | m_io4(*this, "IN-3"), |
| 28 | m_io5(*this, "IN-4"), |
| 29 | m_io6(*this, "IN-5"), |
| 30 | m_io7(*this, "IN-6"), |
| 31 | m_io8(*this, "IN-7"), |
| 32 | m_io9(*this, "IN-8"), |
| 33 | m_io10(*this, "IN-9"), |
| 34 | m_io11(*this, "IN-A"), |
| 35 | m_io12(*this, "IN-B") |
| 25 | 36 | { |
| 26 | 37 | m_chk41addr = -1; |
| 27 | 38 | m_dochk41 = false; |
| r20505 | r20506 | |
| 59 | 70 | |
| 60 | 71 | UINT16 m_mainram[0x10000/2]; |
| 61 | 72 | |
| 73 | UINT8 read_input_matrix(running_machine &machine, int row); |
| 62 | 74 | |
| 63 | 75 | DECLARE_WRITE8_MEMBER(mux_output_w); |
| 64 | 76 | DECLARE_WRITE8_MEMBER(mux_output2_w); |
| r20505 | r20506 | |
| 484 | 496 | |
| 485 | 497 | DECLARE_MACHINE_START(sc4); |
| 486 | 498 | DECLARE_MACHINE_RESET(sc4); |
| 499 | |
| 500 | protected: |
| 501 | required_ioport m_io1; |
| 502 | required_ioport m_io2; |
| 503 | required_ioport m_io3; |
| 504 | required_ioport m_io4; |
| 505 | required_ioport m_io5; |
| 506 | required_ioport m_io6; |
| 507 | required_ioport m_io7; |
| 508 | required_ioport m_io8; |
| 509 | required_ioport m_io9; |
| 510 | required_ioport m_io10; |
| 511 | required_ioport m_io11; |
| 512 | required_ioport m_io12; |
| 487 | 513 | }; |
| 488 | 514 | |
| 489 | 515 | class sc4_adder4_state : public sc4_state |
trunk/src/mame/drivers/bfm_sc4h.c
| r20505 | r20506 | |
| 42 | 42 | #include "sc4_dmd.lh" |
| 43 | 43 | |
| 44 | 44 | |
| 45 | | UINT8 read_input_matrix(running_machine &machine, int row) |
| 45 | UINT8 sc4_state::read_input_matrix(running_machine &machine, int row) |
| 46 | 46 | { |
| 47 | | static const char *const portnames[16] = { "IN-0", "IN-1", "IN-2", "IN-3", "IN-4", "IN-5", "IN-6", "IN-7", "IN-8", "IN-9", "IN-A", "IN-B" }; |
| 47 | ioport_port* portnames[16] = { m_io1, m_io2, m_io3, m_io4, m_io5, m_io6, m_io7, m_io8, m_io9, m_io10, m_io11, m_io12 }; |
| 48 | 48 | UINT8 value; |
| 49 | 49 | |
| 50 | 50 | if (row<4) |
| 51 | 51 | { |
| 52 | | value = (machine.root_device().ioport(portnames[row])->read_safe(0x00) & 0x1f) + ((machine.root_device().ioport(portnames[row+8])->read_safe(0x00) & 0x07) << 5); |
| 52 | value = ((portnames[row])->read_safe(0x00) & 0x1f) + (((portnames[row+8])->read_safe(0x00) & 0x07) << 5); |
| 53 | 53 | } |
| 54 | 54 | else |
| 55 | 55 | { |
| 56 | | value = (machine.root_device().ioport(portnames[row])->read_safe(0x00) & 0x1f) + ((machine.root_device().ioport(portnames[row+4])->read_safe(0x00) & 0x18) << 2); |
| 56 | value = ((portnames[row])->read_safe(0x00) & 0x1f) + (((portnames[row+4])->read_safe(0x00) & 0x18) << 2); |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | return value; |
| r20505 | r20506 | |
| 934 | 934 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 935 | 935 | |
| 936 | 936 | |
| 937 | | PORT_START("IN-a") |
| 937 | PORT_START("IN-A") |
| 938 | 938 | PORT_DIPNAME( 0x01, 0x00, "IN-a:0" ) |
| 939 | 939 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 940 | 940 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| r20505 | r20506 | |
| 952 | 952 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 953 | 953 | |
| 954 | 954 | |
| 955 | | PORT_START("IN-b") |
| 955 | PORT_START("IN-B") |
| 956 | 956 | PORT_DIPNAME( 0x01, 0x00, "IN-b:0" ) |
| 957 | 957 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 958 | 958 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |