trunk/src/mame/drivers/dblewing.c
| r24575 | r24576 | |
| 64 | 64 | virtual void machine_reset(); |
| 65 | 65 | UINT32 screen_update_dblewing(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 66 | 66 | |
| 67 | void dblewing_sound_cb( address_space &space, UINT16 data, UINT16 mem_mask ); |
| 68 | |
| 67 | 69 | READ16_MEMBER( wf_protection_region_0_104_r ); |
| 68 | 70 | WRITE16_MEMBER( wf_protection_region_0_104_w ); |
| 69 | 71 | }; |
| r24575 | r24576 | |
| 229 | 231 | PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) |
| 230 | 232 | PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") |
| 231 | 233 | |
| 234 | // Do not change these until the bit order from the protection device is correct! |
| 232 | 235 | PORT_START("DSW") |
| 233 | 236 | /* 16bit - These values are for Dip Switch #1 */ |
| 234 | 237 | PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3") |
| r24575 | r24576 | |
| 277 | 280 | PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") |
| 278 | 281 | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
| 279 | 282 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 280 | | |
| 281 | | PORT_START("UNK") |
| 282 | | PORT_DIPNAME( 0x0001, 0x0001, "2" ) |
| 283 | | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 284 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 285 | | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 286 | | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 287 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 288 | | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 289 | | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 290 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 291 | | PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unknown ) ) |
| 292 | | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 293 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 294 | | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 295 | | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 296 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 297 | | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 298 | | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 299 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 300 | | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 301 | | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 302 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 303 | | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) |
| 304 | | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 305 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 306 | | PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) ) |
| 307 | | PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) |
| 308 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 309 | | PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) |
| 310 | | PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) |
| 311 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 312 | | PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) |
| 313 | | PORT_DIPSETTING( 0x0400, DEF_STR( Off ) ) |
| 314 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 315 | | PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) ) |
| 316 | | PORT_DIPSETTING( 0x0800, DEF_STR( Off ) ) |
| 317 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 318 | | PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) |
| 319 | | PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) |
| 320 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 321 | | PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) |
| 322 | | PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) |
| 323 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 324 | | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) |
| 325 | | PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) |
| 326 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 327 | | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) |
| 328 | | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
| 329 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 330 | 283 | INPUT_PORTS_END |
| 331 | 284 | |
| 332 | 285 | WRITE_LINE_MEMBER(dblewing_state::sound_irq) |
| r24575 | r24576 | |
| 365 | 318 | m_sound_irq = 0; |
| 366 | 319 | } |
| 367 | 320 | |
| 321 | void dblewing_state::dblewing_sound_cb( address_space &space, UINT16 data, UINT16 mem_mask ) |
| 322 | { |
| 323 | soundlatch_byte_w(space, 0, data & 0xff); |
| 324 | m_sound_irq |= 0x02; |
| 325 | m_audiocpu->set_input_line(0, (m_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE); |
| 326 | } |
| 327 | |
| 368 | 328 | static MACHINE_CONFIG_START( dblewing, dblewing_state ) |
| 369 | 329 | |
| 370 | 330 | /* basic machine hardware */ |
| r24575 | r24576 | |
| 398 | 358 | MCFG_DECO104_ADD("ioprot104") |
| 399 | 359 | MCFG_DECO146_SET_INTERFACE_SCRAMBLE_INTERLEAVE |
| 400 | 360 | MCFG_DECO146_SET_USE_MAGIC_ADDRESS_XOR |
| 361 | MCFG_DECO146_SET_SOUNDLATCH_CALLBACK(dblewing_state, dblewing_sound_cb) |
| 401 | 362 | |
| 402 | 363 | /* sound hardware */ |
| 403 | 364 | MCFG_SPEAKER_STANDARD_MONO("mono") |