diff --git a/src/devices/bus/isa/lrk330.h b/src/devices/bus/isa/lrk330.h new file mode 100644 index 00000000000..b75a50fa7a3 --- /dev/null +++ b/src/devices/bus/isa/lrk330.h @@ -0,0 +1,38 @@ +// license:BSD-3-Clause +// copyright-holders:AJR + +#ifndef MAME_BUS_ISA_LRK330_H +#define MAME_BUS_ISA_LRK330_H + +#pragma once + +#include "isa.h" +#include "cpu/mcs51/mcs51.h" + +class lrk331_device : public device_t, public device_isa16_card_interface +{ +public: + lrk331_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + static constexpr feature_type unemulated_features() { return feature::DISK; } + +protected: + virtual void device_start() override; + virtual void device_reset() override; + + virtual ioport_constructor device_input_ports() const override; + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void device_add_mconfig(machine_config &config) override; + +private: + void ucode_map(address_map &map); + void ext_map(address_map &map); + + required_device m_mcu; + required_region_ptr m_bios; + required_ioport m_config; +}; + +DECLARE_DEVICE_TYPE(LRK331, lrk331_device) + +#endif // MAME_BUS_ISA_LRK330_H