trunk/src/mess/drivers/odyssey2.c
| r21104 | r21105 | |
| 29 | 29 | , m_maincpu(*this, "maincpu") |
| 30 | 30 | , m_screen(*this, "screen") |
| 31 | 31 | , m_i8244(*this, "i8244") |
| 32 | , m_sp0256(*this, "sp0256_speech") |
| 32 | 33 | , m_user1(*this, "user1") |
| 33 | 34 | , m_bank1(*this, "bank1") |
| 34 | 35 | , m_bank2(*this, "bank2") |
| r21104 | r21105 | |
| 45 | 46 | required_device<cpu_device> m_maincpu; |
| 46 | 47 | required_device<screen_device> m_screen; |
| 47 | 48 | required_device<i8244_device> m_i8244; |
| 49 | required_device<sp0256_device> m_sp0256; |
| 48 | 50 | |
| 49 | 51 | int m_the_voice_lrq_state; |
| 50 | 52 | UINT8 m_ram[256]; |
| r21104 | r21105 | |
| 331 | 333 | |
| 332 | 334 | READ8_MEMBER(odyssey2_state::t0_read) |
| 333 | 335 | { |
| 334 | | return ( m_the_voice_lrq_state == ASSERT_LINE ) ? 0 : 1; |
| 336 | return sp0256_lrq_r( m_sp0256 ) ? 1 : 0; |
| 335 | 337 | } |
| 336 | 338 | |
| 337 | 339 | |
| r21104 | r21105 | |
| 432 | 434 | if ( data & 0x20 ) |
| 433 | 435 | { |
| 434 | 436 | logerror("voice write %02X, data = %02X (p1 = %02X)\n", offset, data, m_p1 ); |
| 435 | | sp0256_ALD_w( machine().device("sp0256_speech"), space, 0, offset & 0x7F ); |
| 437 | sp0256_ALD_w( m_sp0256, space, 0, offset & 0x7F ); |
| 436 | 438 | } |
| 437 | 439 | else |
| 438 | 440 | { |
| 439 | 441 | /* TODO: Reset sp0256 in this case */ |
| 442 | m_sp0256->reset(); |
| 440 | 443 | } |
| 441 | 444 | } |
| 442 | 445 | } |
| r21104 | r21105 | |
| 833 | 836 | MCFG_I8245_ADD( "i8244", 3540000 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( g7400_state, scanline_postprocess ) ) |
| 834 | 837 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 835 | 838 | |
| 839 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) |
| 840 | MCFG_SOUND_CONFIG(the_voice_sp0256) |
| 841 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 842 | |
| 836 | 843 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 837 | 844 | MCFG_DEVICE_REMOVE("cart_list") |
| 838 | 845 | MCFG_SOFTWARE_LIST_ADD("cart_list","g7400") |
| r21104 | r21105 | |
| 863 | 870 | MCFG_I8244_ADD( "i8244", 3540000 * 2, "screen", WRITELINE( odyssey2_state, irq_callback ), WRITE16( g7400_state, scanline_postprocess ) ) |
| 864 | 871 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) |
| 865 | 872 | |
| 873 | MCFG_SOUND_ADD("sp0256_speech", SP0256, 3120000) |
| 874 | MCFG_SOUND_CONFIG(the_voice_sp0256) |
| 875 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 876 | |
| 866 | 877 | MCFG_FRAGMENT_ADD(odyssey2_cartslot) |
| 867 | 878 | MCFG_DEVICE_REMOVE("cart_list") |
| 868 | 879 | MCFG_SOFTWARE_LIST_ADD("cart_list","g7400") |