trunk/src/mame/drivers/segae.c
| r243653 | r243654 | |
| 302 | 302 | #include "emu.h" |
| 303 | 303 | #include "cpu/z80/z80.h" |
| 304 | 304 | #include "sound/sn76496.h" |
| 305 | | #include "sound/2413intf.h" |
| 306 | 305 | #include "machine/mc8123.h" |
| 307 | 306 | #include "machine/segacrp2.h" |
| 308 | 307 | #include "video/315_5124.h" |
| r243653 | r243654 | |
| 328 | 327 | DECLARE_WRITE8_MEMBER( ridleofp_port_fa_write ); |
| 329 | 328 | DECLARE_READ8_MEMBER( hangonjr_port_f8_read ); |
| 330 | 329 | DECLARE_WRITE8_MEMBER( hangonjr_port_fa_write ); |
| 331 | | DECLARE_WRITE8_MEMBER( ym2413_reg_w ); |
| 332 | | DECLARE_WRITE8_MEMBER( ym2413_data_w ); |
| 333 | 330 | |
| 334 | 331 | DECLARE_DRIVER_INIT( hangonjr ); |
| 335 | 332 | DECLARE_DRIVER_INIT( astrofl ); |
| r243653 | r243654 | |
| 385 | 382 | AM_RANGE(0xe0, 0xe0) AM_READ_PORT( "e0" ) |
| 386 | 383 | AM_RANGE(0xe1, 0xe1) AM_READ_PORT( "e1" ) |
| 387 | 384 | 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 ) |
| 390 | 385 | AM_RANGE(0xf2, 0xf2) AM_READ_PORT( "f2" ) |
| 391 | 386 | AM_RANGE(0xf3, 0xf3) AM_READ_PORT( "f3" ) |
| 392 | 387 | AM_RANGE(0xf7, 0xf7) AM_WRITE( bank_write ) |
| r243653 | r243654 | |
| 411 | 406 | membank("bank1")->set_entry(data & 0x0f); |
| 412 | 407 | } |
| 413 | 408 | |
| 414 | | WRITE8_MEMBER( systeme_state::ym2413_reg_w ) |
| 415 | | { |
| 416 | | ym2413_device *ym = machine().device<ym2413_device>("ym2"); |
| 417 | 409 | |
| 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 | | |
| 433 | 410 | void systeme_state::machine_start() |
| 434 | 411 | { |
| 435 | 412 | membank("vdp1_bank")->configure_entries(0, 2, m_vram[0], 0x4000); |
| r243653 | r243654 | |
| 762 | 739 | PORT_INCLUDE( segae_joy1_generic ) |
| 763 | 740 | |
| 764 | 741 | PORT_MODIFY("f3") /* Read from Port 0xf3 */ |
| 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 ) ) |
| 742 | //"SW2:1" unused |
| 768 | 743 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2") |
| 769 | 744 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 770 | 745 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| r243653 | r243654 | |
| 1013 | 988 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1014 | 989 | |
| 1015 | 990 | MCFG_SOUND_ADD("sn1", SEGAPSG, XTAL_10_738635MHz/3) |
| 1016 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70) |
| 991 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 1017 | 992 | |
| 1018 | 993 | MCFG_SOUND_ADD("sn2", SEGAPSG, XTAL_10_738635MHz/3) |
| 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) |
| 994 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 1023 | 995 | MACHINE_CONFIG_END |
| 1024 | 996 | |
| 1025 | 997 | |