summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-07-23 14:32:42 +1000
committer Vas Crabb <vas@vastheman.com>2016-07-23 14:32:42 +1000
commit04b1f207e1d0b84413424d2ed81932bcc412cb40 (patch)
tree726d4366e58bd26193fce478065578be77c208e3
parent4cf4777a5d9a44faf965db7d73a8d59a674357b4 (diff)
sun keyboard improvements: [Vas Crabb]
* Add diagram for Type 5 International layout * Make AltGr work at least some of the time in natural keyboard mode * Add Type 5 Swedish keyboard option type5sehle * Rename type5ukhle to type5gbhle * Remove less useful constructors
-rw-r--r--src/devices/bus/sunkbd/hlekbd.cpp256
-rw-r--r--src/devices/bus/sunkbd/hlekbd.h74
-rw-r--r--src/devices/bus/sunkbd/sunkbd.cpp3
3 files changed, 161 insertions, 172 deletions
diff --git a/src/devices/bus/sunkbd/hlekbd.cpp b/src/devices/bus/sunkbd/hlekbd.cpp
index 47af69d5ec5..996d7479d71 100644
--- a/src/devices/bus/sunkbd/hlekbd.cpp
+++ b/src/devices/bus/sunkbd/hlekbd.cpp
@@ -7,7 +7,9 @@
/*
TODO: other international layouts
+ TODO: localised labels on Solaris group for Swedish layout
TODO: suppress LED command processing for Type 3 keyboard
+ TODO: work out what actually happens with DIPs on Type 3 keyboard
HLE SPARC serial keyboard compatible with Sun Type 3/4/5/6
@@ -92,6 +94,22 @@
5f 61 77 13 78 79 7a 43 0d 18 1b 1c 5e 32 5a
xx is a blank key
+ backspace immediately above return
+ backslash and backtick/tilde at top right of main area
+ control on home row, caps lock at bottom left corner of main area
+
+
+ Type 5 International layout:
+
+ 76 1d 05 06 08 0a 0c 0e 10 11 12 07 09 0b 16 17 15 2d 02 04 30
+
+ 01 03 2a 1e 1f 20 21 22 23 24 25 26 27 28 29 2b 2c 34 60 62 2e 2f 47
+ 19 1a 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 4a 7b 44 45 46
+ 31 33 77 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5b 5c 5d 7d
+ 48 49 63 7c 64 65 66 67 68 69 6a 6b 6c 6d 6e 14 70 71 72
+ 5f 61 4c 13 78 79 7a 43 0d 18 1b 1c 5e 32 5a
+
+ double-height return key, 58 (US backslash) moved to home row, 7c added on left of bottom row
*/
@@ -102,7 +120,8 @@
device_type const SUN_TYPE3_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type3_device>;
device_type const SUN_TYPE4_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type4_device>;
device_type const SUN_TYPE5_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type5_device>;
-device_type const SUN_TYPE5_UK_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type5_uk_device>;
+device_type const SUN_TYPE5_GB_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type5_gb_device>;
+device_type const SUN_TYPE5_SE_HLE_KEYBOARD = &device_creator<bus::sunkbd::hle_type5_se_device>;
@@ -114,7 +133,7 @@ namespace {
#define TYPE5_DIPS(dflt) \
PORT_START("DIP") \
- PORT_DIPNAME( 0x1f, dflt, "Layout") PORT_DIPLOCATION("S:5,4,3,2,1") \
+ PORT_DIPNAME( 0x1f, dflt, "Layout") PORT_DIPLOCATION("S:5,4,3,2,1") \
/* 0x00 */ \
PORT_DIPSETTING( 0x01, "U.S.A. (US5.kt)" ) \
PORT_DIPSETTING( 0x02, "U.S.A./UNIX (US_UNIX5.kt)" ) \
@@ -297,7 +316,7 @@ INPUT_PORTS_START( basic )
INPUT_PORTS_END
-INPUT_PORTS_START( basic_uk )
+INPUT_PORTS_START( basic_gb )
PORT_INCLUDE( basic )
PORT_MODIFY("ROW1")
@@ -316,6 +335,43 @@ INPUT_PORTS_START( basic_uk )
INPUT_PORTS_END
+INPUT_PORTS_START( basic_se )
+ PORT_INCLUDE( basic )
+
+ PORT_MODIFY("ROW1")
+ PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"') PORT_CHAR('@')
+
+ PORT_MODIFY("ROW2")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') PORT_CHAR(0x00a3U)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR(0x00a4U) PORT_CHAR('$')
+ PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
+ PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('/') PORT_CHAR('{')
+ PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(') PORT_CHAR('[')
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')') PORT_CHAR(']')
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR('=') PORT_CHAR('}')
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('+') PORT_CHAR('?') PORT_CHAR('\\')
+ PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR(0x00b4U) PORT_CHAR('`')
+ PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TILDE) PORT_CHAR(0x00a7U) PORT_CHAR(0x00bdU)
+
+ PORT_MODIFY("ROW4")
+ PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0x00e5U) PORT_CHAR(0x00c5U)
+ PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(0x00a8U) PORT_CHAR('^') PORT_CHAR('~')
+
+ PORT_MODIFY("ROW5")
+ PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_CHAR(0x00f6U) PORT_CHAR(0x00d6U)
+ PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0x00e4U) PORT_CHAR(0x00c4U)
+ PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\'') PORT_CHAR('*') PORT_CHAR('`')
+
+ PORT_MODIFY("ROW6")
+ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR(';')
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR(':')
+ PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('-') PORT_CHAR('_')
+
+ PORT_MODIFY("ROW7")
+ PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('<') PORT_CHAR('>') PORT_CHAR('|')
+INPUT_PORTS_END
+
+
INPUT_PORTS_START( tenkey )
PORT_MODIFY("ROW2")
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("KP /") PORT_CODE(KEYCODE_SLASH_PAD)
@@ -406,7 +462,7 @@ INPUT_PORTS_START( enhanced_function )
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F10") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10))
PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F11") PORT_CODE(KEYCODE_F11) PORT_CHAR(UCHAR_MAMEKEY(F11))
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F12") PORT_CODE(KEYCODE_F12) PORT_CHAR(UCHAR_MAMEKEY(F12))
- PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Alt Graph") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_MAMEKEY(RALT))
+ PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Alt Graph") PORT_CODE(KEYCODE_RALT) PORT_CHAR(UCHAR_SHIFT_2)
PORT_MODIFY("ROW1")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Alt") PORT_CODE(KEYCODE_LALT) PORT_CHAR(UCHAR_MAMEKEY(LALT))
@@ -504,7 +560,6 @@ INPUT_PORTS_START( hle_type3_device )
PORT_MODIFY("ROW6")
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Line Feed") PORT_CHAR(10)
- // TODO: work out what actually happens with DIPs on Type 3 keyboard
PORT_START("DIP")
PORT_BIT( 0xff, 0x00, IPT_UNUSED )
INPUT_PORTS_END
@@ -593,13 +648,20 @@ INPUT_PORTS_START( hle_type5_device )
INPUT_PORTS_END
-INPUT_PORTS_START( hle_type5_uk_device )
- PORT_INCLUDE(basic_uk )
+INPUT_PORTS_START( hle_type5_gb_device )
+ PORT_INCLUDE(basic_gb)
PORT_INCLUDE(type5_ext)
TYPE5_DIPS(0x0e)
INPUT_PORTS_END
+INPUT_PORTS_START( hle_type5_se_device )
+ PORT_INCLUDE(basic_se)
+ PORT_INCLUDE(type5_ext)
+ TYPE5_DIPS(0x0b)
+INPUT_PORTS_END
+
+
/***************************************************************************
MACHINE CONFIGURATION FRAGMENTS
@@ -693,7 +755,7 @@ WRITE_LINE_MEMBER( hle_device_base::input_txd )
/*--------------------------------------------------
hle_device_base::device_start
perform expensive initialisations, allocate
- resources, register for save state
+ resources, register for save state
--------------------------------------------------*/
void hle_device_base::device_start()
@@ -718,7 +780,7 @@ void hle_device_base::device_start()
/*--------------------------------------------------
hle_device_base::device_reset
perform startup tasks, also used for host
- requested reset
+ requested reset
--------------------------------------------------*/
void hle_device_base::device_reset()
@@ -793,7 +855,7 @@ void hle_device_base::device_timer(emu_timer &timer, device_timer_id id, int par
/*--------------------------------------------------
hle_device_base::tra_callback
send output of serial transmit shift register
- to host
+ to host
--------------------------------------------------*/
void hle_device_base::tra_callback()
@@ -896,7 +958,7 @@ void hle_device_base::rcv_complete()
/*--------------------------------------------------
hle_device_base::scan_row
scan the next row in the keyboard matrix and
- send update to host
+ send update to host
--------------------------------------------------*/
void hle_device_base::scan_row()
@@ -980,6 +1042,23 @@ void hle_device_base::send_byte(UINT8 code)
/***************************************************************************
+ BASE TYPE 4/5/6 HLE KEYBOARD DEVICE
+***************************************************************************/
+
+/*--------------------------------------------------
+ hle_type4_device_base::ident_byte
+ return identification byte for self test pass
+ response
+--------------------------------------------------*/
+
+UINT8 hle_type4_device_base::ident_byte()
+{
+ return (m_dips->read() & 0x80U) ? 0x03U : 0x04U;
+}
+
+
+
+/***************************************************************************
TYPE 3 HLE KEYBOARD DEVICE
***************************************************************************/
@@ -993,7 +1072,8 @@ hle_type3_device::hle_type3_device(
char const *tag,
device_t *owner,
UINT32 clock)
- : hle_type3_device(mconfig,
+ : hle_device_base(
+ mconfig,
SUN_TYPE3_HLE_KEYBOARD,
"Sun Type 3 Keyboard (HLE)",
tag,
@@ -1006,25 +1086,6 @@ hle_type3_device::hle_type3_device(
/*--------------------------------------------------
- hle_type3_device::hle_type3_device
- designated device constructor
---------------------------------------------------*/
-
-hle_type3_device::hle_type3_device(
- machine_config const &mconfig,
- device_type type,
- char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source)
- : hle_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
-{
-}
-
-
-/*--------------------------------------------------
hle_type3_device::device_input_ports
get input ports for this device
--------------------------------------------------*/
@@ -1037,8 +1098,8 @@ ioport_constructor hle_type3_device::device_input_ports() const
/*--------------------------------------------------
hle_type3_device::ident_byte
- return identification byte for self test pass
- response
+ return identification byte for self test pass
+ response
--------------------------------------------------*/
UINT8 hle_type3_device::ident_byte()
@@ -1062,7 +1123,8 @@ hle_type4_device::hle_type4_device(
char const *tag,
device_t *owner,
UINT32 clock)
- : hle_type4_device(mconfig,
+ : hle_type4_device_base(
+ mconfig,
SUN_TYPE4_HLE_KEYBOARD,
"Sun Type 4 Keyboard (HLE)",
tag,
@@ -1075,25 +1137,6 @@ hle_type4_device::hle_type4_device(
/*--------------------------------------------------
- hle_type4_device::hle_type4_device
- designated device constructor
---------------------------------------------------*/
-
-hle_type4_device::hle_type4_device(
- machine_config const &mconfig,
- device_type type,
- char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source)
- : hle_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
-{
-}
-
-
-/*--------------------------------------------------
hle_type4_device::device_input_ports
get input ports for this device
--------------------------------------------------*/
@@ -1104,18 +1147,6 @@ ioport_constructor hle_type4_device::device_input_ports() const
}
-/*--------------------------------------------------
- hle_type4_device::ident_byte
- return identification byte for self test pass
- response
---------------------------------------------------*/
-
-UINT8 hle_type4_device::ident_byte()
-{
- return (m_dips->read() & 0x80U) ? 0x03U : 0x04U;
-}
-
-
/***************************************************************************
TYPE 5 HLE KEYBOARD DEVICE
@@ -1131,9 +1162,10 @@ hle_type5_device::hle_type5_device(
char const *tag,
device_t *owner,
UINT32 clock)
- : hle_type5_device(mconfig,
+ : hle_type4_device_base(
+ mconfig,
SUN_TYPE5_HLE_KEYBOARD,
- "Sun Type 5 US Keyboard (HLE)",
+ "Sun Type 5 Keyboard (U.S.A. - HLE)",
tag,
owner,
clock,
@@ -1144,25 +1176,6 @@ hle_type5_device::hle_type5_device(
/*--------------------------------------------------
- hle_type5_device::hle_type5_device
- designated device constructor
---------------------------------------------------*/
-
-hle_type5_device::hle_type5_device(
- machine_config const &mconfig,
- device_type type,
- char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source)
- : hle_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
-{
-}
-
-
-/*--------------------------------------------------
hle_type5_device::device_input_ports
get input ports for this device
--------------------------------------------------*/
@@ -1173,36 +1186,25 @@ ioport_constructor hle_type5_device::device_input_ports() const
}
-/*--------------------------------------------------
- hle_type5_device::ident_byte
- return identification byte for self test pass
- response
---------------------------------------------------*/
-
-UINT8 hle_type5_device::ident_byte()
-{
- return 0x04U;
-}
-
-
/***************************************************************************
TYPE 5 UK HLE KEYBOARD DEVICE
***************************************************************************/
/*--------------------------------------------------
- hle_type5_uk_device::hle_type5_uk_device
+ hle_type5_gb_device::hle_type5_gb_device
abbreviated constructor
--------------------------------------------------*/
-hle_type5_uk_device::hle_type5_uk_device(
+hle_type5_gb_device::hle_type5_gb_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
UINT32 clock)
- : hle_type5_uk_device(mconfig,
+ : hle_type4_device_base(
+ mconfig,
SUN_TYPE5_HLE_KEYBOARD,
- "Sun Type 5 UK Keyboard (HLE)",
+ "Sun Type 5 Keyboard (Great Britain - HLE)",
tag,
owner,
clock,
@@ -1213,44 +1215,52 @@ hle_type5_uk_device::hle_type5_uk_device(
/*--------------------------------------------------
- hle_type5_uk_device::hle_type5_uk_device
- designated device constructor
+ hle_type5_gb_device::device_input_ports
+ get input ports for this device
--------------------------------------------------*/
-hle_type5_uk_device::hle_type5_uk_device(
- machine_config const &mconfig,
- device_type type,
- char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source)
- : hle_device_base(mconfig, type, name, tag, owner, clock, shortname, source)
+ioport_constructor hle_type5_gb_device::device_input_ports() const
{
+ return INPUT_PORTS_NAME(hle_type5_gb_device);
}
+
+/***************************************************************************
+ TYPE 5 SWEDISH HLE KEYBOARD DEVICE
+***************************************************************************/
+
/*--------------------------------------------------
- hle_type5_uk_device::device_input_ports
- get input ports for this device
+ hle_type5_se_device::hle_type5_se_device
+ abbreviated constructor
--------------------------------------------------*/
-ioport_constructor hle_type5_uk_device::device_input_ports() const
+hle_type5_se_device::hle_type5_se_device(
+ machine_config const &mconfig,
+ char const *tag,
+ device_t *owner,
+ UINT32 clock)
+ : hle_type4_device_base(
+ mconfig,
+ SUN_TYPE5_HLE_KEYBOARD,
+ "Sun Type 5 Keyboard (Sweden - HLE)",
+ tag,
+ owner,
+ clock,
+ "type5_hle_kbd",
+ __FILE__)
{
- return INPUT_PORTS_NAME(hle_type5_uk_device);
}
/*--------------------------------------------------
- hle_type5_uk_device::ident_byte
- return identification byte for self test pass
- response
+ hle_type5_se_device::device_input_ports
+ get input ports for this device
--------------------------------------------------*/
-UINT8 hle_type5_uk_device::ident_byte()
+ioport_constructor hle_type5_se_device::device_input_ports() const
{
- return 0x04U;
+ return INPUT_PORTS_NAME(hle_type5_se_device);
}
} } // namespace bus::sunkbd
diff --git a/src/devices/bus/sunkbd/hlekbd.h b/src/devices/bus/sunkbd/hlekbd.h
index f2bee9c3f53..53c28c31d2b 100644
--- a/src/devices/bus/sunkbd/hlekbd.h
+++ b/src/devices/bus/sunkbd/hlekbd.h
@@ -12,7 +12,8 @@
extern device_type const SUN_TYPE3_HLE_KEYBOARD;
extern device_type const SUN_TYPE4_HLE_KEYBOARD;
extern device_type const SUN_TYPE5_HLE_KEYBOARD;
-extern device_type const SUN_TYPE5_UK_HLE_KEYBOARD;
+extern device_type const SUN_TYPE5_GB_HLE_KEYBOARD;
+extern device_type const SUN_TYPE5_SE_HLE_KEYBOARD;
namespace bus { namespace sunkbd {
@@ -27,11 +28,6 @@ protected:
// constructor/destructor
hle_device_base(
machine_config const &mconfig,
- char const *tag,
- device_t *owner,
- UINT32 clock);
- hle_device_base(
- machine_config const &mconfig,
device_type type, char const *name,
char const *tag,
device_t *owner,
@@ -111,6 +107,16 @@ private:
};
+class hle_type4_device_base : public hle_device_base
+{
+protected:
+ using hle_device_base::hle_device_base;
+
+private:
+ virtual UINT8 ident_byte() override;
+};
+
+
class hle_type3_device : public hle_device_base
{
public:
@@ -119,14 +125,6 @@ public:
char const *tag,
device_t *owner,
UINT32 clock);
- hle_type3_device(
- machine_config const &mconfig,
- device_type type, char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source);
virtual ioport_constructor device_input_ports() const override;
@@ -135,7 +133,7 @@ private:
};
-class hle_type4_device : public hle_device_base
+class hle_type4_device : public hle_type4_device_base
{
public:
hle_type4_device(
@@ -143,23 +141,12 @@ public:
char const *tag,
device_t *owner,
UINT32 clock);
- hle_type4_device(
- machine_config const &mconfig,
- device_type type, char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source);
virtual ioport_constructor device_input_ports() const override;
-
-private:
- virtual UINT8 ident_byte() override;
};
-class hle_type5_device : public hle_device_base
+class hle_type5_device : public hle_type4_device_base
{
public:
hle_type5_device(
@@ -167,43 +154,34 @@ public:
char const *tag,
device_t *owner,
UINT32 clock);
- hle_type5_device(
- machine_config const &mconfig,
- device_type type, char const *name,
- char const *tag,
- device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source);
virtual ioport_constructor device_input_ports() const override;
-
-private:
- virtual UINT8 ident_byte() override;
};
-class hle_type5_uk_device : public hle_device_base
+class hle_type5_gb_device : public hle_type4_device_base
{
public:
- hle_type5_uk_device(
+ hle_type5_gb_device(
machine_config const &mconfig,
char const *tag,
device_t *owner,
UINT32 clock);
- hle_type5_uk_device(
+
+ virtual ioport_constructor device_input_ports() const override;
+};
+
+
+class hle_type5_se_device : public hle_type4_device_base
+{
+public:
+ hle_type5_se_device(
machine_config const &mconfig,
- device_type type, char const *name,
char const *tag,
device_t *owner,
- UINT32 clock,
- char const *shortname,
- char const *source);
+ UINT32 clock);
virtual ioport_constructor device_input_ports() const override;
-
-private:
- virtual UINT8 ident_byte() override;
};
} } // namespace bus::sunkbd
diff --git a/src/devices/bus/sunkbd/sunkbd.cpp b/src/devices/bus/sunkbd/sunkbd.cpp
index 551227f905c..ba4ad1091cd 100644
--- a/src/devices/bus/sunkbd/sunkbd.cpp
+++ b/src/devices/bus/sunkbd/sunkbd.cpp
@@ -93,5 +93,6 @@ SLOT_INTERFACE_START( default_sun_keyboard_devices )
SLOT_INTERFACE("type3hle", SUN_TYPE3_HLE_KEYBOARD)
SLOT_INTERFACE("type4hle", SUN_TYPE4_HLE_KEYBOARD)
SLOT_INTERFACE("type5hle", SUN_TYPE5_HLE_KEYBOARD)
- SLOT_INTERFACE("type5ukhle", SUN_TYPE5_UK_HLE_KEYBOARD)
+ SLOT_INTERFACE("type5gbhle", SUN_TYPE5_GB_HLE_KEYBOARD)
+ SLOT_INTERFACE("type5sehle", SUN_TYPE5_SE_HLE_KEYBOARD)
SLOT_INTERFACE_END