trunk/src/mame/drivers/homerun.c
| r17759 | r17760 | |
| 9 | 9 | sprites in NES format etc) |
| 10 | 10 | |
| 11 | 11 | Todo : |
| 12 | | - voice ( unemulated D7756C ) |
| 13 | | - controls/dips |
| 12 | - dump remaining sample roms |
| 13 | - improve controls/dips |
| 14 | 14 | - better emulation of gfx bank switching (problematic in ganjaja) |
| 15 | 15 | - is there 2 player mode ? |
| 16 | 16 | |
| r17759 | r17760 | |
| 60 | 60 | |
| 61 | 61 | WRITE8_MEMBER(homerun_state::homerun_d7756c_control_w) |
| 62 | 62 | { |
| 63 | // d4: start pin |
| 64 | // d5: reset pin(?) |
| 65 | // other bits: unused? |
| 63 | 66 | device_t *device = machine().device("d7756c"); |
| 64 | 67 | upd7759_reset_w(device, ~data & 0x20); |
| 65 | 68 | upd7759_start_w(device, ~data & 0x10); |
| r17759 | r17760 | |
| 110 | 113 | PORT_START("IN0") |
| 111 | 114 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) |
| 112 | 115 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, homerun_40_r, NULL) |
| 113 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ? |
| 116 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // ? |
| 117 | PORT_BIT( 0x37, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 114 | 118 | |
| 115 | 119 | PORT_START("IN1") |
| 116 | 120 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) |
| 117 | 121 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) |
| 118 | 122 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 119 | 123 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 120 | | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1) |
| 124 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 125 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) |
| 126 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 121 | 127 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 122 | 128 | |
| 123 | 129 | PORT_START("IN2") |
| 124 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) |
| 130 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) |
| 131 | PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 125 | 132 | |
| 126 | 133 | PORT_START("DSW") |
| 127 | 134 | PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DIPSW:1,2") |
| r17759 | r17760 | |
| 143 | 150 | PORT_START("IN0") |
| 144 | 151 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) |
| 145 | 152 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, homerun_40_r, NULL) |
| 146 | | PORT_BIT( 0xb7, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 153 | PORT_BIT( 0xb7, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 147 | 154 | |
| 148 | 155 | PORT_START("IN1") |
| 149 | 156 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) |
| 150 | 157 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) |
| 151 | 158 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 152 | 159 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 153 | | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 160 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 154 | 161 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) |
| 155 | | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 162 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 156 | 163 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 157 | 164 | |
| 158 | 165 | PORT_START("IN2") |
| 159 | 166 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) |
| 160 | | PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 167 | PORT_BIT( 0xdf, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 161 | 168 | |
| 162 | 169 | PORT_START("DSW") |
| 163 | 170 | PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DIPSW:1,2") |
| r17759 | r17760 | |
| 188 | 195 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_NAME("P1 Right / Scissors") |
| 189 | 196 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) // unused? |
| 190 | 197 | PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, homerun_state, ganjaja_hopper_status_r, NULL) |
| 191 | | PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 198 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 199 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 192 | 200 | |
| 193 | 201 | PORT_START("IN2") |
| 194 | 202 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // bit masked with IN0 IPT_COIN1, maybe coin lockout? |
| r17759 | r17760 | |
| 201 | 209 | PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) ) |
| 202 | 210 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DIPSW:2") |
| 203 | 211 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) |
| 204 | | PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) |
| 212 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ) ) // game will boot with 1 credit inserted |
| 205 | 213 | PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DIPSW:3" ) |
| 206 | 214 | PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DIPSW:4" ) |
| 207 | 215 | PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DIPSW:5" ) |