summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sunkbd/sunkbd.h
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2018-09-17 20:03:25 +1000
committer Vas Crabb <vas@vastheman.com>2018-09-17 20:03:25 +1000
commitb566662a053b1985ac48db0600be98ae24ddd44d (patch)
tree63421730deba9879438443ce63a635b11d7b165d /src/devices/bus/sunkbd/sunkbd.h
parentc33edfd060d95ffe0eef88a4183d2b22b2aa0cd1 (diff)
Add Sun mouse port and hook it up to sun3, sun3x, sun4, and sun4c.
Also add notes to Sun keyboard emulation. There's a hack to make the 1200 Baud mouse actually run at 9600 Baud. This is necessary because the SCC is incorrectly expecting 9600 Baud rather than 1200 Baud. I don't have time to fix the SCC, so I'd appreciate it if someone else would. There's no way it should be expecting 9600 Baud on the mouse port. Solaris 2.3 and later support 1200 Baud and 4800 Baud, and earlier versions support 1200 Baud only. No version of Solaris works with a 9600 Baud mouse. The workaround allows the mouse to be used in SunView on sun4_60 - I haven't tested any other drivers.
Diffstat (limited to 'src/devices/bus/sunkbd/sunkbd.h')
-rw-r--r--src/devices/bus/sunkbd/sunkbd.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/devices/bus/sunkbd/sunkbd.h b/src/devices/bus/sunkbd/sunkbd.h
index 43f60067a46..532193cbf0d 100644
--- a/src/devices/bus/sunkbd/sunkbd.h
+++ b/src/devices/bus/sunkbd/sunkbd.h
@@ -28,7 +28,7 @@ public:
sun_keyboard_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
virtual ~sun_keyboard_port_device();
- // static configuration helpers
+ // configuration helpers
auto rxd_handler() { return m_rxd_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( write_txd );
@@ -38,9 +38,10 @@ public:
protected:
sun_keyboard_port_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
+ virtual void device_config_complete() override;
+ virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_resolve_objects() override;
virtual void device_start() override;
- virtual void device_config_complete() override;
int m_rxd;
@@ -58,13 +59,13 @@ class device_sun_keyboard_port_interface : public device_slot_card_interface
public:
virtual ~device_sun_keyboard_port_interface() override;
+protected:
+ device_sun_keyboard_port_interface(machine_config const &mconfig, device_t &device);
+
virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) { }
DECLARE_WRITE_LINE_MEMBER( output_rxd ) { m_port->m_rxd = state; m_port->m_rxd_handler(state); }
-protected:
- device_sun_keyboard_port_interface(machine_config const &mconfig, device_t &device);
-
sun_keyboard_port_device *m_port;
static constexpr int START_BIT_COUNT = 1;