Previous 15994 Revisions Next

r3262 Sunday 14th September, 2008 at 14:25:36 UTC by Fabio Priuli
[CBM] Converted C64, C65, C128, VIC20 & CBMB to use PORT_CATEGORY for various input devices
[src/mess/drivers]c128.c c64.c c65.c cbmb.c vc20.c
[src/mess/machine]c64.c cbmb.c cbmipt.c cbmipt.h
[src/mess/video]vic6560.c vic6567.c

src/mess/video/vic6560.c
r3261r3262
5555
5656/* 2008-05 FP: lightpen code needs to read input port from vc20.c */
5757
58#define LIGHTPEN_BUTTON      ((input_port_read(machine, "CFG") & 0x20) && (input_port_read(machine, "JOY") & 0x80))
59#define LIGHTPEN_POINTER   ((input_port_read(machine, "CFG") & 0x20) && (input_port_read(machine, "CFG") & 0x10))
60#define LIGHTPEN_X_VALUE   (input_port_read(machine, "LIGHTX") & ~1)
61#define LIGHTPEN_Y_VALUE   (input_port_read(machine, "LIGHTY") & ~1)
58#define LIGHTPEN_BUTTON      (((input_port_read(machine, "CFG") & 0xf0) == 0x20) && (input_port_read(machine, "JOY") & 0x40))
59#define LIGHTPEN_POINTER   (input_port_read(machine, "CFG") & 0x20)
60#define LIGHTPEN_X_VALUE   (input_port_read(machine, "LIGHTX") & ~0x01)
61#define LIGHTPEN_Y_VALUE   (input_port_read(machine, "LIGHTY") & ~0x01)
6262
6363/* lightpen delivers values from internal counters
6464 * they do not start with the visual area or frame area */
src/mess/video/vic6567.c
r3261r3262
9393
9494/* 2008-05 FP: lightpen code needs to read input port from c64.c and cbmb.c */
9595
96#define LIGHTPEN_BUTTON      (((input_port_read(machine, "DSW0") & 0xe000 ) == 0xa000 ) && (input_port_read(machine, "TRACKIPT") & 0x02))
97#define LIGHTPEN_POINTER   (((input_port_read(machine, "DSW0") & 0xe000 ) == 0xa000 ) && (input_port_read(machine, "DSW0") & 0x1000))
98#define LIGHTPEN_X_VALUE   (input_port_read(machine, "TRACKX") & ~1)
99#define LIGHTPEN_Y_VALUE   (input_port_read(machine, "TRACKY") & ~1)
96#define LIGHTPEN_BUTTON      (input_port_read(machine, "OTHER") & 0x04)
97#define LIGHTPEN_X_VALUE   (input_port_read(machine, "LIGHTX") & ~0x01)
98#define LIGHTPEN_Y_VALUE   (input_port_read(machine, "LIGHTY") & ~0x01)
10099
101100/* lightpen delivers values from internal counters
102101 * they do not start with the visual area or frame area */
src/mess/machine/cbmb.c
r3261r3262
359359{
360360   static int level = 0;
361361#if 0
362   int controller1 = input_port_read(Machine, "DSW0") & 0xe000;
363   int controller2 = input_port_read(Machine, "DSW0") & 0x0e00;
362   int controller1 = input_port_read(Machine, "CTRLSEL") & 0x07;
363   int controller2 = input_port_read(Machine, "CTRLSEL") & 0x70;
364364#endif
365365
366366   tpi6525_0_irq0_level(machine, level);
r3261r3262
371371   value = 0xff;
372372   switch(controller1)
373373   {
374      case 0x2000:
375      case 0x6000:
376         value &= ~(input_port_read(machine, "JOY0") & 0x1f);   /* Joy0 Directions + Button 1 */
374      case 0x00:
375         value &= ~input_port_read(machine, "JOY1_1B");         /* Joy1 Directions + Button 1 */
377376         break;
378377     
379      case 0x4000:
380         if (input_port_read(machine, "PADDLE1") & 0x100)      /* Paddle1 Button */
378      case 0x01:
379         if (input_port_read(machine, "OTHER") & 0x40)         /* Paddle2 Button */
381380            value &= ~0x08;
382         if (input_port_read(machine, "PADDLE0") & 0x100)      /* Paddle0 Button */
381         if (input_port_read(machine, "OTHER") & 0x80)         /* Paddle1 Button */
383382            value &= ~0x04;
384383         break;
385384
386      case 0x8000:
387         if (input_port_read(machine, "TRACKIPT") & 0x02)      /* Mouse Button Left */
385      case 0x02:
386         if (input_port_read(machine, "OTHER") & 0x02)         /* Mouse Button Left */
388387            value &= ~0x10;
389         if (input_port_read(machine, "TRACKIPT") & 0x01)      /* Mouse Button Right */
388         if (input_port_read(machine, "OTHER") & 0x01)         /* Mouse Button Right */
390389            value &= ~0x01;
391390         break;
392391         
393      case 0xa000:
392      case 0x03:
393         value &= ~(input_port_read(machine, "JOY1_2B") & 0x1f);   /* Joy1 Directions + Button 1 */
394394         break;
395     
396      case 0x04:
397/* was there any input on the lightpen? where is it mapped? */
398//         if (input_port_read(machine, "OTHER") & 0x04)         /* Lightpen Signal */
399//            value &= ?? ;
400         break;
395401
396402      default:
397403         logerror("Invalid Controller 1 Setting %d\n", controller1);
398404         break;
399405   }
400406
401   cbmb_keyline[8] = value;
407   c64_keyline[8] = value;
402408
409
403410   value = 0xff;
404411   switch(controller2)
405412   {
406      case 0x0200:
407      case 0x0600:
408         value &= ~(input_port_read(machine, "JOY1") & 0x1f);   /* Joy1 Directions + Button 1 */
413      case 0x00:
414         value &= ~input_port_read(machine, "JOY2_1B");         /* Joy2 Directions + Button 1 */
409415         break;
410416     
411      case 0x0400:
412         if (input_port_read(machine, "PADDLE3") & 0x100)      /* Paddle3 Button */
417      case 0x10:
418         if (input_port_read(machine, "OTHER") & 0x10)         /* Paddle4 Button */
413419            value &= ~0x08;
414         if (input_port_read(machine, "PADDLE2") & 0x100)      /* Paddle2 Button */
420         if (input_port_read(machine, "OTHER") & 0x20)         /* Paddle3 Button */
415421            value &= ~0x04;
416422         break;
417423
418      case 0x0800:
419         if (input_port_read(machine, "TRACKIPT") & 0x02)      /* Mouse Button Left */
424      case 0x20:
425         if (input_port_read(machine, "OTHER") & 0x02)         /* Mouse Button Left */
420426            value &= ~0x10;
421         if (input_port_read(machine, "TRACKIPT") & 0x01)      /* Mouse Button Right */
427         if (input_port_read(machine, "OTHER") & 0x01)         /* Mouse Button Right */
422428            value &= ~0x01;
423429         break;
430     
431      case 0x30:
432         value &= ~(input_port_read(machine, "JOY2_2B") & 0x1f);   /* Joy2 Directions + Button 1 */
433         break;
424434
435      case 0x40:
436/* was there any input on the lightpen? where is it mapped? */
437//         if (input_port_read(machine, "OTHER") & 0x04)         /* Lightpen Signal */
438//            value &= ?? ;
439         break;
440
425441      default:
426442         logerror("Invalid Controller 2 Setting %d\n", controller2);
427443         break;
428444   }
429445
430   cbmb_keyline[9] = value;
446   c64_keyline[9] = value;
431447#endif
432448
433449   vic2_frame_interrupt (machine, 0);
src/mess/machine/cbmipt.c
r3261r3262
150150
151151
152152INPUT_PORTS_START( c64_controls )
153   PORT_START("JOY0")
154   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )      PORT_8WAY
155   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )      PORT_8WAY
156   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )      PORT_8WAY
157   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )   PORT_8WAY
158   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
159   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
153   PORT_START("CTRLSEL")   /* Controller selection */
154   PORT_CATEGORY_CLASS( 0x07, 0x00, "Gameport A" )
155   PORT_CATEGORY_ITEM( 0x00, DEF_STR( Joystick ), 10 )
156   PORT_CATEGORY_ITEM( 0x01, "Paddles 1 & 2", 11 )
157   PORT_CATEGORY_ITEM( 0x02, "Mouse", 12 )
158   PORT_CATEGORY_ITEM( 0x03, "Joystick 2 Buttons", 13 )
159   PORT_CATEGORY_ITEM( 0x04, "Lightpen", 14 )
160   PORT_CATEGORY_CLASS( 0x70, 0x00, "Gameport B" )
161   PORT_CATEGORY_ITEM( 0x00, DEF_STR( Joystick ), 20 )
162   PORT_CATEGORY_ITEM( 0x10, "Paddles 3 & 4", 21 )
163//   PORT_CATEGORY_ITEM( 0x20, "Mouse", 22 )
164   PORT_CATEGORY_ITEM( 0x30, "Joystick 2 Buttons", 23 )
165//   PORT_CATEGORY_ITEM( 0x40, "Lightpen", 24 )
166   PORT_CONFNAME( 0x80, 0x00, "Swap Gameport A and B") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
167   PORT_CONFSETTING(    0x00, DEF_STR( No ) )     
168   PORT_CONFSETTING(    0x80, DEF_STR( Yes ) )
169
170   PORT_START("JOY1_1B")
171   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(10)
172   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(10)
173   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(10)
174   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(10)
175   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_CATEGORY(10)
176    PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
177
178   PORT_START("JOY2_1B")
179   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(20) PORT_CODE(KEYCODE_HOME) PORT_CODE(JOYCODE_Y_UP_SWITCH)
180   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(20) PORT_CODE(KEYCODE_END) PORT_CODE(JOYCODE_Y_DOWN_SWITCH)
181   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(20) PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_X_LEFT_SWITCH)
182   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(20) PORT_CODE(KEYCODE_PGDN) PORT_CODE(JOYCODE_X_RIGHT_SWITCH)
183   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CATEGORY(20) PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1)
184    PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
185
186   PORT_START("JOY1_2B")
187   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(13)
188   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(13)
189   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(13)
190   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_CATEGORY(13)
191   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_CATEGORY(13)
192   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_CATEGORY(13)
160193    PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
161194
162   PORT_START("JOY1")
163   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )      PORT_NAME("P2 Up") PORT_CODE(KEYCODE_HOME) PORT_CODE(JOYCODE_Y_UP_SWITCH) PORT_PLAYER(2) PORT_8WAY
164   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )      PORT_NAME("P2 Down") PORT_CODE(KEYCODE_END) PORT_CODE(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) PORT_8WAY
165   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )      PORT_NAME("P2 Left") PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_X_LEFT_SWITCH ) PORT_PLAYER(2) PORT_8WAY
166   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )   PORT_NAME("P2 Right") PORT_CODE(KEYCODE_PGDN) PORT_CODE(JOYCODE_X_RIGHT_SWITCH ) PORT_PLAYER(2) PORT_8WAY
167   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )         PORT_NAME("P2 Button") PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1 ) PORT_PLAYER(2)
168   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )         PORT_NAME("P2 Button 2") PORT_CODE(KEYCODE_PGUP) PORT_CODE(JOYCODE_BUTTON2 ) PORT_PLAYER(2)
195   PORT_START("JOY2_2B")
196   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_HOME) PORT_CODE(JOYCODE_Y_UP_SWITCH)
197   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_END) PORT_CODE(JOYCODE_Y_DOWN_SWITCH)
198   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_X_LEFT_SWITCH)
199   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_PGDN) PORT_CODE(JOYCODE_X_RIGHT_SWITCH)
200   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1)
201   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_CATEGORY(23) PORT_CODE(KEYCODE_PGUP) PORT_CODE(JOYCODE_BUTTON2)
169202    PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
170203
171   PORT_START("PADDLE0")
172   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Paddle 1 Button") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1)
173   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_REVERSE
174
175204   PORT_START("PADDLE1")
176   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Paddle 2 Button") PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2)
177   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_DOWN) PORT_CODE_INC(KEYCODE_UP) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_PLAYER(2) PORT_REVERSE
205   PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_CATEGORY(11) PORT_PLAYER(1) PORT_REVERSE
178206
179207   PORT_START("PADDLE2")
180   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Paddle 3 Button") PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1)
181   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_HOME) PORT_CODE_INC(KEYCODE_PGUP) PORT_PLAYER(3) PORT_REVERSE
208   PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_DOWN) PORT_CODE_INC(KEYCODE_UP) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_CATEGORY(11) PORT_PLAYER(2) PORT_REVERSE
182209
183210   PORT_START("PADDLE3")
184   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Paddle 4 Button") PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_BUTTON2)
185   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_END) PORT_CODE_INC(KEYCODE_PGDN) PORT_PLAYER(4) PORT_REVERSE
211   PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_HOME) PORT_CODE_INC(KEYCODE_PGUP) PORT_CATEGORY(21) PORT_PLAYER(3) PORT_REVERSE
186212
213   PORT_START("PADDLE4")
214   PORT_BIT( 0xff, 128, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_END) PORT_CODE_INC(KEYCODE_PGDN) PORT_CATEGORY(21) PORT_PLAYER(4) PORT_REVERSE
215
187216   PORT_START("TRACKX")
188   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1)
189   /* PORT_BIT( 0x1ff,0,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,320-1) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_PLAYER(1) */
217   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_X) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CATEGORY(12)
190218
191219   PORT_START("TRACKY")
192   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_REVERSE
193   /* PORT_BIT( 0xff,0,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,200-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) */
220   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_Y) PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CATEGORY(12) PORT_REVERSE
194221
195   PORT_START("TRACKIPT")
196   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Button Left") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1)
197   /* PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Lightpen Signal") PORT_CODE(KEYCODE_LCONTROL) */
198   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Button Right") PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2)
199INPUT_PORTS_END
222   PORT_START("LIGHTX")
223   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_X) PORT_NAME("Lightpen X Axis") PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CATEGORY(14)
224   /* PORT_BIT( 0x1ff,0,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,320-1) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_PLAYER(1) */
200225
226   PORT_START("LIGHTY")
227   PORT_BIT( 0x7e, 0x00, IPT_TRACKBALL_Y) PORT_NAME("Lightpen Y Axis") PORT_SENSITIVITY(100) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CATEGORY(14) PORT_REVERSE
228   /* PORT_BIT( 0xff,0,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,200-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) */
201229
202INPUT_PORTS_START( c64_control_cfg )
203   PORT_START("DSW0")
204   PORT_DIPNAME( 0xe000, 0x2000, "Gameport A")     
205   PORT_DIPSETTING(      0x0000, DEF_STR( None ) )   
206   PORT_DIPSETTING(      0x2000, "Joystick 1" )     
207   PORT_DIPSETTING(      0x4000, "Paddles 1, 2" )   
208   PORT_DIPSETTING(      0x6000, "Mouse Joystick Emulation/2 Button Joystick" )
209   PORT_DIPSETTING(      0x8000, "Mouse" )         
210   PORT_DIPSETTING(      0xa000, "Lightpen" )     
211   PORT_DIPNAME( 0x1000, 0x1000, "Lightpen Draw Pointer")
212   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )   
213   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )     
214   PORT_DIPNAME( 0x0e00, 0x0200, "Gameport B")     
215   PORT_DIPSETTING(      0x0000, DEF_STR( None ) )   
216   PORT_DIPSETTING(      0x0200, "Joystick 2" )     
217   PORT_DIPSETTING(      0x0400, "Paddles 3, 4" )   
218   PORT_DIPSETTING(      0x0600, "Mouse Joystick Emulation/2 Button Joystick" )
219   PORT_DIPSETTING(      0x0800, "Mouse" )         
220   PORT_DIPNAME( 0x0100, 0x0000, "Swap Gameport 1 and 2") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
221   PORT_DIPSETTING(      0x0000, DEF_STR( No ) )     
222   PORT_DIPSETTING(      0x0100, DEF_STR( Yes ) )
230   PORT_START("OTHER")
231   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Paddle 1 Button") PORT_CATEGORY(11) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1)
232   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Paddle 2 Button") PORT_CATEGORY(11) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2)
233   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Paddle 3 Button") PORT_CATEGORY(21) PORT_CODE(KEYCODE_INSERT) PORT_CODE(JOYCODE_BUTTON1)
234   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Paddle 4 Button") PORT_CATEGORY(21) PORT_CODE(KEYCODE_DEL) PORT_CODE(JOYCODE_BUTTON2)
235   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Lightpen Signal") PORT_CATEGORY(14) PORT_CODE(KEYCODE_LCONTROL)
236   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Mouse Button Left") PORT_CATEGORY(12) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1)
237   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Mouse Button Right") PORT_CATEGORY(12) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2)
223238INPUT_PORTS_END
224239
225240
r3261r3262
321336INPUT_PORTS_START( c16_special )
322337   PORT_START("SPECIAL")                                               
323338   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE
324   PORT_DIPNAME( 0x40, 0x00, "Swap Gameport 1 and 2") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
325   PORT_DIPSETTING(   0x00, DEF_STR( No ) )                                   
326   PORT_DIPSETTING(   0x40, DEF_STR( Yes ) )
339   PORT_CONFNAME( 0x40, 0x00, "Swap Gameport 1 and 2") PORT_CODE(KEYCODE_F1) PORT_TOGGLE
340   PORT_CONFSETTING(   0x00, DEF_STR( No ) )                                   
341   PORT_CONFSETTING(   0x40, DEF_STR( Yes ) )
327342INPUT_PORTS_END
328343
329344
r3261r3262
11061121   int bit_mask = (FPTR)param;
11071122   UINT8 port = 0;
11081123   
1109   if (input_port_read(field->port->machine, "CFG") & 0x40)
1124   if ((input_port_read(field->port->machine, "CFG") & 0xf0) == 0x10)
11101125      port |= (input_port_read(field->port->machine, "FAKE0") & bit_mask) ? 1 : 0;
11111126
1112   if (input_port_read(field->port->machine, "CFG") & 0x80)
1127   if ((input_port_read(field->port->machine, "CFG") & 0xf0) == 0x00)
11131128      port |= (input_port_read(field->port->machine, "FAKE1") & bit_mask) ? 1 : 0;
11141129
11151130   return port;
r3261r3262
11181133INPUT_PORTS_START( vic_controls )
11191134   PORT_START( "JOY" )
11201135   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vic_custom_inputs, (void *)0x02)
1121   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Lightpen Signal") PORT_CODE(KEYCODE_LALT)   
1136   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Lightpen Signal") PORT_CODE(KEYCODE_LALT) PORT_CATEGORY(12)
11221137   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(vic_custom_inputs, (void *)0x01)
1123   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY         
1124   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY         
1125   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY           
1138   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_CATEGORY(10)
1139   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_CATEGORY(10)
1140   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_CATEGORY(10)
11261141
11271142   PORT_START( "FAKE0" )
1128   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Paddle 2 Button") PORT_CODE(KEYCODE_DEL)   
1129   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Paddle 1 Button") PORT_CODE(KEYCODE_INSERT)   
1143   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Paddle 2 Button") PORT_CODE(KEYCODE_DEL) PORT_CATEGORY(11)
1144   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Paddle 1 Button") PORT_CODE(KEYCODE_INSERT) PORT_CATEGORY(11)
11301145
11311146   PORT_START( "FAKE1" )
1132   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY         
1133   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1147   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_CATEGORY(10)
1148   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CATEGORY(10)
11341149
11351150   PORT_START( "PADDLE0" )
1136   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_HOME) PORT_CODE_INC(KEYCODE_PGUP) PORT_REVERSE
1151   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CATEGORY(11) PORT_CODE_DEC(KEYCODE_HOME) PORT_CODE_INC(KEYCODE_PGUP) PORT_REVERSE
11371152
11381153   PORT_START( "PADDLE1" )
1139   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CODE_DEC(KEYCODE_END) PORT_CODE_INC(KEYCODE_PGDN) PORT_PLAYER(2) PORT_REVERSE
1154   PORT_BIT( 0xff,128,IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_MINMAX(0,255) PORT_CATEGORY(11) PORT_CODE_DEC(KEYCODE_END) PORT_CODE_INC(KEYCODE_PGDN) PORT_PLAYER(2) PORT_REVERSE
11401155INPUT_PORTS_END
11411156
11421157
r3261r3262
11691184
11701185INPUT_PORTS_START( vic_config )
11711186   PORT_START( "CFG" )
1172   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Joystick ) )
1173   PORT_DIPSETTING(   0x00, DEF_STR( No ) )           
1174   PORT_DIPSETTING(   0x80, DEF_STR( Yes ) )           
1175   PORT_DIPNAME( 0x40, 0x40, "Paddles")               
1176   PORT_DIPSETTING(   0x00, DEF_STR( No ) )           
1177   PORT_DIPSETTING(   0x40, DEF_STR( Yes ) )           
1178   PORT_DIPNAME( 0x20, 0x00, "Lightpen")               
1179   PORT_DIPSETTING(   0x00, DEF_STR( No ) )           
1180   PORT_DIPSETTING(   0x20, DEF_STR( Yes ) )           
1181   PORT_DIPNAME( 0x10, 0x10, "Draw Pointer")           
1182   PORT_DIPSETTING(   0x00, DEF_STR( No ) )           
1183   PORT_DIPSETTING(   0x10, DEF_STR( Yes ) )           
1187   PORT_CATEGORY_CLASS( 0xf0, 0x00, DEF_STR( Controller ) )
1188   PORT_CATEGORY_ITEM( 0x00, DEF_STR( Joystick ), 10 )
1189   PORT_CATEGORY_ITEM( 0x10, "Paddles", 11 )
1190   PORT_CATEGORY_ITEM( 0x20, "Lightpen", 12 )
11841191   PORT_DIPNAME( 0x08, 0x08, "Tape Drive/Device 1")     
11851192   PORT_DIPSETTING(   0x00, DEF_STR( No ) )           
11861193   PORT_DIPSETTING(   0x08, DEF_STR( Yes ) )           
src/mess/machine/cbmipt.h
r3261r3262
77INPUT_PORTS_EXTERN( common_cbm_keyboard );   /* shared with c16, c65, c128 */
88INPUT_PORTS_EXTERN( c64_special );
99INPUT_PORTS_EXTERN( c64_controls );         /* shared with c65, c128, cbmb */
10INPUT_PORTS_EXTERN( c64_control_cfg );      /* shared with c65, c128, cbmb */
1110INPUT_PORTS_EXTERN( c64_config );
1211
1312
src/mess/machine/c64.c
r3261r3262
269269      value &= t;
270270   }
271271
272   if ( input_port_read(Machine, "DSW0") & 0x0100 )
272   if ( input_port_read(Machine, "CTRLSEL") & 0x80 )
273273      value &= c64_keyline[8];
274274   else
275275      value &= c64_keyline[9];
r3261r3262
291291    if (!(cia0porta & 0x02)) value &= c64_keyline[1];
292292    if (!(cia0porta & 0x01)) value &= c64_keyline[0];
293293
294   if ( input_port_read(Machine, "DSW0") & 0x0100 )
294   if ( input_port_read(Machine, "CTRLSEL") & 0x80 )
295295      value &= c64_keyline[9];
296296    else
297297      value &= c64_keyline[8];
r3261r3262
499499
500500   else if (offset == 0xc00)
501501      {
502         cia_set_port_mask_value(0, 0, input_port_read(machine, "DSW0") & 0x0100 ? c64_keyline[8] : c64_keyline[9] );
502         cia_set_port_mask_value(0, 0, input_port_read(machine, "CTRLSEL") & 0x80 ? c64_keyline[8] : c64_keyline[9] );
503503         return cia_0_r(machine, offset);
504504      }
505505
506506   else if (offset == 0xc01)
507507      {
508         cia_set_port_mask_value(0, 1, input_port_read(machine, "DSW0") & 0x0100 ? c64_keyline[9] : c64_keyline[8] );
508         cia_set_port_mask_value(0, 1, input_port_read(machine, "CTRLSEL") & 0x80 ? c64_keyline[9] : c64_keyline[8] );
509509         return cia_0_r(machine, offset);
510510      }
511511
r3261r3262
835835{
836836   int pot1 = 0xff, pot2 = 0xff, pot3 = 0xff, pot4 = 0xff, temp;
837837   UINT8 cia0porta = cia_get_output_a(0);
838   int controller = input_port_read(Machine, "DSW0") & 0x0e00;
838   int controller1 = input_port_read(Machine, "CTRLSEL") & 0x07;
839   int controller2 = input_port_read(Machine, "CTRLSEL") & 0x70;
839840
840   if (which)
841   /* Notice that only a single input is defined for Mouse & Lightpen in both ports */
842   switch (controller1)
841843   {
842      switch (controller)
843      {
844         case 0x0400:
845            pot4 = (input_port_read(Machine, "PADDLE3") & 0xff);
846            break;
844      case 0x01:
845         if (which)
846            pot2 = input_port_read(Machine, "PADDLE2");
847         else
848            pot1 = input_port_read(Machine, "PADDLE1");
849         break;
847850
848         case 0x0600:
849            if (input_port_read(Machine, "JOY1") & 0x20)   /* Joy1 Button 2 */
850               pot4 = 0x00;
851            break;
852         
853         case 0x0800:
854            pot4 = input_port_read(Machine, "TRACKY");
855            break;
851      case 0x02:
852         if (which)
853            pot2 = input_port_read(Machine, "TRACKY");
854         else
855            pot1 = input_port_read(Machine, "TRACKX");
856         break;
856857
857         case 0x4000:
858            pot2 = (input_port_read(Machine, "PADDLE1") & 0xff);
859            break;
858      case 0x03:
859         if (input_port_read(Machine, "JOY1_2B") & 0x20)   /* Joy1 Button 2 */
860            pot1 = 0x00;
861         break;
860862
861         case 0x6000:
862            if (input_port_read(Machine, "JOY0") & 0x20)   /* Joy0 Button 2 */
863               pot1 = 0x00;
864            break;
865         
866         case 0x8000:
867            pot2 = input_port_read(Machine, "TRACKY");
868            break;
869     
870         case 0xa000:
871            break;
872     
873         default:
874            logerror("Invalid Controller Setting %d\n", controller);
875            break;
876      }
863      case 0x04:
864         if (which)
865            pot2 = input_port_read(Machine, "LIGHTY");
866         else
867            pot1 = input_port_read(Machine, "LIGHTX");
868         break;
869
870      case 0x00:
871         break;
872
873      default:
874         logerror("Invalid Controller Setting %d\n", controller1);
875         break;
877876   }
878   else
877
878   switch (controller2)
879879   {
880      switch (controller)
881      {
882         case 0x0400:
883            pot3 = (input_port_read(Machine, "PADDLE2") & 0xff);
884            break;
885         
886         case 0x0800:
880      case 0x01:
881         if (which)
882            pot4 = input_port_read(Machine, "PADDLE4");
883         else
884            pot3 = input_port_read(Machine, "PADDLE3");
885         break;
886
887      case 0x02:
888         if (which)
889            pot4 = input_port_read(Machine, "TRACKY");
890         else
887891            pot3 = input_port_read(Machine, "TRACKX");
888            break;
892         break;
889893
890         case 0x4000:
891            pot1 = (input_port_read(Machine, "PADDLE0") & 0xff);
892            break;
894      case 0x03:
895         if (input_port_read(Machine, "JOY2_2B") & 0x20)   /* Joy2 Button 2 */
896            pot4 = 0x00;
897         break;
893898
894         case 0x8000:
895            pot1 = input_port_read(Machine, "TRACKX");
896            break;
897           
898         case 0x0600:
899         case 0x6000:
900         case 0xa000:
901            break;
902     
903         default:
904            logerror("Invalid Controller Setting %d\n", controller);
905            break;
906      }
899      case 0x04:
900         if (which)
901            pot4 = input_port_read(Machine, "LIGHTY");
902         else
903            pot3 = input_port_read(Machine, "LIGHTX");
904         break;
905
906      case 0x00:
907         break;
908
909      default:
910         logerror("Invalid Controller Setting %d\n", controller1);
911         break;
907912   }
908913
909   if (input_port_read(Machine, "DSW0") & 0x0100)      /* Swap */
914   if (input_port_read(Machine, "CTRLSEL") & 0x80)      /* Swap */
910915   {
911916      temp = pot1; pot1 = pot2; pot2 = pot1;
912917      temp = pot3; pot3 = pot4; pot4 = pot3;
r3261r3262
11281133{
11291134   static int monitor = -1;
11301135   int value, i;
1131   int controller1 = input_port_read(Machine, "DSW0") & 0xe000;
1132   int controller2 = input_port_read(Machine, "DSW0") & 0x0e00;
1136   int controller1 = input_port_read(Machine, "CTRLSEL") & 0x07;
1137   int controller2 = input_port_read(Machine, "CTRLSEL") & 0x70;
11331138   static const char *c64ports[] = { "ROW0", "ROW1", "ROW2", "ROW3", "ROW4", "ROW5", "ROW6", "ROW7" };
11341139   static const char *c128ports[] = { "KP0", "KP1", "KP2" };
11351140
r3261r3262
11751180   value = 0xff;
11761181   switch(controller1)
11771182   {
1178      case 0x2000:
1179      case 0x6000:
1180         value &= ~(input_port_read(machine, "JOY0") & 0x1f);   /* Joy0 Directions + Button 1 */
1183      case 0x00:
1184         value &= ~input_port_read(machine, "JOY1_1B");         /* Joy1 Directions + Button 1 */
11811185         break;
11821186     
1183      case 0x4000:
1184         if (input_port_read(machine, "PADDLE1") & 0x100)      /* Paddle1 Button */
1187      case 0x01:
1188         if (input_port_read(machine, "OTHER") & 0x40)         /* Paddle2 Button */
11851189            value &= ~0x08;
1186         if (input_port_read(machine, "PADDLE0") & 0x100)      /* Paddle0 Button */
1190         if (input_port_read(machine, "OTHER") & 0x80)         /* Paddle1 Button */
11871191            value &= ~0x04;
11881192         break;
11891193
1190      case 0x8000:
1191         if (input_port_read(machine, "TRACKIPT") & 0x02)      /* Mouse Button Left */
1194      case 0x02:
1195         if (input_port_read(machine, "OTHER") & 0x02)         /* Mouse Button Left */
11921196            value &= ~0x10;
1193         if (input_port_read(machine, "TRACKIPT") & 0x01)      /* Mouse Button Right */
1197         if (input_port_read(machine, "OTHER") & 0x01)         /* Mouse Button Right */
11941198            value &= ~0x01;
11951199         break;
11961200         
1197      case 0xa000:
1201      case 0x03:
1202         value &= ~(input_port_read(machine, "JOY1_2B") & 0x1f);   /* Joy1 Directions + Button 1 */
11981203         break;
1204     
1205      case 0x04:
1206/* was there any input on the lightpen? where is it mapped? */
1207//         if (input_port_read(machine, "OTHER") & 0x04)         /* Lightpen Signal */
1208//            value &= ?? ;
1209         break;
11991210
12001211      default:
12011212         logerror("Invalid Controller 1 Setting %d\n", controller1);
r3261r3262
12081219   value = 0xff;
12091220   switch(controller2)
12101221   {
1211      case 0x0200:
1212      case 0x0600:
1213         value &= ~(input_port_read(machine, "JOY1") & 0x1f);   /* Joy1 Directions + Button 1 */
1222      case 0x00:
1223         value &= ~input_port_read(machine, "JOY2_1B");         /* Joy2 Directions + Button 1 */
12141224         break;
12151225     
1216      case 0x0400:
1217         if (input_port_read(machine, "PADDLE3") & 0x100)      /* Paddle3 Button */
1226      case 0x10:
1227         if (input_port_read(machine, "OTHER") & 0x10)         /* Paddle4 Button */
12181228            value &= ~0x08;
1219         if (input_port_read(machine, "PADDLE2") & 0x100)      /* Paddle2 Button */
1229         if (input_port_read(machine, "OTHER") & 0x20)         /* Paddle3 Button */
12201230            value &= ~0x04;
12211231         break;
12221232
1223      case 0x0800:
1224         if (input_port_read(machine, "TRACKIPT") & 0x02)      /* Mouse Button Left */
1233      case 0x20:
1234         if (input_port_read(machine, "OTHER") & 0x02)         /* Mouse Button Left */
12251235            value &= ~0x10;
1226         if (input_port_read(machine, "TRACKIPT") & 0x01)      /* Mouse Button Right */
1236         if (input_port_read(machine, "OTHER") & 0x01)         /* Mouse Button Right */
12271237            value &= ~0x01;
12281238         break;
1239     
1240      case 0x30:
1241         value &= ~(input_port_read(machine, "JOY2_2B") & 0x1f);   /* Joy2 Directions + Button 1 */
1242         break;
12291243
1244      case 0x40:
1245/* was there any input on the lightpen? where is it mapped? */
1246//         if (input_port_read(machine, "OTHER") & 0x04)         /* Lightpen Signal */
1247//            value &= ?? ;
1248         break;
1249
12301250      default:
12311251         logerror("Invalid Controller 2 Setting %d\n", controller2);
12321252         break;
r3261r3262
12571277   vic2_frame_interrupt (machine, cpunum);
12581278
12591279   set_led_status (1, input_port_read(machine, "SPECIAL") & 0x40 ? 1 : 0);      /* Shift Lock */
1260   set_led_status (0, input_port_read(machine, "DSW0") & 0x0100 ? 1 : 0);      /* Joystick Swap */
1280   set_led_status (0, input_port_read(machine, "CTRLSEL") & 0x80 ? 1 : 0);      /* Joystick Swap */
12611281}
12621282
12631283
src/mess/drivers/c65.c
r3261r3262
123123
124124   PORT_INCLUDE( c65_special )            /* SPECIAL */
125125
126   PORT_INCLUDE( c64_controls )         /* JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, TRACKIPT */
126   PORT_INCLUDE( c64_controls )         /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
127127
128   PORT_INCLUDE( c64_control_cfg )         /* DSW0*/
129
130128   PORT_INCLUDE( c65_config )            /* CFG */
131129INPUT_PORTS_END
132130
r3261r3262
137135   PORT_MODIFY( "ROW1" )
138136   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Z  { Y }") PORT_CODE(KEYCODE_Z)               PORT_CHAR('Z')
139137   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3  #  { 3  Paragraph }") PORT_CODE(KEYCODE_3)      PORT_CHAR('3') PORT_CHAR('#')
138
140139   PORT_MODIFY( "ROW3" )
141140   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Y  { Z }") PORT_CODE(KEYCODE_Y)               PORT_CHAR('Y')
142141   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7 ' { 7  / }") PORT_CODE(KEYCODE_7)            PORT_CHAR('7') PORT_CHAR('\'')
142
143143   PORT_MODIFY( "ROW4" )
144144   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0  { = }") PORT_CODE(KEYCODE_0)               PORT_CHAR('0')
145
145146   PORT_MODIFY( "ROW5" )
146147   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(",  <  { ; }") PORT_CODE(KEYCODE_COMMA)         PORT_CHAR(',') PORT_CHAR('<')
147148   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Paragraph  \xE2\x86\x91  { \xc3\xbc }") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0x00A7) PORT_CHAR(0x2191)
r3261r3262
149150   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(".  >  { : }") PORT_CODE(KEYCODE_STOP)            PORT_CHAR('.') PORT_CHAR('>')
150151   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("-  { '  ` }") PORT_CODE(KEYCODE_EQUALS)         PORT_CHAR('-')
151152   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("+  { \xc3\x9f ? }") PORT_CODE(KEYCODE_MINUS)      PORT_CHAR('+')
153
152154   PORT_MODIFY( "ROW6" )
153155   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("/  ?  { -  _ }") PORT_CODE(KEYCODE_SLASH)         PORT_CHAR('/') PORT_CHAR('?')
154156   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Sum Pi  { ]  \\ }") PORT_CODE(KEYCODE_DEL)      PORT_CHAR(0x03A3) PORT_CHAR(0x03C0)
r3261r3262
156158   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";  ]  { \xc3\xb6 }") PORT_CODE(KEYCODE_QUOTE)      PORT_CHAR(';') PORT_CHAR(']')
157159   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("*  `  { +  * }") PORT_CODE(KEYCODE_CLOSEBRACE)   PORT_CHAR('*') PORT_CHAR('`')
158160   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\\  { [ \xE2\x86\x91 }") PORT_CODE(KEYCODE_BACKSLASH2) PORT_CHAR('\xa3')
161
159162   PORT_MODIFY( "ROW7" )
160163   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)         PORT_CHAR('_')
161164
src/mess/drivers/cbmb.c
r3261r3262
226226
227227   PORT_INCLUDE( cbmb_special )         /* SPECIAL */
228228   
229   PORT_INCLUDE( c64_controls )         /* JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, TRACKIPT */
230
231   PORT_INCLUDE( c64_control_cfg )         /* DSW0 */
229   PORT_INCLUDE( c64_controls )         /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
232230INPUT_PORTS_END
233231
234232
src/mess/drivers/c128.c
r3261r3262
318318   
319319   PORT_INCLUDE( c128_special )         /* SPECIAL */
320320
321   PORT_INCLUDE( c64_controls )         /* JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, TRACKIPT */
321   PORT_INCLUDE( c64_controls )         /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
322322
323   PORT_INCLUDE( c64_control_cfg )         /* DSW */
324
325323   PORT_INCLUDE( c128_config )            /* CFG */
326324INPUT_PORTS_END
327325
r3261r3262
332330   PORT_MODIFY( "ROW1" )
333331   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Z  { Y }") PORT_CODE(KEYCODE_Z)               PORT_CHAR('Z')
334332   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3  #  { 3  Paragraph }") PORT_CODE(KEYCODE_3)      PORT_CHAR('3') PORT_CHAR('#')
333
335334   PORT_MODIFY( "ROW3" )
336335   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Y  { Z }") PORT_CODE(KEYCODE_Y)               PORT_CHAR('Y')
337336   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7  '  { 7  / }") PORT_CODE(KEYCODE_7)            PORT_CHAR('7') PORT_CHAR('\'')
337
338338   PORT_MODIFY( "ROW4" )
339339   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0  { = }") PORT_CODE(KEYCODE_0)               PORT_CHAR('0')
340
340341   PORT_MODIFY( "ROW5" )
341342   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(",  <  { ; }") PORT_CODE(KEYCODE_COMMA)         PORT_CHAR(',') PORT_CHAR('<')
342343   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Paragraph  \xE2\x86\x91  { \xc3\xbc }") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0x00A7) PORT_CHAR(0x2191)
r3261r3262
344345   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(".  >  { : }") PORT_CODE(KEYCODE_STOP)            PORT_CHAR('.') PORT_CHAR('>')
345346   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("-  { '  ` }") PORT_CODE(KEYCODE_EQUALS)         PORT_CHAR('-')
346347   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("+  { \xc3\x9f ? }") PORT_CODE(KEYCODE_MINUS)      PORT_CHAR('+')
348
347349   PORT_MODIFY( "ROW6" )
348350   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("/  ?  { -  _ }") PORT_CODE(KEYCODE_SLASH)               PORT_CHAR('/') PORT_CHAR('?')
349351   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Sum  Pi  { ] \\ }") PORT_CODE(KEYCODE_DEL)            PORT_CHAR(0x03A3) PORT_CHAR(0x03C0)
r3261r3262
351353   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";  ]  { \xc3\xb6 }") PORT_CODE(KEYCODE_QUOTE)            PORT_CHAR(';') PORT_CHAR(']')
352354   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("*  `  { +  * }") PORT_CODE(KEYCODE_CLOSEBRACE)         PORT_CHAR('*') PORT_CHAR('`')
353355   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\\  { [  \xE2\x86\x91 }") PORT_CODE(KEYCODE_BACKSLASH2)   PORT_CHAR('\\')
356
354357   PORT_MODIFY( "ROW7" )
355358   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)               PORT_CHAR('_')
356359
r3261r3262
370373   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("A  { Q }") PORT_CODE(KEYCODE_A)            PORT_CHAR('A')
371374   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("W  { Z }") PORT_CODE(KEYCODE_W)            PORT_CHAR('W')
372375   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3  #  { \"  3 }") PORT_CODE(KEYCODE_3)      PORT_CHAR('3') PORT_CHAR('#')
376
373377   PORT_MODIFY( "ROW2" )
374378   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("6  &  { Paragraph  6 }") PORT_CODE(KEYCODE_6)   PORT_CHAR('6') PORT_CHAR('&')
375379   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("5  %  { (  5 }") PORT_CODE(KEYCODE_5)         PORT_CHAR('5') PORT_CHAR('%')
380
376381   PORT_MODIFY( "ROW3" )
377382   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("8  (  { !  8 }") PORT_CODE(KEYCODE_8)         PORT_CHAR('8') PORT_CHAR('(')
378383   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7  '  { \xc3\xa8  7 }") PORT_CODE(KEYCODE_7)   PORT_CHAR('7') PORT_CHAR('\'')
384
379385   PORT_MODIFY( "ROW4" )
380386   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("K  Large-  { \\ }") PORT_CODE(KEYCODE_K)      PORT_CHAR('K')
381387   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("M  Large-/  { ,  ? }") PORT_CODE(KEYCODE_M)   PORT_CHAR('M')
382388   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0  { \xc3\xa0  0 }") PORT_CODE(KEYCODE_0)      PORT_CHAR('0')
383389   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("9  )  { \xc3\xa7  9 }") PORT_CODE(KEYCODE_9)   PORT_CHAR('9') PORT_CHAR(')')
390
384391   PORT_MODIFY( "ROW5" )
385392   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(",  <  { ;  . }") PORT_CODE(KEYCODE_COMMA)                  PORT_CHAR(',') PORT_CHAR('<')
386393   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("@  \xc3\xbb  { ^  \xc2\xa8 }") PORT_CODE(KEYCODE_OPENBRACE)   PORT_CHAR('@') PORT_CHAR(0x00FB)
r3261r3262
388395   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(".  >  { :  / }") PORT_CODE(KEYCODE_STOP)                  PORT_CHAR('.') PORT_CHAR('>')
389396   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("-  \xc2\xb0  { -  _ }") PORT_CODE(KEYCODE_EQUALS)            PORT_CHAR('-') PORT_CHAR('\xB0')
390397   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("+  \xc3\xab  { )  \xc2\xb0 }") PORT_CODE(KEYCODE_MINUS)      PORT_CHAR('+') PORT_CHAR(0x00EB)
398
391399   PORT_MODIFY( "ROW6" )
392400   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("/  ?  { =  + }") PORT_CODE(KEYCODE_SLASH)                  PORT_CHAR('/') PORT_CHAR('?')
393401   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x91  Pi  { *  ] }") PORT_CODE(KEYCODE_DEL)         PORT_CHAR(0x2191) PORT_CHAR(0x03C0)
r3261r3262
395403   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";  ]  { M  Large-/ }") PORT_CODE(KEYCODE_QUOTE)            PORT_CHAR(';') PORT_CHAR(']')
396404   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("*  `  { $  [ }") PORT_CODE(KEYCODE_CLOSEBRACE)            PORT_CHAR('*') PORT_CHAR('`')
397405   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\\  { @  # }") PORT_CODE(KEYCODE_BACKSLASH)               PORT_CHAR('\\')
406
398407   PORT_MODIFY( "ROW7" )
399408   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Q  { A }") PORT_CODE(KEYCODE_Q)            PORT_CHAR('Q')
400409   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("2  \"  { \xc3\xa9  2 }") PORT_CODE(KEYCODE_2)   PORT_CHAR('2') PORT_CHAR('\"')
r3261r3262
416425   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("4  $  { '  4 }") PORT_CODE(KEYCODE_4)               PORT_CHAR('4') PORT_CHAR('$')
417426   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("W  { Z }") PORT_CODE(KEYCODE_W)                  PORT_CHAR('W')
418427   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3  #  { \"  3 }") PORT_CODE(KEYCODE_3)            PORT_CHAR('3') PORT_CHAR('#')
428
419429   PORT_MODIFY( "ROW2" )
420430   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("6  &  { _  6 }") PORT_CODE(KEYCODE_6)               PORT_CHAR('6') PORT_CHAR('&')
421431   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("5  %  { (  5 }") PORT_CODE(KEYCODE_5)               PORT_CHAR('5') PORT_CHAR('%')
432
422433   PORT_MODIFY( "ROW3" )
423434   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("8  (  { &  8 }") PORT_CODE(KEYCODE_8)               PORT_CHAR('8') PORT_CHAR('(')
424435   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7  '  { \xc3\xa8  7 }") PORT_CODE(KEYCODE_7)         PORT_CHAR('7') PORT_CHAR('\'')
436
425437   PORT_MODIFY( "ROW4" )
426438   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("M  Large-/  { ,  ? }") PORT_CODE(KEYCODE_M)         PORT_CHAR('M')
427439   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0  { \xc3\xa0  0 }") PORT_CODE(KEYCODE_0)            PORT_CHAR('0')
428440   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("9  )  { \xc3\xa7  9 }") PORT_CODE(KEYCODE_9)         PORT_CHAR('9') PORT_CHAR(')')
441
429442   PORT_MODIFY( "ROW5" )
430443   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(",  <   { ;  . }") PORT_CODE(KEYCODE_COMMA)         PORT_CHAR(',') PORT_CHAR('<')
431444   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("@  \xc3\xbb  { \xc3\xac  = }") PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('@') PORT_CHAR(0x00FB)
r3261r3262
433446   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(".  >  { :  / }") PORT_CODE(KEYCODE_STOP)            PORT_CHAR('.') PORT_CHAR('>')
434447   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("-  \xc2\xb0  { -  + }") PORT_CODE(KEYCODE_EQUALS)      PORT_CHAR('-') PORT_CHAR('\xb0')
435448   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("+  \xc3\xab  { )  \xc2\xb0 }") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('+') PORT_CHAR(0x00EB)
449
436450   PORT_MODIFY( "ROW6" )
437451   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("/  ?  { \xc3\xb2  ! }") PORT_CODE(KEYCODE_SLASH)      PORT_CHAR('/') PORT_CHAR('?')
438452   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x91  Pi  { *  ] }") PORT_CODE(KEYCODE_DEL)   PORT_CHAR(0x2191) PORT_CHAR(0x03C0)
r3261r3262
440454   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";  ]  { M }") PORT_CODE(KEYCODE_QUOTE)            PORT_CHAR(';') PORT_CHAR(']')
441455   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("*  `  { $  [ }") PORT_CODE(KEYCODE_CLOSEBRACE)      PORT_CHAR('*') PORT_CHAR('`')
442456   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\\  { @  # }") PORT_CODE(KEYCODE_BACKSLASH2)         PORT_CHAR('\\')
457
443458   PORT_MODIFY( "ROW7" )
444459   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("2  \"  { \xc3\xa9  2 }") PORT_CODE(KEYCODE_2)         PORT_CHAR('2') PORT_CHAR('"')
445460   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)            PORT_CHAR('_')
r3261r3262
457472
458473   PORT_MODIFY( "ROW1" )
459474   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("3  #  { 3  Paragraph }") PORT_CODE(KEYCODE_3)      PORT_CHAR('3') PORT_CHAR('#')
475
460476   PORT_MODIFY( "ROW3" )
461477   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("7  '  { 7  / }") PORT_CODE(KEYCODE_7)            PORT_CHAR('7') PORT_CHAR('\'')
478
462479   PORT_MODIFY( "ROW5" )
463480   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("]  { \xc3\xa2 }") PORT_CODE(KEYCODE_OPENBRACE)   PORT_CHAR(']')
464481   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("[  { \xc3\xa4 }") PORT_CODE(KEYCODE_COLON)      PORT_CHAR('[')
465482   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS)                           PORT_CHAR('=')
466483   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS)                              PORT_CHAR('-')
484
467485   PORT_MODIFY( "ROW6" )
468486   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(";  +") PORT_CODE(KEYCODE_BACKSLASH)            PORT_CHAR(';') PORT_CHAR('+')
469487   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc2\xa3  { \xc3\xb6 }") PORT_CODE(KEYCODE_QUOTE)   PORT_CHAR('\xA3')
470488    PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("@") PORT_CODE(KEYCODE_CLOSEBRACE)               PORT_CHAR('@')
471489   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME(":  *") PORT_CODE(KEYCODE_BACKSLASH2)            PORT_CHAR(':') PORT_CHAR('*')
490
472491   PORT_MODIFY( "ROW7" )
473492   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)         PORT_CHAR('_')
474493
src/mess/drivers/vc20.c
r3261r3262
152152
153153static INPUT_PORTS_START( vic_lightpen_6560 )
154154   PORT_START( "LIGHTX" )
155   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_XSIZE - 1)) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_PLAYER(3)
155   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_NAME("Lightpen X Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_XSIZE - 1)) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CATEGORY(12) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH)
156156
157157   PORT_START( "LIGHTY" )
158   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_YSIZE - 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(4)
158   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_NAME("Lightpen Y Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_YSIZE - 1)) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_INC(KEYCODE_DOWN) PORT_CATEGORY(12) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)
159159INPUT_PORTS_END
160160
161161
162162static INPUT_PORTS_START( vic_lightpen_6561 )
163163   PORT_START( "LIGHTX" )
164   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_XSIZE - 1)) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH) PORT_PLAYER(3)
164   PORT_BIT (0xff, 0, IPT_PADDLE) PORT_NAME("Lightpen X Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6560_MAME_XSIZE - 1)) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT) PORT_CATEGORY(12) PORT_CODE_DEC(JOYCODE_X_LEFT_SWITCH) PORT_CODE_INC(JOYCODE_X_RIGHT_SWITCH)
165165
166166   PORT_START( "LIGHTY" )
167   PORT_BIT (0x1ff, 0, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6561_MAME_YSIZE - 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(4)
167   PORT_BIT (0x1ff, 0, IPT_PADDLE) PORT_NAME("Lightpen Y Axis") PORT_SENSITIVITY(30) PORT_KEYDELTA(2) PORT_MINMAX(0,(VIC6561_MAME_YSIZE - 1)) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_INC(KEYCODE_DOWN) PORT_CATEGORY(12) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH)
168168INPUT_PORTS_END
169169
170170
src/mess/drivers/c64.c
r3261r3262
372372
373373   PORT_INCLUDE( c64_special )            /* SPECIAL */
374374
375   PORT_INCLUDE( c64_controls )         /* JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, TRACKIPT */
375   PORT_INCLUDE( c64_controls )         /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
376376
377   PORT_INCLUDE( c64_control_cfg )         /* DSW0 */
378
379377   PORT_INCLUDE( c64_config )            /* CFG */
380378INPUT_PORTS_END
381379
r3261r3262
434432   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON)                        PORT_CHAR(';') PORT_CHAR(']')
435433   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS)                     PORT_CHAR('=')
436434   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS)                        PORT_CHAR('-')
435
437436   PORT_MODIFY( "ROW6" )
438437   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xa4") PORT_CODE(KEYCODE_BACKSLASH)   PORT_CHAR('\xA4')
439438   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xb6") PORT_CODE(KEYCODE_QUOTE)      PORT_CHAR('\xB6')
r3261r3262
449448   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON)                        PORT_CHAR(';') PORT_CHAR(']')
450449   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS)                     PORT_CHAR('=')
451450   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS)                        PORT_CHAR('-')
451
452452   PORT_MODIFY( "ROW6" )
453453   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xa4") PORT_CODE(KEYCODE_BACKSLASH)   PORT_CHAR('\xA4')
454454   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xc3\xb6") PORT_CODE(KEYCODE_QUOTE)      PORT_CHAR('\xB6')
455455    PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE)                  PORT_CHAR('@')
456456   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2)                  PORT_CHAR(':') PORT_CHAR('*')
457
457458   PORT_MODIFY( "CFG" )
458459   PORT_BIT( 0x7f00, 0x00, IPT_UNUSED ) /* no tape */
459460INPUT_PORTS_END

Previous 15994 Revisions Next


© 1998-2018 The MESS Team