summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/oricext/oricext.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/oricext/oricext.h')
-rw-r--r--src/devices/bus/oricext/oricext.h30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/devices/bus/oricext/oricext.h b/src/devices/bus/oricext/oricext.h
index 8cfb67aa8e5..3030888ec9d 100644
--- a/src/devices/bus/oricext/oricext.h
+++ b/src/devices/bus/oricext/oricext.h
@@ -17,50 +17,56 @@ class device_oricext_interface;
class oricext_connector: public device_t, public device_single_card_slot_interface<device_oricext_interface>
{
+ friend class device_oricext_interface;
+
public:
template <typename T>
- oricext_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, const char *cputag)
+ oricext_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
: oricext_connector(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
- set_cputag(cputag);
}
oricext_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~oricext_connector();
- void set_cputag(const char *tag);
auto irq_callback() { return irq_handler.bind(); }
+ auto reset_callback() { return reset_handler.bind(); }
+
void irq_w(int state);
+ void reset_w(int state);
+
+ void set_view(memory_view &view);
+ void map_io(address_space_installer &space);
+ void map_rom();
protected:
virtual void device_start() override;
- virtual void device_config_complete() override;
devcb_write_line irq_handler;
- const char *cputag;
+ devcb_write_line reset_handler;
};
class device_oricext_interface : public device_interface
{
public:
- void set_cputag(const char *tag);
- DECLARE_WRITE_LINE_MEMBER(irq_w);
+ void irq_w(int state);
+ void reset_w(int state);
+
+ void set_view(memory_view &view);
+ virtual void map_io(address_space_installer &space) = 0;
+ virtual void map_rom() = 0;
protected:
device_oricext_interface(const machine_config &mconfig, device_t &device);
virtual void interface_pre_start() override;
- const char *cputag;
- m6502_device *cpu;
+ memory_view *view;
oricext_connector *connector;
- memory_bank *bank_c000_r, *bank_e000_r, *bank_f800_r, *bank_c000_w, *bank_e000_w, *bank_f800_w;
- uint8_t *rom, *ram;
- uint8_t junk_read[8192], junk_write[8192];
};
DECLARE_DEVICE_TYPE(ORICEXT_CONNECTOR, oricext_connector)