trunk/src/mess/drivers/mkit09.c
| r26534 | r26535 | |
| 6 | 6 | |
| 7 | 7 | 2013-12-08 Mostly working driver. |
| 8 | 8 | |
| 9 | The only documentation is in French, so the operation of the system |
| 10 | is a bit of a mystery. |
| 11 | |
| 9 | 12 | ToDo: |
| 10 | | - NMI & RST keys |
| 11 | 13 | - Test if Cassette works |
| 12 | | - Test if Paste works |
| 13 | 14 | - Need software to test with |
| 14 | 15 | |
| 16 | Pasting: |
| 17 | 0-F : as is |
| 18 | (inc) : ^ |
| 19 | (dec) : V |
| 20 | M (memory) : - |
| 21 | G (Go) : X |
| 22 | |
| 23 | Test Paste: |
| 24 | -0000 00^11^22^33^44^55^66^77^88^99^--0000 |
| 25 | Now press up-arrow to confirm the data has been entered. |
| 26 | |
| 15 | 27 | ****************************************************************************/ |
| 16 | 28 | |
| 17 | 29 | #include "emu.h" |
| r26534 | r26535 | |
| 36 | 48 | DECLARE_READ8_MEMBER(pb_r); |
| 37 | 49 | DECLARE_WRITE8_MEMBER(pa_w); |
| 38 | 50 | DECLARE_WRITE8_MEMBER(pb_w); |
| 51 | DECLARE_INPUT_CHANGED_MEMBER(trigger_reset); |
| 52 | DECLARE_INPUT_CHANGED_MEMBER(trigger_nmi); |
| 39 | 53 | private: |
| 40 | 54 | UINT8 m_keydata; |
| 41 | 55 | virtual void machine_reset(); |
| r26534 | r26535 | |
| 69 | 83 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 70 | 84 | |
| 71 | 85 | PORT_START("X1") |
| 72 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("-") PORT_CODE(KEYCODE_DOWN) PORT_CHAR('V') |
| 86 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Dec") PORT_CODE(KEYCODE_DOWN) PORT_CHAR('V') |
| 73 | 87 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A') |
| 74 | 88 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CHAR('9') |
| 75 | 89 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8) PORT_CHAR('8') |
| r26534 | r26535 | |
| 99 | 113 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 100 | 114 | |
| 101 | 115 | PORT_START("SPECIAL") |
| 102 | | //PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("RST") PORT_CODE(KEYCODE_F10) PORT_CHANGED_MEMBER(DEVICE_SELF, mkit09_state, trigger_reset, 0) |
| 103 | | //PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NMI") PORT_CODE(KEYCODE_ESC) PORT_CHANGED_MEMBER(DEVICE_SELF, mkit09_state, trigger_nmi, 0) |
| 116 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("RST") PORT_CODE(KEYCODE_ESC) PORT_CHANGED_MEMBER(DEVICE_SELF, mkit09_state, trigger_reset, 0) |
| 117 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NMI") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mkit09_state, trigger_nmi, 0) |
| 104 | 118 | INPUT_PORTS_END |
| 105 | 119 | |
| 120 | INPUT_CHANGED_MEMBER( mkit09_state::trigger_reset ) |
| 121 | { |
| 122 | m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE); |
| 123 | } |
| 106 | 124 | |
| 125 | INPUT_CHANGED_MEMBER( mkit09_state::trigger_nmi ) |
| 126 | { |
| 127 | m_maincpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE); |
| 128 | } |
| 129 | |
| 130 | |
| 107 | 131 | void mkit09_state::machine_reset() |
| 108 | 132 | { |
| 109 | 133 | m_keydata = 0; |
| r26534 | r26535 | |
| 193 | 217 | |
| 194 | 218 | /* Driver */ |
| 195 | 219 | |
| 196 | | /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ |
| 220 | /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ |
| 197 | 221 | COMP( 1983, mkit09, 0, 0, mkit09, mkit09, driver_device, 0, "Multitech", "Microkit09", 0 ) |