From f17ab7b1c9d8012495e2b69e93781e486cb023cb Mon Sep 17 00:00:00 2001 From: arbee Date: Mon, 21 Aug 2023 22:29:07 -0400 Subject: apple/egret.cpp: Further cleanup using set_default_bios_tag(). [R. Belmont, Vas Crabb] --- src/mame/apple/egret.cpp | 97 +++++++++++++--------------------------------- src/mame/apple/egret.h | 32 +-------------- src/mame/apple/maciici.cpp | 3 +- src/mame/apple/maciivx.cpp | 3 +- src/mame/apple/maclc.cpp | 3 +- src/mame/apple/maclc3.cpp | 3 +- 6 files changed, 37 insertions(+), 104 deletions(-) diff --git a/src/mame/apple/egret.cpp b/src/mame/apple/egret.cpp index 7d5abdcc64d..197b5ce0a73 100644 --- a/src/mame/apple/egret.cpp +++ b/src/mame/apple/egret.cpp @@ -63,29 +63,37 @@ #define VERBOSE (0) #include "logmacro.h" -DEFINE_DEVICE_TYPE(EGRET_V100, egret_100_device, "egret100", "Apple Egret 1.00 ADB/I2C") -DEFINE_DEVICE_TYPE(EGRET_V101_EARLY, egret_101early_device, "egret101e", "Apple Egret 1.01 (early) ADB/I2C") -DEFINE_DEVICE_TYPE(EGRET_V101, egret_101_device, "egret101", "Apple Egret 1.01 ADB/I2C") +DEFINE_DEVICE_TYPE(EGRET, egret_device, "egret", "Apple Egret ADB/I2C") ROM_START( egret ) ROM_REGION(0x1100, "roms", 0) + ROM_DEFAULT_BIOS("341s0851") + + ROM_SYSTEM_BIOS(0, "344s0100", "Egret 1.00 (344S0100)") + ROM_LOAD("344s0100.bin", 0x0000, 0x1100, CRC(59e2b6b6) SHA1(540e752b7da521f1bdb16e0ad7c5f46ddc92d4e9)) + + ROM_SYSTEM_BIOS(1, "341s0850", "Egret 1.01 (earlier) (341S0850)") + ROM_LOAD("341s0850.bin", 0x0000, 0x1100, CRC(4906ecd0) SHA1(95e08ba0c5d4b242f115f104aba9905dbd3fd87c)) + + ROM_SYSTEM_BIOS(2, "341s0851", "Egret 1.01 (341S0851)") + ROM_LOAD("341s0851.bin", 0x0000, 0x1100, CRC(ea9ea6e4) SHA1(8b0dae3ec66cdddbf71567365d2c462688aeb571)) ROM_END -//------------------------------------------------- -// ADDRESS_MAP -//------------------------------------------------- + //------------------------------------------------- + // ADDRESS_MAP + //------------------------------------------------- -void egret_device::egret_map(address_map &map) -{ - map(0x0000, 0x0002).rw(FUNC(egret_device::ports_r), FUNC(egret_device::ports_w)); - map(0x0004, 0x0006).rw(FUNC(egret_device::ddr_r), FUNC(egret_device::ddr_w)); - map(0x0007, 0x0007).rw(FUNC(egret_device::pll_r), FUNC(egret_device::pll_w)); - map(0x0008, 0x0008).rw(FUNC(egret_device::timer_ctrl_r), FUNC(egret_device::timer_ctrl_w)); - map(0x0009, 0x0009).rw(FUNC(egret_device::timer_counter_r), FUNC(egret_device::timer_counter_w)); - map(0x0012, 0x0012).rw(FUNC(egret_device::onesec_r), FUNC(egret_device::onesec_w)); - map(0x0090, 0x00ff).ram().share(m_internal_ram); // work RAM and stack - map(0x0100, 0x01ff).rw(FUNC(egret_device::pram_r), FUNC(egret_device::pram_w)); - map(0x0f00, 0x1fff).rom().region("roms", 0); + void egret_device::egret_map(address_map &map) + { + map(0x0000, 0x0002).rw(FUNC(egret_device::ports_r), FUNC(egret_device::ports_w)); + map(0x0004, 0x0006).rw(FUNC(egret_device::ddr_r), FUNC(egret_device::ddr_w)); + map(0x0007, 0x0007).rw(FUNC(egret_device::pll_r), FUNC(egret_device::pll_w)); + map(0x0008, 0x0008).rw(FUNC(egret_device::timer_ctrl_r), FUNC(egret_device::timer_ctrl_w)); + map(0x0009, 0x0009).rw(FUNC(egret_device::timer_counter_r), FUNC(egret_device::timer_counter_w)); + map(0x0012, 0x0012).rw(FUNC(egret_device::onesec_r), FUNC(egret_device::onesec_w)); + map(0x0090, 0x00ff).ram().share(m_internal_ram); // work RAM and stack + map(0x0100, 0x01ff).rw(FUNC(egret_device::pram_r), FUNC(egret_device::pram_w)); + map(0x0f00, 0x1fff).rom().region("roms", 0); } @@ -111,8 +119,8 @@ const tiny_rom_entry *egret_device::device_rom_region() const //************************************************************************** // LIVE DEVICE //************************************************************************** -egret_device::egret_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) - : device_t(mconfig, type, tag, owner, clock), +egret_device::egret_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : device_t(mconfig, EGRET, tag, owner, clock), device_nvram_interface(mconfig, *this), write_reset(*this), write_linechange(*this), @@ -556,54 +564,3 @@ bool egret_device::nvram_write(util::write_stream &file) size_t actual; return !file.write(m_pram, 0x100, actual) && actual == 0x100; } - -// Egret v1.00 ------------------------------------------------------------------------ - -ROM_START(egret100) - ROM_REGION(0x1100, "roms", 0) - ROM_LOAD("344s0100.bin", 0x0000, 0x1100, CRC(59e2b6b6) SHA1(540e752b7da521f1bdb16e0ad7c5f46ddc92d4e9)) -ROM_END - -const tiny_rom_entry *egret_100_device::device_rom_region() const -{ - return ROM_NAME(egret100); -} - -egret_100_device::egret_100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : egret_device(mconfig, EGRET_V100, tag, owner, clock) -{ -} - -// Egret v1.01 (early) ------------------------------------------------------------------------ - -ROM_START(egret101early) - ROM_REGION(0x1100, "roms", 0) - ROM_LOAD("341s0850.bin", 0x0000, 0x1100, CRC(4906ecd0) SHA1(95e08ba0c5d4b242f115f104aba9905dbd3fd87c)) -ROM_END - -const tiny_rom_entry *egret_101early_device::device_rom_region() const -{ - return ROM_NAME(egret101early); -} - -egret_101early_device::egret_101early_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : egret_device(mconfig, EGRET_V101_EARLY, tag, owner, clock) -{ -} - -// Egret v1.01 ------------------------------------------------------------------------ - -ROM_START(egret101) - ROM_REGION(0x1100, "roms", 0) - ROM_LOAD("341s0851.bin", 0x0000, 0x1100, CRC(ea9ea6e4) SHA1(8b0dae3ec66cdddbf71567365d2c462688aeb571)) -ROM_END - -const tiny_rom_entry *egret_101_device::device_rom_region() const -{ - return ROM_NAME(egret101); -} - -egret_101_device::egret_101_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) - : egret_device(mconfig, EGRET_V101, tag, owner, clock) -{ -} diff --git a/src/mame/apple/egret.h b/src/mame/apple/egret.h index c63b7f54cb9..ede590998c0 100644 --- a/src/mame/apple/egret.h +++ b/src/mame/apple/egret.h @@ -25,7 +25,7 @@ class egret_device : public device_t, public device_nvram_interface { public: // construction/destruction - egret_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + egret_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); // device_config_nvram_interface overrides virtual void nvram_default() override; @@ -123,36 +123,8 @@ private: void send_port(u8 offset, u8 data); }; -class egret_100_device : public egret_device -{ -public: - egret_100_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - -protected: - virtual const tiny_rom_entry *device_rom_region() const override; -}; - -class egret_101early_device : public egret_device -{ -public: - egret_101early_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - -protected: - virtual const tiny_rom_entry *device_rom_region() const override; -}; - -class egret_101_device : public egret_device -{ -public: - egret_101_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); - -protected: - virtual const tiny_rom_entry *device_rom_region() const override; -}; // device type definition -DECLARE_DEVICE_TYPE(EGRET_V100, egret_100_device) -DECLARE_DEVICE_TYPE(EGRET_V101_EARLY, egret_101early_device) -DECLARE_DEVICE_TYPE(EGRET_V101, egret_101_device) +DECLARE_DEVICE_TYPE(EGRET, egret_device) #endif // MAME_APPLE_EGRET_H diff --git a/src/mame/apple/maciici.cpp b/src/mame/apple/maciici.cpp index 688a4957099..32bfe30a2a2 100644 --- a/src/mame/apple/maciici.cpp +++ b/src/mame/apple/maciici.cpp @@ -630,7 +630,8 @@ void maciici_state::maciisi(machine_config &config) m_via1->writepb_handler().set(FUNC(maciici_state::via_out_b_iisi)); m_via1->cb2_handler().set(FUNC(maciici_state::via_out_cb2_iisi)); - EGRET_V100(config, m_egret, XTAL(32'768)); + EGRET(config, m_egret, XTAL(32'768)); + m_egret->set_default_bios_tag("344s0100"); m_egret->reset_callback().set(FUNC(maciici_state::egret_reset_w)); m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w)); m_egret->via_clock_callback().set(m_via1, FUNC(via6522_device::write_cb1)); diff --git a/src/mame/apple/maciivx.cpp b/src/mame/apple/maciivx.cpp index a0b03d5d627..55487ae5253 100644 --- a/src/mame/apple/maciivx.cpp +++ b/src/mame/apple/maciivx.cpp @@ -371,7 +371,8 @@ void maciivx_state::maciivx(machine_config &config) maciiv_base(config); - EGRET_V101(config, m_egret, XTAL(32'768)); + EGRET(config, m_egret, XTAL(32'768)); + m_egret->set_default_bios_tag("341s0851"); m_egret->reset_callback().set(FUNC(maciivx_state::egret_reset_w)); m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w)); m_egret->via_clock_callback().set(m_vasp, FUNC(vasp_device::cb1_w)); diff --git a/src/mame/apple/maclc.cpp b/src/mame/apple/maclc.cpp index 4db279cfffa..1c736b06898 100644 --- a/src/mame/apple/maclc.cpp +++ b/src/mame/apple/maclc.cpp @@ -360,7 +360,8 @@ void maclc_state::maclc_base(machine_config &config) MACADB(config, m_macadb, C15M); - EGRET_V101_EARLY(config, m_egret, XTAL(32'768)); + EGRET(config, m_egret, XTAL(32'768)); + m_egret->set_default_bios_tag("341s0850"); m_egret->reset_callback().set(FUNC(maclc_state::egret_reset_w)); m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w)); m_egret->via_clock_callback().set(m_v8, FUNC(v8_device::cb1_w)); diff --git a/src/mame/apple/maclc3.cpp b/src/mame/apple/maclc3.cpp index 38503490a32..1579cd1f321 100644 --- a/src/mame/apple/maclc3.cpp +++ b/src/mame/apple/maclc3.cpp @@ -297,7 +297,8 @@ void macvail_state::maclc3(machine_config &config) maclc3_base(config); m_maincpu->set_addrmap(AS_PROGRAM, &macvail_state::maclc3_map); - EGRET_V101(config, m_egret, XTAL(32'768)); + EGRET(config, m_egret, XTAL(32'768)); + m_egret->set_default_bios_tag("341s0851"); m_egret->reset_callback().set(FUNC(macvail_state::cuda_reset_w)); m_egret->linechange_callback().set(m_macadb, FUNC(macadb_device::adb_linechange_w)); m_egret->via_clock_callback().set(m_sonora, FUNC(sonora_device::cb1_w)); -- cgit v1.2.3