diff options
Diffstat (limited to 'src/devices/bus/isa/dectalk.cpp')
-rw-r--r-- | src/devices/bus/isa/dectalk.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/devices/bus/isa/dectalk.cpp b/src/devices/bus/isa/dectalk.cpp index a66896f51a4..141a7c06c43 100644 --- a/src/devices/bus/isa/dectalk.cpp +++ b/src/devices/bus/isa/dectalk.cpp @@ -53,14 +53,11 @@ uint16_t dectalk_isa_device::host_irq_r() uint8_t dectalk_isa_device::dma_r() { - if (!machine().side_effects_disabled()) - m_cpu->drq1_w(0); return m_dma; } void dectalk_isa_device::dma_w(uint8_t data) { - m_cpu->drq1_w(0); m_dma = data; } @@ -88,7 +85,6 @@ void dectalk_isa_device::output_ctl_w(uint16_t data) uint16_t dectalk_isa_device::dsp_dma_r() { m_bio = ASSERT_LINE; - m_cpu->drq1_w(0); return m_dsp_dma; } @@ -102,7 +98,7 @@ int dectalk_isa_device::bio_line_r() { // TODO: reading the bio line doesn't cause any direct external effects so this is wrong if(m_bio == ASSERT_LINE) - m_cpu->drq0_w(1); + m_cpu->dma_sync_req(0); return m_bio; } @@ -159,18 +155,18 @@ const tiny_rom_entry* dectalk_isa_device::device_rom_region() const void dectalk_isa_device::device_add_mconfig(machine_config &config) { - I80186(config, m_cpu, XTAL(20'000'000)); + I80186(config, m_cpu, 20_MHz_XTAL); m_cpu->set_addrmap(AS_PROGRAM, &dectalk_isa_device::dectalk_cpu_map); m_cpu->set_addrmap(AS_IO, &dectalk_isa_device::dectalk_cpu_io); m_cpu->tmrout0_handler().set(FUNC(dectalk_isa_device::clock_w)); - TMS32015(config, m_dsp, XTAL(20'000'000)); + TMS32015(config, m_dsp, 80'000'000); // the a 20MHz oscillator is present - clock frequency hacked to make it "work" m_dsp->set_addrmap(AS_PROGRAM, &dectalk_isa_device::dectalk_dsp_map); m_dsp->set_addrmap(AS_IO, &dectalk_isa_device::dectalk_dsp_io); m_dsp->bio().set(FUNC(dectalk_isa_device::bio_line_r)); SPEAKER(config, "speaker").front_center(); - DAC_12BIT_R2R(config, m_dac, 0).add_route(0, "speaker", 1.0); // unknown DAC + DAC_12BIT_R2R_TWOS_COMPLEMENT(config, m_dac, 0).add_route(0, "speaker", 1.0); // AD7541 DAC } void dectalk_isa_device::write(offs_t offset, uint8_t data) @@ -191,7 +187,7 @@ void dectalk_isa_device::write(offs_t offset, uint8_t data) break; case 4: m_dma = data; - m_cpu->drq1_w(1); + m_cpu->dma_sync_req(1); break; case 6: m_cpu->int1_w(1); @@ -213,7 +209,7 @@ uint8_t dectalk_isa_device::read(offs_t offset) return m_data >> 8; case 4: if (!machine().side_effects_disabled()) - m_cpu->drq1_w(1); + m_cpu->dma_sync_req(1); return m_dma; } return 0; |