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 | |