trunk/src/mame/drivers/segae.c
| r243641 | r243642 | |
| 302 | 302 | #include "emu.h" |
| 303 | 303 | #include "cpu/z80/z80.h" |
| 304 | 304 | #include "sound/sn76496.h" |
| 305 | #include "sound/2413intf.h" |
| 305 | 306 | #include "machine/mc8123.h" |
| 306 | 307 | #include "machine/segacrp2.h" |
| 307 | 308 | #include "video/315_5124.h" |
| r243641 | r243642 | |
| 327 | 328 | DECLARE_WRITE8_MEMBER( ridleofp_port_fa_write ); |
| 328 | 329 | DECLARE_READ8_MEMBER( hangonjr_port_f8_read ); |
| 329 | 330 | DECLARE_WRITE8_MEMBER( hangonjr_port_fa_write ); |
| 331 | DECLARE_WRITE8_MEMBER( ym2413_reg_w ); |
| 332 | DECLARE_WRITE8_MEMBER( ym2413_data_w ); |
| 330 | 333 | |
| 331 | 334 | DECLARE_DRIVER_INIT( hangonjr ); |
| 332 | 335 | DECLARE_DRIVER_INIT( astrofl ); |
| r243641 | r243642 | |
| 382 | 385 | AM_RANGE(0xe0, 0xe0) AM_READ_PORT( "e0" ) |
| 383 | 386 | AM_RANGE(0xe1, 0xe1) AM_READ_PORT( "e1" ) |
| 384 | 387 | AM_RANGE(0xe2, 0xe2) AM_READ_PORT( "e2" ) |
| 388 | AM_RANGE(0xf0, 0xf0) AM_WRITE( ym2413_reg_w ) |
| 389 | AM_RANGE(0xf1, 0xf1) AM_WRITE( ym2413_data_w ) |
| 385 | 390 | AM_RANGE(0xf2, 0xf2) AM_READ_PORT( "f2" ) |
| 386 | 391 | AM_RANGE(0xf3, 0xf3) AM_READ_PORT( "f3" ) |
| 387 | 392 | AM_RANGE(0xf7, 0xf7) AM_WRITE( bank_write ) |
| r243641 | r243642 | |
| 406 | 411 | membank("bank1")->set_entry(data & 0x0f); |
| 407 | 412 | } |
| 408 | 413 | |
| 414 | WRITE8_MEMBER( systeme_state::ym2413_reg_w ) |
| 415 | { |
| 416 | ym2413_device *ym = machine().device<ym2413_device>("ym2"); |
| 409 | 417 | |
| 418 | if( (machine().device<z80_device>("maincpu")->space(AS_IO).read_byte(0xf3)&0x01) == 1) |
| 419 | { |
| 420 | machine().device<z80_device>("maincpu")->space(AS_PROGRAM).write_byte(0xde00,1); |
| 421 | } |
| 422 | //ym2413_w(ym, space, 0, data & 0xff, data & 0xff); |
| 423 | ym->write(space,0, data&0xff); |
| 424 | } |
| 425 | |
| 426 | WRITE8_MEMBER( systeme_state::ym2413_data_w ) |
| 427 | { |
| 428 | ym2413_device *ym = machine().device<ym2413_device>("ym2"); |
| 429 | //ym2413_w(ym, space, 1, data & 0xff, data & 0xff); |
| 430 | ym->write(space,1, data&0xff); |
| 431 | } |
| 432 | |
| 410 | 433 | void systeme_state::machine_start() |
| 411 | 434 | { |
| 412 | 435 | membank("vdp1_bank")->configure_entries(0, 2, m_vram[0], 0x4000); |
| r243641 | r243642 | |
| 739 | 762 | PORT_INCLUDE( segae_joy1_generic ) |
| 740 | 763 | |
| 741 | 764 | PORT_MODIFY("f3") /* Read from Port 0xf3 */ |
| 742 | | //"SW2:1" unused |
| 765 | PORT_DIPNAME( 0x01, 0x00, "FM_Sounds" ) PORT_DIPLOCATION("SW2:1") |
| 766 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 767 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 743 | 768 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2") |
| 744 | 769 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 745 | 770 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| r243641 | r243642 | |
| 988 | 1013 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 989 | 1014 | |
| 990 | 1015 | MCFG_SOUND_ADD("sn1", SEGAPSG, XTAL_10_738635MHz/3) |
| 991 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 1016 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70) |
| 992 | 1017 | |
| 993 | 1018 | MCFG_SOUND_ADD("sn2", SEGAPSG, XTAL_10_738635MHz/3) |
| 994 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 1019 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70) |
| 1020 | |
| 1021 | MCFG_SOUND_ADD("ym2", YM2413, XTAL_10_738635MHz/2) |
| 1022 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) |
| 995 | 1023 | MACHINE_CONFIG_END |
| 996 | 1024 | |
| 997 | 1025 | |