mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
a2bus: Cleanups
- Eliminate A2BUS_7M_CLOCK constant except in apple2e.cpp driver. Use DERIVED_CLOCK for almost all clocks formerly generated from this value. - Don't default the 7M clock for the bus slots. Add confirmed or at least sensible-looking clocks (some differing from Apple's) to all configurations. - Convert some more macros to constexpr variables and eliminate one tag macro.
This commit is contained in:
parent
173b9a2472
commit
feb4b0ddf0
@ -17,16 +17,13 @@
|
||||
|
||||
|
||||
// /INH special addresses
|
||||
#define INH_START_INVALID 0xffff
|
||||
#define INH_END_INVALID 0x0000
|
||||
static constexpr uint16_t INH_START_INVALID = 0xffff;
|
||||
static constexpr uint16_t INH_END_INVALID = 0x0000;
|
||||
|
||||
// /INH types
|
||||
#define INH_NONE 0x00
|
||||
#define INH_READ 0x01
|
||||
#define INH_WRITE 0x02
|
||||
|
||||
// 7M = XTAL(14'318'181) / 2 or XTAL(28'636'363) / 4 (for IIgs)
|
||||
static constexpr uint32_t A2BUS_7M_CLOCK = 7159090;
|
||||
static constexpr int INH_NONE = 0x00;
|
||||
static constexpr int INH_READ = 0x01;
|
||||
static constexpr int INH_WRITE = 0x02;
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -40,11 +37,6 @@ class a2bus_slot_device : public device_t, public device_single_card_slot_interf
|
||||
public:
|
||||
// construction/destruction
|
||||
template <typename T, typename U>
|
||||
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&a2bus_tag, U &&opts, const char *dflt)
|
||||
: a2bus_slot_device(mconfig, tag, owner, A2BUS_7M_CLOCK, std::forward<T>(a2bus_tag), std::forward<U>(opts), dflt)
|
||||
{
|
||||
}
|
||||
template <typename T, typename U>
|
||||
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&a2bus_tag, U &&opts, const char *dflt)
|
||||
: a2bus_slot_device(mconfig, tag, owner, clock)
|
||||
{
|
||||
@ -54,7 +46,7 @@ public:
|
||||
set_fixed(false);
|
||||
m_a2bus.set_tag(std::forward<T>(a2bus_tag));
|
||||
}
|
||||
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = A2BUS_7M_CLOCK);
|
||||
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
@ -134,7 +134,7 @@ void a2bus_byte8251_device::device_add_mconfig(machine_config &config)
|
||||
I8251(config, m_usart, 1021800); // CLK tied to ϕ1 signal from bus pin 38
|
||||
m_usart->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
|
||||
|
||||
MM5307AA(config, m_brg, A2BUS_7M_CLOCK / 8);
|
||||
MM5307AA(config, m_brg, DERIVED_CLOCK(1, 8));
|
||||
m_brg->output_cb().set(m_usart, FUNC(i8251_device::write_txc));
|
||||
m_brg->output_cb().append(m_usart, FUNC(i8251_device::write_rxc));
|
||||
|
||||
|
@ -117,6 +117,7 @@ protected:
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
virtual void device_resolve_objects() override ATTR_COLD;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual uint8_t read_c0nx(uint8_t offset) override;
|
||||
@ -218,21 +219,18 @@ void a2bus_pcxporter_device::pc_io(address_map &map)
|
||||
|
||||
void a2bus_pcxporter_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
V30(config, m_v30, A2BUS_7M_CLOCK); // 7.16 MHz as per manual
|
||||
V30(config, m_v30, DERIVED_CLOCK(1, 1)); // 7.16 MHz as per manual
|
||||
m_v30->set_addrmap(AS_PROGRAM, &a2bus_pcxporter_device::pc_map);
|
||||
m_v30->set_addrmap(AS_IO, &a2bus_pcxporter_device::pc_io);
|
||||
m_v30->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
|
||||
m_v30->set_disable();
|
||||
|
||||
PIT8253(config, m_pit8253);
|
||||
m_pit8253->set_clk<0>(A2BUS_7M_CLOCK / 6.0); // heartbeat IRQ
|
||||
m_pit8253->out_handler<0>().set(m_pic8259, FUNC(pic8259_device::ir0_w));
|
||||
m_pit8253->set_clk<1>(A2BUS_7M_CLOCK / 6.0); // DRAM refresh
|
||||
m_pit8253->out_handler<1>().set(FUNC(a2bus_pcxporter_device::pc_pit8253_out1_changed));
|
||||
m_pit8253->set_clk<2>(A2BUS_7M_CLOCK / 6.0); // PIO port C pin 4, and speaker polling enough
|
||||
m_pit8253->out_handler<2>().set(FUNC(a2bus_pcxporter_device::pc_pit8253_out2_changed));
|
||||
|
||||
PCXPORT_DMAC(config, m_dma8237, A2BUS_7M_CLOCK / 2);
|
||||
PCXPORT_DMAC(config, m_dma8237, DERIVED_CLOCK(1, 2));
|
||||
m_dma8237->out_hreq_callback().set(FUNC(a2bus_pcxporter_device::pc_dma_hrq_changed));
|
||||
m_dma8237->out_eop_callback().set(FUNC(a2bus_pcxporter_device::pc_dma8237_out_eop));
|
||||
m_dma8237->in_memr_callback().set(FUNC(a2bus_pcxporter_device::pc_dma_read_byte));
|
||||
@ -277,6 +275,14 @@ void a2bus_pcxporter_device::device_add_mconfig(machine_config &config)
|
||||
ISA8_SLOT(config, "isa2", 0, m_isabus, pc_isa8_cards, "fdc_xt", true);
|
||||
}
|
||||
|
||||
void a2bus_pcxporter_device::device_resolve_objects()
|
||||
{
|
||||
// DERIVED_CLOCK doesn't work for this case, so do this here instead
|
||||
m_pit8253->set_clk<0>(clock() / 6.0); // heartbeat IRQ
|
||||
m_pit8253->set_clk<1>(clock() / 6.0); // DRAM refresh
|
||||
m_pit8253->set_clk<2>(clock() / 6.0); // PIO port C pin 4, and speaker polling enough
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -24,17 +24,58 @@
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
|
||||
/***************************************************************************
|
||||
PARAMETERS
|
||||
***************************************************************************/
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_transwarp_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_transwarp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_transwarp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// overrides of device_t functions
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
virtual ioport_constructor device_input_ports() const override ATTR_COLD;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual bool take_c800() override;
|
||||
|
||||
private:
|
||||
bool m_bEnabled;
|
||||
bool m_bReadA2ROM;
|
||||
bool m_bIn1MHzMode;
|
||||
emu_timer *m_timer;
|
||||
|
||||
required_device<cpu_device> m_ourcpu;
|
||||
required_region_ptr<uint8_t> m_rom;
|
||||
required_ioport m_dsw1, m_dsw2;
|
||||
|
||||
TIMER_CALLBACK_MEMBER(clock_adjust_tick);
|
||||
|
||||
uint8_t dma_r(offs_t offset);
|
||||
void dma_w(offs_t offset, uint8_t data);
|
||||
|
||||
void m65c02_mem(address_map &map) ATTR_COLD;
|
||||
|
||||
void hit_slot(int slot);
|
||||
void hit_slot_joy();
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(A2BUS_TRANSWARP, a2bus_transwarp_device, "a2twarp", "Applied Engineering TransWarp")
|
||||
|
||||
#define CPU_TAG "tw65c02"
|
||||
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_TRANSWARP, device_a2bus_card_interface, a2bus_transwarp_device, "a2twarp", "Applied Engineering TransWarp")
|
||||
|
||||
void a2bus_transwarp_device::m65c02_mem(address_map &map)
|
||||
{
|
||||
@ -128,7 +169,7 @@ ioport_constructor a2bus_transwarp_device::device_input_ports() const
|
||||
|
||||
void a2bus_transwarp_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_ourcpu, A2BUS_7M_CLOCK / 2);
|
||||
M65C02(config, m_ourcpu, DERIVED_CLOCK(1, 2));
|
||||
m_ourcpu->set_addrmap(AS_PROGRAM, &a2bus_transwarp_device::m65c02_mem);
|
||||
}
|
||||
|
||||
@ -140,7 +181,7 @@ a2bus_transwarp_device::a2bus_transwarp_device(const machine_config &mconfig, de
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_a2bus_card_interface(mconfig, *this),
|
||||
m_bEnabled(false),
|
||||
m_ourcpu(*this, CPU_TAG),
|
||||
m_ourcpu(*this, "tw65c02"),
|
||||
m_rom(*this, "twrom"),
|
||||
m_dsw1(*this, "DSW1"),
|
||||
m_dsw2(*this, "DSW2")
|
||||
@ -174,11 +215,11 @@ void a2bus_transwarp_device::device_reset()
|
||||
{
|
||||
if (m_dsw1->read() & 0x80)
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 4);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 2);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -199,11 +240,11 @@ TIMER_CALLBACK_MEMBER(a2bus_transwarp_device::clock_adjust_tick)
|
||||
{
|
||||
if (m_dsw1->read() & 0x80)
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 4);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 2);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -255,11 +296,11 @@ void a2bus_transwarp_device::dma_w(offs_t offset, uint8_t data)
|
||||
{
|
||||
if (m_dsw1->read() & 0x80)
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 4);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ourcpu->set_unscaled_clock(A2BUS_7M_CLOCK / 2);
|
||||
m_ourcpu->set_unscaled_clock(clock() / 2);
|
||||
}
|
||||
m_bIn1MHzMode = false;
|
||||
}
|
||||
|
@ -13,53 +13,7 @@
|
||||
|
||||
#include "a2bus.h"
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
class a2bus_transwarp_device:
|
||||
public device_t,
|
||||
public device_a2bus_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
a2bus_transwarp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
a2bus_transwarp_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// overrides of device_t functions
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
virtual void device_reset() override ATTR_COLD;
|
||||
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
|
||||
virtual ioport_constructor device_input_ports() const override ATTR_COLD;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
|
||||
|
||||
// overrides of standard a2bus slot functions
|
||||
virtual bool take_c800() override;
|
||||
|
||||
private:
|
||||
bool m_bEnabled;
|
||||
bool m_bReadA2ROM;
|
||||
bool m_bIn1MHzMode;
|
||||
emu_timer *m_timer;
|
||||
|
||||
required_device<cpu_device> m_ourcpu;
|
||||
required_region_ptr<uint8_t> m_rom;
|
||||
required_ioport m_dsw1, m_dsw2;
|
||||
|
||||
TIMER_CALLBACK_MEMBER(clock_adjust_tick);
|
||||
|
||||
uint8_t dma_r(offs_t offset);
|
||||
void dma_w(offs_t offset, uint8_t data);
|
||||
|
||||
void m65c02_mem(address_map &map) ATTR_COLD;
|
||||
|
||||
void hit_slot(int slot);
|
||||
void hit_slot_joy();
|
||||
};
|
||||
|
||||
// device type definition
|
||||
DECLARE_DEVICE_TYPE(A2BUS_TRANSWARP, a2bus_transwarp_device)
|
||||
DECLARE_DEVICE_TYPE(A2BUS_TRANSWARP, device_a2bus_card_interface)
|
||||
|
||||
#endif // MAME_BUS_A2BUS_TRANSWARP_H
|
||||
|
@ -1264,11 +1264,11 @@ void agat7_state::agat7(machine_config &config)
|
||||
m_a2bus->nmi_w().set(FUNC(agat_base_state::a2bus_nmi_w));
|
||||
m_a2bus->inh_w().set(FUNC(agat_base_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, agat7_cards, "a7lang");
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, agat7_cards, "a7fdc");
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, agat7_cards, "a7ports");
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, agat7_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", m_a2bus, agat7_cards, "a7ram");
|
||||
A2BUS_SLOT(config, "sl2", XTAL(14'300'000) / 2, m_a2bus, agat7_cards, "a7lang");
|
||||
A2BUS_SLOT(config, "sl3", XTAL(14'300'000) / 2, m_a2bus, agat7_cards, "a7fdc");
|
||||
A2BUS_SLOT(config, "sl4", XTAL(14'300'000) / 2, m_a2bus, agat7_cards, "a7ports");
|
||||
A2BUS_SLOT(config, "sl5", XTAL(14'300'000) / 2, m_a2bus, agat7_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", XTAL(14'300'000) / 2, m_a2bus, agat7_cards, "a7ram");
|
||||
|
||||
CASSETTE(config,m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED);
|
||||
@ -1306,12 +1306,12 @@ void agat9_state::agat9(machine_config &config)
|
||||
m_a2bus->inh_w().set(FUNC(agat_base_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
// slot 0 does not exist
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, agat9_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, agat9_cards, nullptr); // a9ram
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, agat9_cards, nullptr); // printer->mouse
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, agat9_cards, nullptr); // printer
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, agat9_cards, "a9fdc");
|
||||
A2BUS_SLOT(config, "sl6", m_a2bus, agat9_cards, "a9fdc140");
|
||||
A2BUS_SLOT(config, "sl1", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, nullptr); // a9ram
|
||||
A2BUS_SLOT(config, "sl3", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, nullptr); // printer->mouse
|
||||
A2BUS_SLOT(config, "sl4", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, nullptr); // printer
|
||||
A2BUS_SLOT(config, "sl5", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, "a9fdc");
|
||||
A2BUS_SLOT(config, "sl6", XTAL(14'300'000) / 2, m_a2bus, agat9_cards, "a9fdc140");
|
||||
|
||||
CASSETTE(config,m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED);
|
||||
|
@ -1183,14 +1183,14 @@ void apple2_state::apple2_common(machine_config &config)
|
||||
m_a2bus->nmi_w().set(FUNC(apple2_state::a2bus_nmi_w));
|
||||
m_a2bus->inh_w().set(FUNC(apple2_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
A2BUS_SLOT(config, "sl0", m_a2bus, apple2_slot0_cards, "lang");
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, apple2_cards, "mockingboard");
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", m_a2bus, apple2_cards, "diskiing");
|
||||
A2BUS_SLOT(config, "sl7", m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl0", XTAL(14'318'181) / 2, m_a2bus, apple2_slot0_cards, "lang");
|
||||
A2BUS_SLOT(config, "sl1", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, "mockingboard");
|
||||
A2BUS_SLOT(config, "sl5", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, "diskiing");
|
||||
A2BUS_SLOT(config, "sl7", XTAL(14'318'181) / 2, m_a2bus, apple2_cards, nullptr);
|
||||
|
||||
/* Set up the softlists: clean cracks priority, originals second, others last */
|
||||
SOFTWARE_LIST(config, "flop_a2_clean").set_original("apple2_flop_clcracked");
|
||||
|
@ -190,6 +190,8 @@ static constexpr int IRQ_SLOT = 0;
|
||||
static constexpr int IRQ_VBL = 1;
|
||||
static constexpr int IRQ_MOUSEXY = 2;
|
||||
|
||||
static constexpr XTAL A2BUS_7M_CLOCK = XTAL(14'318'181) / 2;
|
||||
|
||||
class apple2e_state : public driver_device
|
||||
{
|
||||
public:
|
||||
@ -2139,13 +2141,13 @@ void apple2e_state::laser_calc_speed()
|
||||
break;
|
||||
|
||||
case 2:
|
||||
m_accel_speed = A2BUS_7M_CLOCK/3; // 2.38 MHz
|
||||
m_accel_speed = A2BUS_7M_CLOCK.value()/3; // 2.38 MHz
|
||||
m_accel_fast = true;
|
||||
accel_full_speed();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
m_accel_speed = A2BUS_7M_CLOCK/2; // 3.58 MHz
|
||||
m_accel_speed = A2BUS_7M_CLOCK.value()/2; // 3.58 MHz
|
||||
m_accel_fast = true;
|
||||
accel_full_speed();
|
||||
break;
|
||||
@ -5043,13 +5045,13 @@ void apple2e_state::apple2e_common(machine_config &config, bool enhanced, bool r
|
||||
m_a2bus->nmi_w().set(FUNC(apple2e_state::a2bus_nmi_w));
|
||||
m_a2bus->inh_w().set(FUNC(apple2e_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, apple2e_cards, "mockingboard");
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", m_a2bus, apple2e_cards, "diskiing");
|
||||
A2BUS_SLOT(config, "sl7", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl1", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, "mockingboard");
|
||||
A2BUS_SLOT(config, "sl5", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, "diskiing");
|
||||
A2BUS_SLOT(config, "sl7", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
|
||||
A2EAUXSLOT(config, m_a2eauxslot, 0);
|
||||
m_a2eauxslot->set_space(m_maincpu, AS_PROGRAM);
|
||||
@ -5254,9 +5256,9 @@ void apple2e_state::laser128(machine_config &config)
|
||||
A2BUS_LASER128(config, "sl2", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_LASER128(config, "sl3", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_LASER128(config, "sl4", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl5", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_LASER128(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_SLOT(config, "sl7", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl7", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
|
||||
CENTRONICS(config, m_printer_conn, centronics_devices, "printer");
|
||||
m_printer_conn->busy_handler().set(FUNC(apple2e_state::busy_w));
|
||||
@ -5289,9 +5291,9 @@ void apple2e_state::laser128o(machine_config &config)
|
||||
A2BUS_LASER128_ORIG(config, "sl2", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_LASER128_ORIG(config, "sl3", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_LASER128_ORIG(config, "sl4", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl5", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_LASER128_ORIG(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_SLOT(config, "sl7", m_a2bus, apple2e_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl7", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, nullptr);
|
||||
|
||||
CENTRONICS(config, m_printer_conn, centronics_devices, "printer");
|
||||
m_printer_conn->busy_handler().set(FUNC(apple2e_state::busy_w));
|
||||
@ -5400,7 +5402,7 @@ void apple2e_state::ace2200(machine_config &config)
|
||||
config.device_remove("sl6");
|
||||
|
||||
A2BUS_ACE2X00_SLOT1(config, "sl1", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2e_cards, "mockingboard");
|
||||
A2BUS_SLOT(config, "sl5", A2BUS_7M_CLOCK, m_a2bus, apple2e_cards, "mockingboard");
|
||||
A2BUS_ACE2X00_SLOT6(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||
|
||||
config.device_remove("aux");
|
||||
|
@ -3860,13 +3860,13 @@ void apple2gs_state::apple2gs(machine_config &config)
|
||||
m_a2bus->nmi_w().set(FUNC(apple2gs_state::a2bus_nmi_w));
|
||||
m_a2bus->inh_w().set(FUNC(apple2gs_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl5", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl7", m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl1", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl5", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl6", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl7", A2GS_7M, m_a2bus, apple2gs_cards, nullptr);
|
||||
|
||||
IWM(config, m_iwm, A2GS_7M, A2GS_MASTER_CLOCK/14);
|
||||
m_iwm->phases_cb().set(FUNC(apple2gs_state::phases_w));
|
||||
|
@ -86,10 +86,10 @@ void apple3_state::apple3(machine_config &config)
|
||||
m_a2bus->nmi_w().set(FUNC(apple3_state::a2bus_nmi_w));
|
||||
m_a2bus->inh_w().set(FUNC(apple3_state::a2bus_inh_w));
|
||||
m_a2bus->dma_w().set_inputline(m_maincpu, INPUT_LINE_HALT);
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl1", 14.318181_MHz_XTAL / 2, m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", 14.318181_MHz_XTAL / 2, m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", 14.318181_MHz_XTAL / 2, m_a2bus, apple3_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", 14.318181_MHz_XTAL / 2, m_a2bus, apple3_cards, nullptr);
|
||||
|
||||
/* fdc */
|
||||
APPLEIII_FDC(config, m_fdc, 1021800*2);
|
||||
|
@ -170,10 +170,10 @@ void concept_state::corvus_concept(machine_config &config)
|
||||
A2BUS(config, m_a2bus, 0).set_space(m_maincpu, AS_PROGRAM);
|
||||
m_a2bus->nmi_w().set("iocint", FUNC(input_merger_device::in_w<0>));
|
||||
m_a2bus->irq_w().set("iocint", FUNC(input_merger_device::in_w<1>));
|
||||
A2BUS_SLOT(config, "sl1", m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", m_a2bus, concept_a2_cards, "fdc01");
|
||||
A2BUS_SLOT(config, "sl1", 16.364_MHz_XTAL / 2, m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl2", 16.364_MHz_XTAL / 2, m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl3", 16.364_MHz_XTAL / 2, m_a2bus, concept_a2_cards, nullptr);
|
||||
A2BUS_SLOT(config, "sl4", 16.364_MHz_XTAL / 2, m_a2bus, concept_a2_cards, "fdc01");
|
||||
|
||||
INPUT_MERGER_ANY_HIGH(config, "iocint").output_handler().set_inputline(m_maincpu, M68K_IRQ_1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user