mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Merge pull request #365 from shattered/_10e0327
dvk_ksm: update memory map, rom checksums. [shattered]
This commit is contained in:
commit
36be97de8e
@ -34,11 +34,12 @@
|
||||
switching between them via SI/SO. N2 charset has uppercase Cyrillic
|
||||
chars in place of lowercase Latin ones.
|
||||
|
||||
F1 toggles Hold Screen mode.
|
||||
ESC toggles Cyrillic/Latin mode (depends in the host's terminal driver)
|
||||
F1 toggles Hold Screen mode (also depends in the host's terminal driver)
|
||||
F9 resets terminal (clears memory).
|
||||
F20 toggles on/off-line mode.
|
||||
|
||||
Terminfo description would be something like
|
||||
Terminfo description:
|
||||
|
||||
ksm|DVK KSM,
|
||||
am, bw, dch1=\EP, ich1=\EQ,
|
||||
@ -46,9 +47,8 @@ ksm|DVK KSM,
|
||||
use=vt52,
|
||||
|
||||
To do:
|
||||
- make Caps Lock work
|
||||
- verify if pixel stretching is done by hw
|
||||
- verify details of hw revisions
|
||||
- verify details of hw revisions (memory map, DIP presence...)
|
||||
- baud rate selection (missing feature in bitbanger)
|
||||
|
||||
****************************************************************************/
|
||||
@ -140,7 +140,7 @@ protected:
|
||||
static ADDRESS_MAP_START( ksm_mem, AS_PROGRAM, 8, ksm_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE (0x0000, 0x0fff) AM_ROM
|
||||
AM_RANGE (0x2000, 0x21ff) AM_RAM
|
||||
AM_RANGE (0x2000, 0x20ff) AM_RAM AM_MIRROR(0x0700)
|
||||
AM_RANGE (0xc000, 0xffff) AM_RAM AM_SHARE("videoram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -408,11 +408,11 @@ ROM_START( dvk_ksm01 )
|
||||
ROM_LOAD( "ksm_05_rom1_d33.bin", 0x0800, 0x0800, CRC(5b29bcd2) SHA1(1f4f82c2f88f1e8615ec02076559dc606497e654))
|
||||
|
||||
ROM_REGION(0x0800, "chargen", ROMREGION_ERASE00)
|
||||
ROM_LOAD("ksm_03_cg_d31.bin", 0x0000, 0x0800, CRC(98853aa7) SHA1(09b8e1b5b10a00c0b0ae7e36ad1328113d31230a))
|
||||
ROM_LOAD("ksm_03_cg_d31.bin", 0x0000, 0x0800, CRC(6a8477e2) SHA1(c7871a96f135db05c3c8d718fbdf1728e22e72b7))
|
||||
ROM_END
|
||||
|
||||
/* Driver */
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1986, dvk_ksm, 0, 0, ksm, ksm, driver_device, 0, "USSR", "DVK KSM", 0)
|
||||
COMP( 198?, dvk_ksm01,dvk_ksm,0, ksm, ksm, driver_device, 0, "USSR", "DVK KSM-01", 0)
|
||||
COMP( 198?, dvk_ksm01,dvk_ksm,0, ksm, 0, driver_device, 0, "USSR", "DVK KSM-01", 0)
|
||||
|
@ -1,11 +1,10 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sergey Svishchev
|
||||
/*
|
||||
Electronika MS 7004 keyboard (DEC LK-201 workalike with extra keys
|
||||
Elektronika MS 7004 keyboard (DEC LK-201 workalike with extra keys
|
||||
for Cyrillic characters).
|
||||
|
||||
To do:
|
||||
- debug keymap
|
||||
- receive data from host (not used by KSM but used by other boards)
|
||||
- connect LEDs and speaker
|
||||
*/
|
||||
@ -163,13 +162,13 @@ nothing sends '@' or '`'
|
||||
2/@ sends 2/"
|
||||
6/^ sends 6/&
|
||||
7/& sends 7/'
|
||||
8/ * sends 8/(
|
||||
8 * sends 8/(
|
||||
9/( sends 9/)
|
||||
0/) sends 0/0
|
||||
-/_ sends _/_
|
||||
+/= sends -/=
|
||||
;/: sends ;/+
|
||||
'/" sends :/ *
|
||||
'/" sends : *
|
||||
|
||||
F10 sends ^C
|
||||
F11 sends ESC
|
||||
@ -183,7 +182,7 @@ INPUT_PORTS_START( ms7004 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";") PORT_CODE(KEYCODE_COLON) // '+'
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Tab") PORT_CODE(KEYCODE_TAB)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LCONTROL)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Caps Lock") PORT_CODE(KEYCODE_CAPSLOCK) // what
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock") PORT_CODE(KEYCODE_CAPSLOCK)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("LShift") PORT_CODE(KEYCODE_LSHIFT)
|
||||
|
||||
PORT_START("KBD13") // vertical row 2
|
||||
@ -357,7 +356,6 @@ ioport_constructor ms7004_device::device_input_ports() const
|
||||
|
||||
ms7004_device::ms7004_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, MS7004, "MS7004 keyboard", tag, owner, clock, "ms7004", __FILE__),
|
||||
// device_serial_interface(mconfig, *this),
|
||||
m_maincpu(*this, MS7004_CPU_TAG),
|
||||
m_speaker(*this, MS7004_SPK_TAG),
|
||||
m_i8243(*this, "i8243"),
|
||||
@ -418,7 +416,7 @@ WRITE8_MEMBER( ms7004_device::p1_w )
|
||||
6
|
||||
7 Serial TX
|
||||
*/
|
||||
DBG_LOG(1,0,( "%s: p1_w %02x = send %d\n", tag(), data, BIT(data, 7)));
|
||||
DBG_LOG(2,0,( "%s: p1_w %02x = send %d\n", tag(), data, BIT(data, 7)));
|
||||
|
||||
m_p1 = data;
|
||||
m_tx_handler(BIT(data, 7));
|
||||
@ -481,7 +479,8 @@ WRITE8_MEMBER( ms7004_device::i8243_port_w )
|
||||
case 0x38: sense = m_kbd15->read(); break;
|
||||
}
|
||||
m_keylatch = BIT(sense, (m_p1 & 7));
|
||||
DBG_LOG(2,0,( "%s: row %d col %02x t1 %d\n",
|
||||
if (m_keylatch)
|
||||
DBG_LOG(1,0,( "%s: row %d col %02x t1 %d\n",
|
||||
tag(), (m_p1 & 7), (offset << 4 | data), m_keylatch));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user