mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
apple/maciifx.cpp, apple/macpdm.cpp: Use the new 8530 SCC device instead of the old legacy device. [R. Belmont]
This commit is contained in:
parent
9b964f3d90
commit
020ddbc136
@ -28,7 +28,6 @@
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/m68000/m68030.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/8530scc.h"
|
||||
#include "machine/applefdintf.h"
|
||||
#include "machine/applepic.h"
|
||||
#include "machine/ncr5380.h"
|
||||
@ -89,7 +88,7 @@ private:
|
||||
required_device<nscsi_bus_device> m_scsibus1;
|
||||
required_device<ncr5380_device> m_ncr5380;
|
||||
required_device<mac_scsi_helper_device> m_scsihelp;
|
||||
required_device<scc8530_legacy_device> m_scc;
|
||||
required_device<z80scc_device> m_scc;
|
||||
required_device<asc_device> m_asc;
|
||||
|
||||
floppy_image_device *m_cur_floppy = nullptr;
|
||||
@ -504,7 +503,20 @@ void maciifx_state::maciifx(machine_config &config)
|
||||
|
||||
SOFTWARE_LIST(config, "flop35hd_list").set_original("mac_hdflop");
|
||||
|
||||
SCC8530(config, m_scc, C7M);
|
||||
SCC85C30(config, m_scc, C7M);
|
||||
m_scc->configure_channels(3'686'400, 3'686'400, 3'686'400, 3'686'400);
|
||||
m_scc->out_txda_callback().set("printer", FUNC(rs232_port_device::write_txd));
|
||||
m_scc->out_txdb_callback().set("modem", FUNC(rs232_port_device::write_txd));
|
||||
|
||||
rs232_port_device &rs232a(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
rs232a.rxd_handler().set(m_scc, FUNC(z80scc_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_scc, FUNC(z80scc_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_scc, FUNC(z80scc_device::ctsa_w));
|
||||
|
||||
rs232_port_device &rs232b(RS232_PORT(config, "modem", default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set(m_scc, FUNC(z80scc_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_scc, FUNC(z80scc_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_scc, FUNC(z80scc_device::ctsb_w));
|
||||
|
||||
NSCSI_BUS(config, "scsi");
|
||||
NSCSI_CONNECTOR(config, "scsi:0", mac_scsi_devices, nullptr);
|
||||
@ -545,17 +557,17 @@ void maciifx_state::maciifx(machine_config &config)
|
||||
m_via1->writepb_handler().set(FUNC(maciifx_state::mac_via_out_b));
|
||||
m_via1->irq_handler().set(FUNC(maciifx_state::oss_interrupt<11>));
|
||||
|
||||
applepic_device &sccpic(APPLEPIC(config, "sccpic", C15M));
|
||||
sccpic.prd_callback().set(m_scc, FUNC(scc8530_legacy_device::reg_r));
|
||||
sccpic.pwr_callback().set(m_scc, FUNC(scc8530_legacy_device::reg_w));
|
||||
sccpic.hint_callback().set(FUNC(maciifx_state::oss_interrupt<7>));
|
||||
|
||||
MACADB(config, m_macadb, C15M);
|
||||
m_macadb->adb_data_callback().set(FUNC(maciifx_state::set_adb_line));
|
||||
|
||||
m_scc->intrq_callback().set("sccpic", FUNC(applepic_device::pint_w));
|
||||
// m_scc->dtr_reqa_callback().set("sccpic", FUNC(applepic_device::reqa_w));
|
||||
// m_scc->dtr_reqb_callback().set("sccpic", FUNC(applepic_device::reqb_w));
|
||||
applepic_device &sccpic(APPLEPIC(config, "sccpic", C15M));
|
||||
sccpic.prd_callback().set(m_scc, FUNC(z80scc_device::dc_ab_r));
|
||||
sccpic.pwr_callback().set(m_scc, FUNC(z80scc_device::dc_ab_w));
|
||||
sccpic.hint_callback().set(FUNC(maciifx_state::oss_interrupt<7>));
|
||||
|
||||
m_scc->out_int_callback().set("sccpic", FUNC(applepic_device::pint_w));
|
||||
m_scc->out_wreqa_callback().set("sccpic", FUNC(applepic_device::reqa_w));
|
||||
m_scc->out_wreqb_callback().set("sccpic", FUNC(applepic_device::reqb_w));
|
||||
|
||||
applepic_device &swimpic(APPLEPIC(config, "swimpic", C15M));
|
||||
swimpic.prd_callback().set(m_fdc, FUNC(applefdintf_device::read));
|
||||
|
@ -8,14 +8,15 @@
|
||||
|
||||
#include "bus/nscsi/devices.h"
|
||||
#include "bus/nubus/nubus.h"
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/powerpc/ppc.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/8530scc.h"
|
||||
#include "machine/mv_sonora.h"
|
||||
#include "machine/ncr53c90.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/swim3.h"
|
||||
#include "machine/timer.h"
|
||||
#include "machine/z80scc.h"
|
||||
#include "sound/awacs.h"
|
||||
|
||||
#include "softlist_dev.h"
|
||||
@ -45,7 +46,7 @@ private:
|
||||
required_device<cuda_device> m_cuda;
|
||||
required_device<macadb_device> m_macadb;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<scc8530_legacy_device> m_scc;
|
||||
required_device<z80scc_device> m_scc;
|
||||
required_device<nscsi_bus_device> m_scsibus;
|
||||
required_device<ncr53c94_device> m_ncr53c94;
|
||||
required_device<swim3_device> m_fdc;
|
||||
@ -529,12 +530,12 @@ void macpdm_state::via2_sifr_w(uint8_t data)
|
||||
|
||||
uint8_t macpdm_state::scc_r(offs_t offset)
|
||||
{
|
||||
return m_scc->reg_r(offset >> 1);
|
||||
return m_scc->dc_ab_r(offset >> 1);
|
||||
}
|
||||
|
||||
void macpdm_state::scc_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
m_scc->reg_w(offset, data);
|
||||
m_scc->dc_ab_w(offset, data);
|
||||
}
|
||||
|
||||
uint8_t macpdm_state::fdc_r(offs_t offset)
|
||||
@ -1126,8 +1127,22 @@ void macpdm_state::macpdm(machine_config &config)
|
||||
applefdintf_device::add_35_nc(config, m_floppy[1]);
|
||||
|
||||
// pclk is maincpu:60MHz/4, RTxCA is IO_CLOCK*2/17 or GPI input, RTxCB is IO_CLOCK*2/17
|
||||
SCC8530(config, m_scc, 60000000/4);
|
||||
m_scc->intrq_callback().set(FUNC(macpdm_state::scc_irq));
|
||||
// IO_CLOCK*2/17 is 3'686'400
|
||||
SCC85C30(config, m_scc, 60000000/4);
|
||||
m_scc->configure_channels(3'686'400, 3'686'400, 3'686'400, 3'686'400);
|
||||
m_scc->out_int_callback().set(FUNC(macpdm_state::scc_irq));
|
||||
m_scc->out_txda_callback().set("printer", FUNC(rs232_port_device::write_txd));
|
||||
m_scc->out_txdb_callback().set("modem", FUNC(rs232_port_device::write_txd));
|
||||
|
||||
rs232_port_device &rs232a(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
rs232a.rxd_handler().set(m_scc, FUNC(z80scc_device::rxa_w));
|
||||
rs232a.dcd_handler().set(m_scc, FUNC(z80scc_device::dcda_w));
|
||||
rs232a.cts_handler().set(m_scc, FUNC(z80scc_device::ctsa_w));
|
||||
|
||||
rs232_port_device &rs232b(RS232_PORT(config, "modem", default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set(m_scc, FUNC(z80scc_device::rxb_w));
|
||||
rs232b.dcd_handler().set(m_scc, FUNC(z80scc_device::dcdb_w));
|
||||
rs232b.cts_handler().set(m_scc, FUNC(z80scc_device::ctsb_w));
|
||||
|
||||
R65NC22(config, m_via1, IO_CLOCK/40);
|
||||
m_via1->readpa_handler().set(FUNC(macpdm_state::via1_in_a));
|
||||
|
Loading…
Reference in New Issue
Block a user