Previous 15994 Revisions Next

r3196 Sunday 7th September, 2008 at 09:49:17 UTC by Fabio Priuli
[C16/C64/C65/C128] Fixed broken Shift Lock
[src/mess/drivers]c16.c
[src/mess/machine]c16.c c64.c cbmipt.c

src/mess/machine/c16.c
r3195r3196
605605   {
606606      value = 0xff;
607607      value &= ~input_port_read(machine, c16ports[i]);
608
609      /* Shift Lock is mapped on Left/Right Shift */
610      if ((i == 1) && (input_port_read(machine, "SPECIAL") & 0x80))
611         value &= ~0x80;         
612
608613      keyline[i] = value;
609614   }
610615
r3195r3196
648653
649654   ted7360_frame_interrupt (machine, cpunum);
650655
651   set_led_status (1, input_port_read(machine, "SPECIAL") & 0x80 ? 1 : 0);      /*KB_CAPSLOCK_FLAG */
652   set_led_status (0, input_port_read(machine, "SPECIAL") & 0x40 ? 1 : 0);      /*KB_NUMLOCK_FLAG */
656   set_led_status (1, input_port_read(machine, "SPECIAL") & 0x80 ? 1 : 0);      /* Shift Lock */
657   set_led_status (0, input_port_read(machine, "SPECIAL") & 0x40 ? 1 : 0);      /* Joystick Swap */
653658}
654659
655660
src/mess/machine/cbmipt.c
r3195r3196
131131   PORT_START( "ROW7" )
132132   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Stop Run") PORT_CODE(KEYCODE_HOME)           
133133   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q)                           PORT_CHAR('Q')   
134   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CBM") PORT_CODE(KEYCODE_LCONTROL)           
134   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CBM") PORT_CODE(KEYCODE_LALT)           
135135   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE)                        PORT_CHAR(' ')   
136136   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2)                           PORT_CHAR('2') PORT_CHAR('"')
137137   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_TAB)                        PORT_CHAR(UCHAR_SHIFT_2)
r3195r3196
202202INPUT_PORTS_START( c64_control_cfg )
203203   PORT_START("DSW0")
204204   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" )     
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" )     
211211   PORT_DIPNAME( 0x1000, 0x1000, "Lightpen Draw Pointer")
212   PORT_DIPSETTING(   0x0000, DEF_STR( Off ) )   
213   PORT_DIPSETTING(   0x1000, DEF_STR( On ) )     
212   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )   
213   PORT_DIPSETTING(      0x1000, DEF_STR( On ) )     
214214   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" )         
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" )         
220220   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 ) )
221   PORT_DIPSETTING(      0x0000, DEF_STR( No ) )     
222   PORT_DIPSETTING(      0x0100, DEF_STR( Yes ) )
223223INPUT_PORTS_END
224224
225225
226226INPUT_PORTS_START( c64_config )
227227   PORT_START( "CFG" )
228228   PORT_DIPNAME( 0x4000, 0x4000, "Tape Drive/Device 1")                           
229   PORT_DIPSETTING(   0x0000, DEF_STR( Off ) )                                 
230   PORT_DIPSETTING(   0x4000, DEF_STR( On ) )                                   
229   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )                                 
230   PORT_DIPSETTING(      0x4000, DEF_STR( On ) )                                   
231231   PORT_DIPNAME( 0x2000, 0x0000, "Tape Sound")                                 
232   PORT_DIPSETTING(   0x0000, DEF_STR( Off ) )                                 
233   PORT_DIPSETTING(   0x2000, DEF_STR( On ) )                                   
232   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )                                 
233   PORT_DIPSETTING(      0x2000, DEF_STR( On ) )                                   
234234   PORT_DIPNAME( 0x80, 0x00, "Sid Chip Type")                                 
235235   PORT_DIPSETTING(   0x00, "MOS6581" )                                       
236236   PORT_DIPSETTING(   0x80, "MOS8580" )                                       
237   PORT_DIPNAME( 0x1c, 0x00, "Cartridge Type")                                   
238   PORT_DIPSETTING(   0x00, "Automatic")                                       
239   PORT_DIPSETTING(   0x04, "Ultimax (GAME)")                                   
240   PORT_DIPSETTING(   0x08, "C64 (EXROM)")                                   
241237   PORT_BIT( 0x02, 0x00, IPT_UNUSED )   /* no serial bus */                           
242238   PORT_BIT( 0x01, 0x00, IPT_UNUSED )
243239INPUT_PORTS_END
r3195r3196
426422   PORT_START( "SPECIAL" )  /* special keys */   
427423    PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Restore") PORT_CODE(KEYCODE_PRTSCR)   
428424   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
429//   PORT_DIPNAME( 0x40, 0x00, "Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK)         
430//   PORT_DIPSETTING(   0x00, DEF_STR( Off ) )                                         
431//   PORT_DIPSETTING(   0x40, DEF_STR( On ) )                                         
432425   PORT_DIPNAME( 0x20, 0x00, "Caps Lock (switch)")                                       
433426   PORT_DIPSETTING(   0x00, DEF_STR( Off ) )                                         
434427   PORT_DIPSETTING(   0x20, DEF_STR( On ) )                                         
r3195r3196
459452   PORT_DIPNAME( 0x20, 0x20, "DIN,TV / RGBI Monitor (switch)") PORT_CODE(KEYCODE_ENTER_PAD)
460453   PORT_DIPSETTING(   0x00, "DIN,TV" )                                       
461454   PORT_DIPSETTING(   0x20, "RGBI" )                                         
462   PORT_DIPNAME( 0x1c, 0x00, "Cartridge Type")                                   
463   PORT_DIPSETTING(   0x00, "Automatic")                                       
464   PORT_DIPSETTING(   0x04, "Ultimax (GAME)")                                   
465   PORT_DIPSETTING(   0x08, "C64 (EXROM)")                                   
466455   PORT_BIT( 0x02, 0x00, IPT_UNUSED )   /* no serial bus */                           
467456   PORT_BIT( 0x01, 0x00, IPT_UNUSED )
468457INPUT_PORTS_END
src/mess/machine/c64.c
r3195r3196
11521152   {
11531153      value = 0xff;
11541154      value &= ~input_port_read(machine, c64ports[i]);
1155
1156      /* Shift Lock is mapped on Left Shift */
1157      if ((i == 1) && (input_port_read(machine, "SPECIAL") & 0x40))
1158         value &= ~0x80;         
1159
11551160      c64_keyline[i] = value;
11561161   }
11571162
r3195r3196
12401245
12411246   vic2_frame_interrupt (machine, cpunum);
12421247
1243   set_led_status (1, input_port_read(machine, "SPECIAL") & 0x40 ? 1 : 0);      /*KB_CAPSLOCK_FLAG */
1244   set_led_status (0, input_port_read(machine, "DSW0") & 0x0100 ? 1 : 0);      /*KB_NUMLOCK_FLAG */
1248   set_led_status (1, input_port_read(machine, "SPECIAL") & 0x40 ? 1 : 0);      /* Shift Lock */
1249   set_led_status (0, input_port_read(machine, "DSW0") & 0x0100 ? 1 : 0);      /* Joystick Swap */
12451250}
12461251
12471252
src/mess/drivers/c16.c
r3195r3196
255255   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1)                           PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F4))
256256   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("HELP f7") PORT_CODE(KEYCODE_F4)            PORT_CHAR(UCHAR_MAMEKEY(F8)) PORT_CHAR(UCHAR_MAMEKEY(F7))
257257   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_INSERT)                        PORT_CHAR(0xA3)
258
259   PORT_MODIFY("ROW1")
260   /* Both Shift keys were mapped to the same bit */
261   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift (Left & Right)") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT)   
262
258263   PORT_MODIFY("ROW4")
259264   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("0  \xE2\x86\x91") PORT_CODE(KEYCODE_0)      PORT_CHAR('0') PORT_CHAR(0x2191)
265
260266   PORT_MODIFY("ROW5")
261267   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS)               PORT_CHAR('-')
262268   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2)                     PORT_CHAR(UCHAR_MAMEKEY(UP))
263269   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGUP)                           PORT_CHAR(UCHAR_MAMEKEY(DOWN))
270
264271   PORT_MODIFY("ROW6")
265272   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE)                     PORT_CHAR('+')
266273   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("=  Pi  \xE2\x86\x90") PORT_CODE(KEYCODE_PGDN)   PORT_CHAR('=') PORT_CHAR(0x03C0) PORT_CHAR(0x2190)
r3195r3196
268275   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_EQUALS)                        PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
269276   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH)                        PORT_CHAR('*')
270277   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS)                           PORT_CHAR(UCHAR_MAMEKEY(LEFT))
278
271279   PORT_MODIFY("ROW7")
272280   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Home Clear") PORT_CODE(KEYCODE_DEL)         PORT_CHAR(UCHAR_MAMEKEY(HOME))
273281

Previous 15994 Revisions Next


© 1998-2018 The MESS Team