summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ti99/internal/datamux.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ti99/internal/datamux.h')
-rw-r--r--src/devices/bus/ti99/internal/datamux.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/devices/bus/ti99/internal/datamux.h b/src/devices/bus/ti99/internal/datamux.h
index 4e0e07bb50a..f83b81dc807 100644
--- a/src/devices/bus/ti99/internal/datamux.h
+++ b/src/devices/bus/ti99/internal/datamux.h
@@ -22,6 +22,7 @@
#include "sound/sn76496.h"
#include "video/tms9928a.h"
#include "machine/ram.h"
+#include "machine/tms9901.h"
#define TI99_DATAMUX_TAG "datamux_16_8"
#define TI99_GROM0_TAG "console_grom_0"
@@ -32,8 +33,9 @@
#define TI99_CONSOLEROM "console_rom"
#define TI99_SOUNDCHIP_TAG "soundchip"
#define TI99_VDP_TAG "vdp"
+#define TI99_TMS9901_TAG "tms9901"
-namespace bus { namespace ti99 { namespace internal {
+namespace bus::ti99::internal {
/*
Main class
@@ -46,11 +48,11 @@ public:
void write(offs_t offset, uint16_t data);
void setaddress(offs_t offset, uint16_t busctrl);
- DECLARE_WRITE_LINE_MEMBER( clock_in );
- DECLARE_WRITE_LINE_MEMBER( dbin_in );
- DECLARE_WRITE_LINE_MEMBER( ready_line );
+ void clock_in(int state);
+ void dbin_in(int state);
+ void ready_line(int state);
- DECLARE_WRITE_LINE_MEMBER( gromclk_in );
+ void gromclk_in(int state);
auto ready_cb() { return m_ready.bind(); }
@@ -91,6 +93,9 @@ private:
required_device<tmc0430_device> m_grom1;
required_device<tmc0430_device> m_grom2;
+ // Link to 9901
+ required_device<tms9901_device> m_tms9901;
+
// Common read routine
void read_all(uint16_t addr, uint8_t *target);
@@ -147,7 +152,7 @@ private:
/******************************************************************************/
-} } } // end namespace bus::ti99::internal
+} // end namespace bus::ti99::internal
DECLARE_DEVICE_TYPE_NS(TI99_DATAMUX, bus::ti99::internal, datamux_device)