Previous 199869 Revisions Next

r18016 Wednesday 19th September, 2012 at 13:06:55 UTC by Miodrag Milanović
Modernized INPUT_CHANGED in MESS part of tree (no whatsnew)
[src/mess/drivers]amstrad.c aquarius.c atom.c chessmst.c coco12.c coco3.c comx35.c crvision.c dragon.c esq1.c esq5505.c ex800.c fidelz80.c gizmondo.c hp49gp.c iq151.c juicebox.c junior.c kim1.c mini2440.c nakajies.c ngp.c palm.c palmz22.c pc1512.c pc9801.c pce220.c pecom.c pockstat.c psion.c px4.c qx10.c rex6000.c sg1000.c sms.c ssem.c ti89.c vidbrain.c x1.c x1twin.c z100.c z80ne.c
[src/mess/includes]amstrad.h aquarius.h coco.h fidelz80.h pecom.h psion.h sms.h ti89.h x1.h z80ne.h
[src/mess/machine]abc77.c coco.c sms.c z80ne.c

trunk/src/mess/machine/z80ne.c
r18015r18016
369369   reset_lx388(machine());
370370}
371371
372INPUT_CHANGED( z80ne_reset )
372INPUT_CHANGED_MEMBER(z80ne_state::z80ne_reset)
373373{
374374   UINT8 rst;
375   rst = field.machine().root_device().ioport("RST")->read();
375   rst = machine().root_device().ioport("RST")->read();
376376
377377   if ( ! BIT(rst, 0))
378378   {
379      running_machine &machine = field.machine();
380      machine.schedule_soft_reset();
379      machine().schedule_soft_reset();
381380   }
382381}
383382
384INPUT_CHANGED( z80ne_nmi )
383INPUT_CHANGED_MEMBER(z80ne_state::z80ne_nmi)
385384{
386385   UINT8 nmi;
387   nmi = field.machine().root_device().ioport("LX388_BRK")->read();
386   nmi = machine().root_device().ioport("LX388_BRK")->read();
388387
389388   if ( ! BIT(nmi, 0))
390389   {
391      field.machine().device("z80ne")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
390      machine().device("z80ne")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
392391   }
393392}
394393
trunk/src/mess/machine/abc77.c
r18015r18016
183183
184184
185185//-------------------------------------------------
186//  INPUT_CHANGED( keyboard_reset )
186//  INPUT_CHANGED_MEMBER( keyboard_reset )
187187//-------------------------------------------------
188188
189189INPUT_CHANGED_MEMBER( abc77_device::keyboard_reset )
trunk/src/mess/machine/coco.c
r18015r18016
992992//  keyboard_changed
993993//-------------------------------------------------
994994
995INPUT_CHANGED(coco_state::keyboard_changed)
995INPUT_CHANGED_MEMBER(coco_state::coco_state::keyboard_changed)
996996{
997   coco_state *state = field.machine().driver_data<coco_state>();
998   state->poll_keyboard();
997   poll_keyboard();
999998}
1000999
10011000
r18015r18016
10041003//  joystick_mode_changed
10051004//-------------------------------------------------
10061005
1007INPUT_CHANGED(coco_state::joystick_mode_changed)
1006INPUT_CHANGED_MEMBER(coco_state::coco_state::joystick_mode_changed)
10081007{
1009   coco_state *state = field.machine().driver_data<coco_state>();
1010   state->poll_keyboard();
1008   poll_keyboard();
10111009}
10121010
10131011
trunk/src/mess/machine/sms.c
r18015r18016
533533}
534534
535535
536INPUT_CHANGED( lgun1_changed )
536INPUT_CHANGED_MEMBER(sms_state::lgun1_changed)
537537{
538   sms_state *state = field.machine().driver_data<sms_state>();
539   if (!state->m_lphaser_1_timer ||
540      (field.machine().root_device().ioport("CTRLSEL")->read_safe(0x00) & 0x0f) != 0x01)
538   if (!m_lphaser_1_timer ||
539      (machine().root_device().ioport("CTRLSEL")->read_safe(0x00) & 0x0f) != 0x01)
541540      return;
542541
543542   if (newval != oldval)
544      lphaser1_sensor_check(field.machine());
543      lphaser1_sensor_check(machine());
545544}
546545
547INPUT_CHANGED( lgun2_changed )
546INPUT_CHANGED_MEMBER(sms_state::lgun2_changed)
548547{
549   sms_state *state = field.machine().driver_data<sms_state>();
550   if (!state->m_lphaser_2_timer ||
551      (field.machine().root_device().ioport("CTRLSEL")->read_safe(0x00) & 0xf0) != 0x10)
548   if (!m_lphaser_2_timer ||
549      (machine().root_device().ioport("CTRLSEL")->read_safe(0x00) & 0xf0) != 0x10)
552550      return;
553551
554552   if (newval != oldval)
555      lphaser2_sensor_check(field.machine());
553      lphaser2_sensor_check(machine());
556554}
557555
558556
trunk/src/mess/includes/z80ne.h
r18015r18016
104104   DECLARE_MACHINE_START(z80net);
105105   DECLARE_MACHINE_RESET(z80net);
106106   DECLARE_MACHINE_RESET(z80ne_base);
107   DECLARE_INPUT_CHANGED_MEMBER(z80ne_reset);
108   DECLARE_INPUT_CHANGED_MEMBER(z80ne_nmi);
107109};
108110
109111
r18015r18016
115117DECLARE_READ8_DEVICE_HANDLER(lx390_reset_bank);
116118DECLARE_WRITE8_DEVICE_HANDLER(lx390_motor_w);
117119
118INPUT_CHANGED(z80ne_reset);
119INPUT_CHANGED(z80ne_nmi);
120
121120#endif /* Z80NE_H_ */
trunk/src/mess/includes/coco.h
r18015r18016
116116   static const cassette_interface coco_cassette_interface;
117117
118118   /* driver update handlers */
119   static INPUT_CHANGED(keyboard_changed);
120   static INPUT_CHANGED(joystick_mode_changed);
119   DECLARE_INPUT_CHANGED_MEMBER(keyboard_changed);
120   DECLARE_INPUT_CHANGED_MEMBER(joystick_mode_changed);
121121   static void bitbanger_callback(running_machine &machine, UINT8 bit);
122122
123123   /* IO */
trunk/src/mess/includes/x1.h
r18015r18016
200200   DECLARE_PALETTE_INIT(x1);
201201   DECLARE_MACHINE_RESET(x1turbo);
202202   UINT32 screen_update_x1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
203   DECLARE_INPUT_CHANGED_MEMBER(ipl_reset);
204   DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
203205};
204206
205207
trunk/src/mess/includes/aquarius.h
r18015r18016
3737   virtual void video_start();
3838   virtual void palette_init();
3939   UINT32 screen_update_aquarius(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
40   DECLARE_INPUT_CHANGED_MEMBER(aquarius_reset);
4041};
4142#endif /* AQUARIUS_H_ */
trunk/src/mess/includes/fidelz80.h
r18015r18016
6363   DECLARE_READ8_MEMBER(vsc_pio_porta_r);
6464   DECLARE_READ8_MEMBER(vsc_pio_portb_r);
6565   DECLARE_WRITE8_MEMBER(vsc_pio_portb_w);
66   DECLARE_INPUT_CHANGED_MEMBER(fidelz80_trigger_reset);
67   DECLARE_INPUT_CHANGED_MEMBER(abc_trigger_reset);
6668};
6769
6870
trunk/src/mess/includes/amstrad.h
r18015r18016
169169   DECLARE_PALETTE_INIT(aleste);
170170   UINT32 screen_update_amstrad(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
171171   void screen_eof_amstrad(screen_device &screen, bool state);
172   DECLARE_INPUT_CHANGED_MEMBER(cpc_monitor_changed);
172173};
173174
174175
trunk/src/mess/includes/sms.h
r18015r18016
184184   UINT32 screen_update_gamegear(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
185185   UINT32 screen_update_sms(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
186186   UINT32 screen_update_sms1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
187   DECLARE_INPUT_CHANGED_MEMBER(lgun1_changed);
188   DECLARE_INPUT_CHANGED_MEMBER(lgun2_changed);
187189};
188190
189191
r18015r18016
191193
192194/* Function prototypes */
193195
194INPUT_CHANGED( lgun1_changed );
195INPUT_CHANGED( lgun2_changed );
196
197196WRITE_LINE_DEVICE_HANDLER( sms_pause_callback );
198197WRITE_LINE_DEVICE_HANDLER( sms_store_int_callback );
199198
trunk/src/mess/includes/ti89.h
r18015r18016
6262   DECLARE_READ16_MEMBER ( flash_r );
6363   UINT64 m_timer;
6464   virtual void palette_init();
65   DECLARE_INPUT_CHANGED_MEMBER(ti68k_on_key);
6566};
6667
6768#endif // TI89_H_
trunk/src/mess/includes/pecom.h
r18015r18016
3939   virtual void machine_start();
4040   virtual void machine_reset();
4141   DECLARE_VIDEO_START(pecom);
42   DECLARE_INPUT_CHANGED_MEMBER(ef_w);
4243};
4344
4445/*----------- defined in machine/pecom.c -----------*/
trunk/src/mess/includes/psion.h
r18015r18016
8585   DECLARE_WRITE8_MEMBER( io_w );
8686   DECLARE_READ8_MEMBER( io_r );
8787   virtual void palette_init();
88   DECLARE_INPUT_CHANGED_MEMBER(psion_on);
8889};
8990
9091// device type definition
trunk/src/mess/drivers/pc9801.c
r18015r18016
416416   DECLARE_MACHINE_RESET(pc9801rs);
417417   DECLARE_MACHINE_START(pc9821);
418418   INTERRUPT_GEN_MEMBER(pc9801_vrtc_irq);
419   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
420   DECLARE_INPUT_CHANGED_MEMBER(shift_stroke);
419421};
420422
421423
r18015r18016
18401842
18411843/* keyboard code */
18421844/* TODO: key repeat, remove port impulse! */
1843static INPUT_CHANGED( key_stroke )
1845INPUT_CHANGED_MEMBER(pc9801_state::key_stroke)
18441846{
1845   pc9801_state *state = field.machine().driver_data<pc9801_state>();
18461847
18471848   if(newval && !oldval)
18481849   {
1849      state->m_keyb_press = (UINT8)(FPTR)(param) & 0x7f;
1850      pic8259_ir1_w(field.machine().device("pic8259_master"), 1);
1850      m_keyb_press = (UINT8)(FPTR)(param) & 0x7f;
1851      pic8259_ir1_w(machine().device("pic8259_master"), 1);
18511852   }
18521853
18531854   if(oldval && !newval)
18541855   {
1855      state->m_keyb_press = 0;
1856      pic8259_ir1_w(field.machine().device("pic8259_master"), 0);
1856      m_keyb_press = 0;
1857      pic8259_ir1_w(machine().device("pic8259_master"), 0);
18571858   }
18581859}
18591860
18601861/* for key modifiers */
1861static INPUT_CHANGED( shift_stroke )
1862INPUT_CHANGED_MEMBER(pc9801_state::shift_stroke)
18621863{
1863   pc9801_state *state = field.machine().driver_data<pc9801_state>();
18641864
18651865   if((newval && !oldval) || (oldval && !newval))
18661866   {
1867      state->m_keyb_press = (UINT8)(FPTR)(param) & 0x7f;
1868      pic8259_ir1_w(field.machine().device("pic8259_master"), 1);
1867      m_keyb_press = (UINT8)(FPTR)(param) & 0x7f;
1868      pic8259_ir1_w(machine().device("pic8259_master"), 1);
18691869   }
18701870   else
18711871   {
1872      state->m_keyb_press = 0;
1873      pic8259_ir1_w(field.machine().device("pic8259_master"), 0);
1872      m_keyb_press = 0;
1873      pic8259_ir1_w(machine().device("pic8259_master"), 0);
18741874   }
18751875}
18761876
18771877static INPUT_PORTS_START( pc9801 )
18781878   PORT_START("KEY0") // 0x00 - 0x07
18791879   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED)
1880   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x01)
1881   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x02)
1882   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x03)
1883   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x04)
1884   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x05)
1885   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x06)
1886   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x07)
1880   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x01)
1881   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x02)
1882   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x03)
1883   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x04)
1884   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x05)
1885   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x06)
1886   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x07)
18871887
18881888   PORT_START("KEY1") // 0x08 - 0x0f
1889   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x08)
1890   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x09)
1891   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0a)
1892   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0b)
1893   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("^") PORT_CHAR('^') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0c)
1894   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\xC2\xA5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0d)
1895   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE)  PORT_CHAR(8) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0e)
1896   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0f)
1889   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x08)
1890   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x09)
1891   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0a)
1892   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0b)
1893   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("^") PORT_CHAR('^') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0c)
1894   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\xC2\xA5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0d)
1895   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE)  PORT_CHAR(8) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0e)
1896   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) PORT_CHAR('\t') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x0f)
18971897
18981898   PORT_START("KEY2") // 0x10 - 0x17
1899   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x10)
1900   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x11)
1901   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x12)
1902   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x13)
1903   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x14)
1904   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x15)
1905   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x16)
1906   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x17)
1899   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x10)
1900   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x11)
1901   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x12)
1902   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x13)
1903   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x14)
1904   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x15)
1905   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x16)
1906   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x17)
19071907
19081908   PORT_START("KEY3") // 0x18 - 0x1f
1909   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x18)
1910   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x19)
1911   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("@") PORT_CHAR('@') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1a)
1912   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("[") PORT_CHAR('[') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1b)
1913   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(27) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1c)
1914   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1d)
1915   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1e)
1916   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1f)
1909   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x18)
1910   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x19)
1911   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("@") PORT_CHAR('@') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1a)
1912   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("[") PORT_CHAR('[') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1b)
1913   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(27) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1c)
1914   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1d)
1915   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1e)
1916   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x1f)
19171917
19181918   PORT_START("KEY4") // 0x20 - 0x27
1919   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x20)
1920   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x21)
1921   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x22)
1922   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x23)
1923   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x24)
1924   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x25)
1925   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(";") PORT_CHAR(';') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x26)
1926   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(":") PORT_CHAR(':') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x27)
1919   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x20)
1920   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x21)
1921   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x22)
1922   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x23)
1923   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x24)
1924   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x25)
1925   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(";") PORT_CHAR(';') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x26)
1926   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(":") PORT_CHAR(':') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x27)
19271927
19281928   PORT_START("KEY5") // 0x28 - 0x2f
1929   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("]") PORT_CHAR(']') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x28)
1930   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x29)
1931   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2a)
1932   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2b)
1933   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2c)
1934   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2d)
1935   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2e)
1936   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2f)
1929   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("]") PORT_CHAR(']') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x28)
1930   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x29)
1931   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2a)
1932   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2b)
1933   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2c)
1934   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2d)
1935   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2e)
1936   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x2f)
19371937
19381938   PORT_START("KEY6") // 0x30 - 0x37
1939   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(",") PORT_CHAR(',') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x30)
1940   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(".") PORT_CHAR('.') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x31)
1941   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/") /*PORT_CODE(KEYCODE_SLASH)*/ PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x32)
1942   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("un 0-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x33)
1943   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_IMPULSE(1) PORT_CHAR(' ') PORT_CHANGED(key_stroke, 0x34)
1944   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("un 0-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x35)
1945   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PG DOWN") PORT_CODE(KEYCODE_PGDN) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x36)
1946   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PG UP") PORT_CODE(KEYCODE_PGUP) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x37)
1939   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(",") PORT_CHAR(',') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x30)
1940   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(".") PORT_CHAR('.') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x31)
1941   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/") /*PORT_CODE(KEYCODE_SLASH)*/ PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x32)
1942   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("un 0-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x33)
1943   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_IMPULSE(1) PORT_CHAR(' ') PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x34)
1944   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("un 0-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x35)
1945   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PG DOWN") PORT_CODE(KEYCODE_PGDN) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x36)
1946   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PG UP") PORT_CODE(KEYCODE_PGUP) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x37)
19471947
19481948   PORT_START("KEY7") // 0x38 - 0x3f
1949   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 1-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x38) //PORT_CHAR(',')
1950   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x39) //PORT_CHAR('.')
1951   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3a) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1952   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1953   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3c)
1954   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1955   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CLS") PORT_CODE(KEYCODE_HOME) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3e) //PORT_CHAR(' ')
1956   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 1-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
1949   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 1-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x38) //PORT_CHAR(',')
1950   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x39) //PORT_CHAR('.')
1951   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3a) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1952   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1953   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3c)
1954   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1955   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CLS") PORT_CODE(KEYCODE_HOME) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3e) //PORT_CHAR(' ')
1956   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 1-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x3f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
19571957
19581958   PORT_START("KEY8") // 0x40 - 0x47
1959   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("- (PAD)") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x40)
1960   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/ (PAD)") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x41)
1961   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7 (PAD)") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x42)
1962   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8 (PAD)") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x43)
1963   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9 (PAD)") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x44)
1964   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("* (PAD)") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('*') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x45)
1965   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4 (PAD)") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x46)
1966   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5 (PAD)") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x47)
1959   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("- (PAD)") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x40)
1960   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/ (PAD)") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x41)
1961   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7 (PAD)") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x42)
1962   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8 (PAD)") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x43)
1963   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9 (PAD)") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x44)
1964   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("* (PAD)") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('*') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x45)
1965   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4 (PAD)") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x46)
1966   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5 (PAD)") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x47)
19671967
19681968   PORT_START("KEY9") // 0x48 - 0x4f
1969   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6 (PAD)") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x48)
1970   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("+ (PAD)") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR('+') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x49)
1971   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1 (PAD)") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4a)
1972   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2 (PAD)") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4b)
1973   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3 (PAD)") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4c)
1974   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("EQUAL (PAD)") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR('=') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4d)
1975   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0 (PAD)") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4e)
1976   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(", (PAD)") PORT_CHAR(',') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4f)
1969   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6 (PAD)") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x48)
1970   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("+ (PAD)") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR('+') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x49)
1971   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1 (PAD)") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4a)
1972   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2 (PAD)") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4b)
1973   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3 (PAD)") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4c)
1974   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("EQUAL (PAD)") PORT_CODE(KEYCODE_ENTER_PAD) PORT_CHAR('=') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4d)
1975   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0 (PAD)") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4e)
1976   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(", (PAD)") PORT_CHAR(',') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x4f)
19771977
19781978   PORT_START("KEYA") // 0x50 - 0x57
1979   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(". (PAD)") PORT_CHAR('.') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x50)
1980   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x51) //PORT_CHAR('.')
1981   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x52) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1982   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x53) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1983   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x54)//PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
1984   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x55) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1985   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x56) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
1986   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x57) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
1979   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(". (PAD)") PORT_CHAR('.') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x50)
1980   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x51) //PORT_CHAR('.')
1981   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x52) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1982   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x53) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1983   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x54)//PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
1984   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x55) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1985   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x56) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
1986   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 2-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x57) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
19871987
19881988   PORT_START("KEYB") // 0x58 - 0x5f
1989   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x58) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1990   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x59) //PORT_CHAR('.')
1991   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5a) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1992   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1993   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5c) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
1994   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1995   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5e) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
1996   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
1989   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x58) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1990   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x59) //PORT_CHAR('.')
1991   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5a) //PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/')
1992   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
1993   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5c) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
1994   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
1995   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5e) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
1996   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 3-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x5f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
19971997
19981998   PORT_START("KEYC") // 0x60 - 0x67
1999   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 4-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x60) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2000   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 4-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x61) //PORT_CHAR('.')
2001   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x62)
2002   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x63)
2003   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x64)
2004   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x65)
2005   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x66)
2006   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x67)
1999   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 4-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x60) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2000   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 4-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x61) //PORT_CHAR('.')
2001   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F1") PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x62)
2002   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F2") PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x63)
2003   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F3") PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x64)
2004   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F4") PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x65)
2005   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F5") PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x66)
2006   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F6") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F6)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x67)
20072007
20082008   PORT_START("KEYD") // 0x68 - 0x6f
2009   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x68)
2010   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x69)
2011   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F9") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6a)
2012   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F10") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6b)
2013   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6c)//PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2014   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6d)//PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2015   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6e)//PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2016   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
2009   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F7") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x68)
2010   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F8") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x69)
2011   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F9") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(F9)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6a)
2012   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F10") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(F10)) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6b)
2013   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6c)//PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2014   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6d)//PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2015   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6e)//PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2016   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 5-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x6f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
20172017
20182018   PORT_START("KEYE") // 0x70 - 0x77
2019   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) /*PORT_IMPULSE(1)*/ PORT_CHANGED(shift_stroke, 0x70)
2020   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x71)
2021   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\xe3\x81\x8b\xe3\x81\xaa / KANA LOCK") PORT_TOGGLE PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x72)
2022   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x73) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2023   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x74) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2024   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x75) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2025   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x76) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2026   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x77) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
2019   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) /*PORT_IMPULSE(1)*/ PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, shift_stroke, 0x70)
2020   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x71)
2021   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\xe3\x81\x8b\xe3\x81\xaa / KANA LOCK") PORT_TOGGLE PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x72)
2022   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x73) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2023   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x74) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2024   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x75) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2025   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x76) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2026   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 6-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x77) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
20272027
20282028   PORT_START("KEYF") // 0x78 - 0x7f
2029   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x78) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2030   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x79)
2031   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7a)
2032   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2033   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7c) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2034   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2035   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7e) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2036   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-8") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
2029   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x78) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2030   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x79)
2031   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7a)
2032   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7b) //PORT_CODE(KEYCODE_C) PORT_CHAR('C')
2033   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7c) //PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
2034   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7d) //PORT_CODE(KEYCODE_B) PORT_CHAR('B')
2035   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7e) //PORT_CODE(KEYCODE_HOME) //PORT_CHAR(' ')
2036   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(" un 7-8") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc9801_state, key_stroke, 0x7f) //PORT_CODE(KEYCODE_M) PORT_CHAR('M')
20372037
20382038   PORT_START("DSW1")
20392039   PORT_BIT(0x0001, IP_ACTIVE_HIGH,IPT_SPECIAL) PORT_READ_LINE_DEVICE_MEMBER("upd1990a", upd1990a_device, data_out_r)
trunk/src/mess/drivers/nakajies.c
r18015r18016
334334   UINT8   m_bank[8];
335335   UINT8   *m_bank_base[8];
336336   virtual void palette_init();
337   DECLARE_INPUT_CHANGED_MEMBER(trigger_irq);
337338};
338339
339340
r18015r18016
499500ADDRESS_MAP_END
500501
501502
502static INPUT_CHANGED( trigger_irq )
503INPUT_CHANGED_MEMBER(nakajies_state::trigger_irq)
503504{
504   nakajies_state *state = field.machine().driver_data<nakajies_state>();
505   UINT8 irqs = field.machine().root_device().ioport( "debug" )->read();
505   UINT8 irqs = machine().root_device().ioport( "debug" )->read();
506506
507   state->m_irq_active |= irqs;
508   state->nakajies_update_irqs(field.machine());
507   m_irq_active |= irqs;
508   nakajies_update_irqs(machine());
509509}
510510
511511
512512static INPUT_PORTS_START( nakajies )
513513   PORT_START( "debug" )
514   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F1 ) PORT_NAME( "irq 0xff" ) PORT_CHANGED( trigger_irq, NULL )
515   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F2 ) PORT_NAME( "irq 0xfe" ) PORT_CHANGED( trigger_irq, NULL )
516   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F3 ) PORT_NAME( "irq 0xfd" ) PORT_CHANGED( trigger_irq, NULL )
517   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F4 ) PORT_NAME( "irq 0xfc" ) PORT_CHANGED( trigger_irq, NULL )
518   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F5 ) PORT_NAME( "irq 0xfb" ) PORT_CHANGED( trigger_irq, NULL )
519   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F6 ) PORT_NAME( "irq 0xfa" ) PORT_CHANGED( trigger_irq, NULL )
520   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F7 ) PORT_NAME( "irq 0xf9" ) PORT_CHANGED( trigger_irq, NULL )
521   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F8 ) PORT_NAME( "irq 0xf8" ) PORT_CHANGED( trigger_irq, NULL )
514   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F1 ) PORT_NAME( "irq 0xff" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
515   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F2 ) PORT_NAME( "irq 0xfe" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
516   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F3 ) PORT_NAME( "irq 0xfd" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
517   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F4 ) PORT_NAME( "irq 0xfc" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
518   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F5 ) PORT_NAME( "irq 0xfb" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
519   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F6 ) PORT_NAME( "irq 0xfa" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
520   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F7 ) PORT_NAME( "irq 0xf9" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
521   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE( KEYCODE_F8 ) PORT_NAME( "irq 0xf8" ) PORT_CHANGED_MEMBER(DEVICE_SELF, nakajies_state,  trigger_irq, NULL )
522522
523523   PORT_START( "ROW0" )
524524   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Left Shift")   PORT_CODE( KEYCODE_LSHIFT )
trunk/src/mess/drivers/z100.c
r18015r18016
205205   virtual void video_start();
206206   virtual void palette_init();
207207   UINT32 screen_update_z100(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
208   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
208209};
209210
210211#define mc6845_h_char_total    (m_crtc_vreg[0])
r18015r18016
420421   AM_RANGE (0xff, 0xff) AM_READ_PORT("DSW101")
421422ADDRESS_MAP_END
422423
423static INPUT_CHANGED( key_stroke )
424INPUT_CHANGED_MEMBER(z100_state::key_stroke)
424425{
425   z100_state *state = field.machine().driver_data<z100_state>();
426426
427427   if(newval && !oldval)
428428   {
429429      /* TODO: table */
430      state->m_keyb_press = (UINT8)(FPTR)(param) & 0xff;
431      //pic8259_ir6_w(state->m_picm, 1);
432      state->m_keyb_status = 1;
430      m_keyb_press = (UINT8)(FPTR)(param) & 0xff;
431      //pic8259_ir6_w(m_picm, 1);
432      m_keyb_status = 1;
433433   }
434434
435435   if(oldval && !newval)
436436   {
437      state->m_keyb_press = 0;
438      state->m_keyb_status = 0;
437      m_keyb_press = 0;
438      m_keyb_status = 0;
439439   }
440440}
441441
r18015r18016
443443INPUT_PORTS_START( z100 )
444444   PORT_START("KEY0") // 0x00 - 0x07
445445   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED)
446   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x01)
447   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x02)
448   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x03)
449   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x04)
450   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x05)
451   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x06)
452   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x07)
446   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x01)
447   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x02)
448   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x03)
449   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x04)
450   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x05)
451   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x06)
452   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x07)
453453
454454   PORT_START("KEY1") // 0x08 - 0x0f
455   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x08)
456   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x09)
457   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0a)
458   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0b)
459   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0c)
460   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0d)
461   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0e)
462   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0f)
455   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x08)
456   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x09)
457   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0a)
458   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0b)
459   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0c)
460   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0d)
461   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0e)
462   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x0f)
463463
464464   PORT_START("KEY2") // 0x10 - 0x17
465   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x10)
466   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x11)
467   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x12)
468   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x13)
469   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x14)
470   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x15)
471   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x16)
472   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x17)
465   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x10)
466   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x11)
467   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x12)
468   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x13)
469   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x14)
470   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x15)
471   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x16)
472   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x17)
473473
474474   PORT_START("KEY3") // 0x18 - 0x1f
475   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x18)
476   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x19)
477   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1a)
478   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1b)
479   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1c)
480   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1d)
481   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1e)
482   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1f)
475   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x18)
476   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x19)
477   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1a)
478   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1b)
479   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1c)
480   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1d)
481   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1e)
482   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x1f)
483483
484484   PORT_START("KEY4") // 0x20 - 0x27
485   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x20)
486   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x21)
487   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x22)
488   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x23)
489   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x24)
490   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x25)
491   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x26)
492   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x27)
485   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x20)
486   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x21)
487   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x22)
488   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x23)
489   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x24)
490   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x25)
491   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x26)
492   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x27)
493493
494494   PORT_START("KEY5") // 0x28 - 0x2f
495   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x28)
496   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-1") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x29)
497   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2a)
498   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2b)
499   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2c)
500   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2d)
501   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2e)
502   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2f)
495   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x28)
496   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-1") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x29)
497   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2a)
498   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2b)
499   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2c)
500   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2d)
501   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2e)
502   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x2f)
503503
504504   PORT_START("KEY6") // 0x30 - 0x37
505   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x30)
506   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x31)
507   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x32)
508   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x33)
509   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x34)
510   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x35)
511   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x36)
512   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x37)
505   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x30)
506   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x31)
507   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x32)
508   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x33)
509   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x34)
510   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x35)
511   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x36)
512   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x37)
513513
514514   PORT_START("KEY7") // 0x38 - 0x3f
515   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x38)
516   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x39)
517   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-2") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3a)
518   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-3") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3b)
519   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3c)
520   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3d)
521   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3e)
522   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3f)
515   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x38)
516   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x39)
517   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-2") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3a)
518   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-3") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3b)
519   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3c)
520   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3d)
521   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3e)
522   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x3f)
523523
524524   PORT_START("KEY8") // 0x40 - 0x47
525   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8-0") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x60)
526   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x61)
527   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x62)
528   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x63)
529   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x64)
530   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x65)
531   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x66)
532   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x67)
525   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8-0") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x60)
526   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x61)
527   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x62)
528   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x63)
529   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x64)
530   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x65)
531   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x66)
532   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x67)
533533
534534   PORT_START("KEY9") // 0x48 - 0x4f
535   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x68)
536   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x69)
537   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6a)
538   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6b)
539   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6c)
540   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6d)
541   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6e)
542   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6f)
535   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x68)
536   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x69)
537   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6a)
538   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6b)
539   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6c)
540   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6d)
541   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6e)
542   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x6f)
543543
544544   PORT_START("KEYA") // 0x50 - 0x57
545   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x70)
546   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x71)
547   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x72)
548   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x73)
549   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x74)
550   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x75)
551   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x76)
552   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x77)
545   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x70)
546   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x71)
547   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x72)
548   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x73)
549   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x74)
550   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x75)
551   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x76)
552   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x77)
553553
554554   PORT_START("KEYB") // 0x58 - 0x5f
555   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x78)
556   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x79)
557   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7a)
558   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-4") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7b)
559   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-5") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7c)
560   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-6") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7d)
561   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-7") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7e)
562   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DELETE key") PORT_CODE(KEYCODE_DEL) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x7f)
555   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x78)
556   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x79)
557   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7a)
558   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-4") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7b)
559   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-5") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7c)
560   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-6") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7d)
561   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B-7") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7e)
562   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DELETE key") PORT_CODE(KEYCODE_DEL) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x7f)
563563
564564   PORT_START("KEYC") // 0x58 - 0x5f
565   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("HELP key") PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x95)
565   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("HELP key") PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, z100_state, key_stroke, 0x95)
566566
567567   PORT_START("DSW101")
568568   PORT_DIPNAME( 0x07, 0x00, "Default Auto-boot Device" )
trunk/src/mess/drivers/mini2440.c
r18015r18016
4444   DECLARE_DRIVER_INIT(mini2440);
4545   virtual void machine_start();
4646   virtual void machine_reset();
47   DECLARE_INPUT_CHANGED_MEMBER(mini2440_input_changed);
4748};
4849
4950/***************************************************************************
r18015r18016
158159
159160// TOUCH
160161
161static INPUT_CHANGED( mini2440_input_changed )
162INPUT_CHANGED_MEMBER(mini2440_state::mini2440_input_changed)
162163{
163   mini2440_state *state = field.machine().driver_data<mini2440_state>();
164   s3c2440_touch_screen( state->m_s3c2440, (newval & 0x01) ? 1 : 0);
164   s3c2440_touch_screen( m_s3c2440, (newval & 0x01) ? 1 : 0);
165165}
166166
167167// ...
r18015r18016
250250
251251static INPUT_PORTS_START( mini2440 )
252252   PORT_START( "PENB" )
253   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED(mini2440_input_changed, NULL) PORT_PLAYER(1)
253   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED_MEMBER(DEVICE_SELF, mini2440_state, mini2440_input_changed, NULL) PORT_PLAYER(1)
254254   PORT_START( "PENX" )
255255   PORT_BIT( 0x3ff, 0x200, IPT_LIGHTGUN_X ) PORT_NAME("Pen X") PORT_MINMAX(80, 950) PORT_SENSITIVITY(50) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_KEYDELTA(30) PORT_PLAYER(1)
256256   PORT_START( "PENY" )
trunk/src/mess/drivers/pc1512.c
r18015r18016
666666//**************************************************************************
667667
668668//-------------------------------------------------
669//  INPUT_CHANGED( mouse_button_1_changed )
669//  INPUT_CHANGED_MEMBER( mouse_button_1_changed )
670670//-------------------------------------------------
671671
672672INPUT_CHANGED_MEMBER( pc1512_state::mouse_button_1_changed )
r18015r18016
676676
677677
678678//-------------------------------------------------
679//  INPUT_CHANGED( mouse_button_2_changed )
679//  INPUT_CHANGED_MEMBER( mouse_button_2_changed )
680680//-------------------------------------------------
681681
682682INPUT_CHANGED_MEMBER( pc1512_state::mouse_button_2_changed )
r18015r18016
686686
687687
688688//-------------------------------------------------
689//  INPUT_CHANGED( mouse_x_changed )
689//  INPUT_CHANGED_MEMBER( mouse_x_changed )
690690//-------------------------------------------------
691691
692692INPUT_CHANGED_MEMBER( pc1512_state::mouse_x_changed )
r18015r18016
699699
700700
701701//-------------------------------------------------
702//  INPUT_CHANGED( mouse_y_changed )
702//  INPUT_CHANGED_MEMBER( mouse_y_changed )
703703//-------------------------------------------------
704704
705705INPUT_CHANGED_MEMBER( pc1512_state::mouse_y_changed )
trunk/src/mess/drivers/x1.c
r18015r18016
19351935 *
19361936 *************************************/
19371937
1938static INPUT_CHANGED( ipl_reset )
1938INPUT_CHANGED_MEMBER(x1_state::ipl_reset)
19391939{
1940   //address_space &space = *field.machine().device("x1_cpu")->memory().space(AS_PROGRAM);
1941   x1_state *state = field.machine().driver_data<x1_state>();
1940   //address_space &space = *machine().device("x1_cpu")->memory().space(AS_PROGRAM);
19421941
1943   state->m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1942   m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
19441943
1945   state->m_ram_bank = 0x00;
1946   if(state->m_is_turbo) { state->m_ex_bank = 0x10; }
1944   m_ram_bank = 0x00;
1945   if(m_is_turbo) { m_ex_bank = 0x10; }
19471946   //anything else?
19481947}
19491948
19501949/* Apparently most games doesn't support this (not even the Konami ones!), one that does is...177 :o */
1951static INPUT_CHANGED( nmi_reset )
1950INPUT_CHANGED_MEMBER(x1_state::nmi_reset)
19521951{
1953   x1_state *state = field.machine().driver_data<x1_state>();
19541952
1955   state->m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
1953   m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
19561954}
19571955
19581956INPUT_PORTS_START( x1 )
19591957   PORT_START("FP_SYS") //front panel buttons, hard-wired with the soft reset/NMI lines
1960   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED(ipl_reset,0) PORT_NAME("IPL reset")
1961   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED(nmi_reset,0) PORT_NAME("NMI reset")
1958   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, x1_state, ipl_reset,0) PORT_NAME("IPL reset")
1959   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, x1_state, nmi_reset,0) PORT_NAME("NMI reset")
19621960
19631961   PORT_START("SOUND_SW") //FIXME: this is X1Turbo specific
19641962   PORT_DIPNAME( 0x80, 0x80, "OPM Sound Setting?" )
trunk/src/mess/drivers/chessmst.c
r18015r18016
3636   DECLARE_WRITE8_MEMBER( pio1_port_b_w );
3737   DECLARE_READ8_MEMBER( pio2_port_a_r );
3838   DECLARE_WRITE8_MEMBER( pio2_port_b_w );
39   DECLARE_INPUT_CHANGED_MEMBER(chessmst_sensor);
3940};
4041
4142
r18015r18016
5455   AM_RANGE(0x08, 0x0b) AM_MIRROR(0xf0) AM_DEVREADWRITE("z80pio2", z80pio_device, read, write)
5556ADDRESS_MAP_END
5657
57static INPUT_CHANGED( chessmst_sensor )
58INPUT_CHANGED_MEMBER(chessmst_state::chessmst_sensor)
5859{
59   chessmst_state *state = field.machine().driver_data<chessmst_state>();
6060   UINT8 pos = (UINT8)(FPTR)param;
6161
6262   if (newval)
6363   {
64      state->m_sensor[pos] = !state->m_sensor[pos];
64      m_sensor[pos] = !m_sensor[pos];
6565   }
6666}
6767
6868/* Input ports */
6969static INPUT_PORTS_START( chessmst )
7070   PORT_START("COL_A")
71      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  0)
72      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  1)
73      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  2)
74      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  3)
75      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  4)
76      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  5)
77      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  6)
78      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  7)
71      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  0)
72      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  1)
73      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  2)
74      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  3)
75      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  4)
76      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  5)
77      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  6)
78      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  7)
7979   PORT_START("COL_B")
80      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  8)
81      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor,  9)
82      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 10)
83      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 11)
84      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 12)
85      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 13)
86      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 14)
87      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 15)
80      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  8)
81      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor,  9)
82      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 10)
83      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 11)
84      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 12)
85      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 13)
86      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 14)
87      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 15)
8888   PORT_START("COL_C")
89      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 16)
90      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 17)
91      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 18)
92      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 19)
93      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 20)
94      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 21)
95      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 22)
96      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 23)
89      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 16)
90      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 17)
91      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 18)
92      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 19)
93      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 20)
94      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 21)
95      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 22)
96      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 23)
9797   PORT_START("COL_D")
98      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 24)
99      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 25)
100      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 26)
101      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 27)
102      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 28)
103      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 29)
104      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 30)
105      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 31)
98      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 24)
99      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 25)
100      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 26)
101      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 27)
102      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 28)
103      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 29)
104      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 30)
105      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 31)
106106   PORT_START("COL_E")
107      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 32)
108      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 33)
109      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 34)
110      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 35)
111      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 36)
112      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 37)
113      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 38)
114      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 39)
107      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 32)
108      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 33)
109      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 34)
110      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 35)
111      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 36)
112      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 37)
113      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 38)
114      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 39)
115115   PORT_START("COL_F")
116      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 40)
117      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 41)
118      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 42)
119      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 43)
120      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 44)
121      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 45)
122      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 46)
123      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 47)
116      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 40)
117      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 41)
118      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 42)
119      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 43)
120      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 44)
121      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 45)
122      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 46)
123      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 47)
124124   PORT_START("COL_G")
125      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 48)
126      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 49)
127      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 50)
128      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 51)
129      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 52)
130      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 53)
131      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 54)
132      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 55)
125      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 48)
126      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 49)
127      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 50)
128      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 51)
129      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 52)
130      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 53)
131      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 54)
132      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 55)
133133   PORT_START("COL_H")
134      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 56)
135      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 57)
136      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 58)
137      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 59)
138      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 60)
139      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 61)
140      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 62)
141      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED(chessmst_sensor, 63)
134      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 56)
135      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 57)
136      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 58)
137      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 59)
138      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 60)
139      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 61)
140      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 62)
141      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD)   PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, chessmst_sensor, 63)
142142
143143   PORT_START("BUTTONS")
144144      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Hint     [7]")   PORT_CODE(KEYCODE_7)   PORT_CODE(KEYCODE_H)
trunk/src/mess/drivers/palm.c
r18015r18016
4343   UINT16 m_spim_data;
4444   virtual void machine_start();
4545   virtual void machine_reset();
46   DECLARE_INPUT_CHANGED_MEMBER(pen_check);
47   DECLARE_INPUT_CHANGED_MEMBER(button_check);
4648};
4749
4850static offs_t palm_dasm_override(device_t &device, char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, int options);
r18015r18016
5254    MACHINE HARDWARE
5355***************************************************************************/
5456
55static INPUT_CHANGED( pen_check )
57INPUT_CHANGED_MEMBER(palm_state::pen_check)
5658{
57   UINT8 button = field.machine().root_device().ioport("PENB")->read();
58   palm_state *state = field.machine().driver_data<palm_state>();
59   UINT8 button = machine().root_device().ioport("PENB")->read();
5960
6061   if(button)
61      mc68328_set_penirq_line(state->m_lsi, 1);
62      mc68328_set_penirq_line(m_lsi, 1);
6263   else
63      mc68328_set_penirq_line(state->m_lsi, 0);
64      mc68328_set_penirq_line(m_lsi, 0);
6465}
6566
66static INPUT_CHANGED( button_check )
67INPUT_CHANGED_MEMBER(palm_state::button_check)
6768{
68   UINT8 button_state = field.machine().root_device().ioport("PORTD")->read();
69   palm_state *state = field.machine().driver_data<palm_state>();
69   UINT8 button_state = machine().root_device().ioport("PORTD")->read();
7070
71   mc68328_set_port_d_lines(state->m_lsi, button_state, (int)(FPTR)param);
71   mc68328_set_port_d_lines(m_lsi, button_state, (int)(FPTR)param);
7272}
7373
7474static WRITE8_DEVICE_HANDLER( palm_port_f_out )
r18015r18016
237237   PORT_BIT( 0xff, 0x50, IPT_LIGHTGUN_Y ) PORT_NAME("Pen Y") PORT_MINMAX(0, 0xa0) PORT_SENSITIVITY(50) PORT_CROSSHAIR(Y, 1.0, 0.0, 0)
238238
239239   PORT_START( "PENB" )
240   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED(pen_check, NULL)
240   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, pen_check, NULL)
241241
242242   PORT_START( "PORTD" )
243   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Power") PORT_CODE(KEYCODE_D)   PORT_CHANGED(button_check, (void*)0)
244   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Up") PORT_CODE(KEYCODE_Y)     PORT_CHANGED(button_check, (void*)1)
245   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Down") PORT_CODE(KEYCODE_H)   PORT_CHANGED(button_check, (void*)2)
246   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Button 1") PORT_CODE(KEYCODE_F)   PORT_CHANGED(button_check, (void*)3)
247   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Button 2") PORT_CODE(KEYCODE_G)   PORT_CHANGED(button_check, (void*)4)
248   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Button 3") PORT_CODE(KEYCODE_J)   PORT_CHANGED(button_check, (void*)5)
249   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Button 4") PORT_CODE(KEYCODE_K)   PORT_CHANGED(button_check, (void*)6)
243   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Power") PORT_CODE(KEYCODE_D)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)0)
244   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Up") PORT_CODE(KEYCODE_Y)     PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)1)
245   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Down") PORT_CODE(KEYCODE_H)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)2)
246   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Button 1") PORT_CODE(KEYCODE_F)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)3)
247   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Button 2") PORT_CODE(KEYCODE_G)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)4)
248   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Button 3") PORT_CODE(KEYCODE_J)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)5)
249   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Button 4") PORT_CODE(KEYCODE_K)   PORT_CHANGED_MEMBER(DEVICE_SELF, palm_state, button_check, (void*)6)
250250   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
251251INPUT_PORTS_END
252252
trunk/src/mess/drivers/kim1.c
r18015r18016
123123   UINT8 m_led_time[6];
124124   virtual void machine_start();
125125   virtual void machine_reset();
126   DECLARE_INPUT_CHANGED_MEMBER(kim1_reset);
126127};
127128
128129
r18015r18016
140141ADDRESS_MAP_END
141142
142143
143static INPUT_CHANGED( kim1_reset )
144INPUT_CHANGED_MEMBER(kim1_state::kim1_reset)
144145{
145146   if (newval == 0)
146      field.machine().firstcpu->reset();
147      machine().firstcpu->reset();
147148}
148149
149150
r18015r18016
181182   PORT_START("LINE3")         /* IN3 STEP and RESET keys, MODE switch */
182183   PORT_BIT( 0x80, 0x00, IPT_UNUSED )
183184   PORT_BIT( 0x40, 0x40, IPT_KEYBOARD ) PORT_NAME("sw1: ST") PORT_CODE(KEYCODE_F7)
184   PORT_BIT( 0x20, 0x20, IPT_KEYBOARD ) PORT_NAME("sw2: RS") PORT_CODE(KEYCODE_F3) PORT_CHANGED(kim1_reset, NULL)
185   PORT_BIT( 0x20, 0x20, IPT_KEYBOARD ) PORT_NAME("sw2: RS") PORT_CODE(KEYCODE_F3) PORT_CHANGED_MEMBER(DEVICE_SELF, kim1_state, kim1_reset, NULL)
185186   PORT_DIPNAME(0x10, 0x10, "sw3: SS") PORT_CODE(KEYCODE_NUMLOCK) PORT_TOGGLE
186187   PORT_DIPSETTING( 0x00, "single step")
187188   PORT_DIPSETTING( 0x10, "run")
trunk/src/mess/drivers/sg1000.c
r18015r18016
251251***************************************************************************/
252252
253253/*-------------------------------------------------
254    INPUT_CHANGED( trigger_nmi )
254    INPUT_CHANGED_MEMBER( trigger_nmi )
255255-------------------------------------------------*/
256256
257257INPUT_CHANGED_MEMBER( sg1000_state::trigger_nmi )
trunk/src/mess/drivers/coco12.c
r18015r18016
5858
5959INPUT_PORTS_START( coco_analog_control )
6060   PORT_START(CTRL_SEL_TAG)  /* Select Controller Type */
61   PORT_CONFNAME( 0x0f, 0x01, "Right Controller Port (P1)")         PORT_CHANGED( coco_state::joystick_mode_changed, 0 )
61   PORT_CONFNAME( 0x0f, 0x01, "Right Controller Port (P1)")         PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::joystick_mode_changed, 0 )
6262   PORT_CONFSETTING(  0x00, "Unconnected" )
6363   PORT_CONFSETTING(  0x01, "Joystick" )
6464   PORT_CONFSETTING(  0x02, "The Rat Graphics Mouse" )               PORT_CONDITION(CTRL_SEL_TAG, 0xf0, NOTEQUALS, 0x20)
6565   PORT_CONFSETTING(  0x03, "Diecom Light Gun Adaptor" )            PORT_CONDITION(CTRL_SEL_TAG, 0xf0, NOTEQUALS, 0x30)
66   PORT_CONFNAME( 0xf0, 0x10, "Left Controller Port (P2)")            PORT_CHANGED( coco_state::joystick_mode_changed, 0 )
66   PORT_CONFNAME( 0xf0, 0x10, "Left Controller Port (P2)")            PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::joystick_mode_changed, 0 )
6767   PORT_CONFSETTING(  0x00, "Unconnected" )
6868   PORT_CONFSETTING(  0x10, "Joystick" )
6969   PORT_CONFSETTING(  0x20, "The Rat Graphics Mouse" )               PORT_CONDITION(CTRL_SEL_TAG, 0x0f, NOTEQUALS, 0x02)
r18015r18016
9494   PORT_START(JOYSTICK_LY_TAG)
9595   PORT_BIT( 0xff, 0x80,  IPT_AD_STICK_Y) PORT_SENSITIVITY(JOYSTICK_SENSITIVITY) PORT_KEYDELTA(JOYSTICK_DELTA) PORT_MINMAX(0x00,0xFF) PORT_CODE_DEC(KEYCODE_8_PAD) PORT_CODE_INC(KEYCODE_2_PAD) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH)   PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)  PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
9696   PORT_START(JOYSTICK_BUTTONS_TAG)
97   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Right Button") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
98   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Left Button")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
97   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Right Button") PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
98   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Left Button")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
9999INPUT_PORTS_END
100100
101101
r18015r18016
131131
132132static INPUT_PORTS_START( coco_keyboard )
133133   PORT_START("row0")
134   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
135   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
136   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
137   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
138   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
139   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
140   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
141   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
134   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
135   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
136   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
137   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
138   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
139   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
140   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
141   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
142142
143143   PORT_START("row1")
144   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
145   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
146   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
147   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
148   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
149   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
150   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
151   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
144   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
145   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
146   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
147   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
148   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
149   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
150   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
151   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
152152
153153   PORT_START("row2")
154   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
155   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
156   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
157   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
158   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
159   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
160   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
161   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
154   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
155   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
156   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
157   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
158   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
159   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
160   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
161   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
162162
163163   PORT_START("row3")
164   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
165   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
166   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
167   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
168   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
169   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
170   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
171   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
164   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
165   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
166   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
167   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
168   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
169   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
170   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
171   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
172172
173173   PORT_START("row4")
174   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
175   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
176   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
177   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
178   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
179   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
180   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
181   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
174   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
175   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
176   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
177   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
178   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
179   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
180   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
181   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
182182
183183   PORT_START("row5")
184   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
185   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
186   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
187   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
188   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
189   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
190   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
191   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
184   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
185   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
186   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
187   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
188   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
189   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
190   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
191   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
192192
193193   PORT_START("row6")
194   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
195   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
196   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
194   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
195   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
196   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
197197   PORT_BIT(0x78, IP_ACTIVE_LOW, IPT_UNUSED)
198   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
198   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco12_state, coco_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
199199INPUT_PORTS_END
200200
201201
trunk/src/mess/drivers/ex800.c
r18015r18016
154154   DECLARE_READ8_MEMBER(ex800_gate7a_r);
155155   DECLARE_WRITE8_MEMBER(ex800_gate7a_w);
156156   virtual void machine_start();
157   DECLARE_INPUT_CHANGED_MEMBER(online_switch);
157158};
158159
159160
r18015r18016
192193
193194
194195/* The ON LINE switch is directly connected to the INT1 input of the CPU */
195static INPUT_CHANGED( online_switch )
196INPUT_CHANGED_MEMBER(ex800_state::online_switch)
196197{
197   ex800_state *state = field.machine().driver_data<ex800_state>();
198198   if (newval)
199199   {
200      field.machine().device("maincpu")->execute().set_input_line(UPD7810_INTF1, state->m_irq_state);
201      state->m_irq_state = (state->m_irq_state == ASSERT_LINE) ? CLEAR_LINE : ASSERT_LINE;
200      machine().device("maincpu")->execute().set_input_line(UPD7810_INTF1, m_irq_state);
201      m_irq_state = (m_irq_state == ASSERT_LINE) ? CLEAR_LINE : ASSERT_LINE;
202202   }
203203}
204204
r18015r18016
356356static INPUT_PORTS_START( ex800 )
357357   PORT_START("ONLISW")
358358   PORT_BIT(0xfe, IP_ACTIVE_HIGH, IPT_UNUSED)
359   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON LINE")   PORT_CODE(KEYCODE_F9) PORT_CHANGED(online_switch, NULL)
359   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON LINE")   PORT_CODE(KEYCODE_F9) PORT_CHANGED_MEMBER(DEVICE_SELF, ex800_state, online_switch, NULL)
360360
361361   PORT_START("FEED")
362362   PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
trunk/src/mess/drivers/rex6000.c
r18015r18016
115115
116116   UINT8 identify_bank_type(UINT32 bank);
117117   virtual void palette_init();
118   DECLARE_INPUT_CHANGED_MEMBER(trigger_irq);
118119};
119120
120121
r18015r18016
406407   //AM_RANGE( 0x00, 0xff ) AM_RAM
407408ADDRESS_MAP_END
408409
409static INPUT_CHANGED( trigger_irq )
410INPUT_CHANGED_MEMBER(rex6000_state::trigger_irq)
410411{
411   rex6000_state *state = field.machine().driver_data<rex6000_state>();
412412
413   if (!(state->m_irq_mask & IRQ_FLAG_KEYCHANGE))
413   if (!(m_irq_mask & IRQ_FLAG_KEYCHANGE))
414414   {
415      state->m_irq_flag |= IRQ_FLAG_KEYCHANGE;
415      m_irq_flag |= IRQ_FLAG_KEYCHANGE;
416416
417      state->m_maincpu->set_input_line(0, HOLD_LINE);
417      m_maincpu->set_input_line(0, HOLD_LINE);
418418   }
419419}
420420
r18015r18016
426426   PORT_CONFSETTING( 0x0000, "Poor" )
427427
428428   PORT_START("INPUT")
429   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Home")   PORT_CODE(KEYCODE_HOME)         PORT_CHANGED(trigger_irq, 0)
430   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Back")   PORT_CODE(KEYCODE_BACKSPACE)   PORT_CHANGED(trigger_irq, 0)
431   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Select")      PORT_CODE(KEYCODE_SPACE)   PORT_CHANGED(trigger_irq, 0)
432   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Up")      PORT_CODE(KEYCODE_PGUP)         PORT_CHANGED(trigger_irq, 0)
433   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Down")   PORT_CODE(KEYCODE_PGDN)         PORT_CHANGED(trigger_irq, 0)
434   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Pen")   PORT_CODE(KEYCODE_ENTER) PORT_CODE(MOUSECODE_BUTTON1)   PORT_CHANGED(trigger_irq, 0)
429   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Home")   PORT_CODE(KEYCODE_HOME)         PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
430   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Back")   PORT_CODE(KEYCODE_BACKSPACE)   PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
431   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Select")      PORT_CODE(KEYCODE_SPACE)   PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
432   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Up")      PORT_CODE(KEYCODE_PGUP)         PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
433   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD)  PORT_NAME("Down")   PORT_CODE(KEYCODE_PGDN)         PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
434   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Pen")   PORT_CODE(KEYCODE_ENTER) PORT_CODE(MOUSECODE_BUTTON1)   PORT_CHANGED_MEMBER(DEVICE_SELF, rex6000_state, trigger_irq, 0)
435435
436436   PORT_START("PENX")
437437   PORT_BIT(0x3ff, 0x00, IPT_LIGHTGUN_X) PORT_NAME("Pen X") PORT_CROSSHAIR(X, 1, 0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_INVERT
trunk/src/mess/drivers/ssem.c
r18015r18016
2222   UINT8 m_store_line;
2323   virtual void machine_reset();
2424   UINT32 screen_update_ssem(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
25   DECLARE_INPUT_CHANGED_MEMBER(panel_check);
2526};
2627
2728
r18015r18016
8182   PANEL_HALT,
8283};
8384
84static INPUT_CHANGED( panel_check )
85INPUT_CHANGED_MEMBER(ssem_state::panel_check)
8586{
86   ssem_state *state = field.machine().driver_data<ssem_state>();
87   UINT8 edit0_state = field.machine().root_device().ioport("EDIT0")->read();
88   UINT8 edit1_state = field.machine().root_device().ioport("EDIT1")->read();
89   UINT8 edit2_state = field.machine().root_device().ioport("EDIT2")->read();
90   UINT8 edit3_state = field.machine().root_device().ioport("EDIT3")->read();
91   UINT8 misc_state = field.machine().root_device().ioport("MISC")->read();
92   device_t *ssem_cpu = field.machine().device("maincpu");
87   UINT8 edit0_state = machine().root_device().ioport("EDIT0")->read();
88   UINT8 edit1_state = machine().root_device().ioport("EDIT1")->read();
89   UINT8 edit2_state = machine().root_device().ioport("EDIT2")->read();
90   UINT8 edit3_state = machine().root_device().ioport("EDIT3")->read();
91   UINT8 misc_state = machine().root_device().ioport("MISC")->read();
92   device_t *ssem_cpu = machine().device("maincpu");
9393
9494   switch( (int)(FPTR)param )
9595   {
9696      case PANEL_BIT0:
97         if(edit0_state & 0x01) state->m_store[(state->m_store_line << 2) | 0] ^= 0x80;
97         if(edit0_state & 0x01) m_store[(m_store_line << 2) | 0] ^= 0x80;
9898         break;
9999      case PANEL_BIT1:
100         if(edit0_state & 0x02) state->m_store[(state->m_store_line << 2) | 0] ^= 0x40;
100         if(edit0_state & 0x02) m_store[(m_store_line << 2) | 0] ^= 0x40;
101101         break;
102102      case PANEL_BIT2:
103         if(edit0_state & 0x04) state->m_store[(state->m_store_line << 2) | 0] ^= 0x20;
103         if(edit0_state & 0x04) m_store[(m_store_line << 2) | 0] ^= 0x20;
104104         break;
105105      case PANEL_BIT3:
106         if(edit0_state & 0x08) state->m_store[(state->m_store_line << 2) | 0] ^= 0x10;
106         if(edit0_state & 0x08) m_store[(m_store_line << 2) | 0] ^= 0x10;
107107         break;
108108      case PANEL_BIT4:
109         if(edit0_state & 0x10) state->m_store[(state->m_store_line << 2) | 0] ^= 0x08;
109         if(edit0_state & 0x10) m_store[(m_store_line << 2) | 0] ^= 0x08;
110110         break;
111111      case PANEL_BIT5:
112         if(edit0_state & 0x20) state->m_store[(state->m_store_line << 2) | 0] ^= 0x04;
112         if(edit0_state & 0x20) m_store[(m_store_line << 2) | 0] ^= 0x04;
113113         break;
114114      case PANEL_BIT6:
115         if(edit0_state & 0x40) state->m_store[(state->m_store_line << 2) | 0] ^= 0x02;
115         if(edit0_state & 0x40) m_store[(m_store_line << 2) | 0] ^= 0x02;
116116         break;
117117      case PANEL_BIT7:
118         if(edit0_state & 0x80) state->m_store[(state->m_store_line << 2) | 0] ^= 0x01;
118         if(edit0_state & 0x80) m_store[(m_store_line << 2) | 0] ^= 0x01;
119119         break;
120120      case PANEL_BIT8:
121         if(edit1_state & 0x01) state->m_store[(state->m_store_line << 2) | 1] ^= 0x80;
121         if(edit1_state & 0x01) m_store[(m_store_line << 2) | 1] ^= 0x80;
122122         break;
123123      case PANEL_BIT9:
124         if(edit1_state & 0x02) state->m_store[(state->m_store_line << 2) | 1] ^= 0x40;
124         if(edit1_state & 0x02) m_store[(m_store_line << 2) | 1] ^= 0x40;
125125         break;
126126      case PANEL_BIT10:
127         if(edit1_state & 0x04) state->m_store[(state->m_store_line << 2) | 1] ^= 0x20;
127         if(edit1_state & 0x04) m_store[(m_store_line << 2) | 1] ^= 0x20;
128128         break;
129129      case PANEL_BIT11:
130         if(edit1_state & 0x08) state->m_store[(state->m_store_line << 2) | 1] ^= 0x10;
130         if(edit1_state & 0x08) m_store[(m_store_line << 2) | 1] ^= 0x10;
131131         break;
132132      case PANEL_BIT12:
133         if(edit1_state & 0x10) state->m_store[(state->m_store_line << 2) | 1] ^= 0x08;
133         if(edit1_state & 0x10) m_store[(m_store_line << 2) | 1] ^= 0x08;
134134         break;
135135      case PANEL_BIT13:
136         if(edit1_state & 0x20) state->m_store[(state->m_store_line << 2) | 1] ^= 0x04;
136         if(edit1_state & 0x20) m_store[(m_store_line << 2) | 1] ^= 0x04;
137137         break;
138138      case PANEL_BIT14:
139         if(edit1_state & 0x40) state->m_store[(state->m_store_line << 2) | 1] ^= 0x02;
139         if(edit1_state & 0x40) m_store[(m_store_line << 2) | 1] ^= 0x02;
140140         break;
141141      case PANEL_BIT15:
142         if(edit1_state & 0x80) state->m_store[(state->m_store_line << 2) | 1] ^= 0x01;
142         if(edit1_state & 0x80) m_store[(m_store_line << 2) | 1] ^= 0x01;
143143         break;
144144      case PANEL_BIT16:
145         if(edit2_state & 0x01) state->m_store[(state->m_store_line << 2) | 2] ^= 0x80;
145         if(edit2_state & 0x01) m_store[(m_store_line << 2) | 2] ^= 0x80;
146146         break;
147147      case PANEL_BIT17:
148         if(edit2_state & 0x02) state->m_store[(state->m_store_line << 2) | 2] ^= 0x40;
148         if(edit2_state & 0x02) m_store[(m_store_line << 2) | 2] ^= 0x40;
149149         break;
150150      case PANEL_BIT18:
151         if(edit2_state & 0x04) state->m_store[(state->m_store_line << 2) | 2] ^= 0x20;
151         if(edit2_state & 0x04) m_store[(m_store_line << 2) | 2] ^= 0x20;
152152         break;
153153      case PANEL_BIT19:
154         if(edit2_state & 0x08) state->m_store[(state->m_store_line << 2) | 2] ^= 0x10;
154         if(edit2_state & 0x08) m_store[(m_store_line << 2) | 2] ^= 0x10;
155155         break;
156156      case PANEL_BIT20:
157         if(edit2_state & 0x10) state->m_store[(state->m_store_line << 2) | 2] ^= 0x08;
157         if(edit2_state & 0x10) m_store[(m_store_line << 2) | 2] ^= 0x08;
158158         break;
159159      case PANEL_BIT21:
160         if(edit2_state & 0x20) state->m_store[(state->m_store_line << 2) | 2] ^= 0x04;
160         if(edit2_state & 0x20) m_store[(m_store_line << 2) | 2] ^= 0x04;
161161         break;
162162      case PANEL_BIT22:
163         if(edit2_state & 0x40) state->m_store[(state->m_store_line << 2) | 2] ^= 0x02;
163         if(edit2_state & 0x40) m_store[(m_store_line << 2) | 2] ^= 0x02;
164164         break;
165165      case PANEL_BIT23:
166         if(edit2_state & 0x80) state->m_store[(state->m_store_line << 2) | 2] ^= 0x01;
166         if(edit2_state & 0x80) m_store[(m_store_line << 2) | 2] ^= 0x01;
167167         break;
168168      case PANEL_BIT24:
169         if(edit3_state & 0x01) state->m_store[(state->m_store_line << 2) | 3] ^= 0x80;
169         if(edit3_state & 0x01) m_store[(m_store_line << 2) | 3] ^= 0x80;
170170         break;
171171      case PANEL_BIT25:
172         if(edit3_state & 0x02) state->m_store[(state->m_store_line << 2) | 3] ^= 0x40;
172         if(edit3_state & 0x02) m_store[(m_store_line << 2) | 3] ^= 0x40;
173173         break;
174174      case PANEL_BIT26:
175         if(edit3_state & 0x04) state->m_store[(state->m_store_line << 2) | 3] ^= 0x20;
175         if(edit3_state & 0x04) m_store[(m_store_line << 2) | 3] ^= 0x20;
176176         break;
177177      case PANEL_BIT27:
178         if(edit3_state & 0x08) state->m_store[(state->m_store_line << 2) | 3] ^= 0x10;
178         if(edit3_state & 0x08) m_store[(m_store_line << 2) | 3] ^= 0x10;
179179         break;
180180      case PANEL_BIT28:
181         if(edit3_state & 0x10) state->m_store[(state->m_store_line << 2) | 3] ^= 0x08;
181         if(edit3_state & 0x10) m_store[(m_store_line << 2) | 3] ^= 0x08;
182182         break;
183183      case PANEL_BIT29:
184         if(edit3_state & 0x20) state->m_store[(state->m_store_line << 2) | 3] ^= 0x04;
184         if(edit3_state & 0x20) m_store[(m_store_line << 2) | 3] ^= 0x04;
185185         break;
186186      case PANEL_BIT30:
187         if(edit3_state & 0x40) state->m_store[(state->m_store_line << 2) | 3] ^= 0x02;
187         if(edit3_state & 0x40) m_store[(m_store_line << 2) | 3] ^= 0x02;
188188         break;
189189      case PANEL_BIT31:
190         if(edit3_state & 0x80) state->m_store[(state->m_store_line << 2) | 3] ^= 0x01;
190         if(edit3_state & 0x80) m_store[(m_store_line << 2) | 3] ^= 0x01;
191191         break;
192192      case PANEL_LNUP:
193193         if(misc_state & 0x01)
194194         {
195            state->m_store_line--;
195            m_store_line--;
196196         }
197197         break;
198198      case PANEL_LNDN:
199199         if(misc_state & 0x02)
200200         {
201            state->m_store_line++;
201            m_store_line++;
202202         }
203203         break;
204204      case PANEL_HALT:
r18015r18016
212212
213213static INPUT_PORTS_START( ssem )
214214   PORT_START("EDIT0")
215      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 0")    PORT_CODE(KEYCODE_1) PORT_CHANGED(panel_check, (void*)PANEL_BIT0)
216      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 1")    PORT_CODE(KEYCODE_2) PORT_CHANGED(panel_check, (void*)PANEL_BIT1)
217      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 2")    PORT_CODE(KEYCODE_3) PORT_CHANGED(panel_check, (void*)PANEL_BIT2)
218      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 3")    PORT_CODE(KEYCODE_4) PORT_CHANGED(panel_check, (void*)PANEL_BIT3)
219      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 4")    PORT_CODE(KEYCODE_5) PORT_CHANGED(panel_check, (void*)PANEL_BIT4)
220      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 5")    PORT_CODE(KEYCODE_6) PORT_CHANGED(panel_check, (void*)PANEL_BIT5)
221      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 6")    PORT_CODE(KEYCODE_7) PORT_CHANGED(panel_check, (void*)PANEL_BIT6)
222      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 7")    PORT_CODE(KEYCODE_8) PORT_CHANGED(panel_check, (void*)PANEL_BIT7)
215      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 0")    PORT_CODE(KEYCODE_1) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT0)
216      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 1")    PORT_CODE(KEYCODE_2) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT1)
217      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 2")    PORT_CODE(KEYCODE_3) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT2)
218      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 3")    PORT_CODE(KEYCODE_4) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT3)
219      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 4")    PORT_CODE(KEYCODE_5) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT4)
220      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 5")    PORT_CODE(KEYCODE_6) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT5)
221      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 6")    PORT_CODE(KEYCODE_7) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT6)
222      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 7")    PORT_CODE(KEYCODE_8) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT7)
223223
224224   PORT_START("EDIT1")
225      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 8")    PORT_CODE(KEYCODE_Q) PORT_CHANGED(panel_check, (void*)PANEL_BIT8)
226      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 9")    PORT_CODE(KEYCODE_W) PORT_CHANGED(panel_check, (void*)PANEL_BIT9)
227      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 10")   PORT_CODE(KEYCODE_E) PORT_CHANGED(panel_check, (void*)PANEL_BIT10)
228      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 11")   PORT_CODE(KEYCODE_R) PORT_CHANGED(panel_check, (void*)PANEL_BIT11)
229      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 12")   PORT_CODE(KEYCODE_T) PORT_CHANGED(panel_check, (void*)PANEL_BIT12)
230      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 13")   PORT_CODE(KEYCODE_Y) PORT_CHANGED(panel_check, (void*)PANEL_BIT13)
231      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 14")   PORT_CODE(KEYCODE_U) PORT_CHANGED(panel_check, (void*)PANEL_BIT14)
232      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 15")   PORT_CODE(KEYCODE_I) PORT_CHANGED(panel_check, (void*)PANEL_BIT15)
225      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 8")    PORT_CODE(KEYCODE_Q) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT8)
226      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 9")    PORT_CODE(KEYCODE_W) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT9)
227      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 10")   PORT_CODE(KEYCODE_E) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT10)
228      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 11")   PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT11)
229      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 12")   PORT_CODE(KEYCODE_T) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT12)
230      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 13")   PORT_CODE(KEYCODE_Y) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT13)
231      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 14")   PORT_CODE(KEYCODE_U) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT14)
232      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 15")   PORT_CODE(KEYCODE_I) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT15)
233233
234234   PORT_START("EDIT2")
235      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 16")   PORT_CODE(KEYCODE_A) PORT_CHANGED(panel_check, (void*)PANEL_BIT16)
236      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 17")   PORT_CODE(KEYCODE_S) PORT_CHANGED(panel_check, (void*)PANEL_BIT17)
237      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 18")   PORT_CODE(KEYCODE_D) PORT_CHANGED(panel_check, (void*)PANEL_BIT18)
238      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 19")   PORT_CODE(KEYCODE_F) PORT_CHANGED(panel_check, (void*)PANEL_BIT19)
239      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 20")   PORT_CODE(KEYCODE_G) PORT_CHANGED(panel_check, (void*)PANEL_BIT20)
240      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 21")   PORT_CODE(KEYCODE_H) PORT_CHANGED(panel_check, (void*)PANEL_BIT21)
241      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 22")   PORT_CODE(KEYCODE_J) PORT_CHANGED(panel_check, (void*)PANEL_BIT22)
242      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 23")   PORT_CODE(KEYCODE_K) PORT_CHANGED(panel_check, (void*)PANEL_BIT23)
235      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 16")   PORT_CODE(KEYCODE_A) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT16)
236      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 17")   PORT_CODE(KEYCODE_S) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT17)
237      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 18")   PORT_CODE(KEYCODE_D) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT18)
238      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 19")   PORT_CODE(KEYCODE_F) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT19)
239      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 20")   PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT20)
240      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 21")   PORT_CODE(KEYCODE_H) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT21)
241      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 22")   PORT_CODE(KEYCODE_J) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT22)
242      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 23")   PORT_CODE(KEYCODE_K) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT23)
243243
244244   PORT_START("EDIT3")
245      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 24")   PORT_CODE(KEYCODE_Z) PORT_CHANGED(panel_check, (void*)PANEL_BIT24)
246      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 25")   PORT_CODE(KEYCODE_X) PORT_CHANGED(panel_check, (void*)PANEL_BIT25)
247      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 26")   PORT_CODE(KEYCODE_C) PORT_CHANGED(panel_check, (void*)PANEL_BIT26)
248      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 27")   PORT_CODE(KEYCODE_V) PORT_CHANGED(panel_check, (void*)PANEL_BIT27)
249      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 28")   PORT_CODE(KEYCODE_B) PORT_CHANGED(panel_check, (void*)PANEL_BIT28)
250      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 29")   PORT_CODE(KEYCODE_N) PORT_CHANGED(panel_check, (void*)PANEL_BIT29)
251      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 30")   PORT_CODE(KEYCODE_M) PORT_CHANGED(panel_check, (void*)PANEL_BIT30)
252      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 31")   PORT_CODE(KEYCODE_COMMA) PORT_CHANGED(panel_check, (void*)PANEL_BIT31)
245      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 24")   PORT_CODE(KEYCODE_Z) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT24)
246      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 25")   PORT_CODE(KEYCODE_X) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT25)
247      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 26")   PORT_CODE(KEYCODE_C) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT26)
248      PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 27")   PORT_CODE(KEYCODE_V) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT27)
249      PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 28")   PORT_CODE(KEYCODE_B) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT28)
250      PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 29")   PORT_CODE(KEYCODE_N) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT29)
251      PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 30")   PORT_CODE(KEYCODE_M) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT30)
252      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Bit 31")   PORT_CODE(KEYCODE_COMMA) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_BIT31)
253253
254254   PORT_START("MISC")
255      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Line Up")   PORT_CODE(KEYCODE_UP)   PORT_CHANGED(panel_check, (void*)PANEL_LNUP)
256      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Line Down") PORT_CODE(KEYCODE_DOWN) PORT_CHANGED(panel_check, (void*)PANEL_LNDN)
257      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Halt") PORT_CHANGED(panel_check, (void*)PANEL_HALT)
255      PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Line Up")   PORT_CODE(KEYCODE_UP)   PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_LNUP)
256      PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Line Down") PORT_CODE(KEYCODE_DOWN) PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_LNDN)
257      PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Halt") PORT_CHANGED_MEMBER(DEVICE_SELF, ssem_state, panel_check, (void*)PANEL_HALT)
258258      PORT_BIT(0xf8, IP_ACTIVE_HIGH, IPT_UNUSED)
259259INPUT_PORTS_END
260260
trunk/src/mess/drivers/qx10.c
r18015r18016
139139   }m_rs232c;
140140
141141   virtual void palette_init();
142   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
142143};
143144
144145static UPD7220_DISPLAY_PIXELS( hgdc_display_pixels )
r18015r18016
686687
687688/* Input ports */
688689/* TODO: shift break */
689static INPUT_CHANGED( key_stroke )
690INPUT_CHANGED_MEMBER(qx10_state::key_stroke)
690691{
691   qx10_state *state = field.machine().driver_data<qx10_state>();
692692
693693   if(newval && !oldval)
694694   {
695      state->m_keyb.rx = (UINT8)(FPTR)(param) & 0x7f;
696      pic8259_ir4_w(field.machine().device("pic8259_master"), 1);
695      m_keyb.rx = (UINT8)(FPTR)(param) & 0x7f;
696      pic8259_ir4_w(machine().device("pic8259_master"), 1);
697697   }
698698
699699   if(oldval && !newval)
700      state->m_keyb.rx = 0;
700      m_keyb.rx = 0;
701701}
702702
703703static INPUT_PORTS_START( qx10 )
704704/* TODO: Several buttons (namely the UNDO / STORE / RETRIEVE etc.) are presumably multiple keypresses */
705705   PORT_START("KEY0") // 0x00 - 0x07
706706   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED)
707   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("UNDO") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x01)
708   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H1)") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x02)
709   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STORE") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x03)
710   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETRIEVE") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x04)
711   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PRINT") /*PORT_CODE(KEYCODE_5) PORT_CHAR('5')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x05)
712   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("INDEX") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x06)
713   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MAIL") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x07)
707   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("UNDO") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x01)
708   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H1)") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x02)
709   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STORE") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x03)
710   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETRIEVE") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x04)
711   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("PRINT") /*PORT_CODE(KEYCODE_5) PORT_CHAR('5')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x05)
712   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("INDEX") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x06)
713   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MAIL") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x07)
714714
715715   PORT_START("KEY1") // 0x08 - 0x0f
716   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H2)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x08)
717   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MENU") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x09)
718   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CALC") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0a)
719   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SCHED") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0b)
720   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DRAW") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0c)
721   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H3)") /*PORT_CODE(KEYCODE_5) PORT_CHAR('5')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0d)
722   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BOLD") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0e)
723   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ITALIC") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x0f)
716   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H2)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x08)
717   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MENU") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x09)
718   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CALC") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0a)
719   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SCHED") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0b)
720   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DRAW") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0c)
721   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H3)") /*PORT_CODE(KEYCODE_5) PORT_CHAR('5')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0d)
722   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BOLD") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0e)
723   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ITALIC") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x0f)
724724
725725   PORT_START("KEY2") // 0x10 - 0x17
726   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x10)
727   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x11)
728   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x12)
729   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x13)
730   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x14)
731   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ENTER (PAD)") PORT_CODE(KEYCODE_ENTER_PAD) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x15)
732   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(". (PAD)") PORT_CODE(KEYCODE_DEL_PAD) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x16)
733   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0 (PAD)") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x17)
726   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x10)
727   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x11)
728   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x12)
729   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x13)
730   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x14)
731   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("ENTER (PAD)") PORT_CODE(KEYCODE_ENTER_PAD) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x15)
732   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(". (PAD)") PORT_CODE(KEYCODE_DEL_PAD) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x16)
733   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0 (PAD)") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x17)
734734
735735   PORT_START("KEY3") // 0x18 - 0x1f
736   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("= (PAD)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x18)
737   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6 (PAD)") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x19)
738   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5 (PAD)") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1a)
739   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4 (PAD)") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1b)
740   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H5)") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1c)
741   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H4)") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1d)
742   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STYLE") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1e)
743   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SIZE") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x1f)
736   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("= (PAD)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x18)
737   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6 (PAD)") PORT_CODE(KEYCODE_6_PAD) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x19)
738   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5 (PAD)") PORT_CODE(KEYCODE_5_PAD) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1a)
739   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4 (PAD)") PORT_CODE(KEYCODE_4_PAD) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1b)
740   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H5)") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1c)
741   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H4)") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1d)
742   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STYLE") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1e)
743   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SIZE") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x1f)
744744
745745   PORT_START("KEY4") // 0x20 - 0x27
746   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_RSHIFT) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x20)
747   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x21)
748   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x22)
749   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x23)
750   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x24)
751   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3 (PAD)") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x25)
752   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2 (PAD)") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x26)
753   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1 (PAD)") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x27)
746   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RSHIFT") PORT_CODE(KEYCODE_RSHIFT) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x20)
747   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x21)
748   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x22)
749   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x23)
750   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x24)
751   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3 (PAD)") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x25)
752   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2 (PAD)") PORT_CODE(KEYCODE_2_PAD) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x26)
753   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1 (PAD)") PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x27)
754754
755755   PORT_START("KEY5") // 0x28 - 0x2f
756   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("+ (PAD)") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR('+') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x28)
757   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9 (PAD)") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x29)
758   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8 (PAD)") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2a)
759   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7 (PAD)") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2b)
760   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("- (PAD)") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2c)
761   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("* (PAD)") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('*') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2d)
762   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/ (PAD)") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2e)
763   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DEC TAB") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x2f)
756   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("+ (PAD)") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR('+') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x28)
757   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9 (PAD)") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x29)
758   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8 (PAD)") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2a)
759   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7 (PAD)") PORT_CODE(KEYCODE_7_PAD) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2b)
760   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("- (PAD)") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR('-') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2c)
761   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("* (PAD)") PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('*') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2d)
762   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("/ (PAD)") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR('/') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2e)
763   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DEC TAB") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x2f)
764764
765765   PORT_START("KEY6") // 0x30 - 0x37
766   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x30)
767   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H6)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x31)
768   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x32)
769   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x33)
770   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x34)
771   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x35)
772   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x36)
773   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x37)
766   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LSHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x30)
767   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("(H6)") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x31)
768   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x32)
769   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Z") PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x33)
770   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("X") PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x34)
771   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x35)
772   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("V") PORT_CODE(KEYCODE_V) PORT_CHAR('V') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x36)
773   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x37)
774774
775775   /* TODO: check 0x3a - 0x3b */
776776   PORT_START("KEY7") // 0x38 - 0x3f
777   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x38)
778   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x39)
779   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(",") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3a)
780   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(".") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3b)
781   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) /*PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3c)
782   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3d)
783   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3e)
784   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) /*PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x3f)
777   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("N") PORT_CODE(KEYCODE_N) PORT_CHAR('N') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x38)
778   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("M") PORT_CODE(KEYCODE_M) PORT_CHAR('M') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x39)
779   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(",") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3a)
780   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(".") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3b)
781   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) /*PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3c)
782   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3d)
783   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3e)
784   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) /*PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x3f)
785785
786786   PORT_START("KEY8") // 0x40 - 0x47
787   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x40)
788   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB REL") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x41)
789   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SHIFT LOCK") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x42)
790   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x43)
791   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x44)
792   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x45)
793   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x46)
794   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x47)
787   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x40)
788   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB REL") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x41)
789   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("SHIFT LOCK") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x42)
790   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x43)
791   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("S") PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x44)
792   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x45)
793   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x46)
794   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("G") PORT_CODE(KEYCODE_G) PORT_CHAR('G') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x47)
795795
796796   PORT_START("KEY9") // 0x48 - 0x4f
797   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x48)
798   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x49)
799   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4a)
800   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4b)
801   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(";") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4c)
802   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9-6") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4d)
803   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(0x0d) PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4e)
804   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("? /") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x4f)
797   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("H") PORT_CODE(KEYCODE_H) PORT_CHAR('H') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x48)
798   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("J") PORT_CODE(KEYCODE_J) PORT_CHAR('J') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x49)
799   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("K") PORT_CODE(KEYCODE_K) PORT_CHAR('K') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4a)
800   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("L") PORT_CODE(KEYCODE_L) PORT_CHAR('L') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4b)
801   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME(";") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4c)
802   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9-6") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4d)
803   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RETURN") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(0x0d) PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4e)
804   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("? /") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x4f)
805805
806806   PORT_START("KEYA") // 0x50 - 0x57
807   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RCTRL") PORT_CODE(KEYCODE_RCONTROL) /*PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x50)
808   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x51)
809   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x52)
810   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x53)
811   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x54)
812   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x55)
813   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x56)
814   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x57)
807   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("RCTRL") PORT_CODE(KEYCODE_RCONTROL) /*PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x50)
808   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x51)
809   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("W") PORT_CODE(KEYCODE_W) PORT_CHAR('W') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x52)
810   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x53)
811   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("R") PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x54)
812   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("T") PORT_CODE(KEYCODE_T) PORT_CHAR('T') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x55)
813   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("Y") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x56)
814   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("U") PORT_CODE(KEYCODE_U) PORT_CHAR('U') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x57)
815815
816816   PORT_START("KEYB") // 0x58 - 0x5f
817   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x58)
818   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x59)
819   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5a)
820   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1/2 1/4") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5b)
821   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("< [") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5c)
822   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("> ]") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5d)
823   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("INSERT") PORT_CODE(KEYCODE_INSERT) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5e)
824   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("WORD") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x5f)
817   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("I") PORT_CODE(KEYCODE_I) PORT_CHAR('I') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x58)
818   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("O") PORT_CODE(KEYCODE_O) PORT_CHAR('O') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x59)
819   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P) PORT_CHAR('P') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5a)
820   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1/2 1/4") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5b)
821   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("< [") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5c)
822   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("> ]") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5d)
823   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("INSERT") PORT_CODE(KEYCODE_INSERT) /*PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5e)
824   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("WORD") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x5f)
825825
826826   PORT_START("KEYC") // 0x60 - 0x67
827   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("GRPH SHIFT") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x60)
828   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x61)
829   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x62)
830   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x63)
831   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x64)
832   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x65)
833   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x66)
834   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x67)
827   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("GRPH SHIFT") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x60)
828   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x61)
829   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x62)
830   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x63)
831   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x64)
832   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x65)
833   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x66)
834   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x67)
835835
836836   PORT_START("KEYD") // 0x68 - 0x6f
837   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x68)
838   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x69)
839   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("-") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6a)
840   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("=") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6b)
841   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\\") PORT_CODE(KEYCODE_BACKSLASH) /*PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6c)
842   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6d)
843   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D-7") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6e)
844   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LINE") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x6f)
837   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x68)
838   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x69)
839   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("-") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6a)
840   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("=") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6b)
841   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("\\") PORT_CODE(KEYCODE_BACKSLASH) /*PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6c)
842   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("BACKSPACE") PORT_CODE(KEYCODE_BACKSPACE) /*PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6d)
843   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("D-7") /*PORT_CODE(KEYCODE_6) PORT_CHAR('6')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6e)
844   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LINE") /*PORT_CODE(KEYCODE_7) PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x6f)
845845
846846   PORT_START("KEYE") // 0x70 - 0x77
847   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LCTRL") PORT_CODE(KEYCODE_LCONTROL) /*PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x70)
848   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("COPY DISK") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x71)
849   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("HELP") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x72)
850   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STOP") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x73)
851   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MAR SEL") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x74)
852   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("^") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x75)
853   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x76)
854   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) /*PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x77)
847   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("LCTRL") PORT_CODE(KEYCODE_LCONTROL) /*PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x70)
848   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("COPY DISK") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x71)
849   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("HELP") /*PORT_CODE(KEYCODE_2) PORT_CHAR('2')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x72)
850   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("STOP") /*PORT_CODE(KEYCODE_3) PORT_CHAR('3')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x73)
851   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("MAR SEL") /*PORT_CODE(KEYCODE_4) PORT_CHAR('4')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x74)
852   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("^") /*PORT_CODE(KEYCODE_5) PORT_CHAR(0xd)*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x75)
853   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x76)
854   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB") PORT_CODE(KEYCODE_TAB) /*PORT_CHAR('7')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x77)
855855
856856   PORT_START("KEYF") // 0x78 - 0x7f
857   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB SET") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED(key_stroke, 0x78)
858   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x79)
859   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7a)
860   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7b)
861   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7c)
862   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7d)
863   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7e)
864   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED(key_stroke, 0x7f)
857   PORT_BIT(0x01,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("TAB SET") /*PORT_CODE(KEYCODE_1) PORT_CHAR('1')*/ PORT_IMPULSE(1) PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x78)
858   PORT_BIT(0x02,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x79)
859   PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7a)
860   PORT_BIT(0x08,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7b)
861   PORT_BIT(0x10,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7c)
862   PORT_BIT(0x20,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7d)
863   PORT_BIT(0x40,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7e)
864   PORT_BIT(0x80,IP_ACTIVE_HIGH,IPT_UNUSED) //PORT_CHANGED_MEMBER(DEVICE_SELF, qx10_state, key_stroke, 0x7f)
865865
866866   /* TODO: All of those have unknown meaning */
867867   PORT_START("DSW")
trunk/src/mess/drivers/crvision.c
r18015r18016
198198***************************************************************************/
199199
200200/*-------------------------------------------------
201    INPUT_CHANGED( trigger_nmi )
201    INPUT_CHANGED_MEMBER( trigger_nmi )
202202-------------------------------------------------*/
203203
204204INPUT_CHANGED_MEMBER( crvision_state::trigger_nmi )
trunk/src/mess/drivers/gizmondo.c
r18015r18016
6363   DECLARE_DRIVER_INIT(gizmondo);
6464   virtual void machine_start();
6565   virtual void machine_reset();
66   DECLARE_INPUT_CHANGED_MEMBER(port_changed);
6667};
6768
6869/*******************************************************************************
r18015r18016
117118   gizmondo->m_port[port] = data;
118119}
119120
120static INPUT_CHANGED( port_changed )
121INPUT_CHANGED_MEMBER(gizmondo_state::port_changed)
121122{
122   gizmondo_state *gizmondo = field.machine().driver_data<gizmondo_state>();
123   s3c2440_request_eint( gizmondo->m_s3c2440, 4);
123   s3c2440_request_eint( m_s3c2440, 4);
124124   //s3c2440_request_irq( device, S3C2440_INT_EINT1);
125125}
126126
r18015r18016
218218
219219static INPUT_PORTS_START( gizmondo )
220220   PORT_START( "PORTF-01" )
221   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("STOP") PORT_PLAYER(1)
222   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED(port_changed, NULL) PORT_PLAYER(1)
221   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("STOP") PORT_PLAYER(1)
222   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_PLAYER(1)
223223   PORT_START( "PORTF-02" )
224   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("F2") PORT_PLAYER(1) PORT_CODE(KEYCODE_F2)
225   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("FORWARD") PORT_PLAYER(1)
226   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED(port_changed, NULL) PORT_PLAYER(1)
224   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("F2") PORT_PLAYER(1) PORT_CODE(KEYCODE_F2)
225   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("FORWARD") PORT_PLAYER(1)
226   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_PLAYER(1)
227227   PORT_START( "PORTF-04" )
228   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("F3") PORT_PLAYER(1) PORT_CODE(KEYCODE_F3)
229   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("PLAY") PORT_PLAYER(1)
230   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED(port_changed, NULL) PORT_PLAYER(1)
228   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("F3") PORT_PLAYER(1) PORT_CODE(KEYCODE_F3)
229   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("PLAY") PORT_PLAYER(1)
230   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_PLAYER(1)
231231   PORT_START( "PORTF-08" )
232   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("F4") PORT_PLAYER(1) PORT_CODE(KEYCODE_F4)
233   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("REWIND") PORT_PLAYER(1)
234   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED(port_changed, NULL) PORT_PLAYER(1)
232   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("F4") PORT_PLAYER(1) PORT_CODE(KEYCODE_F4)
233   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("REWIND") PORT_PLAYER(1)
234   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_PLAYER(1)
235235   PORT_START( "PORTF-10" )
236   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("L") PORT_PLAYER(1) PORT_CODE(KEYCODE_L)
237   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("R") PORT_PLAYER(1) PORT_CODE(KEYCODE_R)
236   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("L") PORT_PLAYER(1) PORT_CODE(KEYCODE_L)
237   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("R") PORT_PLAYER(1) PORT_CODE(KEYCODE_R)
238238   PORT_START( "PORTF" )
239   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("F5") PORT_PLAYER(1) PORT_CODE(KEYCODE_F5)
239   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("F5") PORT_PLAYER(1) PORT_CODE(KEYCODE_F5)
240240   PORT_START( "PORTG" )
241   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_CHANGED(port_changed, NULL) PORT_NAME("F1") PORT_PLAYER(1) PORT_CODE(KEYCODE_F1)
241   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_CHANGED_MEMBER(DEVICE_SELF, gizmondo_state, port_changed, NULL) PORT_NAME("F1") PORT_PLAYER(1) PORT_CODE(KEYCODE_F1)
242242INPUT_PORTS_END
243243
244244/*******************************************************************************
trunk/src/mess/drivers/amstrad.c
r18015r18016
314314
315315
316316/* Steph 2000-10-27 I remapped the 'Machine Name' Dip Switches (easier to understand) */
317static INPUT_CHANGED( cpc_monitor_changed )
317INPUT_CHANGED_MEMBER(amstrad_state::cpc_monitor_changed)
318318{
319   running_machine &machine = field.machine();
320   amstrad_state *drvstate = machine.driver_data<amstrad_state>();
321   if ( (machine.root_device().ioport("green_display")->read()) & 0x01 )
319   if ( (machine().root_device().ioport("green_display")->read()) & 0x01 )
322320   {
323      drvstate->PALETTE_INIT_CALL_MEMBER( amstrad_cpc_green );
321      PALETTE_INIT_CALL_MEMBER( amstrad_cpc_green );
324322   }
325323   else
326324   {
327      drvstate->PALETTE_INIT_CALL_MEMBER( amstrad_cpc );
325      PALETTE_INIT_CALL_MEMBER( amstrad_cpc );
328326   }
329327}
330328
r18015r18016
386384//  PORT_CONFSETTING(M6845_PERSONALITY_PREASIC, "Type 4 - Pre-ASIC")
387385
388386   PORT_START("green_display")
389   PORT_CONFNAME( 0x01, 0x00, "Monitor" ) PORT_CHANGED( cpc_monitor_changed, 0 )
387   PORT_CONFNAME( 0x01, 0x00, "Monitor" ) PORT_CHANGED_MEMBER(DEVICE_SELF, amstrad_state, cpc_monitor_changed, 0 )
390388   PORT_CONFSETTING(0x00, "CTM640 Colour Monitor" )
391389   PORT_CONFSETTING(0x01, "GT64 Green Monitor" )
392390
trunk/src/mess/drivers/sms.c
r18015r18016
183183   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START ) PORT_NAME(DEF_STR(Pause))
184184
185185   PORT_START("LPHASER0")   /* Light phaser X - player 1 */
186   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR( X, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_CHANGED(lgun1_changed, NULL) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
186   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR( X, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, sms_state, lgun1_changed, NULL) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
187187
188188   PORT_START("LPHASER1")   /* Light phaser Y - player 1 */
189   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR( Y, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_CHANGED(lgun1_changed, NULL) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
189   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR( Y, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, sms_state, lgun1_changed, NULL) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x01)
190190
191191   PORT_START("LPHASER2")   /* Light phaser X - player 2 */
192   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR( X, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_CHANGED(lgun2_changed, NULL) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
192   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR( X, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_CHANGED_MEMBER(DEVICE_SELF, sms_state, lgun2_changed, NULL) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
193193
194194   PORT_START("LPHASER3")   /* Light phaser Y - player 2 */
195   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR( Y, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(25) PORT_PLAYER(2) PORT_CHANGED(lgun2_changed, NULL) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
195   PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR( Y, 1.0, 0.0, 0 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(25) PORT_PLAYER(2) PORT_CHANGED_MEMBER(DEVICE_SELF, sms_state, lgun2_changed, NULL) PORT_CONDITION("CTRLSEL", 0xf0, EQUALS, 0x10)
196196
197197   PORT_START("RFU")   /* Rapid Fire Unit */
198198   PORT_CONFNAME( 0x03, 0x00, "Rapid Fire Unit - Player 1" )
trunk/src/mess/drivers/junior.c
r18015r18016
4747   UINT8 m_led_time[6];
4848   virtual void machine_start();
4949   virtual void machine_reset();
50   DECLARE_INPUT_CHANGED_MEMBER(junior_reset);
5051};
5152
5253
r18015r18016
6263ADDRESS_MAP_END
6364
6465
65static INPUT_CHANGED( junior_reset )
66INPUT_CHANGED_MEMBER(junior_state::junior_reset)
6667{
6768   if (newval == 0)
68      field.machine().firstcpu->reset();
69      machine().firstcpu->reset();
6970}
7071
7172
r18015r18016
104105   PORT_START("LINE3")         /* IN3 STEP and RESET keys, MODE switch */
105106   PORT_BIT( 0x80, 0x00, IPT_UNUSED )
106107   PORT_BIT( 0x40, 0x40, IPT_KEYBOARD ) PORT_NAME("sw1: ST") PORT_CODE(KEYCODE_F7)
107   PORT_BIT( 0x20, 0x20, IPT_KEYBOARD ) PORT_NAME("sw2: RST") PORT_CODE(KEYCODE_F3) PORT_CHANGED(junior_reset, NULL)
108   PORT_BIT( 0x20, 0x20, IPT_KEYBOARD ) PORT_NAME("sw2: RST") PORT_CODE(KEYCODE_F3) PORT_CHANGED_MEMBER(DEVICE_SELF, junior_state, junior_reset, NULL)
108109   PORT_DIPNAME(0x10, 0x10, "sw3: SS (NumLock)") PORT_CODE(KEYCODE_NUMLOCK) PORT_TOGGLE
109110   PORT_DIPSETTING( 0x00, "single step")
110111   PORT_DIPSETTING( 0x10, "run")
trunk/src/mess/drivers/comx35.c
r18015r18016
135135//**************************************************************************
136136
137137//-------------------------------------------------
138//  INPUT_CHANGED( comx35_reset )
138//  INPUT_CHANGED_MEMBER( comx35_reset )
139139//-------------------------------------------------
140140
141141INPUT_CHANGED_MEMBER( comx35_state::trigger_reset )
trunk/src/mess/drivers/pockstat.c
r18015r18016
123123   virtual void machine_start();
124124   virtual void machine_reset();
125125   UINT32 screen_update_pockstat(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
126   DECLARE_INPUT_CHANGED_MEMBER(input_update);
126127};
127128
128129
r18015r18016
770771   }
771772}
772773
773static INPUT_CHANGED( input_update )
774INPUT_CHANGED_MEMBER(pockstat_state::input_update)
774775{
775   UINT32 buttons = field.machine().root_device().ioport("BUTTONS")->read();
776   UINT32 buttons = machine().root_device().ioport("BUTTONS")->read();
776777
777   ps_intc_set_interrupt_line(field.machine(), PS_INT_BTN_ACTION, (buttons &  1) ? 1 : 0);
778   ps_intc_set_interrupt_line(field.machine(), PS_INT_BTN_RIGHT,   (buttons &  2) ? 1 : 0);
779   ps_intc_set_interrupt_line(field.machine(), PS_INT_BTN_LEFT,   (buttons &  4) ? 1 : 0);
780   ps_intc_set_interrupt_line(field.machine(), PS_INT_BTN_DOWN,   (buttons &  8) ? 1 : 0);
781   ps_intc_set_interrupt_line(field.machine(), PS_INT_BTN_UP,   (buttons & 16) ? 1 : 0);
778   ps_intc_set_interrupt_line(machine(), PS_INT_BTN_ACTION, (buttons &  1) ? 1 : 0);
779   ps_intc_set_interrupt_line(machine(), PS_INT_BTN_RIGHT,   (buttons &  2) ? 1 : 0);
780   ps_intc_set_interrupt_line(machine(), PS_INT_BTN_LEFT,   (buttons &  4) ? 1 : 0);
781   ps_intc_set_interrupt_line(machine(), PS_INT_BTN_DOWN,   (buttons &  8) ? 1 : 0);
782   ps_intc_set_interrupt_line(machine(), PS_INT_BTN_UP,   (buttons & 16) ? 1 : 0);
782783}
783784
784785READ32_MEMBER(pockstat_state::ps_rombank_r)
r18015r18016
861862/* Input ports */
862863static INPUT_PORTS_START( pockstat )
863864   PORT_START("BUTTONS")
864   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1)      PORT_NAME("Action Button")   PORT_CHANGED(input_update, 0)
865   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_NAME("Right")         PORT_CHANGED(input_update, 0)
866   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT)   PORT_NAME("Left")         PORT_CHANGED(input_update, 0)
867   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN)   PORT_NAME("Down")         PORT_CHANGED(input_update, 0)
868   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP)   PORT_NAME("Up")            PORT_CHANGED(input_update, 0)
865   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1)      PORT_NAME("Action Button")   PORT_CHANGED_MEMBER(DEVICE_SELF, pockstat_state, input_update, 0)
866   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_NAME("Right")         PORT_CHANGED_MEMBER(DEVICE_SELF, pockstat_state, input_update, 0)
867   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT)   PORT_NAME("Left")         PORT_CHANGED_MEMBER(DEVICE_SELF, pockstat_state, input_update, 0)
868   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN)   PORT_NAME("Down")         PORT_CHANGED_MEMBER(DEVICE_SELF, pockstat_state, input_update, 0)
869   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP)   PORT_NAME("Up")            PORT_CHANGED_MEMBER(DEVICE_SELF, pockstat_state, input_update, 0)
869870   PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED)
870871INPUT_PORTS_END
871872
trunk/src/mess/drivers/vidbrain.c
r18015r18016
262262//**************************************************************************
263263
264264//-------------------------------------------------
265//  INPUT_CHANGED( trigger_reset )
265//  INPUT_CHANGED_MEMBER( trigger_reset )
266266//-------------------------------------------------
267267
268268INPUT_CHANGED_MEMBER( vidbrain_state::trigger_reset )
trunk/src/mess/drivers/z80ne.c
r18015r18016
222222PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
223223
224224PORT_START("RST")         /* RESET key */
225PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LX.384 Reset")  PORT_CODE(KEYCODE_F3) PORT_CHANGED(z80ne_reset, NULL)
225PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("LX.384 Reset")  PORT_CODE(KEYCODE_F3) PORT_CHANGED_MEMBER(DEVICE_SELF, z80ne_state, z80ne_reset, NULL)
226226
227227/* Settings */
228228PORT_START("LX.385")
r18015r18016
243243
244244/* LX.388 Keyboard BREAK key */
245245PORT_START("LX388_BRK")
246PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Break") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHANGED(z80ne_nmi, NULL)
246PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("Break") PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHANGED_MEMBER(DEVICE_SELF, z80ne_state, z80ne_nmi, NULL)
247247
248248/* LX.388 Keyboard (Encoded by KR2376) */
249249
trunk/src/mess/drivers/esq1.c
r18015r18016
9292    UINT8 m_seqram[0x10000];
9393    UINT8 m_dosram[0x2000];
9494   virtual void machine_reset();
95   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
9596};
9697
9798
r18015r18016
235236}
236237
237238#if KEYBOARD_HACK
238static INPUT_CHANGED( key_stroke )
239INPUT_CHANGED_MEMBER(esq1_state::key_stroke)
239240{
240241   esq1_state *state = device.machine().driver_data<esq1_state>();
241242
242243    if (oldval == 0 && newval == 1)
243244    {
244245        printf("key on %02x\n", (int)(FPTR)param);
245        duart68681_rx_data(state->m_duart, 1, (UINT8)(FPTR)param);
246        duart68681_rx_data(m_duart, 1, (UINT8)(FPTR)param);
246247    }
247248    else if (oldval == 1 && newval == 0)
248249    {
249250        printf("key off %02x\n", (int)(FPTR)param);
250//        duart68681_rx_data(state->m_duart, 1, (UINT8)(FPTR)param-0x40);
251//        duart68681_rx_data(m_duart, 1, (UINT8)(FPTR)param-0x40);
251252    }
252253}
253254#endif
r18015r18016
288289static INPUT_PORTS_START( esq1 )
289290    #if KEYBOARD_HACK
290291    PORT_START("KEY0")
291   PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A)          PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED(key_stroke, 0x80)
292   PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S)          PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED(key_stroke, 0x81)
293   PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D)          PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED(key_stroke, 0x82)
294   PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F)          PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED(key_stroke, 0x83)
295   PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_G)          PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED(key_stroke, 0x84)
296   PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_H)          PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED(key_stroke, 0x85)
297   PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_J)          PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED(key_stroke, 0x86)
298   PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K)          PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED(key_stroke, 0x87)
299   PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L)          PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED(key_stroke, 0x88)
300   PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q)          PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED(key_stroke, 0x89)
301   PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W)             PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED(key_stroke, 0x8a)
302   PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B)          PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED(key_stroke, 0x8b)
303   PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q)          PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED(key_stroke, 0x8c)
304   PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W)          PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED(key_stroke, 0x8d)
305   PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E)          PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED(key_stroke, 0x8e)
306   PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R)          PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED(key_stroke, 0x8f)
292   PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A)          PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x80)
293   PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S)          PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x81)
294   PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D)          PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x82)
295   PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F)          PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x83)
296   PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_G)          PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x84)
297   PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_H)          PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x85)
298   PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_J)          PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x86)
299   PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K)          PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x87)
300   PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L)          PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x88)
301   PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q)          PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x89)
302   PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W)             PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8a)
303   PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B)          PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8b)
304   PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q)          PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8c)
305   PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W)          PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8d)
306   PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E)          PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8e)
307   PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R)          PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x8f)
307308
308309   PORT_START("KEY1")
309   PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1)          PORT_CHAR('1') PORT_CHANGED(key_stroke, 0x0c)
310   PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2)          PORT_CHAR('2') PORT_CHANGED(key_stroke, 0x0d)
311   PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3)          PORT_CHAR('3') PORT_CHANGED(key_stroke, 0x0e)
312   PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4)          PORT_CHAR('4') PORT_CHANGED(key_stroke, 0x15)
313   PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5)          PORT_CHAR('5') PORT_CHANGED(key_stroke, 0x0f)
314   PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6)          PORT_CHAR('6') PORT_CHANGED(key_stroke, 0x10)
315   PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7)          PORT_CHAR('7') PORT_CHANGED(key_stroke, 0x11)
316   PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8)          PORT_CHAR('8') PORT_CHANGED(key_stroke, 0x12)
317   PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9)          PORT_CHAR('9') PORT_CHANGED(key_stroke, 0x13)
318   PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0)          PORT_CHAR('0') PORT_CHANGED(key_stroke, 0x14)
310   PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_1)          PORT_CHAR('1') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x0c)
311   PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_2)          PORT_CHAR('2') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x0d)
312   PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_3)          PORT_CHAR('3') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x0e)
313   PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_4)          PORT_CHAR('4') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x15)
314   PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_5)          PORT_CHAR('5') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x0f)
315   PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_6)          PORT_CHAR('6') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x10)
316   PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_7)          PORT_CHAR('7') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x11)
317   PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_8)          PORT_CHAR('8') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x12)
318   PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_9)          PORT_CHAR('9') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x13)
319   PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_0)          PORT_CHAR('0') PORT_CHANGED_MEMBER(DEVICE_SELF, esq1_state, key_stroke, 0x14)
319320    #endif
320321INPUT_PORTS_END
321322
trunk/src/mess/drivers/dragon.c
r18015r18016
4949 */
5050static INPUT_PORTS_START( dragon32 )
5151   PORT_START("row0")
52   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
53   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
54   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
55   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
56   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
57   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
58   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
59   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
52   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
53   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
54   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
55   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
56   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
57   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
58   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
59   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
6060
6161   PORT_START("row1")
62   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
63   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
64   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
65   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
66   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
67   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
68   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
69   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
62   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
63   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
64   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
65   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
66   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
67   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=')
68   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
69   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
7070
7171   PORT_START("row2")
72   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
73   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
74   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
75   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
76   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
77   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
78   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
79   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
72   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
73   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
74   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
75   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
76   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
77   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
78   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
79   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
8080
8181   PORT_START("row3")
82   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
83   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
84   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
85   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
86   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
87   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
88   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
89   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
82   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
83   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
84   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
85   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
86   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
87   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
88   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
89   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
9090
9191   PORT_START("row4")
92   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
93   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
94   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
95   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
96   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
97   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
98   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
99   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
92   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
93   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
94   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
95   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
96   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
97   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
98   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
99   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
100100
101101   PORT_START("row5")
102   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
103   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
104   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
105   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
106   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
107   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
108   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
109   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
102   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
103   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
104   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
105   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
106   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
107   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
108   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
109   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
110110
111111   PORT_START("row6")
112   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
113   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
114   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
112   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
113   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
114   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
115115   PORT_BIT(0x78, IP_ACTIVE_LOW, IPT_UNUSED)
116   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(dragon_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
116   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, dragon_state, dragon_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
117117INPUT_PORTS_END
118118
119119static SLOT_INTERFACE_START(dragon_cart)
trunk/src/mess/drivers/hp49gp.c
r18015r18016
4646   DECLARE_DRIVER_INIT(hp49gp);
4747   virtual void machine_start();
4848   virtual void machine_reset();
49   DECLARE_INPUT_CHANGED_MEMBER(port_changed);
4950};
5051
5152/***************************************************************************
r18015r18016
231232
232233// ...
233234
234static INPUT_CHANGED( port_changed )
235INPUT_CHANGED_MEMBER(hp49gp_state::port_changed)
235236{
236   hp49gp_state *hp49gp = field.machine().driver_data<hp49gp_state>();
237   s3c2410_request_eint( hp49gp->m_s3c2410, (FPTR)param + 8);
237   s3c2410_request_eint( m_s3c2410, (FPTR)param + 8);
238238}
239239
240240// ...
r18015r18016
311311
312312static INPUT_PORTS_START( hp49gp )
313313   PORT_START("ROW1")
314   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)1) PORT_NAME("F1 | A | Y=") PORT_CODE(KEYCODE_F1) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
314   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)1) PORT_NAME("F1 | A | Y=") PORT_CODE(KEYCODE_F1) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
315315   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
316316   PORT_START("ROW2")
317   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)2) PORT_NAME("F2 | B | WIN") PORT_CODE(KEYCODE_F2)
317   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)2) PORT_NAME("F2 | B | WIN") PORT_CODE(KEYCODE_F2)
318318   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
319319   PORT_START("ROW3")
320   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)3) PORT_NAME("F3 | C | GRAPH") PORT_CODE(KEYCODE_F3)
320   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)3) PORT_NAME("F3 | C | GRAPH") PORT_CODE(KEYCODE_F3)
321321   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
322322   PORT_START("ROW4")
323   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)4) PORT_NAME("F4 | D | 2D/3D") PORT_CODE(KEYCODE_F4)
323   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)4) PORT_NAME("F4 | D | 2D/3D") PORT_CODE(KEYCODE_F4)
324324   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
325325   PORT_START("ROW5")
326   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)5) PORT_NAME("F5 | E | TBLSET") PORT_CODE(KEYCODE_F5)
326   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)5) PORT_NAME("F5 | E | TBLSET") PORT_CODE(KEYCODE_F5)
327327   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
328328   PORT_START("ROW6")
329   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)6) PORT_NAME("F6 | F | TABLE") PORT_CODE(KEYCODE_F6)
329   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)6) PORT_NAME("F6 | F | TABLE") PORT_CODE(KEYCODE_F6)
330330   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
331331   PORT_START("ROW7")
332   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(port_changed, (void *)7) PORT_NAME("APPS | G | FILES | BEGIN") PORT_CODE(KEYCODE_G) PORT_CHAR('G')
332   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, hp49gp_state, port_changed, (void *)7) PORT_NAME("APPS | G | FILES | BEGIN") PORT_CODE(KEYCODE_G) PORT_CHAR('G')
333333   PORT_BIT( 0xDF, IP_ACTIVE_LOW, IPT_UNUSED)
334334INPUT_PORTS_END
335335
trunk/src/mess/drivers/palmz22.c
r18015r18016
101101   DECLARE_DRIVER_INIT(palmz22);
102102   virtual void machine_start();
103103   virtual void machine_reset();
104   DECLARE_INPUT_CHANGED_MEMBER(palmz22_input_changed);
104105};
105106
106107/***************************************************************************
r18015r18016
225226
226227// INPUT
227228
228static INPUT_CHANGED( palmz22_input_changed )
229INPUT_CHANGED_MEMBER(palmz22_state::palmz22_input_changed)
229230{
230   palmz22_state *state = field.machine().driver_data<palmz22_state>();
231231   if (param == 0)
232232   {
233      s3c2410_touch_screen( state->m_s3c2410, (newval & 0x01) ? 1 : 0);
233      s3c2410_touch_screen( m_s3c2410, (newval & 0x01) ? 1 : 0);
234234   }
235235   else
236236   {
237      s3c2410_request_eint( state->m_s3c2410, (FPTR)param - 1);
237      s3c2410_request_eint( m_s3c2410, (FPTR)param - 1);
238238   }
239239}
240240
r18015r18016
316316
317317static INPUT_PORTS_START( palmz22 )
318318   PORT_START( "PENB" )
319   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED(palmz22_input_changed, (void *)0) PORT_PLAYER(2)
319   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Pen Button") PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)0) PORT_PLAYER(2)
320320   PORT_START( "PENX" )
321321   PORT_BIT( 0x3ff, 0x200, IPT_LIGHTGUN_X ) PORT_NAME("Pen X") PORT_SENSITIVITY(50) PORT_CROSSHAIR(X, 1, 0, 0) PORT_KEYDELTA(30) PORT_PLAYER(2)
322322   PORT_START( "PENY" )
323323   PORT_BIT( 0x3ff, 0x200, IPT_LIGHTGUN_Y ) PORT_NAME("Pen Y") PORT_SENSITIVITY(50) PORT_CROSSHAIR(Y, 1, 0, 0) PORT_KEYDELTA(30) PORT_PLAYER(2)
324324   PORT_START( "PORT-F" )
325   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5        ) PORT_CHANGED(palmz22_input_changed, (void *)1) PORT_NAME("Power")
326   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2        ) PORT_CHANGED(palmz22_input_changed, (void *)1) PORT_NAME("Contacts")
327   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4        ) PORT_CHANGED(palmz22_input_changed, (void *)1) PORT_NAME("Calendar")
328   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1        ) PORT_CHANGED(palmz22_input_changed, (void *)1) PORT_NAME("Center")
329   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_CHANGED(palmz22_input_changed, (void *)1)
330   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_CHANGED(palmz22_input_changed, (void *)1)
331   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_CHANGED(palmz22_input_changed, (void *)1)
332   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CHANGED(palmz22_input_changed, (void *)1)
325   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5        ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Power")
326   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2        ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Contacts")
327   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4        ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Calendar")
328   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1        ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1) PORT_NAME("Center")
329   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
330   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
331   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
332   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, palmz22_state, palmz22_input_changed, (void *)1)
333333INPUT_PORTS_END
334334
335335/***************************************************************************
trunk/src/mess/drivers/ngp.c
r18015r18016
165165   DECLARE_WRITE8_MEMBER( ngp_hblank_pin_w );
166166   DECLARE_WRITE8_MEMBER( ngp_tlcs900_to3 );
167167   UINT32 screen_update_ngp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
168   DECLARE_INPUT_CHANGED_MEMBER(power_callback);
168169};
169170
170171
r18015r18016
552553ADDRESS_MAP_END
553554
554555
555static INPUT_CHANGED( power_callback )
556INPUT_CHANGED_MEMBER(ngp_state::power_callback)
556557{
557   ngp_state *state = field.machine().driver_data<ngp_state>();
558558
559   if ( state->m_io_reg[0x33] & 0x04 )
559   if ( m_io_reg[0x33] & 0x04 )
560560   {
561      state->m_tlcs900->execute().set_input_line(TLCS900_NMI,
562         (field.machine().root_device().ioport("Power")->read() & 0x01 ) ? CLEAR_LINE : ASSERT_LINE );
561      m_tlcs900->execute().set_input_line(TLCS900_NMI,
562         (machine().root_device().ioport("Power")->read() & 0x01 ) ? CLEAR_LINE : ASSERT_LINE );
563563   }
564564}
565565
r18015r18016
576576   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
577577
578578   PORT_START("Power")
579   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("Power") PORT_CHANGED(power_callback, NULL)
579   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("Power") PORT_CHANGED_MEMBER(DEVICE_SELF, ngp_state, power_callback, NULL)
580580INPUT_PORTS_END
581581
582582
trunk/src/mess/drivers/pce220.c
r18015r18016
9292   DECLARE_WRITE8_MEMBER( irq_ack_w );
9393   DECLARE_WRITE8_MEMBER( irq_mask_w );
9494   DECLARE_PALETTE_INIT(pce220);
95   DECLARE_INPUT_CHANGED_MEMBER(kb_irq);
96   DECLARE_INPUT_CHANGED_MEMBER(on_irq);
9597};
9698
9799class pcg850v_state : public pce220_state
r18015r18016
613615   AM_RANGE(0x69, 0x69) AM_READWRITE(g850v_bank_r, g850v_bank_w)
614616ADDRESS_MAP_END
615617
616static INPUT_CHANGED( kb_irq )
618INPUT_CHANGED_MEMBER(pce220_state::kb_irq)
617619{
618   pce220_state *state = field.machine().driver_data<pce220_state>();
619620
620   if (state->m_irq_mask & IRQ_FLAG_KEY)
621   if (m_irq_mask & IRQ_FLAG_KEY)
621622   {
622      state->m_maincpu->set_input_line(0, newval ? ASSERT_LINE : CLEAR_LINE );
623      m_maincpu->set_input_line(0, newval ? ASSERT_LINE : CLEAR_LINE );
623624
624      state->m_irq_flag = (state->m_irq_flag & 0xfe) | (newval & 0x01);
625      m_irq_flag = (m_irq_flag & 0xfe) | (newval & 0x01);
625626   }
626627}
627628
628static INPUT_CHANGED( on_irq )
629INPUT_CHANGED_MEMBER(pce220_state::on_irq)
629630{
630   pce220_state *state = field.machine().driver_data<pce220_state>();
631631
632   if (state->m_irq_mask & IRQ_FLAG_ON)
632   if (m_irq_mask & IRQ_FLAG_ON)
633633   {
634      state->m_maincpu->set_input_line(0, newval ? ASSERT_LINE : CLEAR_LINE );
634      m_maincpu->set_input_line(0, newval ? ASSERT_LINE : CLEAR_LINE );
635635
636      state->m_irq_flag = (state->m_irq_flag & 0xfd) | ((newval & 0x01)<<1);
636      m_irq_flag = (m_irq_flag & 0xfd) | ((newval & 0x01)<<1);
637637   }
638638}
639639
r18015r18016
645645   PORT_CONFSETTING( 0x01, "Low Battery" )
646646
647647   PORT_START("LINE0")
648   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F10)         PORT_NAME("OFF")      PORT_CHANGED( kb_irq, NULL )
649   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Q)         PORT_NAME("Q")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Q')   PORT_CHAR('!')
650   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_W)         PORT_NAME("W")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('W')   PORT_CHAR('"')
651   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_E)         PORT_NAME("E")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('E')   PORT_CHAR('#')
652   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_R)         PORT_NAME("R")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('R')   PORT_CHAR('$')
653   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_T)         PORT_NAME("T")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('T')   PORT_CHAR('%')
654   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Y)         PORT_NAME("Y")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Y')   PORT_CHAR('&')
655   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_U)         PORT_NAME("U")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('U')   PORT_CHAR('\'')
648   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F10)         PORT_NAME("OFF")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
649   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Q)         PORT_NAME("Q")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Q')   PORT_CHAR('!')
650   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_W)         PORT_NAME("W")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('W')   PORT_CHAR('"')
651   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_E)         PORT_NAME("E")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('E')   PORT_CHAR('#')
652   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_R)         PORT_NAME("R")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('R')   PORT_CHAR('$')
653   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_T)         PORT_NAME("T")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('T')   PORT_CHAR('%')
654   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Y)         PORT_NAME("Y")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Y')   PORT_CHAR('&')
655   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_U)         PORT_NAME("U")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('U')   PORT_CHAR('\'')
656656   PORT_START("LINE1")
657   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_A)         PORT_NAME("A")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('A')   PORT_CHAR('[')
658   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_S)         PORT_NAME("S")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('S')   PORT_CHAR(']')
659   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_D)         PORT_NAME("D")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('D')   PORT_CHAR('{')
660   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F)         PORT_NAME("F")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('F')   PORT_CHAR('}')
661   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_G)         PORT_NAME("G")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('G')   PORT_CHAR('\\')
662   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_H)         PORT_NAME("H")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('H')   PORT_CHAR('|')
663   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_J)         PORT_NAME("J")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('J')   PORT_CHAR('`')
664   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_K)         PORT_NAME("K")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('K')   PORT_CHAR('_')
657   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_A)         PORT_NAME("A")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('A')   PORT_CHAR('[')
658   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_S)         PORT_NAME("S")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('S')   PORT_CHAR(']')
659   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_D)         PORT_NAME("D")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('D')   PORT_CHAR('{')
660   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F)         PORT_NAME("F")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('F')   PORT_CHAR('}')
661   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_G)         PORT_NAME("G")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('G')   PORT_CHAR('\\')
662   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_H)         PORT_NAME("H")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('H')   PORT_CHAR('|')
663   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_J)         PORT_NAME("J")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('J')   PORT_CHAR('`')
664   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_K)         PORT_NAME("K")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('K')   PORT_CHAR('_')
665665   PORT_START("LINE2")
666   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Z)         PORT_NAME("Z")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Z')
667   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_X)         PORT_NAME("X")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('X')
668   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_C)         PORT_NAME("C")        PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('C')
669   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_V)         PORT_NAME("V")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('V')
670   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_B)         PORT_NAME("B")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('B')
671   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_N)         PORT_NAME("N")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('N')
672   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_M)         PORT_NAME("M")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('M')
673   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COMMA)      PORT_NAME(",")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(',')   PORT_CHAR('?')
666   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Z)         PORT_NAME("Z")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Z')
667   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_X)         PORT_NAME("X")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('X')
668   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_C)         PORT_NAME("C")        PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('C')
669   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_V)         PORT_NAME("V")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('V')
670   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_B)         PORT_NAME("B")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('B')
671   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_N)         PORT_NAME("N")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('N')
672   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_M)         PORT_NAME("M")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('M')
673   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COMMA)      PORT_NAME(",")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(',')   PORT_CHAR('?')
674674   PORT_START("LINE3")
675   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F1)         PORT_NAME("CAL")      PORT_CHANGED( kb_irq, NULL )
676   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F2)         PORT_NAME("BAS")      PORT_CHANGED( kb_irq, NULL )
677   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CAPSLOCK)      PORT_NAME("CAPS")      PORT_CHANGED( kb_irq, NULL )
678   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_HOME)         PORT_NAME("ANS")      PORT_CHANGED( kb_irq, NULL )
679   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_TAB)         PORT_NAME("TAB")      PORT_CHANGED( kb_irq, NULL )
680   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SPACE)      PORT_NAME("SPACE")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(' ')
681   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DOWN)         PORT_NAME("DOWN")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DOWN))
682   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_UP)         PORT_NAME("UP")       PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(UP))
675   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F1)         PORT_NAME("CAL")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
676   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F2)         PORT_NAME("BAS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
677   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CAPSLOCK)      PORT_NAME("CAPS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
678   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_HOME)         PORT_NAME("ANS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
679   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_TAB)         PORT_NAME("TAB")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
680   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SPACE)      PORT_NAME("SPACE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(' ')
681   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DOWN)         PORT_NAME("DOWN")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DOWN))
682   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_UP)         PORT_NAME("UP")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(UP))
683683   PORT_START("LINE4")
684   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LEFT)         PORT_NAME("LEFT")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(LEFT))
685   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_RIGHT)      PORT_NAME("RIGHT")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
686   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F4)         PORT_NAME("CONS")      PORT_CHANGED( kb_irq, NULL )
687   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0)         PORT_NAME("0")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('0')
688   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_STOP)         PORT_NAME(".")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('.')
689   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSLASH)   PORT_NAME("+/-")      PORT_CHANGED( kb_irq, NULL )
690   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PLUS_PAD)      PORT_NAME("+")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('+')
691   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ENTER)      PORT_NAME("RET")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(13)
684   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LEFT)         PORT_NAME("LEFT")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(LEFT))
685   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_RIGHT)      PORT_NAME("RIGHT")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
686   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F4)         PORT_NAME("CONS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
687   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0)         PORT_NAME("0")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('0')
688   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_STOP)         PORT_NAME(".")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('.')
689   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSLASH)   PORT_NAME("+/-")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
690   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PLUS_PAD)      PORT_NAME("+")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('+')
691   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ENTER)      PORT_NAME("RET")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(13)
692692   PORT_START("LINE5")
693   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_L)         PORT_NAME("L")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('L')   PORT_CHAR('=')
694   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COLON)      PORT_NAME(";")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(';')   PORT_CHAR(':')
695   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DEL)         PORT_NAME("DEL")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DEL))
696   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1)         PORT_NAME("1")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('1')
697   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2)         PORT_NAME("2")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('2')
698   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3)         PORT_NAME("3")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('3')
699   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_MINUS)      PORT_NAME("-")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('-')
700   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F5)         PORT_NAME("M+")       PORT_CHANGED( kb_irq, NULL )
693   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_L)         PORT_NAME("L")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('L')   PORT_CHAR('=')
694   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COLON)      PORT_NAME(";")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(';')   PORT_CHAR(':')
695   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DEL)         PORT_NAME("DEL")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DEL))
696   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1)         PORT_NAME("1")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('1')
697   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2)         PORT_NAME("2")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('2')
698   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3)         PORT_NAME("3")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('3')
699   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_MINUS)      PORT_NAME("-")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('-')
700   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F5)         PORT_NAME("M+")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
701701   PORT_START("LINE6")
702   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_I)         PORT_NAME("I")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('I')   PORT_CHAR('<')
703   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_O)         PORT_NAME("O")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('O')   PORT_CHAR('>')
704   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_INSERT)      PORT_NAME("INS")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(INSERT))
705   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4)         PORT_NAME("4")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('4')
706   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5)         PORT_NAME("5")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('5')
707   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6)         PORT_NAME("6")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('6')
708   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ASTERISK)      PORT_NAME("*")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('*')
709   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F6)         PORT_NAME("RM")       PORT_CHANGED( kb_irq, NULL )
702   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_I)         PORT_NAME("I")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('I')   PORT_CHAR('<')
703   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_O)         PORT_NAME("O")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('O')   PORT_CHAR('>')
704   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_INSERT)      PORT_NAME("INS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(INSERT))
705   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4)         PORT_NAME("4")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('4')
706   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5)         PORT_NAME("5")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('5')
707   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6)         PORT_NAME("6")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('6')
708   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ASTERISK)      PORT_NAME("*")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('*')
709   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F6)         PORT_NAME("RM")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
710710   PORT_START("LINE7")
711   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_P)         PORT_NAME("P")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('P')   PORT_CHAR('@')
712   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSPACE)   PORT_NAME("BS")       PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
713   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F7)         PORT_NAME("n!")       PORT_CHANGED( kb_irq, NULL )
714   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7)         PORT_NAME("7")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('7')
715   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8)         PORT_NAME("8")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('8')
716   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9)         PORT_NAME("9")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('9')
717   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SLASH)      PORT_NAME("/")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('/')
718   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_NAME(")")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(')')
711   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_P)         PORT_NAME("P")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('P')   PORT_CHAR('@')
712   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSPACE)   PORT_NAME("BS")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
713   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F7)         PORT_NAME("n!")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
714   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7)         PORT_NAME("7")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('7')
715   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8)         PORT_NAME("8")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('8')
716   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9)         PORT_NAME("9")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('9')
717   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SLASH)      PORT_NAME("/")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('/')
718   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_NAME(")")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(')')
719719   PORT_START("LINE8")
720   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1_PAD)      PORT_NAME("hyp")      PORT_CHANGED( kb_irq, NULL )
721   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2_PAD)      PORT_NAME("DEG")      PORT_CHANGED( kb_irq, NULL )
722   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3_PAD)      PORT_NAME("y^x")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('^')
723   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4_PAD)      PORT_NAME("sqrt")      PORT_CHANGED( kb_irq, NULL )
724   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5_PAD)      PORT_NAME("x^2")      PORT_CHANGED( kb_irq, NULL )
725   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_OPENBRACE)   PORT_NAME("(")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('(')
726   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6_PAD)      PORT_NAME("1/x")      PORT_CHANGED( kb_irq, NULL )
727   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7_PAD)      PORT_NAME("MDF")      PORT_CHANGED( kb_irq, NULL )
720   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1_PAD)      PORT_NAME("hyp")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
721   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2_PAD)      PORT_NAME("DEG")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
722   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3_PAD)      PORT_NAME("y^x")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('^')
723   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4_PAD)      PORT_NAME("sqrt")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
724   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5_PAD)      PORT_NAME("x^2")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
725   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_OPENBRACE)   PORT_NAME("(")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('(')
726   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6_PAD)      PORT_NAME("1/x")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
727   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7_PAD)      PORT_NAME("MDF")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
728728   PORT_START("LINE9")
729   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LCONTROL)      PORT_NAME("2nd")      PORT_CHANGED( kb_irq, NULL )
730   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8_PAD)      PORT_NAME("sin")      PORT_CHANGED( kb_irq, NULL )
731   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9_PAD)      PORT_NAME("cos")      PORT_CHANGED( kb_irq, NULL )
732   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0_PAD)      PORT_NAME("ln")       PORT_CHANGED( kb_irq, NULL )
733   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F8)         PORT_NAME("log")      PORT_CHANGED( kb_irq, NULL )
734   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F9)         PORT_NAME("tan")      PORT_CHANGED( kb_irq, NULL )
735   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F11)         PORT_NAME("FSE")      PORT_CHANGED( kb_irq, NULL )
736   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ESC)         PORT_NAME("CCE")      PORT_CHANGED( kb_irq, NULL )
729   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LCONTROL)      PORT_NAME("2nd")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
730   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8_PAD)      PORT_NAME("sin")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
731   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9_PAD)      PORT_NAME("cos")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
732   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0_PAD)      PORT_NAME("ln")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
733   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F8)         PORT_NAME("log")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
734   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F9)         PORT_NAME("tan")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
735   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F11)         PORT_NAME("FSE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
736   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ESC)         PORT_NAME("CCE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
737737   PORT_START("SHIFT")
738   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LSHIFT)      PORT_NAME("Shift")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_SHIFT_1)
738   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LSHIFT)      PORT_NAME("Shift")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state, kb_irq, NULL )   PORT_CHAR(UCHAR_SHIFT_1)
739739   PORT_START("ON")
740   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PGUP)         PORT_NAME("ON")       PORT_CHANGED( on_irq, NULL )
740   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PGUP)         PORT_NAME("ON")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state, on_irq, NULL )
741741INPUT_PORTS_END
742742
743743static INPUT_PORTS_START( pcg850v )
r18015r18016
747747   PORT_CONFSETTING( 0x01, "Low Battery" )
748748
749749   PORT_START("LINE0")
750   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F10)         PORT_NAME("OFF")      PORT_CHANGED( kb_irq, NULL )
751   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Q)         PORT_NAME("Q")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Q')   PORT_CHAR('!')
752   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_W)         PORT_NAME("W")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('W')   PORT_CHAR('"')
753   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_E)         PORT_NAME("E")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('E')   PORT_CHAR('#')
754   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_R)         PORT_NAME("R")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('R')   PORT_CHAR('$')
755   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_T)         PORT_NAME("T")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('T')   PORT_CHAR('%')
756   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Y)         PORT_NAME("Y")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Y')   PORT_CHAR('&')
757   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_U)         PORT_NAME("U")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('U')   PORT_CHAR('\'')
750   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F10)         PORT_NAME("OFF")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
751   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Q)         PORT_NAME("Q")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Q')   PORT_CHAR('!')
752   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_W)         PORT_NAME("W")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('W')   PORT_CHAR('"')
753   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_E)         PORT_NAME("E")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('E')   PORT_CHAR('#')
754   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_R)         PORT_NAME("R")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('R')   PORT_CHAR('$')
755   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_T)         PORT_NAME("T")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('T')   PORT_CHAR('%')
756   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Y)         PORT_NAME("Y")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Y')   PORT_CHAR('&')
757   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_U)         PORT_NAME("U")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('U')   PORT_CHAR('\'')
758758   PORT_START("LINE1")
759   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_A)         PORT_NAME("A")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('A')   PORT_CHAR('[')
760   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_S)         PORT_NAME("S")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('S')   PORT_CHAR(']')
761   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_D)         PORT_NAME("D")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('D')   PORT_CHAR('{')
762   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F)         PORT_NAME("F")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('F')   PORT_CHAR('}')
763   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_G)         PORT_NAME("G")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('G')
764   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_H)         PORT_NAME("H")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('H')   PORT_CHAR('|')
765   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_J)         PORT_NAME("J")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('J')   PORT_CHAR('`')
766   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_K)         PORT_NAME("K")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('K')   PORT_CHAR('_')
759   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_A)         PORT_NAME("A")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('A')   PORT_CHAR('[')
760   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_S)         PORT_NAME("S")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('S')   PORT_CHAR(']')
761   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_D)         PORT_NAME("D")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('D')   PORT_CHAR('{')
762   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F)         PORT_NAME("F")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('F')   PORT_CHAR('}')
763   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_G)         PORT_NAME("G")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('G')
764   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_H)         PORT_NAME("H")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('H')   PORT_CHAR('|')
765   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_J)         PORT_NAME("J")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('J')   PORT_CHAR('`')
766   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_K)         PORT_NAME("K")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('K')   PORT_CHAR('_')
767767   PORT_START("LINE2")
768   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Z)         PORT_NAME("Z")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('Z')
769   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_X)         PORT_NAME("X")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('X')
770   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_C)         PORT_NAME("C")        PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('C')
771   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_V)         PORT_NAME("V")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('V')
772   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_B)         PORT_NAME("B")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('B')
773   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_N)         PORT_NAME("N")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('N')
774   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_M)         PORT_NAME("M")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('M')
775   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COMMA)      PORT_NAME(",")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(',')   PORT_CHAR('?')
768   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_Z)         PORT_NAME("Z")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('Z')
769   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_X)         PORT_NAME("X")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('X')
770   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_C)         PORT_NAME("C")        PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('C')
771   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_V)         PORT_NAME("V")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('V')
772   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_B)         PORT_NAME("B")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('B')
773   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_N)         PORT_NAME("N")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('N')
774   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_M)         PORT_NAME("M")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('M')
775   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COMMA)      PORT_NAME(",")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(',')   PORT_CHAR('?')
776776   PORT_START("LINE3")
777   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F1)         PORT_NAME("BAS")      PORT_CHANGED( kb_irq, NULL )
778   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F2)         PORT_NAME("TEXT")      PORT_CHANGED( kb_irq, NULL )
779   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CAPSLOCK)      PORT_NAME("CAPS")      PORT_CHANGED( kb_irq, NULL )
780   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_HOME)         PORT_NAME("KANA")      PORT_CHANGED( kb_irq, NULL )
781   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_TAB)         PORT_NAME("TAB")      PORT_CHANGED( kb_irq, NULL )
782   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SPACE)      PORT_NAME("SPACE")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(' ')
783   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DOWN)         PORT_NAME("DOWN")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DOWN))
784   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_UP)         PORT_NAME("UP")       PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(UP))
777   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F1)         PORT_NAME("BAS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
778   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F2)         PORT_NAME("TEXT")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
779   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CAPSLOCK)      PORT_NAME("CAPS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
780   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_HOME)         PORT_NAME("KANA")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
781   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_TAB)         PORT_NAME("TAB")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
782   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SPACE)      PORT_NAME("SPACE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(' ')
783   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DOWN)         PORT_NAME("DOWN")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DOWN))
784   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_UP)         PORT_NAME("UP")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(UP))
785785   PORT_START("LINE4")
786   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LEFT)         PORT_NAME("LEFT")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(LEFT))
787   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_RIGHT)      PORT_NAME("RIGHT")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
788   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F4)         PORT_NAME("CONS")      PORT_CHANGED( kb_irq, NULL )
789   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0)         PORT_NAME("0")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('0')
790   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_STOP)         PORT_NAME(".")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('.')
791   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_EQUALS)      PORT_NAME("=")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('=')
792   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PLUS_PAD)      PORT_NAME("+")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('+')
793   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ENTER)      PORT_NAME("RET")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(13)
786   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LEFT)         PORT_NAME("LEFT")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(LEFT))
787   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_RIGHT)      PORT_NAME("RIGHT")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
788   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F4)         PORT_NAME("CONS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
789   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0)         PORT_NAME("0")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('0')
790   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_STOP)         PORT_NAME(".")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('.')
791   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_EQUALS)      PORT_NAME("=")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('=')
792   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PLUS_PAD)      PORT_NAME("+")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('+')
793   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ENTER)      PORT_NAME("RET")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(13)
794794   PORT_START("LINE5")
795   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_L)         PORT_NAME("L")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('L')   PORT_CHAR('=')
796   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COLON)      PORT_NAME(";")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(';')   PORT_CHAR(':')
797   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DEL)         PORT_NAME("DEL")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DEL))
798   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1)         PORT_NAME("1")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('1')
799   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2)         PORT_NAME("2")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('2')
800   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3)         PORT_NAME("3")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('3')
801   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_MINUS)      PORT_NAME("-")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('-')
802   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F5)         PORT_NAME("M+")       PORT_CHANGED( kb_irq, NULL )
795   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_L)         PORT_NAME("L")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('L')   PORT_CHAR('=')
796   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_COLON)      PORT_NAME(";")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(';')   PORT_CHAR(':')
797   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_DEL)         PORT_NAME("DEL")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(DEL))
798   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1)         PORT_NAME("1")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('1')
799   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2)         PORT_NAME("2")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('2')
800   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3)         PORT_NAME("3")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('3')
801   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_MINUS)      PORT_NAME("-")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('-')
802   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F5)         PORT_NAME("M+")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
803803   PORT_START("LINE6")
804   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_I)         PORT_NAME("I")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('I')   PORT_CHAR('<')
805   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_O)         PORT_NAME("O")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('O')   PORT_CHAR('>')
806   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_INSERT)      PORT_NAME("INS")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(INSERT))
807   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4)         PORT_NAME("4")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('4')
808   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5)         PORT_NAME("5")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('5')
809   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6)         PORT_NAME("6")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('6')
810   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ASTERISK)      PORT_NAME("*")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('*')
811   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F6)         PORT_NAME("RM")       PORT_CHANGED( kb_irq, NULL )
804   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_I)         PORT_NAME("I")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('I')   PORT_CHAR('<')
805   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_O)         PORT_NAME("O")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('O')   PORT_CHAR('>')
806   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_INSERT)      PORT_NAME("INS")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(INSERT))
807   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4)         PORT_NAME("4")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('4')
808   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5)         PORT_NAME("5")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('5')
809   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6)         PORT_NAME("6")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('6')
810   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ASTERISK)      PORT_NAME("*")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('*')
811   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F6)         PORT_NAME("RM")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
812812   PORT_START("LINE7")
813   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_P)         PORT_NAME("P")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('P')   PORT_CHAR('@')
814   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSPACE)   PORT_NAME("BS")       PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
815   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F7)         PORT_NAME("pi")       PORT_CHANGED( kb_irq, NULL )
816   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7)         PORT_NAME("7")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('7')
817   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8)         PORT_NAME("8")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('8')
818   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9)         PORT_NAME("9")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('9')
819   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SLASH)      PORT_NAME("/")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('/')
820   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_NAME(")")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(')')
813   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_P)         PORT_NAME("P")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('P')   PORT_CHAR('@')
814   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_BACKSPACE)   PORT_NAME("BS")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(UCHAR_MAMEKEY(BACKSPACE))
815   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F7)         PORT_NAME("pi")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
816   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7)         PORT_NAME("7")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('7')
817   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8)         PORT_NAME("8")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('8')
818   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9)         PORT_NAME("9")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('9')
819   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_SLASH)      PORT_NAME("/")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('/')
820   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_NAME(")")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR(')')
821821   PORT_START("LINE8")
822   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1_PAD)      PORT_NAME("nPr")      PORT_CHANGED( kb_irq, NULL )
823   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2_PAD)      PORT_NAME("DEG")      PORT_CHANGED( kb_irq, NULL )
824   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3_PAD)      PORT_NAME("SQR")      PORT_CHANGED( kb_irq, NULL )
825   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4_PAD)      PORT_NAME("SQU")      PORT_CHANGED( kb_irq, NULL )
826   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5_PAD)      PORT_NAME("x^y")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('^')
827   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_OPENBRACE)   PORT_NAME("(")         PORT_CHANGED( kb_irq, NULL )   PORT_CHAR('(')
828   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6_PAD)      PORT_NAME("1/x")      PORT_CHANGED( kb_irq, NULL )
829   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7_PAD)      PORT_NAME("MDF")      PORT_CHANGED( kb_irq, NULL )
822   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_1_PAD)      PORT_NAME("nPr")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
823   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_2_PAD)      PORT_NAME("DEG")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
824   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_3_PAD)      PORT_NAME("SQR")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
825   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_4_PAD)      PORT_NAME("SQU")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
826   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_5_PAD)      PORT_NAME("x^y")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('^')
827   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_OPENBRACE)   PORT_NAME("(")         PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )   PORT_CHAR('(')
828   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_6_PAD)      PORT_NAME("1/x")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
829   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_7_PAD)      PORT_NAME("MDF")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
830830   PORT_START("LINE9")
831   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LCONTROL)      PORT_NAME("2nd")      PORT_CHANGED( kb_irq, NULL )
832   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8_PAD)      PORT_NAME("sin")      PORT_CHANGED( kb_irq, NULL )
833   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9_PAD)      PORT_NAME("cos")      PORT_CHANGED( kb_irq, NULL )
834   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0_PAD)      PORT_NAME("ln")       PORT_CHANGED( kb_irq, NULL )
835   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F8)         PORT_NAME("log")      PORT_CHANGED( kb_irq, NULL )
836   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F9)         PORT_NAME("tan")      PORT_CHANGED( kb_irq, NULL )
837   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F11)         PORT_NAME("FSE")      PORT_CHANGED( kb_irq, NULL )
838   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ESC)         PORT_NAME("CCE")      PORT_CHANGED( kb_irq, NULL )
831   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LCONTROL)      PORT_NAME("2nd")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
832   PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_8_PAD)      PORT_NAME("sin")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
833   PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_9_PAD)      PORT_NAME("cos")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
834   PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_0_PAD)      PORT_NAME("ln")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
835   PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F8)         PORT_NAME("log")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
836   PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F9)         PORT_NAME("tan")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
837   PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_F11)         PORT_NAME("FSE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
838   PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_ESC)         PORT_NAME("CCE")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state,  kb_irq, NULL )
839839   PORT_START("SHIFT")
840   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LSHIFT)      PORT_NAME("Shift")      PORT_CHANGED( kb_irq, NULL )   PORT_CHAR(UCHAR_SHIFT_1)
840   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_LSHIFT)      PORT_NAME("Shift")      PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state, kb_irq, NULL )   PORT_CHAR(UCHAR_SHIFT_1)
841841   PORT_START("ON")
842   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PGUP)         PORT_NAME("ON")       PORT_CHANGED( on_irq, NULL )
842   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD)   PORT_CODE(KEYCODE_PGUP)         PORT_NAME("ON")       PORT_CHANGED_MEMBER(DEVICE_SELF, pce220_state, on_irq, NULL )
843843INPUT_PORTS_END
844844
845845void pce220_state::machine_start()
trunk/src/mess/drivers/aquarius.c
r18015r18016
258258***************************************************************************/
259259
260260/* the 'reset' key is directly tied to the reset line of the cpu */
261static INPUT_CHANGED( aquarius_reset )
261INPUT_CHANGED_MEMBER(aquarius_state::aquarius_reset)
262262{
263   field.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
263   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
264264}
265265
266266static INPUT_PORTS_START( aquarius )
r18015r18016
337337   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
338338
339339   PORT_START("RESET")
340   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("RST") PORT_CODE(KEYCODE_F10) PORT_CHANGED(aquarius_reset, 0)
340   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("RST") PORT_CODE(KEYCODE_F10) PORT_CHANGED_MEMBER(DEVICE_SELF, aquarius_state, aquarius_reset, 0)
341341
342342   PORT_START("LEFT")
343343   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
trunk/src/mess/drivers/x1twin.c
r18015r18016
2929      : x1_state(mconfig, type, tag)
3030   { }
3131   UINT32 screen_update_x1pce(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
32   DECLARE_INPUT_CHANGED_MEMBER(ipl_reset);
33   DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
3234};
3335
3436
r18015r18016
106108 *
107109 *************************************/
108110
109static INPUT_CHANGED( ipl_reset )
111INPUT_CHANGED_MEMBER(x1twin_state::ipl_reset)
110112{
111   //address_space &space = *field.machine().device("x1_cpu")->memory().space(AS_PROGRAM);
112   x1twin_state *state = field.machine().driver_data<x1twin_state>();
113   //address_space &space = *machine().device("x1_cpu")->memory().space(AS_PROGRAM);
113114
114   state->m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
115   m_x1_cpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
115116
116   state->m_ram_bank = 0x00;
117   if(state->m_is_turbo) { state->m_ex_bank = 0x10; }
117   m_ram_bank = 0x00;
118   if(m_is_turbo) { m_ex_bank = 0x10; }
118119   //anything else?
119120}
120121
121122/* Apparently most games doesn't support this (not even the Konami ones!), one that does is...177 :o */
122static INPUT_CHANGED( nmi_reset )
123INPUT_CHANGED_MEMBER(x1twin_state::nmi_reset)
123124{
124   x1twin_state *state = field.machine().driver_data<x1twin_state>();
125125
126   state->m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
126   m_x1_cpu->set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
127127}
128128
129129INPUT_PORTS_START( x1twin )
130130   PORT_START("FP_SYS") //front panel buttons, hard-wired with the soft reset/NMI lines
131   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED(ipl_reset,0) PORT_NAME("IPL reset")
132   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED(nmi_reset,0) PORT_NAME("NMI reset")
131   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, x1twin_state, ipl_reset,0) PORT_NAME("IPL reset")
132   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CHANGED_MEMBER(DEVICE_SELF, x1twin_state, nmi_reset,0) PORT_NAME("NMI reset")
133133
134134   PORT_START("SOUND_SW") //FIXME: this is X1Turbo specific
135135   PORT_DIPNAME( 0x80, 0x80, "OPM Sound Setting?" )
trunk/src/mess/drivers/px4.c
r18015r18016
166166   DECLARE_MACHINE_START(px4_ramdisk);
167167   DECLARE_PALETTE_INIT(px4p);
168168   UINT32 screen_update_px4(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
169   DECLARE_INPUT_CHANGED_MEMBER(key_callback);
169170};
170171
171172
r18015r18016
932933   }
933934}
934935
935static INPUT_CHANGED( key_callback )
936INPUT_CHANGED_MEMBER(px4_state::key_callback)
936937{
937   px4_state *px4 = field.machine().driver_data<px4_state>();
938938   UINT32 oldvalue = oldval * field.mask(), newvalue = newval * field.mask();
939939   UINT32 delta = oldvalue ^ newvalue;
940940   int i, scancode = 0xff, down = 0;
r18015r18016
959959
960960   if (down || (scancode & 0xa0) == 0xa0)
961961   {
962      px4->m_key_status = scancode;
962      m_key_status = scancode;
963963
964      if (px4->m_key_int_enabled)
964      if (m_key_int_enabled)
965965      {
966966         if (VERBOSE)
967967            logerror("upd7508: key interrupt\n");
968968
969         px4->m_isr |= INT0_7508;
970         gapnit_interrupt(field.machine());
969         m_isr |= INT0_7508;
970         gapnit_interrupt(machine());
971971      }
972972   }
973973}
r18015r18016
12241224   PORT_INCLUDE(tf20)
12251225
12261226   PORT_START("keyboard_0")
1227   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(ESC))   // 00
1228   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(PAUSE))   // 01
1229   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F6))    PORT_NAME("Help")   // 02
1230   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F1))    PORT_NAME("PF1")   // 03
1231   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F2))    PORT_NAME("PF2")   // 04
1232   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F3))    PORT_NAME("PF3")   // 05
1233   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F4))    PORT_NAME("PF4")   // 06
1234   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F5))    PORT_NAME("PF5")   // 07
1227   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(ESC))   // 00
1228   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(PAUSE))   // 01
1229   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F6))    PORT_NAME("Help")   // 02
1230   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F1))    PORT_NAME("PF1")   // 03
1231   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F5) PORT_CHAR(UCHAR_MAMEKEY(F2))    PORT_NAME("PF2")   // 04
1232   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(F3))    PORT_NAME("PF3")   // 05
1233   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(F4))    PORT_NAME("PF4")   // 06
1234   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(F5))    PORT_NAME("PF5")   // 07
12351235   PORT_BIT(0x0000ff00, IP_ACTIVE_HIGH, IPT_UNUSED)   // 08-0f
1236   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_ESC)   PORT_CHAR(UCHAR_MAMEKEY(CANCEL)) PORT_NAME("Stop")   // 10
1237   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_1)   PORT_CHAR('1') PORT_CHAR('!')   // 11
1238   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_2)   PORT_CHAR('2') PORT_CHAR('"')   // 12
1239   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_3)   PORT_CHAR('3') PORT_CHAR('#')   // 13
1240   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_4)   PORT_CHAR('4') PORT_CHAR('$')   // 14
1241   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_5)   PORT_CHAR('5') PORT_CHAR('%')   // 15
1242   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_6)   PORT_CHAR('6') PORT_CHAR('&')   // 16
1243   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)0) PORT_CODE(KEYCODE_7)   PORT_CHAR('7') PORT_CHAR('\'')   // 17
1236   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_ESC)   PORT_CHAR(UCHAR_MAMEKEY(CANCEL)) PORT_NAME("Stop")   // 10
1237   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_1)   PORT_CHAR('1') PORT_CHAR('!')   // 11
1238   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_2)   PORT_CHAR('2') PORT_CHAR('"')   // 12
1239   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_3)   PORT_CHAR('3') PORT_CHAR('#')   // 13
1240   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_4)   PORT_CHAR('4') PORT_CHAR('$')   // 14
1241   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_5)   PORT_CHAR('5') PORT_CHAR('%')   // 15
1242   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_6)   PORT_CHAR('6') PORT_CHAR('&')   // 16
1243   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)0) PORT_CODE(KEYCODE_7)   PORT_CHAR('7') PORT_CHAR('\'')   // 17
12441244   PORT_BIT(0xff000000, IP_ACTIVE_HIGH, IPT_UNUSED)   // 18-1f
12451245
12461246   PORT_START("keyboard_1")
1247   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')   // 20
1248   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')   // 21
1249   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')   // 22
1250   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')   // 23
1251   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')   // 24
1252   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')   // 25
1253   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')   // 26
1254   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')   // 27
1247   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')   // 20
1248   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')   // 21
1249   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')   // 22
1250   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')   // 23
1251   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')   // 24
1252   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')   // 25
1253   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')   // 26
1254   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')   // 27
12551255   PORT_BIT(0x0000ff00, IP_ACTIVE_HIGH, IPT_UNUSED)   // 28-2f
1256   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_D)     PORT_CHAR('d') PORT_CHAR('D')   // 30
1257   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_F)     PORT_CHAR('f') PORT_CHAR('F')   // 31
1258   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_G)     PORT_CHAR('g') PORT_CHAR('G')   // 32
1259   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_H)     PORT_CHAR('h') PORT_CHAR('H')   // 33
1260   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_J)     PORT_CHAR('j') PORT_CHAR('J')   // 34
1261   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_K)     PORT_CHAR('k') PORT_CHAR('K')   // 35
1262   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_L)     PORT_CHAR('l') PORT_CHAR('L')   // 36
1263   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)1) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+')   // 37
1256   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_D)     PORT_CHAR('d') PORT_CHAR('D')   // 30
1257   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_F)     PORT_CHAR('f') PORT_CHAR('F')   // 31
1258   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_G)     PORT_CHAR('g') PORT_CHAR('G')   // 32
1259   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_H)     PORT_CHAR('h') PORT_CHAR('H')   // 33
1260   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_J)     PORT_CHAR('j') PORT_CHAR('J')   // 34
1261   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_K)     PORT_CHAR('k') PORT_CHAR('K')   // 35
1262   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_L)     PORT_CHAR('l') PORT_CHAR('L')   // 36
1263   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)1) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR('+')   // 37
12641264   PORT_BIT(0xff000000, IP_ACTIVE_HIGH, IPT_UNUSED)   // 38-3f
12651265
12661266   PORT_START("keyboard_2")
1267   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_B)     PORT_CHAR('b') PORT_CHAR('B')   // 40
1268   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_N)     PORT_CHAR('n') PORT_CHAR('N')   // 41
1269   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_M)     PORT_CHAR('m') PORT_CHAR('M')   // 42
1270   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')   // 43
1271   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_STOP)  PORT_CHAR('.') PORT_CHAR('>')   // 44
1272   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')   // 45
1273   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_F9)    PORT_CHAR('[') PORT_CHAR('{')   // 46
1274   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_F10)   PORT_CHAR(']') PORT_CHAR('}')   // 47
1267   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_B)     PORT_CHAR('b') PORT_CHAR('B')   // 40
1268   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_N)     PORT_CHAR('n') PORT_CHAR('N')   // 41
1269   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_M)     PORT_CHAR('m') PORT_CHAR('M')   // 42
1270   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')   // 43
1271   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_STOP)  PORT_CHAR('.') PORT_CHAR('>')   // 44
1272   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')   // 45
1273   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_F9)    PORT_CHAR('[') PORT_CHAR('{')   // 46
1274   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_F10)   PORT_CHAR(']') PORT_CHAR('}')   // 47
12751275   PORT_BIT(0x0000ff00, IP_ACTIVE_HIGH, IPT_UNUSED)   // 48-4f
1276   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_8)         PORT_CHAR('8') PORT_CHAR('(')   // 50
1277   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_9)         PORT_CHAR('9') PORT_CHAR(')')   // 51
1278   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_0)         PORT_CHAR('0') PORT_CHAR('_')   // 52
1279   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_MINUS)     PORT_CHAR('-') PORT_CHAR('=')   // 53
1280   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_EQUALS)    PORT_CHAR('^') PORT_CHAR('~')   // 54
1281   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_UP)        PORT_CHAR(UCHAR_MAMEKEY(UP))   // 55
1282   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)   PORT_CHAR(UCHAR_MAMEKEY(HOME))   // 56
1283   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)2) PORT_CODE(KEYCODE_TAB)       PORT_CHAR('\t')   // 57
1276   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_8)         PORT_CHAR('8') PORT_CHAR('(')   // 50
1277   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_9)         PORT_CHAR('9') PORT_CHAR(')')   // 51
1278   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_0)         PORT_CHAR('0') PORT_CHAR('_')   // 52
1279   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_MINUS)     PORT_CHAR('-') PORT_CHAR('=')   // 53
1280   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_EQUALS)    PORT_CHAR('^') PORT_CHAR('~')   // 54
1281   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_UP)        PORT_CHAR(UCHAR_MAMEKEY(UP))   // 55
1282   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)   PORT_CHAR(UCHAR_MAMEKEY(HOME))   // 56
1283   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)2) PORT_CODE(KEYCODE_TAB)       PORT_CHAR('\t')   // 57
12841284   PORT_BIT(0xff000000, IP_ACTIVE_HIGH, IPT_UNUSED)   // 58-5f
12851285
12861286   PORT_START("keyboard_3")
1287   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_O)         PORT_CHAR('o') PORT_CHAR('O')   // 60
1288   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_P)         PORT_CHAR('p') PORT_CHAR('P')   // 61
1289   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR(96)   // 62
1290   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_LEFT)      PORT_CHAR(UCHAR_MAMEKEY(LEFT))   // 63
1291   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_DOWN)      PORT_CHAR(UCHAR_MAMEKEY(DOWN))   // 64
1292   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_RIGHT)     PORT_CHAR(UCHAR_MAMEKEY(RIGHT))   // 65
1293   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_A)         PORT_CHAR('a') PORT_CHAR('A')   // 66
1294   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_S)         PORT_CHAR('s') PORT_CHAR('S')   // 67
1287   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_O)         PORT_CHAR('o') PORT_CHAR('O')   // 60
1288   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_P)         PORT_CHAR('p') PORT_CHAR('P')   // 61
1289   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR(96)   // 62
1290   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_LEFT)      PORT_CHAR(UCHAR_MAMEKEY(LEFT))   // 63
1291   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_DOWN)      PORT_CHAR(UCHAR_MAMEKEY(DOWN))   // 64
1292   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_RIGHT)     PORT_CHAR(UCHAR_MAMEKEY(RIGHT))   // 65
1293   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_A)         PORT_CHAR('a') PORT_CHAR('A')   // 66
1294   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_S)         PORT_CHAR('s') PORT_CHAR('S')   // 67
12951295   PORT_BIT(0x0000ff00, IP_ACTIVE_HIGH, IPT_UNUSED)   // 48-4f
1296   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_QUOTE)     PORT_CHAR(':') PORT_CHAR('*')   // 70
1297   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_ENTER)     PORT_CHAR(13)   // 71
1298   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|')   // 72
1299   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_SPACE)     PORT_CHAR(' ')   // 73
1300   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_Z)         PORT_CHAR('z') PORT_CHAR('Z')   // 74
1301   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_X)         PORT_CHAR('x') PORT_CHAR('X')   // 75
1302   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_C)         PORT_CHAR('c') PORT_CHAR('C')   // 76
1303   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)3) PORT_CODE(KEYCODE_V)         PORT_CHAR('v') PORT_CHAR('V')   // 77
1296   PORT_BIT(0x00010000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_QUOTE)     PORT_CHAR(':') PORT_CHAR('*')   // 70
1297   PORT_BIT(0x00020000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_ENTER)     PORT_CHAR(13)   // 71
1298   PORT_BIT(0x00040000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_BACKSLASH) PORT_CHAR('\\') PORT_CHAR('|')   // 72
1299   PORT_BIT(0x00080000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_SPACE)     PORT_CHAR(' ')   // 73
1300   PORT_BIT(0x00100000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_Z)         PORT_CHAR('z') PORT_CHAR('Z')   // 74
1301   PORT_BIT(0x00200000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_X)         PORT_CHAR('x') PORT_CHAR('X')   // 75
1302   PORT_BIT(0x00400000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_C)         PORT_CHAR('c') PORT_CHAR('C')   // 76
1303   PORT_BIT(0x00800000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)3) PORT_CODE(KEYCODE_V)         PORT_CHAR('v') PORT_CHAR('V')   // 77
13041304   PORT_BIT(0xff000000, IP_ACTIVE_HIGH, IPT_UNUSED)   // 58-5f
13051305
13061306   PORT_START("keyboard_4")
1307   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)4) PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR))   // 80
1308   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)4) PORT_CODE(KEYCODE_DEL)      PORT_CHAR(UCHAR_MAMEKEY(DEL))    PORT_CHAR(12)   // 81
1307   PORT_BIT(0x00000001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)4) PORT_CODE(KEYCODE_INSERT) PORT_CHAR(UCHAR_MAMEKEY(INSERT)) PORT_CHAR(UCHAR_MAMEKEY(PRTSCR))   // 80
1308   PORT_BIT(0x00000002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)4) PORT_CODE(KEYCODE_DEL)      PORT_CHAR(UCHAR_MAMEKEY(DEL))    PORT_CHAR(12)   // 81
13091309   PORT_BIT(0xfffffffc, IP_ACTIVE_HIGH, IPT_UNUSED)   // 82-9f
13101310
13111311   PORT_START("keyboard_5")
13121312   PORT_BIT(0x00000003, IP_ACTIVE_HIGH, IPT_UNUSED)   // a0-a1
1313   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)   // a2
1314   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_LSHIFT)   PORT_CHAR(UCHAR_SHIFT_1)   // a3
1315   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_LALT)     PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))   // a4
1316   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_RALT)     PORT_NAME("Graph")   // a5
1317   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_RSHIFT)   PORT_CHAR(UCHAR_SHIFT_1)   // a6
1318   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED(key_callback, (void *)5) PORT_CODE(KEYCODE_NUMLOCK)  PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK))   // a7
1313   PORT_BIT(0x00000004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)   // a2
1314   PORT_BIT(0x00000008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_LSHIFT)   PORT_CHAR(UCHAR_SHIFT_1)   // a3
1315   PORT_BIT(0x00000010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_LALT)     PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))   // a4
1316   PORT_BIT(0x00000020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_RALT)     PORT_NAME("Graph")   // a5
1317   PORT_BIT(0x00000040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_RSHIFT)   PORT_CHAR(UCHAR_SHIFT_1)   // a6
1318   PORT_BIT(0x00000080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, px4_state, key_callback, (void *)5) PORT_CODE(KEYCODE_NUMLOCK)  PORT_CHAR(UCHAR_MAMEKEY(NUMLOCK))   // a7
13191319   PORT_BIT(0xffffff00, IP_ACTIVE_HIGH, IPT_UNUSED)   // a8-bf /* b2-b7 are the 'make' codes for the above keys */
13201320INPUT_PORTS_END
13211321
trunk/src/mess/drivers/atom.c
r18015r18016
205205***************************************************************************/
206206
207207/*-------------------------------------------------
208    INPUT_CHANGED( trigger_reset )
208    INPUT_CHANGED_MEMBER( trigger_reset )
209209-------------------------------------------------*/
210210
211211INPUT_CHANGED_MEMBER( atom_state::trigger_reset )
trunk/src/mess/drivers/coco3.c
r18015r18016
6767
6868static INPUT_PORTS_START( coco3_keyboard )
6969   PORT_START("row0")
70   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
71   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
72   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
73   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
74   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
75   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
76   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
77   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
70   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR('@')
71   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_A) PORT_CHAR('A')
72   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
73   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_C) PORT_CHAR('C')
74   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_D) PORT_CHAR('D')
75   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
76   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
77   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_G) PORT_CHAR('G')
7878
7979   PORT_START("row1")
80   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
81   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
82   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
83   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
84   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
85   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
86   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
87   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
80   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_H) PORT_CHAR('H')
81   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_I) PORT_CHAR('I')
82   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_J) PORT_CHAR('J')
83   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_K) PORT_CHAR('K')
84   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_L) PORT_CHAR('L')
85   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_M) PORT_CHAR('M')
86   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_N) PORT_CHAR('N')
87   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_O) PORT_CHAR('O')
8888
8989   PORT_START("row2")
90   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
91   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
92   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
93   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
94   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
95   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
96   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
97   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
90   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_P) PORT_CHAR('P')
91   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
92   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_R) PORT_CHAR('R')
93   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_S) PORT_CHAR('S')
94   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_T) PORT_CHAR('T')
95   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_U) PORT_CHAR('U')
96   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_V) PORT_CHAR('V')
97   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_W) PORT_CHAR('W')
9898
9999   PORT_START("row3")
100   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
101   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
102   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
103   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
104   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
105   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
106   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
107   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
100   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_X) PORT_CHAR('X')
101   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
102   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z')
103   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
104   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_CHAR(10)
105   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8)
106   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(9)
107   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("SPACE") PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ')
108108
109109   PORT_START("row4")
110   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
111   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
112   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
113   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
114   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
115   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
116   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
117   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
110   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0) PORT_CHAR('0')
111   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!')
112   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('\"')
113   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#')
114   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$')
115   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%')
116   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('&')
117   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('\'')
118118
119119   PORT_START("row5")
120   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
121   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
122   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
123   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
124   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
125   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') PORT_CHAR('_')
126   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
127   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
120   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('(')
121   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR(')')
122   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COLON) PORT_CHAR(':') PORT_CHAR('*')
123   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(';') PORT_CHAR('+')
124   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<')
125   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('=') PORT_CHAR('_')
126   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>')
127   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?')
128128
129129   PORT_START("row6")
130   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
131   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
132   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
133   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("ALT") PORT_CODE(KEYCODE_LALT)
134   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
135   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
136   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
137   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
130   PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13)
131   PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_HOME) PORT_CHAR(12)
132   PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("BREAK") PORT_CODE(KEYCODE_END) PORT_CODE(KEYCODE_ESC) PORT_CHAR(27)
133   PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("ALT") PORT_CODE(KEYCODE_LALT)
134   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("CTRL") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2)
135   PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1))
136   PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2))
137   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_NAME("SHIFT") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1)
138138INPUT_PORTS_END
139139
140140
r18015r18016
153153   PORT_START(JOYSTICK_LY_TAG)
154154   PORT_BIT( 0xff, 0x80,  IPT_AD_STICK_Y) PORT_SENSITIVITY(JOYSTICK_SENSITIVITY) PORT_KEYDELTA(JOYSTICK_DELTA) PORT_MINMAX(0x00,0xFF) PORT_CODE_DEC(KEYCODE_8_PAD) PORT_CODE_INC(KEYCODE_2_PAD) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH)   PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)  PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
155155   PORT_START(JOYSTICK_BUTTONS_TAG)
156   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Right Button 1") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
157   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Right Button 1") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
158   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Left Button 1")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
159   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Left Button 1")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
156   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Right Button 1") PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
157   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Right Button 1") PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x01)
158   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Left Button 1")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
159   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Left Button 1")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x10)
160160INPUT_PORTS_END
161161
162162
r18015r18016
175175   PORT_START(RAT_MOUSE_LY_TAG)
176176   PORT_BIT( 0x03, 0x00,  IPT_MOUSE_Y) PORT_NAME("Rat Mouse Y (Left Port)") PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_INC(KEYCODE_DOWN) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x20)
177177   PORT_START(RAT_MOUSE_BUTTONS_TAG)
178   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Rat Mouse Button 1 (Right Port)") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x02)
179   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Rat Mouse Button 2 (Right Port)") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x02)
180   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Rat Mouse Button 1 (Left Port)")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x20)
181   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Rat Mouse Button 2 (Left Port)")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x20)
178   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Rat Mouse Button 1 (Right Port)") PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x02)
179   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Rat Mouse Button 2 (Right Port)") PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x02)
180   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Rat Mouse Button 1 (Left Port)")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x20)
181   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Rat Mouse Button 2 (Left Port)")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_DEL_PAD) PORT_CODE(JOYCODE_BUTTON2) PORT_CODE(MOUSECODE_BUTTON2) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x20)
182182INPUT_PORTS_END
183183
184184
r18015r18016
197197   PORT_START(DIECOM_LIGHTGUN_LY_TAG)
198198   PORT_BIT( 0xff, 121, IPT_LIGHTGUN_Y ) PORT_NAME("Lightgun Y (Left Port)") PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0,242) PORT_SENSITIVITY(100) PORT_KEYDELTA(1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
199199   PORT_START(DIECOM_LIGHTGUN_BUTTONS_TAG)
200   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightgun Trigger (Right Port)") PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x03)
201   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightgun Trigger (Left Port)")  PORT_CHANGED(coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
200   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightgun Trigger (Right Port)") PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(1) PORT_CONDITION(CTRL_SEL_TAG, 0x0f, EQUALS, 0x03)
201   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightgun Trigger (Left Port)")  PORT_CHANGED_MEMBER(DEVICE_SELF, coco3_state, coco_state::keyboard_changed, NULL) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(JOYCODE_BUTTON1) PORT_CODE(MOUSECODE_BUTTON1) PORT_PLAYER(2) PORT_CONDITION(CTRL_SEL_TAG, 0xf0, EQUALS, 0x30)
202202INPUT_PORTS_END
203203
204204
trunk/src/mess/drivers/esq5505.c
r18015r18016
110110   DECLARE_DRIVER_INIT(eps);
111111   DECLARE_DRIVER_INIT(common);
112112   DECLARE_DRIVER_INIT(sq1);
113   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
113114};
114115
115116const floppy_format_type esq5505_state::floppy_formats[] = {
r18015r18016
395396}
396397
397398#if KEYBOARD_HACK
398static INPUT_CHANGED( key_stroke )
399INPUT_CHANGED_MEMBER(esq5505_state::key_stroke)
399400{
400401    esq5505_state *state = device.machine().driver_data<esq5505_state>();
401402
r18015r18016
425426                printf("program to %d\n", program);
426427            }
427428
428            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)0xc0); // program change
429            duart68681_rx_data(state->m_duart, 0, program); // program
429            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)0xc0); // program change
430            duart68681_rx_data(m_duart, 0, program); // program
430431        }
431432        else
432433        {
433            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)0x90); // note on
434            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)param);
435            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)0x7f);
434            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)0x90); // note on
435            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)param);
436            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)0x7f);
436437        }
437438    }
438439    else if (oldval == 1 && newval == 0)
439440    {
440441        if ((UINT8)(FPTR)param != 0x40)
441442        {
442            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)0x80); // note off
443            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)param);
444            duart68681_rx_data(state->m_duart, 0, (UINT8)(FPTR)0x7f);
443            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)0x80); // note off
444            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)param);
445            duart68681_rx_data(m_duart, 0, (UINT8)(FPTR)0x7f);
445446        }
446447    }
447448}
r18015r18016
510511static INPUT_PORTS_START( vfx )
511512#if KEYBOARD_HACK
512513    PORT_START("KEY0")
513    PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED(key_stroke, 0x40)
514    PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED(key_stroke, 0x41)
515    PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED(key_stroke, 0x42)
516    PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED(key_stroke, 0x43)
517    PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED(key_stroke, 0x44)
518    PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED(key_stroke, 0x45)
519    PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED(key_stroke, 0x46)
520    PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED(key_stroke, 0x47)
521    PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED(key_stroke, 0x48)
522    PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED(key_stroke, 0x49)
523    PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED(key_stroke, 0x4a)
524    PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED(key_stroke, 0x4b)
525    PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED(key_stroke, 0x4c)
526    PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED(key_stroke, 0x4d)
527    PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED(key_stroke, 0x4e)
528    PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED(key_stroke, 0x4f)
514    PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x40)
515    PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x41)
516    PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x42)
517    PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x43)
518    PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x44)
519    PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x45)
520    PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x46)
521    PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x47)
522    PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x48)
523    PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x49)
524    PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4a)
525    PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('e') PORT_CHAR('E') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4b)
526    PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('r') PORT_CHAR('R') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4c)
527    PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('t') PORT_CHAR('T') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4d)
528    PORT_BIT(0x4000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('y') PORT_CHAR('Y') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4e)
529    PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('u') PORT_CHAR('U') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x4f)
529530
530531    PORT_START("KEY1")
531    PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED(key_stroke, 0x0)
532    PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_CHANGED(key_stroke, 0x1)
532    PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x0)
533    PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') PORT_CHANGED_MEMBER(DEVICE_SELF, esq5505_state, key_stroke, 0x1)
533534#endif
534535INPUT_PORTS_END
535536
trunk/src/mess/drivers/fidelz80.c
r18015r18016
10831083 Input Ports
10841084******************************************************************************/
10851085
1086static INPUT_CHANGED( fidelz80_trigger_reset )
1086INPUT_CHANGED_MEMBER(fidelz80_state::fidelz80_trigger_reset)
10871087{
1088   fidelz80_state *state = field.machine().driver_data<fidelz80_state>();
10891088
1090   state->m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1089   m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
10911090}
10921091
1093static INPUT_CHANGED( abc_trigger_reset )
1092INPUT_CHANGED_MEMBER(fidelz80_state::abc_trigger_reset)
10941093{
1095   fidelz80_state *state = field.machine().driver_data<fidelz80_state>();
10961094
1097   state->m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1098   state->m_i8041->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1095   m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
1096   m_i8041->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
10991097}
11001098
11011099static INPUT_PORTS_START( fidelz80 )
r18015r18016
11051103      PORT_CONFSETTING( 0x80, "3" )
11061104
11071105   PORT_START("LINE1")
1108      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED(fidelz80_trigger_reset, 0)
1106      PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, fidelz80_state, fidelz80_trigger_reset, 0)
11091107      PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("LV") PORT_CODE(KEYCODE_V)
11101108      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("A1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_A)
11111109      PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("E5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_E)
r18015r18016
12771275
12781276   PORT_START("LINE8")
12791277      PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED) PORT_UNUSED
1280      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED(abc_trigger_reset, 0)
1278      PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, fidelz80_state, abc_trigger_reset, 0)
12811279      PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("BR") PORT_CODE(KEYCODE_T)
12821280      PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("DL") PORT_CODE(KEYCODE_L)
12831281      PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clubs") PORT_CODE(KEYCODE_4_PAD)
trunk/src/mess/drivers/iq151.c
r18015r18016
9696   iq151cart_slot_device * m_carts[5];
9797   DECLARE_DRIVER_INIT(iq151);
9898   INTERRUPT_GEN_MEMBER(iq151_vblank_interrupt);
99   DECLARE_INPUT_CHANGED_MEMBER(iq151_break);
99100};
100101
101102READ8_MEMBER(iq151_state::keyboard_row_r)
r18015r18016
216217ADDRESS_MAP_END
217218
218219
219static INPUT_CHANGED( iq151_break )
220INPUT_CHANGED_MEMBER(iq151_state::iq151_break)
220221{
221   iq151_state *state = field.machine().driver_data<iq151_state>();
222   pic8259_ir5_w(state->m_pic, newval & 1);
222   pic8259_ir5_w(m_pic, newval & 1);
223223}
224224
225225/* Input ports */
r18015r18016
311311   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("FB") PORT_CODE(KEYCODE_RCONTROL)      // Function B
312312
313313   PORT_START("BREAK")
314   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("BREAK") PORT_CODE(KEYCODE_ESC)   PORT_CHANGED(iq151_break, 0)  PORT_CHAR(UCHAR_MAMEKEY(ESC))
314   PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("BREAK") PORT_CODE(KEYCODE_ESC)   PORT_CHANGED_MEMBER(DEVICE_SELF, iq151_state, iq151_break, 0)  PORT_CHAR(UCHAR_MAMEKEY(ESC))
315315INPUT_PORTS_END
316316
317317
trunk/src/mess/drivers/juicebox.c
r18015r18016
5959   DECLARE_DRIVER_INIT(juicebox);
6060   virtual void machine_start();
6161   virtual void machine_reset();
62   DECLARE_INPUT_CHANGED_MEMBER(port_changed);
6263};
6364
6465/***************************************************************************
r18015r18016
238239
239240// ...
240241
241static INPUT_CHANGED( port_changed )
242INPUT_CHANGED_MEMBER(juicebox_state::port_changed)
242243{
243   running_machine &machine = field.machine();
244   juicebox_state *juicebox = machine.driver_data<juicebox_state>();
245   s3c44b0_request_eint( juicebox->s3c44b0, (FPTR)param);
244   s3c44b0_request_eint( s3c44b0, (FPTR)param);
246245}
247246
248247// ...
r18015r18016
322321
323322static INPUT_PORTS_START( juicebox )
324323   PORT_START( "PORTG" )
325   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED(port_changed, (void *)0) PORT_NAME("RETURN") PORT_PLAYER(1)
326   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED(port_changed, (void *)0) PORT_NAME("PLAY") PORT_PLAYER(1)
327   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED(port_changed, (void *)0) PORT_NAME("FORWARD") PORT_PLAYER(1)
328   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED(port_changed, (void *)0) PORT_NAME("REVERSE") PORT_PLAYER(1)
329   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CHANGED(port_changed, (void *)0) PORT_NAME("STAR") PORT_PLAYER(1)
324   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, juicebox_state, port_changed, (void *)0) PORT_NAME("RETURN") PORT_PLAYER(1)
325   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, juicebox_state, port_changed, (void *)0) PORT_NAME("PLAY") PORT_PLAYER(1)
326   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, juicebox_state, port_changed, (void *)0) PORT_NAME("FORWARD") PORT_PLAYER(1)
327   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CHANGED_MEMBER(DEVICE_SELF, juicebox_state, port_changed, (void *)0) PORT_NAME("REVERSE") PORT_PLAYER(1)
328   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CHANGED_MEMBER(DEVICE_SELF, juicebox_state, port_changed, (void *)0) PORT_NAME("STAR") PORT_PLAYER(1)
330329INPUT_PORTS_END
331330
332331/***************************************************************************
trunk/src/mess/drivers/ti89.c
r18015r18016
233233ADDRESS_MAP_END
234234
235235
236static INPUT_CHANGED( ti68k_on_key )
236INPUT_CHANGED_MEMBER(ti68k_state::ti68k_on_key)
237237{
238   ti68k_state *state = field.machine().driver_data<ti68k_state>();
239238
240   state->m_on_key = newval;
239   m_on_key = newval;
241240
242   if (state->m_on_key)
241   if (m_on_key)
243242   {
244      if (state->m_maincpu->suspended(SUSPEND_REASON_DISABLE))
245         state->m_maincpu->resume(SUSPEND_REASON_DISABLE);
243      if (m_maincpu->suspended(SUSPEND_REASON_DISABLE))
244         m_maincpu->resume(SUSPEND_REASON_DISABLE);
246245
247      state->m_maincpu->set_input_line(M68K_IRQ_6, HOLD_LINE);
246      m_maincpu->set_input_line(M68K_IRQ_6, HOLD_LINE);
248247   }
249248}
250249
r18015r18016
267266      PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2)
268267      PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1)
269268      PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STORE") PORT_CODE(KEYCODE_TAB)
270      PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON") PORT_CODE(KEYCODE_F10) PORT_CHANGED(ti68k_on_key, 0)
269      PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON") PORT_CODE(KEYCODE_F10) PORT_CHANGED_MEMBER(DEVICE_SELF, ti68k_state, ti68k_on_key, 0)
271270
272271   PORT_START("BIT2")   /* bit 2 */
273272      PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN)
r18015r18016
413412      PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TAN") PORT_CODE(KEYCODE_INSERT)
414413      PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("P") PORT_CODE(KEYCODE_P)
415414      PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("*") PORT_CODE(KEYCODE_ASTERISK)
416      PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON") PORT_CODE(KEYCODE_F10) PORT_CHANGED(ti68k_on_key, 0)
415      PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON") PORT_CODE(KEYCODE_F10) PORT_CHANGED_MEMBER(DEVICE_SELF, ti68k_state, ti68k_on_key, 0)
417416      PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(-)") PORT_CODE(KEYCODE_MINUS_PAD)
418417INPUT_PORTS_END
419418
trunk/src/mess/drivers/pecom.c
r18015r18016
4747use LEft/Right Ctrl/Alt keys for the remaining keys. Due to the unnatural emulated keyboard
4848mappings, this is another situation where natural keyboard comes very handy!          */
4949
50static INPUT_CHANGED( ef_w )
50INPUT_CHANGED_MEMBER(pecom_state::ef_w)
5151{
52   field.machine().device(CDP1802_TAG)->execute().set_input_line((int)(FPTR)param, newval);
52   machine().device(CDP1802_TAG)->execute().set_input_line((int)(FPTR)param, newval);
5353}
5454
5555static INPUT_PORTS_START( pecom )
r18015r18016
158158   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Del") PORT_CODE(KEYCODE_TAB) PORT_CHAR(UCHAR_MAMEKEY(DEL))
159159
160160   PORT_START("CNT")
161   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_2) PORT_CHANGED(ef_w, (void*)COSMAC_INPUT_LINE_EF1)
161   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_2) PORT_CHANGED_MEMBER(DEVICE_SELF, pecom_state, ef_w, (void*)COSMAC_INPUT_LINE_EF1)
162162   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift") PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_1)
163   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Caps") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_TOGGLE PORT_CHANGED(ef_w, (void*)COSMAC_INPUT_LINE_EF3)
164   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Break") PORT_CODE(KEYCODE_MINUS) PORT_CHANGED(ef_w, (void*)COSMAC_INPUT_LINE_EF4)
163   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Caps") PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK)) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, pecom_state, ef_w, (void*)COSMAC_INPUT_LINE_EF3)
164   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Break") PORT_CODE(KEYCODE_MINUS) PORT_CHANGED_MEMBER(DEVICE_SELF, pecom_state, ef_w, (void*)COSMAC_INPUT_LINE_EF4)
165165INPUT_PORTS_END
166166
167167static const cassette_interface pecom_cassette_interface =
trunk/src/mess/drivers/psion.c
r18015r18016
222222   return 0;
223223}
224224
225static INPUT_CHANGED( psion_on )
225INPUT_CHANGED_MEMBER(psion_state::psion_on)
226226{
227   cpu_device *cpu = field.machine().device<cpu_device>("maincpu");
227   cpu_device *cpu = machine().device<cpu_device>("maincpu");
228228
229229   /* reset the CPU for resume from standby */
230230   if (cpu->suspended(SUSPEND_REASON_HALT))
r18015r18016
288288      PORT_CONFSETTING( 0x01, "Low Battery" )
289289
290290   PORT_START("ON")
291      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON/CLEAR") PORT_CODE(KEYCODE_MINUS)  PORT_CHANGED(psion_on, 0)
291      PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON/CLEAR") PORT_CODE(KEYCODE_MINUS)  PORT_CHANGED_MEMBER(DEVICE_SELF, psion_state, psion_on, 0)
292292
293293   PORT_START("K1")
294294      PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("MODE") PORT_CODE(KEYCODE_EQUALS)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team