summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/validity.cpp
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2017-09-02 15:40:33 -0400
committer Nathan Woods <npwoods@mess.org>2017-09-24 11:50:30 -0400
commitd850afa60589d2b53e009f61bf4f41b98948e901 (patch)
tree05dc00daf54043047d537ff4b339598ec790b42d /src/emu/validity.cpp
parent0810a75c23972b4d87f840b6eb75d29e661a0f46 (diff)
Added support for multiple PORT_CHAR() bindings, and adopted in the CoCo driver (addresses MT#2618)
Diffstat (limited to 'src/emu/validity.cpp')
-rw-r--r--src/emu/validity.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp
index 618214970c2..0ded5f781cf 100644
--- a/src/emu/validity.cpp
+++ b/src/emu/validity.cpp
@@ -1836,13 +1836,16 @@ void validity_checker::validate_inputs()
// verify natural keyboard codes
for (int which = 0; which < 1 << (UCHAR_SHIFT_END - UCHAR_SHIFT_BEGIN + 1); which++)
{
- char32_t code = field.keyboard_code(which);
- if (code && !uchar_isvalid(code))
+ std::vector<char32_t> codes = field.keyboard_codes(which);
+ for (char32_t code : codes)
{
- osd_printf_error("Field '%s' has non-character U+%04X in PORT_CHAR(%d)\n",
- name,
- (unsigned)code,
- (int)code);
+ if (!uchar_isvalid(code))
+ {
+ osd_printf_error("Field '%s' has non-character U+%04X in PORT_CHAR(%d)\n",
+ name,
+ (unsigned)code,
+ (int)code);
+ }
}
}
}