mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
apple2: introduce new accurate IWM controller and switch apple2cr1/3/4 to use it [O. Galibert, R. Belmont]
This commit is contained in:
parent
23e8c957e8
commit
1c684902e2
@ -2286,6 +2286,8 @@ if (BUSES["A2BUS"]~=null) then
|
|||||||
MAME_DIR .. "src/devices/bus/a2bus/a2applicard.h",
|
MAME_DIR .. "src/devices/bus/a2bus/a2applicard.h",
|
||||||
MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.cpp",
|
MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.cpp",
|
||||||
MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.h",
|
MAME_DIR .. "src/devices/bus/a2bus/a2hsscsi.h",
|
||||||
|
MAME_DIR .. "src/devices/bus/a2bus/a2iwm.cpp",
|
||||||
|
MAME_DIR .. "src/devices/bus/a2bus/a2iwm.h",
|
||||||
MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.cpp",
|
MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.cpp",
|
||||||
MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.h",
|
MAME_DIR .. "src/devices/bus/a2bus/a2ultraterm.h",
|
||||||
MAME_DIR .. "src/devices/bus/a2bus/a2pic.cpp",
|
MAME_DIR .. "src/devices/bus/a2bus/a2pic.cpp",
|
||||||
|
@ -4352,3 +4352,58 @@ if (MACHINES["CXD1185"]~=null) then
|
|||||||
MAME_DIR .. "src/devices/machine/cxd1185.h",
|
MAME_DIR .. "src/devices/machine/cxd1185.h",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
--
|
||||||
|
--@src/devices/machine/applefdc.h,MACHINES["APPLE_FDINTF"] = true
|
||||||
|
---------------------------------------------------
|
||||||
|
if (MACHINES["APPLE_FDINTF"]~=null) then
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/devices/machine/applefdintf.cpp",
|
||||||
|
MAME_DIR .. "src/devices/machine/applefdintf.h",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
--
|
||||||
|
--@src/devices/machine/iwm.h,MACHINES["IWM"] = true
|
||||||
|
---------------------------------------------------
|
||||||
|
if (MACHINES["IWM"]~=null) then
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/devices/machine/iwm.cpp",
|
||||||
|
MAME_DIR .. "src/devices/machine/iwm.h",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
--
|
||||||
|
--@src/devices/machine/swim1.h,MACHINES["SWIM1"] = true
|
||||||
|
---------------------------------------------------
|
||||||
|
if (MACHINES["SWIM1"]~=null) then
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/devices/machine/swim1.cpp",
|
||||||
|
MAME_DIR .. "src/devices/machine/swim1.h",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
--
|
||||||
|
--@src/devices/machine/swim2.h,MACHINES["SWIM2"] = true
|
||||||
|
---------------------------------------------------
|
||||||
|
if (MACHINES["SWIM2"]~=null) then
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/devices/machine/swim2.cpp",
|
||||||
|
MAME_DIR .. "src/devices/machine/swim2.h",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
--
|
||||||
|
--@src/devices/machine/swim3.h,MACHINES["SWIM3"] = true
|
||||||
|
---------------------------------------------------
|
||||||
|
if (MACHINES["SWIM3"]~=null) then
|
||||||
|
files {
|
||||||
|
MAME_DIR .. "src/devices/machine/swim3.cpp",
|
||||||
|
MAME_DIR .. "src/devices/machine/swim3.h",
|
||||||
|
}
|
||||||
|
end
|
@ -675,6 +675,11 @@ MACHINES["FDC37C665GT"] = true
|
|||||||
MACHINES["STEPPERS"] = true
|
MACHINES["STEPPERS"] = true
|
||||||
--MACHINES["CORVUSHD"] = true
|
--MACHINES["CORVUSHD"] = true
|
||||||
--MACHINES["WOZFDC"] = true
|
--MACHINES["WOZFDC"] = true
|
||||||
|
--MACHINES["APPLE_FDINTF"] = true
|
||||||
|
--MACHINES["IWM"] = true
|
||||||
|
--MACHINES["SWIM1"] = true
|
||||||
|
--MACHINES["SWIM2"] = true
|
||||||
|
--MACHINES["SWIM3"] = true
|
||||||
--MACHINES["DIABLO_HD"] = true
|
--MACHINES["DIABLO_HD"] = true
|
||||||
MACHINES["PCI9050"] = true
|
MACHINES["PCI9050"] = true
|
||||||
MACHINES["TMS1024"] = true
|
MACHINES["TMS1024"] = true
|
||||||
|
@ -717,6 +717,11 @@ MACHINES["STRATA"] = true
|
|||||||
MACHINES["STEPPERS"] = true
|
MACHINES["STEPPERS"] = true
|
||||||
MACHINES["CORVUSHD"] = true
|
MACHINES["CORVUSHD"] = true
|
||||||
MACHINES["WOZFDC"] = true
|
MACHINES["WOZFDC"] = true
|
||||||
|
MACHINES["APPLE_FDINTF"] = true
|
||||||
|
MACHINES["IWM"] = true
|
||||||
|
MACHINES["SWIM1"] = true
|
||||||
|
MACHINES["SWIM2"] = true
|
||||||
|
MACHINES["SWIM3"] = true
|
||||||
MACHINES["DIABLO_HD"] = true
|
MACHINES["DIABLO_HD"] = true
|
||||||
MACHINES["TMS1024"] = true
|
MACHINES["TMS1024"] = true
|
||||||
MACHINES["NSC810"] = true
|
MACHINES["NSC810"] = true
|
||||||
|
@ -578,9 +578,9 @@ applefdc_device::applefdc_device(const machine_config &mconfig, const char *tag,
|
|||||||
IWM - Used on early Macs
|
IWM - Used on early Macs
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(LEGACY_IWM, iwm_device, "iwml", "Apple IWM (Integrated Woz Machine) (legacy)")
|
DEFINE_DEVICE_TYPE(LEGACY_IWM, legacy_iwm_device, "iwml", "Apple IWM (Integrated Woz Machine) (legacy)")
|
||||||
|
|
||||||
iwm_device::iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
legacy_iwm_device::legacy_iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: applefdc_base_device(APPLEFDC_IWM, mconfig, LEGACY_IWM, tag, owner, clock)
|
: applefdc_base_device(APPLEFDC_IWM, mconfig, LEGACY_IWM, tag, owner, clock)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
#define APPLEFDC_PH3 0x08
|
#define APPLEFDC_PH3 0x08
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(LEGACY_APPLEFDC, applefdc_device)
|
DECLARE_DEVICE_TYPE(LEGACY_APPLEFDC, applefdc_device)
|
||||||
DECLARE_DEVICE_TYPE(LEGACY_IWM, iwm_device)
|
DECLARE_DEVICE_TYPE(LEGACY_IWM, legacy_iwm_device)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -135,16 +135,16 @@ public:
|
|||||||
IWM - Used on early Macs
|
IWM - Used on early Macs
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
class iwm_device : public applefdc_base_device
|
class legacy_iwm_device : public applefdc_base_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, const applefdc_interface *intrf)
|
legacy_iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, const applefdc_interface *intrf)
|
||||||
: iwm_device(mconfig, tag, owner, (uint32_t)0)
|
: legacy_iwm_device(mconfig, tag, owner, (uint32_t)0)
|
||||||
{
|
{
|
||||||
set_config(intrf);
|
set_config(intrf);
|
||||||
}
|
}
|
||||||
|
|
||||||
iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
legacy_iwm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
static constexpr feature_type imperfect_features() { return feature::DISK; }
|
static constexpr feature_type imperfect_features() { return feature::DISK; }
|
||||||
};
|
};
|
||||||
|
@ -158,7 +158,7 @@ Address bus A0-A11 is Y0-Y11
|
|||||||
#include "bus/a2bus/4play.h"
|
#include "bus/a2bus/4play.h"
|
||||||
#include "bus/a2bus/computereyes2.h"
|
#include "bus/a2bus/computereyes2.h"
|
||||||
#include "bus/a2bus/byte8251.h"
|
#include "bus/a2bus/byte8251.h"
|
||||||
|
#include "bus/a2bus/a2iwm.h"
|
||||||
#include "bus/a2gameio/gameio.h"
|
#include "bus/a2gameio/gameio.h"
|
||||||
|
|
||||||
#include "bus/rs232/rs232.h"
|
#include "bus/rs232/rs232.h"
|
||||||
@ -285,7 +285,7 @@ public:
|
|||||||
required_device<address_map_bank_device> m_lcbank;
|
required_device<address_map_bank_device> m_lcbank;
|
||||||
optional_device<mos6551_device> m_acia1, m_acia2;
|
optional_device<mos6551_device> m_acia1, m_acia2;
|
||||||
optional_device<applefdc_base_device> m_laserudc;
|
optional_device<applefdc_base_device> m_laserudc;
|
||||||
optional_device<iwm_device> m_iicpiwm;
|
optional_device<legacy_iwm_device> m_iicpiwm;
|
||||||
required_device<ds1315_device> m_ds1315;
|
required_device<ds1315_device> m_ds1315;
|
||||||
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(apple2_interrupt);
|
TIMER_DEVICE_CALLBACK_MEMBER(apple2_interrupt);
|
||||||
@ -4560,7 +4560,7 @@ void apple2e_state::apple2c_iwm(machine_config &config)
|
|||||||
apple2c(config);
|
apple2c(config);
|
||||||
|
|
||||||
config.device_remove("sl6");
|
config.device_remove("sl6");
|
||||||
A2BUS_IWM_FDC(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
A2BUS_IWM(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||||
}
|
}
|
||||||
|
|
||||||
void apple2e_state::apple2c_mem(machine_config &config)
|
void apple2e_state::apple2c_mem(machine_config &config)
|
||||||
@ -4571,7 +4571,7 @@ void apple2e_state::apple2c_mem(machine_config &config)
|
|||||||
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
m_maincpu->set_dasm_override(FUNC(apple2e_state::dasm_trampoline));
|
||||||
|
|
||||||
config.device_remove("sl6");
|
config.device_remove("sl6");
|
||||||
A2BUS_IWM_FDC(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
A2BUS_IWM(config, "sl6", A2BUS_7M_CLOCK).set_onboard(m_a2bus);
|
||||||
|
|
||||||
m_ram->set_default_size("128K").set_extra_options("128K, 384K, 640K, 896K, 1152K");
|
m_ram->set_default_size("128K").set_extra_options("128K, 384K, 640K, 896K, 1152K");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user